diff options
Diffstat (limited to 'src/emu/cpu/konami/knmidasm.c')
-rw-r--r-- | src/emu/cpu/konami/knmidasm.c | 546 |
1 files changed, 273 insertions, 273 deletions
diff --git a/src/emu/cpu/konami/knmidasm.c b/src/emu/cpu/konami/knmidasm.c index 511e8b230b3..779307d8dab 100644 --- a/src/emu/cpu/konami/knmidasm.c +++ b/src/emu/cpu/konami/knmidasm.c @@ -3,8 +3,8 @@ #include "konami.h" #ifndef TRUE -#define TRUE -1 -#define FALSE 0 +#define TRUE -1 +#define FALSE 0 #endif /* @@ -1587,277 +1587,277 @@ struct konami_opcode_def { }; static const konami_opcode_def op_table[256] = { - /* 00 */ { illegal, 0 }, - /* 01 */ { illegal, 0 }, - /* 02 */ { illegal, 0 }, - /* 03 */ { illegal, 0 }, - /* 04 */ { illegal, 0 }, - /* 05 */ { illegal, 0 }, - /* 06 */ { illegal, 0 }, - /* 07 */ { illegal, 0 }, - /* 08 */ { leax, 1 }, - /* 09 */ { leay, 1 }, - /* 0a */ { leau, 1 }, - /* 0b */ { leas, 0 }, - /* 0c */ { pushs, 1 }, - /* 0d */ { pushu, 0 }, - /* 0e */ { pulls, 1 }, - /* 0f */ { pullu, 0 }, - - /* 10 */ { lda, 1 }, - /* 11 */ { ldb, 1 }, - /* 12 */ { lda2, 1 }, - /* 13 */ { ldb2, 1 }, - /* 14 */ { adda, 1 }, - /* 15 */ { addb, 1 }, - /* 16 */ { adda2, 1 }, - /* 17 */ { addb2, 1 }, - /* 18 */ { adca, 1 }, - /* 19 */ { adcb, 1 }, - /* 1a */ { adca2, 1 }, - /* 1b */ { adcb2, 1 }, - /* 1c */ { suba, 1 }, - /* 1d */ { subb, 1 }, - /* 1e */ { suba2, 1 }, - /* 1f */ { subb2, 1 }, - - /* 20 */ { sbca, 0 }, - /* 21 */ { sbcb, 0 }, - /* 22 */ { sbca2, 0 }, - /* 23 */ { sbcb2, 0 }, - /* 24 */ { anda, 1 }, - /* 25 */ { andb, 1 }, - /* 26 */ { anda2, 1 }, - /* 27 */ { andb2, 1 }, - /* 28 */ { bita, 0 }, - /* 29 */ { bitb, 0 }, - /* 2a */ { bita2, 0 }, - /* 2b */ { bitb2, 0 }, - /* 2c */ { eora, 0 }, - /* 2d */ { eorb, 0 }, - /* 2e */ { eora2, 0 }, - /* 2f */ { eorb2, 0 }, - - /* 30 */ { ora, 1 }, - /* 31 */ { orb, 1 }, - /* 32 */ { ora2, 1 }, - /* 33 */ { orb2, 1 }, - /* 34 */ { cmpa, 1 }, - /* 35 */ { cmpb, 1 }, - /* 36 */ { cmpa2, 1 }, - /* 37 */ { cmpb2, 1 }, - /* 38 */ { setlines, 0 }, - /* 39 */ { setlines2, 0 }, - /* 3a */ { sta2, 1 }, - /* 3b */ { stb2, 1 }, - /* 3c */ { andcc, 1 }, - /* 3d */ { orcc, 0 }, - /* 3e */ { exg, 0 }, - /* 3f */ { tfr, 0 }, - - /* 40 */ { ldd, 1 }, - /* 41 */ { ldd2, 1 }, - /* 42 */ { ldx, 1 }, - /* 43 */ { ldx2, 1 }, - /* 44 */ { ldy, 1 }, - /* 45 */ { ldy2, 1 }, - /* 46 */ { ldu, 1 }, - /* 47 */ { ldu2, 1 }, - /* 48 */ { lds, 1 }, - /* 49 */ { lds2, 1 }, - /* 4a */ { cmpd, 1 }, - /* 4b */ { cmpd2, 1 }, - /* 4c */ { cmpx, 1 }, - /* 4d */ { cmpx2, 1 }, - /* 4e */ { cmpy, 1 }, - /* 4f */ { cmpy2, 1 }, - - /* 50 */ { cmpu, 1 }, - /* 51 */ { cmpu2, 1 }, - /* 52 */ { cmps, 1 }, - /* 53 */ { cmps2, 1 }, - /* 54 */ { addd, 0 }, - /* 55 */ { addd2, 0 }, - /* 56 */ { subd, 1 }, - /* 57 */ { subd2, 0 }, - /* 58 */ { std2, 1 }, - /* 59 */ { stx2, 1 }, - /* 5a */ { sty2, 1 }, - /* 5b */ { stu2, 1 }, - /* 5c */ { sts2, 1 }, - /* 5d */ { illegal, 0 }, - /* 5e */ { illegal, 0 }, - /* 5f */ { illegal, 0 }, - - /* 60 */ { bra, 1 }, - /* 61 */ { bhi, 1 }, - /* 62 */ { bcc, 1 }, - /* 63 */ { bne, 1 }, - /* 64 */ { bvc, 1 }, - /* 65 */ { bpl, 1 }, - /* 66 */ { bge, 1 }, - /* 67 */ { bgt, 1 }, - /* 68 */ { lbra, 1 }, - /* 69 */ { lbhi, 1 }, - /* 6a */ { lbcc, 1 }, - /* 6b */ { lbne, 1 }, - /* 6c */ { lbvc, 1 }, - /* 6d */ { lbpl, 1 }, - /* 6e */ { lbge, 1 }, - /* 6f */ { lbgt, 1 }, - - /* 70 */ { brn, 1 }, - /* 71 */ { bls, 1 }, - /* 72 */ { bcs, 1 }, - /* 73 */ { beq, 1 }, - /* 74 */ { bvs, 1 }, - /* 75 */ { bmi, 1 }, - /* 76 */ { blt, 1 }, - /* 77 */ { ble, 1 }, - /* 78 */ { lbrn, 1 }, - /* 79 */ { lbls, 1 }, - /* 7a */ { lbcs, 1 }, - /* 7b */ { lbeq, 1 }, - /* 7c */ { lbvs, 1 }, - /* 7d */ { lbmi, 1 }, - /* 7e */ { lblt, 1 }, - /* 7f */ { lble, 1 }, - - /* 80 */ { clra, 1 }, - /* 81 */ { clrb, 1 }, - /* 82 */ { clr2, 1 }, - /* 83 */ { coma, 1 }, - /* 84 */ { comb, 0 }, - /* 85 */ { com2, 0 }, - /* 86 */ { nega, 0 }, - /* 87 */ { negb, 0 }, - /* 88 */ { neg2, 0 }, - /* 89 */ { inca, 1 }, - /* 8a */ { incb, 1 }, - /* 8b */ { inc2, 1 }, - /* 8c */ { deca, 1 }, - /* 8d */ { decb, 1 }, - /* 8e */ { dec2, 1 }, - /* 8f */ { rts, 1 }, - - /* 90 */ { tsta, 0 }, - /* 91 */ { tstb, 0 }, - /* 92 */ { tst2, 0 }, - /* 93 */ { lsra, 1 }, - /* 94 */ { lsrb, 1 }, - /* 95 */ { lsr2, 0 }, - /* 96 */ { rora, 0 }, - /* 97 */ { rorb, 0 }, - /* 98 */ { ror2, 0 }, - /* 99 */ { asra, 0 }, - /* 9a */ { asrb, 0 }, - /* 9b */ { asr2, 0 }, - /* 9c */ { asla, 1 }, - /* 9d */ { aslb, 1 }, - /* 9e */ { asl2, 0 }, - /* 9f */ { rti, 1 }, - - /* a0 */ { rola, 1 }, - /* a1 */ { rolb, 0 }, - /* a2 */ { rol2, 0 }, - /* a3 */ { lsrw, 0 }, - /* a4 */ { rorw, 0 }, - /* a5 */ { asrw, 0 }, - /* a6 */ { aslw, 0 }, - /* a7 */ { rolw, 0 }, - /* a8 */ { jmp2, 1 }, - /* a9 */ { jsr2, 1 }, - /* aa */ { bsr, 1 }, - /* ab */ { lbsr, 1 }, - /* ac */ { decbjnz, 0 }, - /* ad */ { decxjnz, 0 }, - /* ae */ { nop, 0 }, - /* af */ { illegal, 0 }, - - /* b0 */ { abx, 0 }, - /* b1 */ { daa, 0 }, - /* b2 */ { sex, 0 }, - /* b3 */ { mul, 1 }, - /* b4 */ { lmul, 0 }, - /* b5 */ { divx, 0 }, - /* b6 */ { bmove, 1 }, - /* b7 */ { move, 0 }, - /* b8 */ { lsrd, 0 }, - /* b9 */ { lsrd2, 0 }, - /* ba */ { rord, 0 }, - /* bb */ { rord2, 0 }, - /* bc */ { asrd, 0 }, - /* bd */ { asrd2, 0 }, - /* be */ { asld, 0 }, - /* bf */ { asld2, 0 }, - - /* c0 */ { rold, 0 }, - /* c1 */ { rold2, 0 }, - /* c2 */ { clrd, 1 }, - /* c3 */ { clrw, 0 }, - /* c4 */ { negd, 0 }, - /* c5 */ { negw, 0 }, - /* c6 */ { incd, 0 }, - /* c7 */ { incw, 0 }, - /* c8 */ { decd, 0 }, - /* c9 */ { decw, 0 }, - /* ca */ { tstd, 0 }, - /* cb */ { tstw, 0 }, - /* cc */ { absa, 0 }, - /* cd */ { absb, 0 }, - /* ce */ { absd, 0 }, - /* cf */ { bset, 0 }, - - /* d0 */ { bset2, 0 }, - /* d1 */ { illegal, 0 }, - /* d2 */ { illegal, 0 }, - /* d3 */ { illegal, 0 }, - /* d4 */ { illegal, 0 }, - /* d5 */ { illegal, 0 }, - /* d6 */ { illegal, 0 }, - /* d7 */ { illegal, 0 }, - /* d8 */ { illegal, 0 }, - /* d9 */ { illegal, 0 }, - /* da */ { illegal, 0 }, - /* db */ { illegal, 0 }, - /* dc */ { illegal, 0 }, - /* dd */ { illegal, 0 }, - /* de */ { illegal, 0 }, - /* df */ { illegal, 0 }, - - /* e0 */ { illegal, 0 }, - /* e1 */ { illegal, 0 }, - /* e2 */ { illegal, 0 }, - /* e3 */ { illegal, 0 }, - /* e4 */ { illegal, 0 }, - /* e5 */ { illegal, 0 }, - /* e6 */ { illegal, 0 }, - /* e7 */ { illegal, 0 }, - /* e8 */ { illegal, 0 }, - /* e9 */ { illegal, 0 }, - /* ea */ { illegal, 0 }, - /* eb */ { illegal, 0 }, - /* ec */ { illegal, 0 }, - /* ed */ { illegal, 0 }, - /* ee */ { illegal, 0 }, - /* ef */ { illegal, 0 }, - - /* f0 */ { illegal, 0 }, - /* f1 */ { illegal, 0 }, - /* f2 */ { illegal, 0 }, - /* f3 */ { illegal, 0 }, - /* f4 */ { illegal, 0 }, - /* f5 */ { illegal, 0 }, - /* f6 */ { illegal, 0 }, - /* f7 */ { illegal, 0 }, - /* f8 */ { illegal, 0 }, - /* f9 */ { illegal, 0 }, - /* fa */ { illegal, 0 }, - /* fb */ { illegal, 0 }, - /* fc */ { illegal, 0 }, - /* fd */ { illegal, 0 }, - /* fe */ { illegal, 0 }, - /* ff */ { illegal, 0 } + /* 00 */ { illegal, 0 }, + /* 01 */ { illegal, 0 }, + /* 02 */ { illegal, 0 }, + /* 03 */ { illegal, 0 }, + /* 04 */ { illegal, 0 }, + /* 05 */ { illegal, 0 }, + /* 06 */ { illegal, 0 }, + /* 07 */ { illegal, 0 }, + /* 08 */ { leax, 1 }, + /* 09 */ { leay, 1 }, + /* 0a */ { leau, 1 }, + /* 0b */ { leas, 0 }, + /* 0c */ { pushs, 1 }, + /* 0d */ { pushu, 0 }, + /* 0e */ { pulls, 1 }, + /* 0f */ { pullu, 0 }, + + /* 10 */ { lda, 1 }, + /* 11 */ { ldb, 1 }, + /* 12 */ { lda2, 1 }, + /* 13 */ { ldb2, 1 }, + /* 14 */ { adda, 1 }, + /* 15 */ { addb, 1 }, + /* 16 */ { adda2, 1 }, + /* 17 */ { addb2, 1 }, + /* 18 */ { adca, 1 }, + /* 19 */ { adcb, 1 }, + /* 1a */ { adca2, 1 }, + /* 1b */ { adcb2, 1 }, + /* 1c */ { suba, 1 }, + /* 1d */ { subb, 1 }, + /* 1e */ { suba2, 1 }, + /* 1f */ { subb2, 1 }, + + /* 20 */ { sbca, 0 }, + /* 21 */ { sbcb, 0 }, + /* 22 */ { sbca2, 0 }, + /* 23 */ { sbcb2, 0 }, + /* 24 */ { anda, 1 }, + /* 25 */ { andb, 1 }, + /* 26 */ { anda2, 1 }, + /* 27 */ { andb2, 1 }, + /* 28 */ { bita, 0 }, + /* 29 */ { bitb, 0 }, + /* 2a */ { bita2, 0 }, + /* 2b */ { bitb2, 0 }, + /* 2c */ { eora, 0 }, + /* 2d */ { eorb, 0 }, + /* 2e */ { eora2, 0 }, + /* 2f */ { eorb2, 0 }, + + /* 30 */ { ora, 1 }, + /* 31 */ { orb, 1 }, + /* 32 */ { ora2, 1 }, + /* 33 */ { orb2, 1 }, + /* 34 */ { cmpa, 1 }, + /* 35 */ { cmpb, 1 }, + /* 36 */ { cmpa2, 1 }, + /* 37 */ { cmpb2, 1 }, + /* 38 */ { setlines, 0 }, + /* 39 */ { setlines2, 0 }, + /* 3a */ { sta2, 1 }, + /* 3b */ { stb2, 1 }, + /* 3c */ { andcc, 1 }, + /* 3d */ { orcc, 0 }, + /* 3e */ { exg, 0 }, + /* 3f */ { tfr, 0 }, + + /* 40 */ { ldd, 1 }, + /* 41 */ { ldd2, 1 }, + /* 42 */ { ldx, 1 }, + /* 43 */ { ldx2, 1 }, + /* 44 */ { ldy, 1 }, + /* 45 */ { ldy2, 1 }, + /* 46 */ { ldu, 1 }, + /* 47 */ { ldu2, 1 }, + /* 48 */ { lds, 1 }, + /* 49 */ { lds2, 1 }, + /* 4a */ { cmpd, 1 }, + /* 4b */ { cmpd2, 1 }, + /* 4c */ { cmpx, 1 }, + /* 4d */ { cmpx2, 1 }, + /* 4e */ { cmpy, 1 }, + /* 4f */ { cmpy2, 1 }, + + /* 50 */ { cmpu, 1 }, + /* 51 */ { cmpu2, 1 }, + /* 52 */ { cmps, 1 }, + /* 53 */ { cmps2, 1 }, + /* 54 */ { addd, 0 }, + /* 55 */ { addd2, 0 }, + /* 56 */ { subd, 1 }, + /* 57 */ { subd2, 0 }, + /* 58 */ { std2, 1 }, + /* 59 */ { stx2, 1 }, + /* 5a */ { sty2, 1 }, + /* 5b */ { stu2, 1 }, + /* 5c */ { sts2, 1 }, + /* 5d */ { illegal, 0 }, + /* 5e */ { illegal, 0 }, + /* 5f */ { illegal, 0 }, + + /* 60 */ { bra, 1 }, + /* 61 */ { bhi, 1 }, + /* 62 */ { bcc, 1 }, + /* 63 */ { bne, 1 }, + /* 64 */ { bvc, 1 }, + /* 65 */ { bpl, 1 }, + /* 66 */ { bge, 1 }, + /* 67 */ { bgt, 1 }, + /* 68 */ { lbra, 1 }, + /* 69 */ { lbhi, 1 }, + /* 6a */ { lbcc, 1 }, + /* 6b */ { lbne, 1 }, + /* 6c */ { lbvc, 1 }, + /* 6d */ { lbpl, 1 }, + /* 6e */ { lbge, 1 }, + /* 6f */ { lbgt, 1 }, + + /* 70 */ { brn, 1 }, + /* 71 */ { bls, 1 }, + /* 72 */ { bcs, 1 }, + /* 73 */ { beq, 1 }, + /* 74 */ { bvs, 1 }, + /* 75 */ { bmi, 1 }, + /* 76 */ { blt, 1 }, + /* 77 */ { ble, 1 }, + /* 78 */ { lbrn, 1 }, + /* 79 */ { lbls, 1 }, + /* 7a */ { lbcs, 1 }, + /* 7b */ { lbeq, 1 }, + /* 7c */ { lbvs, 1 }, + /* 7d */ { lbmi, 1 }, + /* 7e */ { lblt, 1 }, + /* 7f */ { lble, 1 }, + + /* 80 */ { clra, 1 }, + /* 81 */ { clrb, 1 }, + /* 82 */ { clr2, 1 }, + /* 83 */ { coma, 1 }, + /* 84 */ { comb, 0 }, + /* 85 */ { com2, 0 }, + /* 86 */ { nega, 0 }, + /* 87 */ { negb, 0 }, + /* 88 */ { neg2, 0 }, + /* 89 */ { inca, 1 }, + /* 8a */ { incb, 1 }, + /* 8b */ { inc2, 1 }, + /* 8c */ { deca, 1 }, + /* 8d */ { decb, 1 }, + /* 8e */ { dec2, 1 }, + /* 8f */ { rts, 1 }, + + /* 90 */ { tsta, 0 }, + /* 91 */ { tstb, 0 }, + /* 92 */ { tst2, 0 }, + /* 93 */ { lsra, 1 }, + /* 94 */ { lsrb, 1 }, + /* 95 */ { lsr2, 0 }, + /* 96 */ { rora, 0 }, + /* 97 */ { rorb, 0 }, + /* 98 */ { ror2, 0 }, + /* 99 */ { asra, 0 }, + /* 9a */ { asrb, 0 }, + /* 9b */ { asr2, 0 }, + /* 9c */ { asla, 1 }, + /* 9d */ { aslb, 1 }, + /* 9e */ { asl2, 0 }, + /* 9f */ { rti, 1 }, + + /* a0 */ { rola, 1 }, + /* a1 */ { rolb, 0 }, + /* a2 */ { rol2, 0 }, + /* a3 */ { lsrw, 0 }, + /* a4 */ { rorw, 0 }, + /* a5 */ { asrw, 0 }, + /* a6 */ { aslw, 0 }, + /* a7 */ { rolw, 0 }, + /* a8 */ { jmp2, 1 }, + /* a9 */ { jsr2, 1 }, + /* aa */ { bsr, 1 }, + /* ab */ { lbsr, 1 }, + /* ac */ { decbjnz, 0 }, + /* ad */ { decxjnz, 0 }, + /* ae */ { nop, 0 }, + /* af */ { illegal, 0 }, + + /* b0 */ { abx, 0 }, + /* b1 */ { daa, 0 }, + /* b2 */ { sex, 0 }, + /* b3 */ { mul, 1 }, + /* b4 */ { lmul, 0 }, + /* b5 */ { divx, 0 }, + /* b6 */ { bmove, 1 }, + /* b7 */ { move, 0 }, + /* b8 */ { lsrd, 0 }, + /* b9 */ { lsrd2, 0 }, + /* ba */ { rord, 0 }, + /* bb */ { rord2, 0 }, + /* bc */ { asrd, 0 }, + /* bd */ { asrd2, 0 }, + /* be */ { asld, 0 }, + /* bf */ { asld2, 0 }, + + /* c0 */ { rold, 0 }, + /* c1 */ { rold2, 0 }, + /* c2 */ { clrd, 1 }, + /* c3 */ { clrw, 0 }, + /* c4 */ { negd, 0 }, + /* c5 */ { negw, 0 }, + /* c6 */ { incd, 0 }, + /* c7 */ { incw, 0 }, + /* c8 */ { decd, 0 }, + /* c9 */ { decw, 0 }, + /* ca */ { tstd, 0 }, + /* cb */ { tstw, 0 }, + /* cc */ { absa, 0 }, + /* cd */ { absb, 0 }, + /* ce */ { absd, 0 }, + /* cf */ { bset, 0 }, + + /* d0 */ { bset2, 0 }, + /* d1 */ { illegal, 0 }, + /* d2 */ { illegal, 0 }, + /* d3 */ { illegal, 0 }, + /* d4 */ { illegal, 0 }, + /* d5 */ { illegal, 0 }, + /* d6 */ { illegal, 0 }, + /* d7 */ { illegal, 0 }, + /* d8 */ { illegal, 0 }, + /* d9 */ { illegal, 0 }, + /* da */ { illegal, 0 }, + /* db */ { illegal, 0 }, + /* dc */ { illegal, 0 }, + /* dd */ { illegal, 0 }, + /* de */ { illegal, 0 }, + /* df */ { illegal, 0 }, + + /* e0 */ { illegal, 0 }, + /* e1 */ { illegal, 0 }, + /* e2 */ { illegal, 0 }, + /* e3 */ { illegal, 0 }, + /* e4 */ { illegal, 0 }, + /* e5 */ { illegal, 0 }, + /* e6 */ { illegal, 0 }, + /* e7 */ { illegal, 0 }, + /* e8 */ { illegal, 0 }, + /* e9 */ { illegal, 0 }, + /* ea */ { illegal, 0 }, + /* eb */ { illegal, 0 }, + /* ec */ { illegal, 0 }, + /* ed */ { illegal, 0 }, + /* ee */ { illegal, 0 }, + /* ef */ { illegal, 0 }, + + /* f0 */ { illegal, 0 }, + /* f1 */ { illegal, 0 }, + /* f2 */ { illegal, 0 }, + /* f3 */ { illegal, 0 }, + /* f4 */ { illegal, 0 }, + /* f5 */ { illegal, 0 }, + /* f6 */ { illegal, 0 }, + /* f7 */ { illegal, 0 }, + /* f8 */ { illegal, 0 }, + /* f9 */ { illegal, 0 }, + /* fa */ { illegal, 0 }, + /* fb */ { illegal, 0 }, + /* fc */ { illegal, 0 }, + /* fd */ { illegal, 0 }, + /* fe */ { illegal, 0 }, + /* ff */ { illegal, 0 } }; CPU_DISASSEMBLE( konami ) |