diff --git a/combat-pal.bin b/combat-pal.bin new file mode 100644 index 0000000..18646de Binary files /dev/null and b/combat-pal.bin differ diff --git a/combat.bin b/combat.bin index 18646de..5c52aef 100644 Binary files a/combat.bin and b/combat.bin differ diff --git a/source/6502debugger.cpp b/source/6502debugger.cpp index b4cf5f9..73f39e6 100644 --- a/source/6502debugger.cpp +++ b/source/6502debugger.cpp @@ -318,6 +318,12 @@ namespace m6502debugger m6502debugger::show(); breakpoints[address] = breakpoints[address] & ~BREAKPOINT_NEXT; } + + if (!(mem::debug::getInfo(address).memType & mdtMemory)) { + atari2600::pause(); + m6502debugger::show(); + } + } void onMemRead(uint16_t address, bool code) diff --git a/source/6502m.cpp b/source/6502m.cpp index cda303e..aa2726a 100644 --- a/source/6502m.cpp +++ b/source/6502m.cpp @@ -632,6 +632,8 @@ namespace m6502 rA = 0; rX = 0; rY = 0; + microcode_pos = 0; + microcode_last = 0; } void interrupt(uint8_t type) diff --git a/source/atari2600.cpp b/source/atari2600.cpp index 5fe8a4a..3fc1ef9 100644 --- a/source/atari2600.cpp +++ b/source/atari2600.cpp @@ -20,7 +20,7 @@ namespace atari2600 void init() { - paused = false; + //paused = false; m6502::reset(); mem::reset(); tia::reset(); diff --git a/source/rom.cpp b/source/rom.cpp index 93766e6..bf23760 100644 --- a/source/rom.cpp +++ b/source/rom.cpp @@ -34,7 +34,7 @@ namespace rom void write(uint16_t address, uint8_t value) { - data[address & mask] = value; + //data[address & mask] = value; } namespace debug