diff options
author | Olivier Galibert <galibert@pobox.com> | 2013-05-24 06:20:32 +0000 |
---|---|---|
committer | Olivier Galibert <galibert@pobox.com> | 2013-05-24 06:20:32 +0000 |
commit | 740e7df6ab9b2bb45d93d0656e93134ee6b6de4e (patch) | |
tree | e61fd50ace0142b3187c7cc7bc57b6f59202a07a /src/emu/cpu/m6502 | |
parent | b1bbce2a7bb6deab52f214e185a7507314265523 (diff) |
m6502: Redo the prefetch and reset the state on debugger PC change [O. Galibert]
Diffstat (limited to 'src/emu/cpu/m6502')
-rw-r--r-- | src/emu/cpu/m6502/m6502.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/emu/cpu/m6502/m6502.c b/src/emu/cpu/m6502/m6502.c index 8ffcf19b3a0..a6652aecb4a 100644 --- a/src/emu/cpu/m6502/m6502.c +++ b/src/emu/cpu/m6502/m6502.c @@ -76,7 +76,7 @@ void m6502_device::init() state_add(STATE_GENPCBASE, "GENPCBASE", PPC).noshow(); state_add(STATE_GENSP, "GENSP", SP).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", P).callimport().formatstr("%6s").noshow(); - state_add(M6502_PC, "PC", NPC); + state_add(M6502_PC, "PC", NPC).callimport(); state_add(M6502_A, "A", A); state_add(M6502_X, "X", X); state_add(M6502_Y, "Y", Y); @@ -446,6 +446,13 @@ void m6502_device::state_import(const device_state_entry &entry) case M6502_P: P = P | (F_B|F_E); break; + case M6502_PC: + PC = NPC; + irq_taken = false; + prefetch(); + PPC = NPC; + inst_state = IR | inst_state_base; + break; } } |