| 1 |
|
| 2 |
|
| 3 |
static void (*addrtable_c02[256])() = { |
| 4 |
|
| 5 |
imp8, indx, imm8, imp, zp, zp, zp, zp, imp, immm, acc, imp, abso, abso, abso,zprel, |
| 6 |
rel, indy, ind0, imp, zp, zpx, zpx, zp, imp, absy, acc, imp, abso, absx, absx,zprel, |
| 7 |
abso, indx, imm8, imp, zp, zp, zp, zp, imp, immm, acc, imp, abso, abso, abso,zprel, |
| 8 |
rel, indy, ind0, imp, zpx, zpx, zpx, zp, imp, absy, acc, imp, absx, absx, absx,zprel, |
| 9 |
imp, indx, imm8, imp, imm8, zp, zp, zp, imp, immm, acc, imp, abso, abso, abso,zprel, |
| 10 |
rel, indy, ind0, imp, imm8, zpx, zpx, zp, imp, absy, imp, imp, abso, absx, absx,zprel, |
| 11 |
imp, indx, imm8, imp, zp, zp, zp, zp, imp, immm, acc, imp, ind, abso, abso,zprel, |
| 12 |
rel, indy, ind0, imp, zpx, zpx, zpx, zp, imp, absy, imp, imp, ainx, absx, absx,zprel, |
| 13 |
rel, indx, imm8, imp, zp, zp, zp, zp, imp, immm, imp, imp, abso, abso, abso,zprel, |
| 14 |
rel, indy, ind0, imp, zpx, zpx, zpy, zp, imp, absy, imp, imp, abso, absx, absx,zprel, |
| 15 |
immx, indx, immx, imp, zp, zp, zp, zp, imp, immm, imp, imp, abso, abso, abso,zprel, |
| 16 |
rel, indy, ind0, imp, zpx, zpx, zpy, zp, imp, absy, imp, imp, absx, absx, absy,zprel, |
| 17 |
immx, indx, imm8, imp, zp, zp, zp, zp, imp, immm, imp, imp, abso, abso, abso,zprel, |
| 18 |
rel, indy, ind0, imp, imm8, zpx, zpx, zp, imp, absy, imp, imp, abso, absx, absx,zprel, |
| 19 |
immx, indx, imm8, imp, zp, zp, zp, zp, imp, immm, imp, imp, abso, abso, abso,zprel, |
| 20 |
rel, indy, ind0, imp, imm8, zpx, zpx, zp, imp, absy, imp, imp, abso, absx, absx,zprel |
| 21 |
}; |
| 22 |
|
| 23 |
static void (*addrtable_c816[256])() = { |
| 24 |
|
| 25 |
imp8, indx, imp8, sr, zp, zp, zp,indl0, imp, immm, acc, imp, abso, abso, abso, absl, |
| 26 |
rel, indy, ind0,sridy, zp, zpx, zpx,indly, imp, absy, acc, imp, abso, absx, absx,abslx, |
| 27 |
abso, indx, absl, sr, zp, zp, zp,indl0, imp, immm, acc, imp, abso, abso, abso, absl, |
| 28 |
rel, indy, ind0,sridy, zpx, zpx, zpx,indly, imp, absy, acc, imp, absx, absx, absx,abslx, |
| 29 |
imp, indx, imm8, sr, bmv, zp, zp,indl0, imp, immm, acc, imp, abso, abso, abso, absl, |
| 30 |
rel, indy, ind0,sridy, bmv, zpx, zpx,indly, imp, absy, imp, imp, absl, absx, absx,abslx, |
| 31 |
imp, indx,rel16, sr, zp, zp, zp,indl0, imp, immm, acc, imp, ind, abso, abso, absl, |
| 32 |
rel, indy, ind0,sridy, zpx, zpx, zpx,indly, imp, absy, imp, imp, ainx, absx, absx,abslx, |
| 33 |
rel, indx,rel16, sr, zp, zp, zp,indl0, imp, immm, imp, imp, abso, abso, abso, absl, |
| 34 |
rel, indy, ind0,sridy, zpx, zpx, zpy,indly, imp, absy, imp, imp, abso, absx, absx,abslx, |
| 35 |
immx, indx, immx, sr, zp, zp, zp,indl0, imp, immm, imp, imp, abso, abso, abso, absl, |
| 36 |
rel, indy, ind0,sridy, zpx, zpx, zpy,indly, imp, absy, imp, imp, absx, absx, absy,abslx, |
| 37 |
immx, indx, imm8, sr, zp, zp, zp,indl0, imp, immm, imp, imp, abso, abso, abso, absl, |
| 38 |
rel, indy, ind0,sridy,ind0p, zpx, zpx,indly, imp, absy, imp, imp,aindl, absx, absx,abslx, |
| 39 |
immx, indx, imm8, sr, zp, zp, zp,indl0, imp, immm, imp, imp, abso, abso, abso, absl, |
| 40 |
rel, indy, ind0,sridy,imm16, zpx, zpx,indly, imp, absy, imp, imp, ainx, absx, absx,abslx |
| 41 |
}; |
| 42 |
|
| 43 |
static void (*optable_c02[256])() = { |
| 44 |
|
| 45 |
brk, ora, nop, nop, tsb, ora, asl, rmb0, php, ora, asl, nop, tsb, ora, asl, bbr0, |
| 46 |
bpl, ora, ora, nop, trb, ora, asl, rmb1, clc, ora, inc, nop, trb, ora, asl, bbr1, |
| 47 |
jsr, and, nop, nop, bit, and, rol, rmb2, plp, and, rol, nop, bit, and, rol, bbr2, |
| 48 |
bmi, and, and, nop, bit, and, rol, rmb3, sec, and, dec, nop, bit, and, rol, bbr3, |
| 49 |
rti, eor, nop, nop, nop, eor, lsr, rmb4, pha, eor, lsr, nop, jmp, eor, lsr, bbr4, |
| 50 |
bvc, eor, eor, nop, nop, eor, lsr, rmb5, cli, eor, phy, nop, nop, eor, lsr, bbr5, |
| 51 |
rts, adc, nop, nop, stz, adc, ror, rmb6, pla, adc, ror, nop, jmp, adc, ror, bbr6, |
| 52 |
bvs, adc, adc, nop, stz, adc, ror, rmb7, sei, adc, ply, nop, jmp, adc, ror, bbr7, |
| 53 |
bra, sta, nop, nop, sty, sta, stx, smb0, dey, bit, txa, nop, sty, sta, stx, bbs0, |
| 54 |
bcc, sta, sta, nop, sty, sta, stx, smb1, tya, sta, txs, nop, stz, sta, stz, bbs1, |
| 55 |
ldy, lda, ldx, nop, ldy, lda, ldx, smb2, tay, lda, tax, nop, ldy, lda, ldx, bbs2, |
| 56 |
bcs, lda, lda, nop, ldy, lda, ldx, smb3, clv, lda, tsx, nop, ldy, lda, ldx, bbs3, |
| 57 |
cpy, cmp, nop, nop, cpy, cmp, dec, smb4, iny, cmp, dex, wai, cpy, cmp, dec, bbs4, |
| 58 |
bne, cmp, cmp, nop, nop, cmp, dec, smb5, cld, cmp, phx, dbg, nop, cmp, dec, bbs5, |
| 59 |
cpx, sbc, nop, nop, cpx, sbc, inc, smb6, inx, sbc, nop, nop, cpx, sbc, inc, bbs6, |
| 60 |
beq, sbc, sbc, nop, nop, sbc, inc, smb7, sed, sbc, plx, nop, nop, sbc, inc, bbs7 |
| 61 |
}; |
| 62 |
|
| 63 |
static void (*optable_c816[256])() = { |
| 64 |
|
| 65 |
brk, ora, cop, ora, tsb, ora, asl, ora, php, ora, asl, phd, tsb, ora, asl, ora, |
| 66 |
bpl, ora, ora, ora, trb, ora, asl, ora, clc, ora, inc, tcs, trb, ora, asl, ora, |
| 67 |
jsr, and, jsl, and, bit, and, rol, and, plp, and, rol, pld, bit, and, rol, and, |
| 68 |
bmi, and, and, and, bit, and, rol, and, sec, and, dec, tsc, bit, and, rol, and, |
| 69 |
rti, eor, wdm, eor, mvp, eor, lsr, eor, pha, eor, lsr, phk, jmp, eor, lsr, eor, |
| 70 |
bvc, eor, eor, eor, mvn, eor, lsr, eor, cli, eor, phy, tcd, jml, eor, lsr, eor, |
| 71 |
rts, adc, per, adc, stz, adc, ror, adc, pla, adc, ror, rtl, jmp, adc, ror, adc, |
| 72 |
bvs, adc, adc, adc, stz, adc, ror, adc, sei, adc, ply, tdc, jmp, adc, ror, adc, |
| 73 |
bra, sta, brl, sta, sty, sta, stx, sta, dey, bit, txa, phb, sty, sta, stx, sta, |
| 74 |
bcc, sta, sta, sta, sty, sta, stx, sta, tya, sta, txs, txy, stz, sta, stz, sta, |
| 75 |
ldy, lda, ldx, lda, ldy, lda, ldx, lda, tay, lda, tax, plb, ldy, lda, ldx, lda, |
| 76 |
bcs, lda, lda, lda, ldy, lda, ldx, lda, clv, lda, tsx, tyx, ldy, lda, ldx, lda, |
| 77 |
cpy, cmp, rep, cmp, cpy, cmp, dec, cmp, iny, cmp, dex, wai, cpy, cmp, dec, cmp, |
| 78 |
bne, cmp, cmp, cmp, pei, cmp, dec, cmp, cld, cmp, phx, dbg, jml, cmp, dec, cmp, |
| 79 |
cpx, sbc, sep, sbc, cpx, sbc, inc, sbc, inx, sbc, nop, xba, cpx, sbc, inc, sbc, |
| 80 |
beq, sbc, sbc, sbc, pea, sbc, inc, sbc, sed, sbc, plx, xce, jsr, sbc, inc, sbc |
| 81 |
}; |
| 82 |
|
| 83 |
static const uint32_t ticktable_c02[256] = { |
| 84 |
|
| 85 |
7, 6, 2, 1, 5, 3, 5, 5, 3, 2, 2, 1, 6, 4, 6, 5, |
| 86 |
2, 5, 5, 1, 5, 4, 6, 5, 2, 4, 2, 1, 6, 4, 6, 5, |
| 87 |
6, 6, 2, 1, 3, 3, 5, 5, 4, 2, 2, 1, 4, 4, 6, 5, |
| 88 |
2, 5, 5, 1, 4, 4, 6, 5, 2, 4, 2, 1, 4, 4, 6, 5, |
| 89 |
6, 6, 2, 1, 3, 3, 5, 5, 3, 2, 2, 1, 3, 4, 6, 5, |
| 90 |
2, 5, 5, 1, 4, 4, 6, 5, 2, 4, 3, 1, 8, 4, 6, 5, |
| 91 |
6, 6, 2, 1, 3, 3, 5, 5, 4, 2, 2, 1, 6, 4, 6, 5, |
| 92 |
2, 5, 5, 1, 4, 4, 6, 5, 2, 4, 4, 1, 6, 4, 6, 5, |
| 93 |
3, 6, 2, 1, 3, 3, 3, 5, 2, 2, 2, 1, 4, 4, 4, 5, |
| 94 |
2, 6, 5, 1, 4, 4, 4, 5, 2, 5, 2, 1, 4, 5, 5, 5, |
| 95 |
2, 6, 2, 1, 3, 3, 3, 5, 2, 2, 2, 1, 4, 4, 4, 5, |
| 96 |
2, 5, 5, 1, 4, 4, 4, 5, 2, 4, 2, 1, 4, 4, 4, 5, |
| 97 |
2, 6, 2, 1, 3, 3, 5, 5, 2, 2, 2, 3, 4, 4, 6, 5, |
| 98 |
2, 5, 5, 1, 4, 4, 6, 5, 2, 4, 3, 1, 4, 4, 7, 5, |
| 99 |
2, 6, 2, 1, 3, 3, 5, 5, 2, 2, 2, 1, 4, 4, 6, 5, |
| 100 |
2, 5, 5, 1, 4, 4, 6, 5, 2, 4, 4, 1, 4, 4, 7, 5 |
| 101 |
}; |
| 102 |
|
| 103 |
static const uint32_t ticktable_c816[256] = { |
| 104 |
|
| 105 |
7, 6, 7, 4, 5, 3, 5, 6, 3, 2, 2, 4, 6, 4, 6, 5, |
| 106 |
2, 5, 5, 7, 5, 4, 6, 6, 2, 4, 2, 2, 6, 4, 7, 5, |
| 107 |
6, 6, 8, 4, 3, 3, 5, 6, 4, 2, 2, 5, 4, 4, 6, 5, |
| 108 |
2, 5, 5, 7, 4, 4, 6, 6, 2, 4, 2, 2, 4, 4, 7, 5, |
| 109 |
6, 6, 2, 4, 7, 3, 5, 6, 3, 2, 2, 3, 3, 4, 6, 5, |
| 110 |
2, 5, 5, 7, 7, 4, 6, 6, 2, 4, 3, 2, 4, 4, 7, 5, |
| 111 |
6, 6, 6, 4, 3, 3, 5, 6, 4, 2, 2, 6, 5, 4, 6, 5, |
| 112 |
2, 5, 5, 7, 4, 4, 6, 6, 2, 4, 4, 2, 6, 4, 7, 5, |
| 113 |
3, 6, 4, 4, 3, 3, 3, 6, 2, 2, 2, 3, 4, 4, 4, 5, |
| 114 |
2, 6, 5, 7, 4, 4, 4, 6, 2, 5, 2, 2, 4, 5, 5, 5, |
| 115 |
2, 6, 2, 4, 3, 3, 3, 6, 2, 2, 2, 4, 4, 4, 4, 5, |
| 116 |
2, 5, 5, 7, 4, 4, 4, 6, 2, 4, 2, 2, 4, 4, 4, 5, |
| 117 |
2, 6, 3, 4, 3, 3, 5, 6, 2, 2, 2, 3, 4, 4, 6, 5, |
| 118 |
2, 5, 5, 7, 6, 4, 6, 6, 2, 4, 3, 1, 6, 4, 7, 5, |
| 119 |
2, 6, 3, 4, 3, 3, 5, 6, 2, 2, 2, 3, 4, 4, 6, 5, |
| 120 |
2, 5, 5, 7, 5, 4, 6, 6, 2, 4, 4, 2, 8, 4, 7, 5 |
| 121 |
}; |