Previous 199869 Revisions Next

r18892 Wednesday 7th November, 2012 at 12:29:43 UTC by O. Galibert
deco16: Vectors are non-standard, *duh* [O. Galibert]
[src/emu/cpu/m6502]ddeco16.lst deco16.h odeco16.lst

trunk/src/emu/cpu/m6502/ddeco16.lst
r18891r18892
11# deco16 - deco variant
2brk_imp      ora_idx      ill_non      ill_non      ill_non      ora_zpg      asl_zpg      ill_non      php_imp      ora_imm      asl_acc      u0B_zpg      ill_non      ora_aba      asl_aba      ill_non
2brk_16_imp   ora_idx      ill_non      ill_non      ill_non      ora_zpg      asl_zpg      ill_non      php_imp      ora_imm      asl_acc      u0B_zpg      ill_non      ora_aba      asl_aba      ill_non
33bpl_rel      ora_idy      ill_non      u13_zpg      ill_non      ora_zpx      asl_zpx      ill_non      clc_imp      ora_aby      ill_non      ill_non      ill_non      ora_abx      asl_abx      ill_non
44jsr_adr      and_idx      ill_non      u23_zpg      bit_zpg      and_zpg      rol_zpg      ill_non      plp_imp      and_imm      rol_acc      ill_non      bit_aba      and_aba      rol_aba      ill_non
55bmi_rel      and_idy      ill_non      ill_non      ill_non      and_zpx      rol_zpx      ill_non      sec_imp      and_aby      ill_non      ill_non      ill_non      and_abx      rol_abx      u3F_zpg
r18891r18892
1515bne_rel      cmp_idy      ill_non      ill_non      ill_non      cmp_zpx      dec_zpx      ill_non      cld_imp      cmp_aby      ill_non      ill_non      ill_non      cmp_abx      dec_abx      ill_non
1616cpx_imm      sbc_idx      ill_non      ill_non      cpx_zpg      sbc_zpg      inc_zpg      ill_non      inx_imp      sbc_imm      nop_imp      ill_non      cpx_aba      sbc_aba      inc_aba      ill_non
1717beq_rel      sbc_idy      ill_non      ill_non      ill_non      sbc_zpx      inc_zpx      ill_non      sed_imp      sbc_aby      ill_non      ill_non      ill_non      sbc_abx      inc_abx      ill_non
18reset
18reset_16
trunk/src/emu/cpu/m6502/odeco16.lst
r18891r18892
11# deco 16 opcodes
2brk_16_imp
3   // The 6502 bug when a nmi occurs in a brk is reproduced (case !irq_taken && nmi_state)
4   if(irq_taken) {
5      read_pc_noinc();
6   } else {
7      read_pc();
8   }
9   write(SP, PC >> 8);
10   dec_SP();
11   write(SP, PC);
12   dec_SP();
13   write(SP, irq_taken ? P & ~F_B : P);
14   dec_SP();
15   if(nmi_state) {
16      PC = read_direct(0xfff7);
17      PC = set_h(PC, read_direct(0xfff6));
18      nmi_state = false;
19      standard_irq_callback(NMI_LINE);
20   } else {
21      PC = read_direct(0xfff3);
22      PC = set_h(PC, read_direct(0xfff2));
23      if(irq_taken)
24         standard_irq_callback(IRQ_LINE);
25   }
26   irq_taken = false;
27   P |= F_I; // Do *not* move after the prefetch
28   prefetch();
29   inst_state = -1;
30
231ill_non
332   logerror("%s: Unimplemented instruction %02x\n", tag(), inst_state);
433   prefetch();
r18891r18892
6392   if(DECO16_VERBOSE)
6493      logerror("%s: VBL %02x (%04x)\n", tag(), NPC, TMP2);
6594   prefetch();
95
96#   exceptions
97reset_16
98   PC = read_direct(0xfff1);
99   PC = set_h(PC, read_direct(0xfff0));
100   prefetch();
101   inst_state = -1;
trunk/src/emu/cpu/m6502/deco16.h
r18891r18892
6161
6262#define O(o) void o ## _full(); void o ## _partial()
6363
64   O(brk_16_imp);
6465   O(ill_non);
6566   O(u0B_zpg);
6667   O(u13_zpg);
r18891r18892
7475   O(uBB_zpg);
7576   O(vbl_zpg);
7677
78   O(reset_16);
79
7780#undef O
7881};
7982

Previous 199869 Revisions Next


© 1997-2024 The MAME Team