added illegal opcodes to matrix
This commit is contained in:
parent
7dab375c78
commit
92d92a80c6
|
@ -16,7 +16,9 @@ enum Operation
|
||||||
ROR, RTI, RTS, SBC, SEC, SED, SEI, STA,
|
ROR, RTI, RTS, SBC, SEC, SED, SEI, STA,
|
||||||
STX, STY, TAX, TAY, TSX, TXA, TXS, TYA,
|
STX, STY, TAX, TAY, TSX, TXA, TXS, TYA,
|
||||||
|
|
||||||
JAM, SLO, ANC
|
ANC, ASR, ARR, DCP, ISC, ISX, JAM, LAS,
|
||||||
|
LAX, RLA, RRA, SAX, SBX, SLO, SHA, SHS,
|
||||||
|
SHX, SHY, SRE, XAA
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AddrMode
|
enum AddrMode
|
||||||
|
|
|
@ -38,241 +38,241 @@ const struct Opcode OPCODE_TABLE[256] =
|
||||||
/* 1E */ NEW_OPCODE(ASL, ABX, 7, 3, 0),
|
/* 1E */ NEW_OPCODE(ASL, ABX, 7, 3, 0),
|
||||||
/* 1F */ NEW_OPCODE(SLO, ABX, 7, 3, 1),
|
/* 1F */ NEW_OPCODE(SLO, ABX, 7, 3, 1),
|
||||||
|
|
||||||
/* 20 */ NEW_OPCODE(JSR, ABS, 6, 3, 0),
|
/* 20 */ NEW_OPCODE(JSR, ABS, 6, 3, 0),
|
||||||
/* 21 */ NEW_OPCODE(AND, INDX, 6, 2, 0),
|
/* 21 */ NEW_OPCODE(AND, INDX, 6, 2, 0),
|
||||||
/* 22 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 22 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* 23 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 23 */ NEW_OPCODE(RLA, INDX, 8, 2, 1),
|
||||||
/* 24 */ NEW_OPCODE(BIT, ZPG, 3, 2, 0),
|
/* 24 */ NEW_OPCODE(BIT, ZPG, 3, 2, 0),
|
||||||
/* 25 */ NEW_OPCODE(AND, ZPG, 3, 2, 0),
|
/* 25 */ NEW_OPCODE(AND, ZPG, 3, 2, 0),
|
||||||
/* 26 */ NEW_OPCODE(ROL, ZPG, 5, 2, 0),
|
/* 26 */ NEW_OPCODE(ROL, ZPG, 5, 2, 0),
|
||||||
/* 27 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 27 */ NEW_OPCODE(RLA, ZPG, 5, 2, 1),
|
||||||
/* 28 */ NEW_OPCODE(PLP, IMP, 4, 1, 0),
|
/* 28 */ NEW_OPCODE(PLP, IMP, 4, 1, 0),
|
||||||
/* 29 */ NEW_OPCODE(AND, IMM, 2, 2, 0),
|
/* 29 */ NEW_OPCODE(AND, IMM, 2, 2, 0),
|
||||||
/* 2A */ NEW_OPCODE(ROL, ACC, 2, 1, 0),
|
/* 2A */ NEW_OPCODE(ROL, ACC, 2, 1, 0),
|
||||||
/* 2B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 2B */ NEW_OPCODE(ANC, IMM, 2, 2, 1),
|
||||||
/* 2C */ NEW_OPCODE(BIT, ABS, 4, 3, 0),
|
/* 2C */ NEW_OPCODE(BIT, ABS, 4, 3, 0),
|
||||||
/* 2D */ NEW_OPCODE(AND, ABS, 4, 3, 0),
|
/* 2D */ NEW_OPCODE(AND, ABS, 4, 3, 0),
|
||||||
/* 2E */ NEW_OPCODE(ROL, ABS, 6, 3, 0),
|
/* 2E */ NEW_OPCODE(ROL, ABS, 6, 3, 0),
|
||||||
/* 2F */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 2F */ NEW_OPCODE(RLA, ABS, 6, 3, 1),
|
||||||
|
|
||||||
/* 30 */ NEW_OPCODE(BMI, REL, 2, 2, 0),
|
/* 30 */ NEW_OPCODE(BMI, REL, 2, 2, 0),
|
||||||
/* 31 */ NEW_OPCODE(AND, INDY, 5, 2, 0),
|
/* 31 */ NEW_OPCODE(AND, INDY, 5, 2, 0),
|
||||||
/* 32 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 32 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* 33 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 33 */ NEW_OPCODE(RLA, INDY, 8, 2, 1),
|
||||||
/* 34 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 34 */ NEW_OPCODE(NOP, ZPX, 4, 2, 1),
|
||||||
/* 35 */ NEW_OPCODE(AND, ZPX, 4, 2, 0),
|
/* 35 */ NEW_OPCODE(AND, ZPX, 4, 2, 0),
|
||||||
/* 36 */ NEW_OPCODE(ROL, ZPX, 6, 2, 0),
|
/* 36 */ NEW_OPCODE(ROL, ZPX, 6, 2, 0),
|
||||||
/* 37 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 37 */ NEW_OPCODE(RLA, ZPX, 6, 2, 1),
|
||||||
/* 38 */ NEW_OPCODE(SEC, IMP, 2, 1, 0),
|
/* 38 */ NEW_OPCODE(SEC, IMP, 2, 1, 0),
|
||||||
/* 39 */ NEW_OPCODE(AND, ABY, 4, 3, 0),
|
/* 39 */ NEW_OPCODE(AND, ABY, 4, 3, 0),
|
||||||
/* 3A */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 3A */ NEW_OPCODE(NOP, IMP, 2, 1, 1),
|
||||||
/* 3B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 3B */ NEW_OPCODE(RLA, ABY, 7, 3, 1),
|
||||||
/* 3C */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 3C */ NEW_OPCODE(NOP, ABX, 4, 3, 1),
|
||||||
/* 3D */ NEW_OPCODE(AND, ABX, 4, 3, 0),
|
/* 3D */ NEW_OPCODE(AND, ABX, 4, 3, 0),
|
||||||
/* 3E */ NEW_OPCODE(ROL, ABX, 7, 3, 0),
|
/* 3E */ NEW_OPCODE(ROL, ABX, 7, 3, 0),
|
||||||
/* 3F */ NEW_OPCODE(XXX, IMP, 0, 1, 0),
|
/* 3F */ NEW_OPCODE(RLA, ABX, 7, 3, 0),
|
||||||
|
|
||||||
/* 40 */ NEW_OPCODE(RTI, IMP, 6, 1, 0),
|
/* 40 */ NEW_OPCODE(RTI, IMP, 6, 1, 0),
|
||||||
/* 41 */ NEW_OPCODE(EOR, INDX, 6, 2, 0),
|
/* 41 */ NEW_OPCODE(EOR, INDX, 6, 2, 0),
|
||||||
/* 42 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 42 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* 43 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 43 */ NEW_OPCODE(SRE, INDX, 8, 2, 1),
|
||||||
/* 44 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 44 */ NEW_OPCODE(NOP, ZPG, 3, 2, 1),
|
||||||
/* 45 */ NEW_OPCODE(EOR, ZPG, 3, 2, 0),
|
/* 45 */ NEW_OPCODE(EOR, ZPG, 3, 2, 0),
|
||||||
/* 46 */ NEW_OPCODE(LSR, ZPG, 5, 2, 0),
|
/* 46 */ NEW_OPCODE(LSR, ZPG, 5, 2, 0),
|
||||||
/* 47 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 47 */ NEW_OPCODE(SRE, ZPG, 5, 2, 1),
|
||||||
/* 48 */ NEW_OPCODE(PHA, IMP, 3, 1, 0),
|
/* 48 */ NEW_OPCODE(PHA, IMP, 3, 1, 0),
|
||||||
/* 49 */ NEW_OPCODE(EOR, IMM, 2, 2, 0),
|
/* 49 */ NEW_OPCODE(EOR, IMM, 2, 2, 0),
|
||||||
/* 4A */ NEW_OPCODE(LSR, ACC, 2, 1, 0),
|
/* 4A */ NEW_OPCODE(LSR, ACC, 2, 1, 0),
|
||||||
/* 4B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 4B */ NEW_OPCODE(ASR, IMM, 2, 2, 1),
|
||||||
/* 4C */ NEW_OPCODE(JMP, ABS, 3, 3, 0),
|
/* 4C */ NEW_OPCODE(JMP, ABS, 3, 3, 0),
|
||||||
/* 4D */ NEW_OPCODE(EOR, ABS, 4, 3, 0),
|
/* 4D */ NEW_OPCODE(EOR, ABS, 4, 3, 0),
|
||||||
/* 4E */ NEW_OPCODE(LSR, ABS, 6, 3, 0),
|
/* 4E */ NEW_OPCODE(LSR, ABS, 6, 3, 0),
|
||||||
/* 4F */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 4F */ NEW_OPCODE(SRE, ABS, 6, 3, 1),
|
||||||
|
|
||||||
/* 50 */ NEW_OPCODE(BVC, REL, 2, 2, 0),
|
/* 50 */ NEW_OPCODE(BVC, REL, 2, 2, 0),
|
||||||
/* 51 */ NEW_OPCODE(EOR, INDY, 5, 2, 0),
|
/* 51 */ NEW_OPCODE(EOR, INDY, 5, 2, 0),
|
||||||
/* 52 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 52 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* 53 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 53 */ NEW_OPCODE(SRE, INDY, 8, 2, 1),
|
||||||
/* 54 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 54 */ NEW_OPCODE(NOP, ZPX, 4, 2, 1),
|
||||||
/* 55 */ NEW_OPCODE(EOR, ZPX, 4, 2, 0),
|
/* 55 */ NEW_OPCODE(EOR, ZPX, 4, 2, 0),
|
||||||
/* 56 */ NEW_OPCODE(LSR, ZPX, 6, 2, 0),
|
/* 56 */ NEW_OPCODE(LSR, ZPX, 6, 2, 0),
|
||||||
/* 57 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 57 */ NEW_OPCODE(SRE, ZPX, 6, 2, 1),
|
||||||
/* 58 */ NEW_OPCODE(CLI, IMP, 2, 1, 0),
|
/* 58 */ NEW_OPCODE(CLI, IMP, 2, 1, 0),
|
||||||
/* 59 */ NEW_OPCODE(EOR, ABY, 4, 3, 0),
|
/* 59 */ NEW_OPCODE(EOR, ABY, 4, 3, 0),
|
||||||
/* 5A */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 5A */ NEW_OPCODE(NOP, IMP, 2, 1, 1),
|
||||||
/* 5B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 5B */ NEW_OPCODE(SRE, ABY, 7, 3, 1),
|
||||||
/* 5C */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 5C */ NEW_OPCODE(NOP, ABX, 4, 3, 1),
|
||||||
/* 5D */ NEW_OPCODE(EOR, ABX, 4, 3, 0),
|
/* 5D */ NEW_OPCODE(EOR, ABX, 4, 3, 0),
|
||||||
/* 5E */ NEW_OPCODE(LSR, ABX, 7, 3, 0),
|
/* 5E */ NEW_OPCODE(LSR, ABX, 7, 3, 0),
|
||||||
/* 5F */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 5F */ NEW_OPCODE(SRE, ABX, 7, 3, 1),
|
||||||
|
|
||||||
/* 60 */ NEW_OPCODE(RTS, IMP, 6, 1, 0),
|
/* 60 */ NEW_OPCODE(RTS, IMP, 6, 1, 0),
|
||||||
/* 61 */ NEW_OPCODE(ADC, INDX, 6, 2, 0),
|
/* 61 */ NEW_OPCODE(ADC, INDX, 6, 2, 0),
|
||||||
/* 62 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 62 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* 63 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 63 */ NEW_OPCODE(RRA, INDX, 8, 2, 1),
|
||||||
/* 64 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 64 */ NEW_OPCODE(NOP, ZPG, 3, 2, 1),
|
||||||
/* 65 */ NEW_OPCODE(ADC, ZPG, 3, 2, 0),
|
/* 65 */ NEW_OPCODE(ADC, ZPG, 3, 2, 0),
|
||||||
/* 66 */ NEW_OPCODE(ROR, ZPG, 5, 2, 0),
|
/* 66 */ NEW_OPCODE(ROR, ZPG, 5, 2, 0),
|
||||||
/* 67 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 67 */ NEW_OPCODE(RRA, ZPG, 5, 2, 1),
|
||||||
/* 68 */ NEW_OPCODE(PLA, IMP, 4, 1, 0),
|
/* 68 */ NEW_OPCODE(PLA, IMP, 4, 1, 0),
|
||||||
/* 69 */ NEW_OPCODE(ADC, IMM, 2, 2, 0),
|
/* 69 */ NEW_OPCODE(ADC, IMM, 2, 2, 0),
|
||||||
/* 6A */ NEW_OPCODE(ROR, ACC, 2, 1, 0),
|
/* 6A */ NEW_OPCODE(ROR, ACC, 2, 1, 0),
|
||||||
/* 6B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 6B */ NEW_OPCODE(ARR, IMM, 2, 2, 1),
|
||||||
/* 6C */ NEW_OPCODE(JMP, IND, 5, 3, 0),
|
/* 6C */ NEW_OPCODE(JMP, IND, 5, 3, 0),
|
||||||
/* 6D */ NEW_OPCODE(ADC, ABS, 4, 3, 0),
|
/* 6D */ NEW_OPCODE(ADC, ABS, 4, 3, 0),
|
||||||
/* 6E */ NEW_OPCODE(ROR, ABS, 6, 3, 0),
|
/* 6E */ NEW_OPCODE(ROR, ABS, 6, 3, 0),
|
||||||
/* 6F */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 6F */ NEW_OPCODE(RRA, ABS, 6, 3, 1),
|
||||||
|
|
||||||
/* 70 */ NEW_OPCODE(BVS, REL, 2, 2, 0),
|
/* 70 */ NEW_OPCODE(BVS, REL, 2, 2, 0),
|
||||||
/* 71 */ NEW_OPCODE(ADC, INDY, 5, 2, 0),
|
/* 71 */ NEW_OPCODE(ADC, INDY, 5, 2, 0),
|
||||||
/* 72 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 72 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* 73 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 73 */ NEW_OPCODE(RRA, INDY, 8, 2, 1),
|
||||||
/* 74 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 74 */ NEW_OPCODE(NOP, ZPX, 4, 2, 1),
|
||||||
/* 75 */ NEW_OPCODE(ADC, ZPX, 4, 2, 0),
|
/* 75 */ NEW_OPCODE(ADC, ZPX, 4, 2, 0),
|
||||||
/* 76 */ NEW_OPCODE(ROR, ZPX, 6, 2, 0),
|
/* 76 */ NEW_OPCODE(ROR, ZPX, 6, 2, 0),
|
||||||
/* 77 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 77 */ NEW_OPCODE(RRA, ZPX, 6, 2, 1),
|
||||||
/* 78 */ NEW_OPCODE(SEI, IMP, 2, 1, 0),
|
/* 78 */ NEW_OPCODE(SEI, IMP, 2, 1, 0),
|
||||||
/* 79 */ NEW_OPCODE(ADC, ABY, 4, 3, 0),
|
/* 79 */ NEW_OPCODE(ADC, ABY, 4, 3, 0),
|
||||||
/* 7A */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 7A */ NEW_OPCODE(NOP, IMP, 2, 1, 1),
|
||||||
/* 7B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 7B */ NEW_OPCODE(RRA, ABY, 7, 3, 1),
|
||||||
/* 7C */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 7C */ NEW_OPCODE(NOP, ABX, 4, 3, 1),
|
||||||
/* 7D */ NEW_OPCODE(ADC, ABX, 4, 3, 0),
|
/* 7D */ NEW_OPCODE(ADC, ABX, 4, 3, 0),
|
||||||
/* 7E */ NEW_OPCODE(ROR, ABX, 7, 3, 0),
|
/* 7E */ NEW_OPCODE(ROR, ABX, 7, 3, 0),
|
||||||
/* 7F */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 7F */ NEW_OPCODE(RRA, ABX, 7, 3, 1),
|
||||||
|
|
||||||
/* 80 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 80 */ NEW_OPCODE(NOP, IMM, 2, 3, 1),
|
||||||
/* 81 */ NEW_OPCODE(STA, INDX, 6, 2, 0),
|
/* 81 */ NEW_OPCODE(STA, INDX, 6, 2, 0),
|
||||||
/* 82 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 82 */ NEW_OPCODE(NOP, IMM, 2, 3, 1),
|
||||||
/* 83 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 83 */ NEW_OPCODE(SAX, INDX, 6, 2, 1),
|
||||||
/* 84 */ NEW_OPCODE(STY, ZPG, 3, 2, 0),
|
/* 84 */ NEW_OPCODE(STY, ZPG, 3, 2, 0),
|
||||||
/* 85 */ NEW_OPCODE(STA, ZPG, 3, 2, 0),
|
/* 85 */ NEW_OPCODE(STA, ZPG, 3, 2, 0),
|
||||||
/* 86 */ NEW_OPCODE(STX, ZPG, 3, 2, 0),
|
/* 86 */ NEW_OPCODE(STX, ZPG, 3, 2, 0),
|
||||||
/* 87 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 87 */ NEW_OPCODE(SAX, ZPG, 3, 2, 1),
|
||||||
/* 88 */ NEW_OPCODE(DEY, IMP, 2, 1, 0),
|
/* 88 */ NEW_OPCODE(DEY, IMP, 2, 1, 0),
|
||||||
/* 89 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 89 */ NEW_OPCODE(NOP, IMM, 2, 3, 1),
|
||||||
/* 8A */ NEW_OPCODE(TXA, IMP, 2, 1, 0),
|
/* 8A */ NEW_OPCODE(TXA, IMP, 2, 1, 0),
|
||||||
/* 8B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 8B */ NEW_OPCODE(XAA, IMM, 2, 2, 1),
|
||||||
/* 8C */ NEW_OPCODE(STY, ABS, 4, 3, 0),
|
/* 8C */ NEW_OPCODE(STY, ABS, 4, 3, 0),
|
||||||
/* 8D */ NEW_OPCODE(STA, ABS, 4, 3, 0),
|
/* 8D */ NEW_OPCODE(STA, ABS, 4, 3, 0),
|
||||||
/* 8E */ NEW_OPCODE(STX, ABS, 4, 3, 0),
|
/* 8E */ NEW_OPCODE(STX, ABS, 4, 3, 0),
|
||||||
/* 8F */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 8F */ NEW_OPCODE(SAX, ABS, 4, 3, 1),
|
||||||
|
|
||||||
/* 90 */ NEW_OPCODE(BCC, REL, 2, 2, 0),
|
/* 90 */ NEW_OPCODE(BCC, REL, 2, 2, 0),
|
||||||
/* 91 */ NEW_OPCODE(STA, INDY, 6, 2, 0),
|
/* 91 */ NEW_OPCODE(STA, INDY, 6, 2, 0),
|
||||||
/* 92 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 92 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* 93 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 93 */ NEW_OPCODE(SHA, INDY, 6, 2, 1),
|
||||||
/* 94 */ NEW_OPCODE(STY, ZPX, 4, 2, 0),
|
/* 94 */ NEW_OPCODE(STY, ZPX, 4, 2, 0),
|
||||||
/* 95 */ NEW_OPCODE(STA, ZPX, 4, 2, 0),
|
/* 95 */ NEW_OPCODE(STA, ZPX, 4, 2, 0),
|
||||||
/* 96 */ NEW_OPCODE(STX, ZPY, 4, 2, 0),
|
/* 96 */ NEW_OPCODE(STX, ZPY, 4, 2, 0),
|
||||||
/* 97 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 97 */ NEW_OPCODE(SAX, ZPY, 4, 2, 1),
|
||||||
/* 98 */ NEW_OPCODE(TYA, IMP, 2, 1, 0),
|
/* 98 */ NEW_OPCODE(TYA, IMP, 2, 1, 0),
|
||||||
/* 99 */ NEW_OPCODE(STA, ABY, 5, 3, 0),
|
/* 99 */ NEW_OPCODE(STA, ABY, 5, 3, 0),
|
||||||
/* 9A */ NEW_OPCODE(TXS, IMP, 2, 1, 0),
|
/* 9A */ NEW_OPCODE(TXS, IMP, 2, 1, 0),
|
||||||
/* 9B */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 9B */ NEW_OPCODE(SHS, ABY, 5, 3, 1),
|
||||||
/* 9C */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 9C */ NEW_OPCODE(SHY, ABX, 5, 3, 1),
|
||||||
/* 9D */ NEW_OPCODE(STA, ABX, 5, 3, 0),
|
/* 9D */ NEW_OPCODE(STA, ABX, 5, 3, 0),
|
||||||
/* 9E */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 9E */ NEW_OPCODE(SHX, ABY, 5, 3, 1),
|
||||||
/* 9F */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* 9F */ NEW_OPCODE(SHA, ABY, 5, 3, 1),
|
||||||
|
|
||||||
/* A0 */ NEW_OPCODE(LDY, IMM, 2, 2, 0),
|
/* A0 */ NEW_OPCODE(LDY, IMM, 2, 2, 0),
|
||||||
/* A1 */ NEW_OPCODE(LDA, INDX, 6, 2, 0),
|
/* A1 */ NEW_OPCODE(LDA, INDX, 6, 2, 0),
|
||||||
/* A2 */ NEW_OPCODE(LDX, IMM, 2, 2, 0),
|
/* A2 */ NEW_OPCODE(LDX, IMM, 2, 2, 0),
|
||||||
/* A3 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* A3 */ NEW_OPCODE(LAX, INDX, 0, 1, 1),
|
||||||
/* A4 */ NEW_OPCODE(LDY, ZPG, 3, 2, 0),
|
/* A4 */ NEW_OPCODE(LDY, ZPG, 3, 2, 0),
|
||||||
/* A5 */ NEW_OPCODE(LDA, ZPG, 3, 2, 0),
|
/* A5 */ NEW_OPCODE(LDA, ZPG, 3, 2, 0),
|
||||||
/* A6 */ NEW_OPCODE(LDX, ZPG, 3, 2, 0),
|
/* A6 */ NEW_OPCODE(LDX, ZPG, 3, 2, 0),
|
||||||
/* A7 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* A7 */ NEW_OPCODE(LAX, ZPG, 3, 2, 1),
|
||||||
/* A8 */ NEW_OPCODE(TAY, IMP, 2, 1, 0),
|
/* A8 */ NEW_OPCODE(TAY, IMP, 2, 1, 0),
|
||||||
/* A9 */ NEW_OPCODE(LDA, IMM, 2, 2, 0),
|
/* A9 */ NEW_OPCODE(LDA, IMM, 2, 2, 0),
|
||||||
/* AA */ NEW_OPCODE(TAX, IMP, 2, 1, 0),
|
/* AA */ NEW_OPCODE(TAX, IMP, 2, 1, 0),
|
||||||
/* AB */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* AB */ NEW_OPCODE(LAX, IMM, 2, 2, 1),
|
||||||
/* AC */ NEW_OPCODE(LDY, ABS, 4, 3, 0),
|
/* AC */ NEW_OPCODE(LDY, ABS, 4, 3, 0),
|
||||||
/* AD */ NEW_OPCODE(LDA, ABS, 4, 3, 0),
|
/* AD */ NEW_OPCODE(LDA, ABS, 4, 3, 0),
|
||||||
/* AE */ NEW_OPCODE(LDX, ABS, 4, 3, 0),
|
/* AE */ NEW_OPCODE(LDX, ABS, 4, 3, 0),
|
||||||
/* AF */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* AF */ NEW_OPCODE(LAX, ABS, 4, 3, 1),
|
||||||
|
|
||||||
/* B0 */ NEW_OPCODE(BCS, REL, 2, 2, 0),
|
/* B0 */ NEW_OPCODE(BCS, REL, 2, 2, 0),
|
||||||
/* B1 */ NEW_OPCODE(LDA, INDY, 5, 2, 0),
|
/* B1 */ NEW_OPCODE(LDA, INDY, 5, 2, 0),
|
||||||
/* B2 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* B2 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* B3 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* B3 */ NEW_OPCODE(LAX, INDY, 5, 2, 1),
|
||||||
/* B4 */ NEW_OPCODE(LDY, ZPX, 4, 2, 0),
|
/* B4 */ NEW_OPCODE(LDY, ZPX, 4, 2, 0),
|
||||||
/* B5 */ NEW_OPCODE(LDA, ZPX, 4, 2, 0),
|
/* B5 */ NEW_OPCODE(LDA, ZPX, 4, 2, 0),
|
||||||
/* B6 */ NEW_OPCODE(LDX, ZPY, 4, 2, 0),
|
/* B6 */ NEW_OPCODE(LDX, ZPY, 4, 2, 0),
|
||||||
/* B7 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* B7 */ NEW_OPCODE(LAX, ZPY, 4, 2, 1),
|
||||||
/* B8 */ NEW_OPCODE(CLV, IMP, 2, 1, 0),
|
/* B8 */ NEW_OPCODE(CLV, IMP, 2, 1, 0),
|
||||||
/* B9 */ NEW_OPCODE(LDA, ABY, 4, 3, 0),
|
/* B9 */ NEW_OPCODE(LDA, ABY, 4, 3, 0),
|
||||||
/* BA */ NEW_OPCODE(TSX, IMP, 2, 1, 0),
|
/* BA */ NEW_OPCODE(TSX, IMP, 2, 1, 0),
|
||||||
/* BB */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* BB */ NEW_OPCODE(LAS, ABY, 4, 3, 1),
|
||||||
/* BC */ NEW_OPCODE(LDY, ABX, 4, 3, 0),
|
/* BC */ NEW_OPCODE(LDY, ABX, 4, 3, 0),
|
||||||
/* BD */ NEW_OPCODE(LDA, ABX, 4, 3, 0),
|
/* BD */ NEW_OPCODE(LDA, ABX, 4, 3, 0),
|
||||||
/* BE */ NEW_OPCODE(LDX, ABY, 4, 3, 0),
|
/* BE */ NEW_OPCODE(LDX, ABY, 4, 3, 0),
|
||||||
/* BF */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* BF */ NEW_OPCODE(LAX, ABY, 4, 3, 1),
|
||||||
|
|
||||||
/* C0 */ NEW_OPCODE(CPY, IMM, 2, 2, 0),
|
/* C0 */ NEW_OPCODE(CPY, IMM, 2, 2, 0),
|
||||||
/* C1 */ NEW_OPCODE(CMP, INDX, 6, 2, 0),
|
/* C1 */ NEW_OPCODE(CMP, INDX, 6, 2, 0),
|
||||||
/* C2 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* C2 */ NEW_OPCODE(NOP, IMM, 2, 2, 1),
|
||||||
/* C3 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* C3 */ NEW_OPCODE(DCP, INDX, 8, 2, 1),
|
||||||
/* C4 */ NEW_OPCODE(CPY, ZPG, 3, 2, 0),
|
/* C4 */ NEW_OPCODE(CPY, ZPG, 3, 2, 0),
|
||||||
/* C5 */ NEW_OPCODE(CMP, ZPG, 3, 2, 0),
|
/* C5 */ NEW_OPCODE(CMP, ZPG, 3, 2, 0),
|
||||||
/* C6 */ NEW_OPCODE(DEC, ZPG, 5, 2, 0),
|
/* C6 */ NEW_OPCODE(DEC, ZPG, 5, 2, 0),
|
||||||
/* C7 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* C7 */ NEW_OPCODE(DCP, ZPG, 5, 2, 1),
|
||||||
/* C8 */ NEW_OPCODE(INY, IMP, 2, 1, 0),
|
/* C8 */ NEW_OPCODE(INY, IMP, 2, 1, 0),
|
||||||
/* C9 */ NEW_OPCODE(CMP, IMM, 2, 2, 0),
|
/* C9 */ NEW_OPCODE(CMP, IMM, 2, 2, 0),
|
||||||
/* CA */ NEW_OPCODE(DEX, IMP, 2, 1, 0),
|
/* CA */ NEW_OPCODE(DEX, IMP, 2, 1, 0),
|
||||||
/* CB */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* CB */ NEW_OPCODE(SBX, IMM, 2, 2, 1),
|
||||||
/* CC */ NEW_OPCODE(CPY, ABS, 4, 3, 0),
|
/* CC */ NEW_OPCODE(CPY, ABS, 4, 3, 0),
|
||||||
/* CD */ NEW_OPCODE(CMP, ABS, 4, 3, 0),
|
/* CD */ NEW_OPCODE(CMP, ABS, 4, 3, 0),
|
||||||
/* CE */ NEW_OPCODE(DEC, ABS, 6, 3, 0),
|
/* CE */ NEW_OPCODE(DEC, ABS, 6, 3, 0),
|
||||||
/* CF */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* CF */ NEW_OPCODE(DCP, ABS, 6, 3, 1),
|
||||||
|
|
||||||
/* D0 */ NEW_OPCODE(BNE, REL, 2, 2, 0),
|
/* D0 */ NEW_OPCODE(BNE, REL, 2, 2, 0),
|
||||||
/* D1 */ NEW_OPCODE(CMP, INDY, 5, 2, 0),
|
/* D1 */ NEW_OPCODE(CMP, INDY, 5, 2, 0),
|
||||||
/* D2 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* D2 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* D3 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* D3 */ NEW_OPCODE(DCP, INDY, 8, 2, 1),
|
||||||
/* D4 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* D4 */ NEW_OPCODE(NOP, ZPX, 4, 2, 1),
|
||||||
/* D5 */ NEW_OPCODE(CMP, ZPX, 4, 2, 0),
|
/* D5 */ NEW_OPCODE(CMP, ZPX, 4, 2, 0),
|
||||||
/* D6 */ NEW_OPCODE(DEC, ZPX, 6, 2, 0),
|
/* D6 */ NEW_OPCODE(DEC, ZPX, 6, 2, 0),
|
||||||
/* D7 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* D7 */ NEW_OPCODE(DCP, ZPX, 6, 2, 1),
|
||||||
/* D8 */ NEW_OPCODE(CLD, IMP, 2, 1, 0),
|
/* D8 */ NEW_OPCODE(CLD, IMP, 2, 1, 0),
|
||||||
/* D9 */ NEW_OPCODE(CMP, ABY, 4, 3, 0),
|
/* D9 */ NEW_OPCODE(CMP, ABY, 4, 3, 0),
|
||||||
/* DA */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* DA */ NEW_OPCODE(NOP, IMP, 2, 1, 1),
|
||||||
/* DB */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* DB */ NEW_OPCODE(DCP, ABY, 7, 3, 1),
|
||||||
/* DC */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* DC */ NEW_OPCODE(NOP, ABX, 4, 3, 1),
|
||||||
/* DD */ NEW_OPCODE(CMP, ABX, 4, 3, 0),
|
/* DD */ NEW_OPCODE(CMP, ABX, 4, 3, 0),
|
||||||
/* DE */ NEW_OPCODE(DEC, ABX, 7, 3, 0),
|
/* DE */ NEW_OPCODE(DEC, ABX, 7, 3, 0),
|
||||||
/* DF */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* DF */ NEW_OPCODE(DCP, ABX, 7, 3, 1),
|
||||||
|
|
||||||
/* E0 */ NEW_OPCODE(CPX, IMM, 2, 2, 0),
|
/* E0 */ NEW_OPCODE(CPX, IMM, 2, 2, 0),
|
||||||
/* E1 */ NEW_OPCODE(SBC, INDX, 6, 2, 0),
|
/* E1 */ NEW_OPCODE(SBC, INDX, 6, 2, 0),
|
||||||
/* E2 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* E2 */ NEW_OPCODE(NOP, IMM, 2, 2, 1),
|
||||||
/* E3 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* E3 */ NEW_OPCODE(ISX, INDX, 8, 2, 1),
|
||||||
/* E4 */ NEW_OPCODE(CPX, ZPG, 3, 2, 0),
|
/* E4 */ NEW_OPCODE(CPX, ZPG, 3, 2, 0),
|
||||||
/* E5 */ NEW_OPCODE(SBC, ZPG, 3, 2, 0),
|
/* E5 */ NEW_OPCODE(SBC, ZPG, 3, 2, 0),
|
||||||
/* E6 */ NEW_OPCODE(INC, ZPG, 5, 2, 0),
|
/* E6 */ NEW_OPCODE(INC, ZPG, 5, 2, 0),
|
||||||
/* E7 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* E7 */ NEW_OPCODE(ISC, ZPG, 5, 2, 1),
|
||||||
/* E8 */ NEW_OPCODE(INX, IMP, 2, 1, 0),
|
/* E8 */ NEW_OPCODE(INX, IMP, 2, 1, 0),
|
||||||
/* E9 */ NEW_OPCODE(SBC, IMM, 2, 2, 0),
|
/* E9 */ NEW_OPCODE(SBC, IMM, 2, 2, 0),
|
||||||
/* EA */ NEW_OPCODE(NOP, IMP, 2, 1, 0),
|
/* EA */ NEW_OPCODE(NOP, IMP, 2, 1, 0),
|
||||||
/* EB */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* EB */ NEW_OPCODE(SBC, IMM, 2, 2, 1),
|
||||||
/* EC */ NEW_OPCODE(CPX, ABS, 4, 3, 0),
|
/* EC */ NEW_OPCODE(CPX, ABS, 4, 3, 0),
|
||||||
/* ED */ NEW_OPCODE(SBC, ABS, 4, 3, 0),
|
/* ED */ NEW_OPCODE(SBC, ABS, 4, 3, 0),
|
||||||
/* EE */ NEW_OPCODE(INC, ABS, 6, 3, 0),
|
/* EE */ NEW_OPCODE(INC, ABS, 6, 3, 0),
|
||||||
/* EF */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* EF */ NEW_OPCODE(ISC, ABS, 6, 3, 1),
|
||||||
|
|
||||||
/* F0 */ NEW_OPCODE(BEQ, REL, 2, 2, 0),
|
/* F0 */ NEW_OPCODE(BEQ, REL, 2, 2, 0),
|
||||||
/* F1 */ NEW_OPCODE(SBC, INDY, 5, 2, 0),
|
/* F1 */ NEW_OPCODE(SBC, INDY, 5, 2, 0),
|
||||||
/* F2 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* F2 */ NEW_OPCODE(JAM, IMP, -1, 1, 1),
|
||||||
/* F3 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* F3 */ NEW_OPCODE(ISC, INDY, 8, 2, 1),
|
||||||
/* F4 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* F4 */ NEW_OPCODE(NOP, ZPX, 4, 2, 1),
|
||||||
/* F5 */ NEW_OPCODE(SBC, ZPX, 4, 2, 0),
|
/* F5 */ NEW_OPCODE(SBC, ZPX, 4, 2, 0),
|
||||||
/* F6 */ NEW_OPCODE(INC, ZPX, 6, 2, 0),
|
/* F6 */ NEW_OPCODE(INC, ZPX, 6, 2, 0),
|
||||||
/* F7 */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* F7 */ NEW_OPCODE(ISC, ZPX, 6, 2, 1),
|
||||||
/* F8 */ NEW_OPCODE(SED, IMP, 2, 1, 0),
|
/* F8 */ NEW_OPCODE(SED, IMP, 2, 1, 0),
|
||||||
/* F9 */ NEW_OPCODE(SBC, ABY, 4, 3, 0),
|
/* F9 */ NEW_OPCODE(SBC, ABY, 4, 3, 0),
|
||||||
/* FA */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* FA */ NEW_OPCODE(SBC, ABY, 4, 3, 1),
|
||||||
/* FB */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* FB */ NEW_OPCODE(NOP, IMP, 2, 1, 1),
|
||||||
/* FC */ NEW_OPCODE(XXX, IMP, 0, 1),
|
/* FC */ NEW_OPCODE(ISC, ABY, 7, 3, 1),
|
||||||
/* FD */ NEW_OPCODE(SBC, ABX, 4, 3, 0),
|
/* FD */ NEW_OPCODE(SBC, ABX, 4, 3, 0),
|
||||||
/* FE */ NEW_OPCODE(INC, ABX, 7, 3, 0),
|
/* FE */ NEW_OPCODE(INC, ABX, 7, 3, 0),
|
||||||
/* FF */ NEW_OPCODE(XXX, IMP, 0, 1)
|
/* FF */ NEW_OPCODE(ISC, ABX, 7, 3, 1)
|
||||||
};
|
};
|
Loading…
Reference in a new issue