From 8b28c00872e8fac23fa2975cbccf88ec48f3c4fe Mon Sep 17 00:00:00 2001 From: Phil Bennett Date: Wed, 21 Oct 2009 11:27:56 +0000 Subject: [PATCH] Minor speed improvement to the e132xs core - don't pass opcode parameter when calling instruction handlers [Christophe Jaillet] > -----Original Message----- > From: Christophe Jaillet [mailto:christophe.jaillet@wanadoo.fr] > Sent: Saturday, October 17, 2009 9:00 AM > To: submit@mamedev.org > Subject: Speed up emu\cpu\e132xs > > Hi, > > this patch speeds up the emulation of the CPU e132xs. > > For the emulation of this CPU, two structures are used : > - '_hyperstone_state' which keep track of the state of the > processor > - 'regs_decode' which is used when decoding the opcode being > executed > > Both of these structures have a field 'op' but only the one of > 'regs_decode' > is actually used. > > The emulation of the CPU is done this way : > - read the opcode > - call the corresponding function which emulate this opcode. Two > parameters are passed : > o a pointer to hyperstone_state > o the opcode itself > - the opcode is then stored in the relevant field of a local stack > stored 'regs_decode' structure. > > The field 'op' of '_hyperstone_state' is never used. > > > So the proposed patch does the following : > - use the 'op' field of '_hyperstone_state' instead of the one of > 'regs_decode' > - initialise this 'op' field before calling the function which > emulate > this opcode > - remove the need of the second parameter ('opcode') of these > functions > - remove the now useless 'op' field of the structure 'regs_decode' > > Doing so removes the need of pushing a parameter on the stack for each > opcode simulated and give a average speed up of 1 % or 2 % of the > emulation. > > Hope this help. > Best regards, > > CJ --- src/emu/cpu/e132xs/e132xs.c | 8 +- src/emu/cpu/e132xs/e132xsop.c | 515 +++++++++++++++++----------------- 2 files changed, 260 insertions(+), 263 deletions(-) diff --git a/src/emu/cpu/e132xs/e132xs.c b/src/emu/cpu/e132xs/e132xs.c index 3c0234a2966..2de690a12d2 100644 --- a/src/emu/cpu/e132xs/e132xs.c +++ b/src/emu/cpu/e132xs/e132xs.c @@ -349,7 +349,6 @@ struct regs_decode UINT8 same_src_dst; UINT8 same_src_dstf; UINT8 same_srcf_dst; - UINT16 op; }; static void check_interrupts(hyperstone_state *cpustate); @@ -360,7 +359,6 @@ static void check_interrupts(hyperstone_state *cpustate); #define DREGF (decode)->next_dst_value #define EXTRA_U (decode)->extra.u #define EXTRA_S (decode)->extra.s -#define OP (decode)->op #define SET_SREG( _data_ ) ((decode)->src_is_local ? set_local_register(cpustate, (decode)->src, _data_) : set_global_register(cpustate, (decode)->src, _data_)) #define SET_SREGF( _data_ ) ((decode)->src_is_local ? set_local_register(cpustate, (decode)->src + 1, _data_) : set_global_register(cpustate, (decode)->src + 1, _data_)) @@ -500,6 +498,7 @@ static void hyperstone_set_trap_entry(hyperstone_state *cpustate, int which) } } +#define OP cpustate->op #define PPC cpustate->ppc //previous pc #define PC cpustate->global_regs[0] //Program Counter #define SR cpustate->global_regs[1] //Status Register @@ -4671,18 +4670,17 @@ static CPU_EXECUTE( hyperstone ) do { UINT32 oldh = SR & 0x00000020; - UINT16 opcode; PPC = PC; /* copy PC to previous PC */ debugger_instruction_hook(device, PC); - opcode = READ_OP(cpustate, PC); + OP = READ_OP(cpustate, PC); PC += 2; cpustate->instruction_length = 1; /* execute opcode */ - (*hyperstone_op[(opcode & 0xff00) >> 8])(cpustate, opcode); + (*hyperstone_op[(OP & 0xff00) >> 8])(cpustate); /* clear the H state if it was previously set */ SR ^= oldh; diff --git a/src/emu/cpu/e132xs/e132xsop.c b/src/emu/cpu/e132xs/e132xsop.c index b7d00f610ee..6b45d15edb3 100644 --- a/src/emu/cpu/e132xs/e132xsop.c +++ b/src/emu/cpu/e132xs/e132xsop.c @@ -16,115 +16,114 @@ decode->same_src_dst = 0; \ decode->same_src_dstf = 0; \ decode->same_srcf_dst = 0; \ - decode->op = opcode; \ -static void hyperstone_op00(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op00(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_chk(cpustate, decode); } -static void hyperstone_op01(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op01(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_chk(cpustate, decode); } -static void hyperstone_op02(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op02(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_chk(cpustate, decode); } -static void hyperstone_op03(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op03(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_chk(cpustate, decode); } -static void hyperstone_op04(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op04(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_movd(cpustate, decode); } -static void hyperstone_op05(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op05(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_movd(cpustate, decode); } -static void hyperstone_op06(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op06(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_movd(cpustate, decode); } -static void hyperstone_op07(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op07(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_movd(cpustate, decode); } -static void hyperstone_op08(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op08(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_divu(cpustate, decode); } -static void hyperstone_op09(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op09(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_divu(cpustate, decode); } -static void hyperstone_op0a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op0a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_divu(cpustate, decode); } -static void hyperstone_op0b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op0b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_divu(cpustate, decode); } -static void hyperstone_op0c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op0c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_divs(cpustate, decode); } -static void hyperstone_op0d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op0d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_divs(cpustate, decode); } -static void hyperstone_op0e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op0e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_divs(cpustate, decode); } -static void hyperstone_op0f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op0f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); @@ -133,112 +132,112 @@ static void hyperstone_op0f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op10(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op10(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRlimdecode(decode, 0, 0); hyperstone_xm(cpustate, decode); } -static void hyperstone_op11(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op11(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRlimdecode(decode, 0, 1); hyperstone_xm(cpustate, decode); } -static void hyperstone_op12(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op12(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRlimdecode(decode, 1, 0); hyperstone_xm(cpustate, decode); } -static void hyperstone_op13(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op13(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRlimdecode(decode, 1, 1); hyperstone_xm(cpustate, decode); } -static void hyperstone_op14(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op14(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 0, 0); hyperstone_mask(cpustate, decode); } -static void hyperstone_op15(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op15(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 0, 1); hyperstone_mask(cpustate, decode); } -static void hyperstone_op16(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op16(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 1, 0); hyperstone_mask(cpustate, decode); } -static void hyperstone_op17(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op17(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 1, 1); hyperstone_mask(cpustate, decode); } -static void hyperstone_op18(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op18(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 0, 0); hyperstone_sum(cpustate, decode); } -static void hyperstone_op19(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op19(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 0, 1); hyperstone_sum(cpustate, decode); } -static void hyperstone_op1a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op1a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 1, 0); hyperstone_sum(cpustate, decode); } -static void hyperstone_op1b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op1b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 1, 1); hyperstone_sum(cpustate, decode); } -static void hyperstone_op1c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op1c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 0, 0); hyperstone_sums(cpustate, decode); } -static void hyperstone_op1d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op1d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 0, 1); hyperstone_sums(cpustate, decode); } -static void hyperstone_op1e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op1e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 1, 0); hyperstone_sums(cpustate, decode); } -static void hyperstone_op1f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op1f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRconstdecode(decode, 1, 1); @@ -247,112 +246,112 @@ static void hyperstone_op1f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op20(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op20(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_cmp(cpustate, decode); } -static void hyperstone_op21(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op21(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_cmp(cpustate, decode); } -static void hyperstone_op22(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op22(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_cmp(cpustate, decode); } -static void hyperstone_op23(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op23(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_cmp(cpustate, decode); } -static void hyperstone_op24(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op24(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecodewithHflag(decode, 0, 0); hyperstone_mov(cpustate, decode); } -static void hyperstone_op25(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op25(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecodewithHflag(decode, 0, 1); hyperstone_mov(cpustate, decode); } -static void hyperstone_op26(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op26(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecodewithHflag(decode, 1, 0); hyperstone_mov(cpustate, decode); } -static void hyperstone_op27(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op27(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecodewithHflag(decode, 1, 1); hyperstone_mov(cpustate, decode); } -static void hyperstone_op28(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op28(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_add(cpustate, decode); } -static void hyperstone_op29(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op29(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_add(cpustate, decode); } -static void hyperstone_op2a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op2a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_add(cpustate, decode); } -static void hyperstone_op2b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op2b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_add(cpustate, decode); } -static void hyperstone_op2c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op2c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_adds(cpustate, decode); } -static void hyperstone_op2d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op2d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_adds(cpustate, decode); } -static void hyperstone_op2e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op2e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_adds(cpustate, decode); } -static void hyperstone_op2f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op2f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); @@ -361,112 +360,112 @@ static void hyperstone_op2f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op30(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op30(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_cmpb(cpustate, decode); } -static void hyperstone_op31(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op31(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_cmpb(cpustate, decode); } -static void hyperstone_op32(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op32(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_cmpb(cpustate, decode); } -static void hyperstone_op33(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op33(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_cmpb(cpustate, decode); } -static void hyperstone_op34(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op34(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_andn(cpustate, decode); } -static void hyperstone_op35(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op35(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_andn(cpustate, decode); } -static void hyperstone_op36(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op36(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_andn(cpustate, decode); } -static void hyperstone_op37(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op37(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_andn(cpustate, decode); } -static void hyperstone_op38(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op38(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_or(cpustate, decode); } -static void hyperstone_op39(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op39(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_or(cpustate, decode); } -static void hyperstone_op3a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op3a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_or(cpustate, decode); } -static void hyperstone_op3b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op3b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_or(cpustate, decode); } -static void hyperstone_op3c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op3c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_xor(cpustate, decode); } -static void hyperstone_op3d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op3d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_xor(cpustate, decode); } -static void hyperstone_op3e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op3e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_xor(cpustate, decode); } -static void hyperstone_op3f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op3f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); @@ -475,112 +474,112 @@ static void hyperstone_op3f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op40(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op40(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_subc(cpustate, decode); } -static void hyperstone_op41(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op41(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_subc(cpustate, decode); } -static void hyperstone_op42(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op42(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_subc(cpustate, decode); } -static void hyperstone_op43(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op43(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_subc(cpustate, decode); } -static void hyperstone_op44(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op44(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_not(cpustate, decode); } -static void hyperstone_op45(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op45(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_not(cpustate, decode); } -static void hyperstone_op46(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op46(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_not(cpustate, decode); } -static void hyperstone_op47(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op47(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_not(cpustate, decode); } -static void hyperstone_op48(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op48(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_sub(cpustate, decode); } -static void hyperstone_op49(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op49(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_sub(cpustate, decode); } -static void hyperstone_op4a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op4a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_sub(cpustate, decode); } -static void hyperstone_op4b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op4b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_sub(cpustate, decode); } -static void hyperstone_op4c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op4c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_subs(cpustate, decode); } -static void hyperstone_op4d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op4d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_subs(cpustate, decode); } -static void hyperstone_op4e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op4e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_subs(cpustate, decode); } -static void hyperstone_op4f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op4f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); @@ -589,112 +588,112 @@ static void hyperstone_op4f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op50(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op50(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_addc(cpustate, decode); } -static void hyperstone_op51(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op51(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_addc(cpustate, decode); } -static void hyperstone_op52(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op52(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_addc(cpustate, decode); } -static void hyperstone_op53(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op53(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_addc(cpustate, decode); } -static void hyperstone_op54(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op54(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_and(cpustate, decode); } -static void hyperstone_op55(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op55(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_and(cpustate, decode); } -static void hyperstone_op56(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op56(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_and(cpustate, decode); } -static void hyperstone_op57(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op57(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_and(cpustate, decode); } -static void hyperstone_op58(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op58(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_neg(cpustate, decode); } -static void hyperstone_op59(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op59(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_neg(cpustate, decode); } -static void hyperstone_op5a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op5a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_neg(cpustate, decode); } -static void hyperstone_op5b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op5b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_neg(cpustate, decode); } -static void hyperstone_op5c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op5c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_negs(cpustate, decode); } -static void hyperstone_op5d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op5d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_negs(cpustate, decode); } -static void hyperstone_op5e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op5e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_negs(cpustate, decode); } -static void hyperstone_op5f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op5f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); @@ -703,112 +702,112 @@ static void hyperstone_op5f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op60(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op60(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 0); hyperstone_cmpi(cpustate, decode); } -static void hyperstone_op61(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op61(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 1); hyperstone_cmpi(cpustate, decode); } -static void hyperstone_op62(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op62(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 0); hyperstone_cmpi(cpustate, decode); } -static void hyperstone_op63(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op63(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 1); hyperstone_cmpi(cpustate, decode); } -static void hyperstone_op64(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op64(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RimmdecodewithHflag(decode, 0, 0); hyperstone_movi(cpustate, decode); } -static void hyperstone_op65(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op65(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RimmdecodewithHflag(decode, 0, 1); hyperstone_movi(cpustate, decode); } -static void hyperstone_op66(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op66(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RimmdecodewithHflag(decode, 1, 0); hyperstone_movi(cpustate, decode); } -static void hyperstone_op67(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op67(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RimmdecodewithHflag(decode, 1, 1); hyperstone_movi(cpustate, decode); } -static void hyperstone_op68(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op68(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 0); hyperstone_addi(cpustate, decode); } -static void hyperstone_op69(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op69(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 1); hyperstone_addi(cpustate, decode); } -static void hyperstone_op6a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op6a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 0); hyperstone_addi(cpustate, decode); } -static void hyperstone_op6b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op6b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 1); hyperstone_addi(cpustate, decode); } -static void hyperstone_op6c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op6c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 0); hyperstone_addsi(cpustate, decode); } -static void hyperstone_op6d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op6d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 1); hyperstone_addsi(cpustate, decode); } -static void hyperstone_op6e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op6e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 0); hyperstone_addsi(cpustate, decode); } -static void hyperstone_op6f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op6f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 1); @@ -817,112 +816,112 @@ static void hyperstone_op6f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op70(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op70(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 0); hyperstone_cmpbi(cpustate, decode); } -static void hyperstone_op71(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op71(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 1); hyperstone_cmpbi(cpustate, decode); } -static void hyperstone_op72(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op72(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 0); hyperstone_cmpbi(cpustate, decode); } -static void hyperstone_op73(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op73(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 1); hyperstone_cmpbi(cpustate, decode); } -static void hyperstone_op74(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op74(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 0); hyperstone_andni(cpustate, decode); } -static void hyperstone_op75(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op75(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 1); hyperstone_andni(cpustate, decode); } -static void hyperstone_op76(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op76(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 0); hyperstone_andni(cpustate, decode); } -static void hyperstone_op77(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op77(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 1); hyperstone_andni(cpustate, decode); } -static void hyperstone_op78(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op78(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 0); hyperstone_ori(cpustate, decode); } -static void hyperstone_op79(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op79(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 1); hyperstone_ori(cpustate, decode); } -static void hyperstone_op7a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op7a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 0); hyperstone_ori(cpustate, decode); } -static void hyperstone_op7b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op7b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 1); hyperstone_ori(cpustate, decode); } -static void hyperstone_op7c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op7c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 0); hyperstone_xori(cpustate, decode); } -static void hyperstone_op7d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op7d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 0, 1); hyperstone_xori(cpustate, decode); } -static void hyperstone_op7e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op7e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 0); hyperstone_xori(cpustate, decode); } -static void hyperstone_op7f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op7f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rimmdecode(decode, 1, 1); @@ -931,112 +930,112 @@ static void hyperstone_op7f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op80(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op80(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Lndecode(decode); hyperstone_shrdi(cpustate, decode); } -static void hyperstone_op81(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op81(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Lndecode(decode); hyperstone_shrdi(cpustate, decode); } -static void hyperstone_op82(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op82(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_shrd(cpustate, decode); } -static void hyperstone_op83(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op83(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_shr(cpustate, decode); } -static void hyperstone_op84(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op84(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Lndecode(decode); hyperstone_sardi(cpustate, decode); } -static void hyperstone_op85(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op85(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Lndecode(decode); hyperstone_sardi(cpustate, decode); } -static void hyperstone_op86(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op86(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_sard(cpustate, decode); } -static void hyperstone_op87(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op87(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_sar(cpustate, decode); } -static void hyperstone_op88(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op88(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Lndecode(decode); hyperstone_shldi(cpustate, decode); } -static void hyperstone_op89(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op89(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Lndecode(decode); hyperstone_shldi(cpustate, decode); } -static void hyperstone_op8a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op8a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_shld(cpustate, decode); } -static void hyperstone_op8b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op8b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_shl(cpustate, decode); } -static void hyperstone_op8c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op8c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; no_decode(decode); reserved(cpustate, decode); } -static void hyperstone_op8d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op8d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; no_decode(decode); reserved(cpustate, decode); } -static void hyperstone_op8e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op8e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_testlz(cpustate, decode); } -static void hyperstone_op8f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op8f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); @@ -1045,112 +1044,112 @@ static void hyperstone_op8f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_op90(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op90(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 0); hyperstone_ldxx1(cpustate, decode); } -static void hyperstone_op91(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op91(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 1); hyperstone_ldxx1(cpustate, decode); } -static void hyperstone_op92(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op92(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 0); hyperstone_ldxx1(cpustate, decode); } -static void hyperstone_op93(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op93(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 1); hyperstone_ldxx1(cpustate, decode); } -static void hyperstone_op94(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op94(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 0); hyperstone_ldxx2(cpustate, decode); } -static void hyperstone_op95(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op95(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 1); hyperstone_ldxx2(cpustate, decode); } -static void hyperstone_op96(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op96(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 0); hyperstone_ldxx2(cpustate, decode); } -static void hyperstone_op97(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op97(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 1); hyperstone_ldxx2(cpustate, decode); } -static void hyperstone_op98(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op98(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 0); hyperstone_stxx1(cpustate, decode); } -static void hyperstone_op99(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op99(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 1); hyperstone_stxx1(cpustate, decode); } -static void hyperstone_op9a(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op9a(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 0); hyperstone_stxx1(cpustate, decode); } -static void hyperstone_op9b(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op9b(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 1); hyperstone_stxx1(cpustate, decode); } -static void hyperstone_op9c(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op9c(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 0); hyperstone_stxx2(cpustate, decode); } -static void hyperstone_op9d(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op9d(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 0, 1); hyperstone_stxx2(cpustate, decode); } -static void hyperstone_op9e(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op9e(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 0); hyperstone_stxx2(cpustate, decode); } -static void hyperstone_op9f(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_op9f(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdisdecode(decode, 1, 1); @@ -1159,112 +1158,112 @@ static void hyperstone_op9f(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_opa0(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa0(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_shri(cpustate, decode); } -static void hyperstone_opa1(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa1(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_shri(cpustate, decode); } -static void hyperstone_opa2(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa2(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_shri(cpustate, decode); } -static void hyperstone_opa3(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa3(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_shri(cpustate, decode); } -static void hyperstone_opa4(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa4(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_sari(cpustate, decode); } -static void hyperstone_opa5(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa5(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_sari(cpustate, decode); } -static void hyperstone_opa6(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa6(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_sari(cpustate, decode); } -static void hyperstone_opa7(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa7(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_sari(cpustate, decode); } -static void hyperstone_opa8(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa8(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_shli(cpustate, decode); } -static void hyperstone_opa9(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opa9(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_shli(cpustate, decode); } -static void hyperstone_opaa(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opaa(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_shli(cpustate, decode); } -static void hyperstone_opab(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opab(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_shli(cpustate, decode); } -static void hyperstone_opac(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opac(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; no_decode(decode); reserved(cpustate, decode); } -static void hyperstone_opad(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opad(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; no_decode(decode); reserved(cpustate, decode); } -static void hyperstone_opae(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opae(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; no_decode(decode); reserved(cpustate, decode); } -static void hyperstone_opaf(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opaf(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; no_decode(decode); @@ -1273,112 +1272,112 @@ static void hyperstone_opaf(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_opb0(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb0(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_mulu(cpustate, decode); } -static void hyperstone_opb1(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb1(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_mulu(cpustate, decode); } -static void hyperstone_opb2(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb2(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_mulu(cpustate, decode); } -static void hyperstone_opb3(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb3(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_mulu(cpustate, decode); } -static void hyperstone_opb4(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb4(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_muls(cpustate, decode); } -static void hyperstone_opb5(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb5(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_muls(cpustate, decode); } -static void hyperstone_opb6(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb6(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_muls(cpustate, decode); } -static void hyperstone_opb7(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb7(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); hyperstone_muls(cpustate, decode); } -static void hyperstone_opb8(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb8(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_set(cpustate, decode); } -static void hyperstone_opb9(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opb9(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 0); hyperstone_set(cpustate, decode); } -static void hyperstone_opba(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opba(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_set(cpustate, decode); } -static void hyperstone_opbb(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opbb(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; Rndecode(decode, 1); hyperstone_set(cpustate, decode); } -static void hyperstone_opbc(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opbc(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 0); hyperstone_mul(cpustate, decode); } -static void hyperstone_opbd(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opbd(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 0, 1); hyperstone_mul(cpustate, decode); } -static void hyperstone_opbe(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opbe(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 0); hyperstone_mul(cpustate, decode); } -static void hyperstone_opbf(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opbf(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; RRdecode(decode, 1, 1); @@ -1387,112 +1386,112 @@ static void hyperstone_opbf(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_opc0(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc0(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fadd(cpustate, decode); } -static void hyperstone_opc1(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc1(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_faddd(cpustate, decode); } -static void hyperstone_opc2(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc2(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fsub(cpustate, decode); } -static void hyperstone_opc3(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc3(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fsubd(cpustate, decode); } -static void hyperstone_opc4(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc4(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fmul(cpustate, decode); } -static void hyperstone_opc5(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc5(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fmuld(cpustate, decode); } -static void hyperstone_opc6(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc6(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fdiv(cpustate, decode); } -static void hyperstone_opc7(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc7(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fdivd(cpustate, decode); } -static void hyperstone_opc8(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc8(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fcmp(cpustate, decode); } -static void hyperstone_opc9(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opc9(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fcmpd(cpustate, decode); } -static void hyperstone_opca(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opca(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fcmpu(cpustate, decode); } -static void hyperstone_opcb(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opcb(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fcmpud(cpustate, decode); } -static void hyperstone_opcc(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opcc(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fcvt(cpustate, decode); } -static void hyperstone_opcd(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opcd(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_fcvtd(cpustate, decode); } -static void hyperstone_opce(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opce(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLextdecode(decode); hyperstone_extend(cpustate, decode); } -static void hyperstone_opcf(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opcf(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); @@ -1501,112 +1500,112 @@ static void hyperstone_opcf(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_opd0(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd0(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_ldwr(cpustate, decode); } -static void hyperstone_opd1(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd1(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); hyperstone_ldwr(cpustate, decode); } -static void hyperstone_opd2(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd2(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_lddr(cpustate, decode); } -static void hyperstone_opd3(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd3(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); hyperstone_lddr(cpustate, decode); } -static void hyperstone_opd4(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd4(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_ldwp(cpustate, decode); } -static void hyperstone_opd5(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd5(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); hyperstone_ldwp(cpustate, decode); } -static void hyperstone_opd6(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd6(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_lddp(cpustate, decode); } -static void hyperstone_opd7(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd7(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); hyperstone_lddp(cpustate, decode); } -static void hyperstone_opd8(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd8(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_stwr(cpustate, decode); } -static void hyperstone_opd9(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opd9(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); hyperstone_stwr(cpustate, decode); } -static void hyperstone_opda(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opda(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_stdr(cpustate, decode); } -static void hyperstone_opdb(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opdb(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); hyperstone_stdr(cpustate, decode); } -static void hyperstone_opdc(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opdc(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_stwp(cpustate, decode); } -static void hyperstone_opdd(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opdd(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); hyperstone_stwp(cpustate, decode); } -static void hyperstone_opde(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opde(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 0); hyperstone_stdp(cpustate, decode); } -static void hyperstone_opdf(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opdf(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRdecode(decode, 1); @@ -1615,112 +1614,112 @@ static void hyperstone_opdf(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_ope0(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope0(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbv(cpustate, decode); } -static void hyperstone_ope1(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope1(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbnv(cpustate, decode); } -static void hyperstone_ope2(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope2(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbe(cpustate, decode); } -static void hyperstone_ope3(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope3(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbne(cpustate, decode); } -static void hyperstone_ope4(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope4(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbc(cpustate, decode); } -static void hyperstone_ope5(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope5(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbnc(cpustate, decode); } -static void hyperstone_ope6(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope6(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbse(cpustate, decode); } -static void hyperstone_ope7(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope7(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbht(cpustate, decode); } -static void hyperstone_ope8(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope8(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbn(cpustate, decode); } -static void hyperstone_ope9(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_ope9(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbnn(cpustate, decode); } -static void hyperstone_opea(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opea(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dble(cpustate, decode); } -static void hyperstone_opeb(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opeb(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbgt(cpustate, decode); } -static void hyperstone_opec(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opec(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_dbr(cpustate, decode); } -static void hyperstone_oped(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_oped(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LLdecode(decode); hyperstone_frame(cpustate, decode); } -static void hyperstone_opee(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opee(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRconstdecode(decode, 0); hyperstone_call(cpustate, decode); } -static void hyperstone_opef(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opef(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; LRconstdecode(decode, 1); @@ -1729,112 +1728,112 @@ static void hyperstone_opef(hyperstone_state *cpustate, UINT16 opcode) -static void hyperstone_opf0(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf0(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bv(cpustate, decode); } -static void hyperstone_opf1(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf1(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bnv(cpustate, decode); } -static void hyperstone_opf2(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf2(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_be(cpustate, decode); } -static void hyperstone_opf3(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf3(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bne(cpustate, decode); } -static void hyperstone_opf4(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf4(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bc(cpustate, decode); } -static void hyperstone_opf5(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf5(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bnc(cpustate, decode); } -static void hyperstone_opf6(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf6(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bse(cpustate, decode); } -static void hyperstone_opf7(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf7(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bht(cpustate, decode); } -static void hyperstone_opf8(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf8(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bn(cpustate, decode); } -static void hyperstone_opf9(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opf9(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bnn(cpustate, decode); } -static void hyperstone_opfa(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opfa(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_ble(cpustate, decode); } -static void hyperstone_opfb(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opfb(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_bgt(cpustate, decode); } -static void hyperstone_opfc(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opfc(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCreldecode(decode); hyperstone_br(cpustate, decode); } -static void hyperstone_opfd(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opfd(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCadrdecode(decode); hyperstone_trap(cpustate, decode); } -static void hyperstone_opfe(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opfe(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCadrdecode(decode); hyperstone_trap(cpustate, decode); } -static void hyperstone_opff(hyperstone_state *cpustate, UINT16 opcode) +static void hyperstone_opff(hyperstone_state *cpustate) { LOCAL_DECODE_INIT; PCadrdecode(decode); @@ -1842,7 +1841,7 @@ static void hyperstone_opff(hyperstone_state *cpustate, UINT16 opcode) } -static void (*const hyperstone_op[0x100])(hyperstone_state *cpustate, UINT16 opcode) = +static void (*const hyperstone_op[0x100])(hyperstone_state *cpustate) = { hyperstone_op00, hyperstone_op01, hyperstone_op02, hyperstone_op03, hyperstone_op04, hyperstone_op05, hyperstone_op06, hyperstone_op07,