aboutsummaryrefslogtreecommitdiff
path: root/source/fxinst.h
diff options
context:
space:
mode:
authorTwinaphex2017-02-12 16:02:47 +0100
committerGitHub2017-02-12 16:02:47 +0100
commit474a67ccdccb89d369c706347085ca4619f0cbef (patch)
treecb331b665bc5d53ad180d5500bf37e2dfbf683d8 /source/fxinst.h
parentb6006bc542f89ad1b7086268f851f0ba880ad6cd (diff)
parentfb2517282da2fdfc26e58207bbb8e0a8bca35be2 (diff)
downloadsnes9x2005-474a67ccdccb89d369c706347085ca4619f0cbef.tar.gz
snes9x2005-474a67ccdccb89d369c706347085ca4619f0cbef.tar.bz2
snes9x2005-474a67ccdccb89d369c706347085ca4619f0cbef.zip
Merge pull request #31 from jamsilva/master
Improvements to both accuracy and performance.
Diffstat (limited to 'source/fxinst.h')
-rw-r--r--source/fxinst.h22
1 files changed, 3 insertions, 19 deletions
diff --git a/source/fxinst.h b/source/fxinst.h
index a78b6d4..ce9187d 100644
--- a/source/fxinst.h
+++ b/source/fxinst.h
@@ -337,28 +337,12 @@ struct FxRegs_s
/* Execute instruction from the pipe, and fetch next byte to the pipe */
#define FX_STEP { uint32_t vOpcode = (uint32_t)PIPE; FETCHPIPE; \
-(*fx_ppfOpcodeTable[ (GSU.vStatusReg & 0x300) | vOpcode ])(); } \
+(*fx_apfOpcodeTable[ (GSU.vStatusReg & 0x300) | vOpcode ])(); } \
-#define FX_FUNCTION_RUN 0
-#define FX_FUNCTION_RUN_TO_BREAKPOINT 1
-#define FX_FUNCTION_STEP_OVER 2
-
-extern uint32_t(**fx_ppfFunctionTable)(uint32_t);
-extern void (**fx_ppfPlotTable)();
-extern void (**fx_ppfOpcodeTable)();
-
-extern uint32_t(*fx_apfFunctionTable[])(uint32_t);
extern void (*fx_apfOpcodeTable[])();
extern void (*fx_apfPlotTable[])();
-extern uint32_t(*fx_a_apfFunctionTable[])(uint32_t);
-extern void (*fx_a_apfOpcodeTable[])();
-extern void (*fx_a_apfPlotTable[])();
-extern uint32_t(*fx_r_apfFunctionTable[])(uint32_t);
-extern void (*fx_r_apfOpcodeTable[])();
-extern void (*fx_r_apfPlotTable[])();
-extern uint32_t(*fx_ar_apfFunctionTable[])(uint32_t);
-extern void (*fx_ar_apfOpcodeTable[])();
-extern void (*fx_ar_apfPlotTable[])();
+
+uint32_t fx_run(uint32_t nInstructions);
/* Set this define if branches are relative to the instruction in the delay slot */
/* (I think they are) */