diff --git a/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/UserInterfaceState.xcuserstate b/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/UserInterfaceState.xcuserstate index 7d84314..91215b6 100644 Binary files a/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/UserInterfaceState.xcuserstate and b/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist b/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist index 6120007..5b08e5b 100644 --- a/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist +++ b/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist @@ -114,6 +114,14 @@ + + + + + + diff --git a/src/cpu/jit/instructions/6502_instr_misc.h b/src/cpu/jit/instructions/6502_instr_misc.h index d7aa881..d261166 100644 --- a/src/cpu/jit/instructions/6502_instr_misc.h +++ b/src/cpu/jit/instructions/6502_instr_misc.h @@ -47,7 +47,7 @@ INSTR int BRK(void) { m6502.I = 1; m6502.D = 0; m6502.PC = memread16_high(IRQ_VECTOR); -// m6502.interrupt = BREAK; + m6502.interrupt = BREAK; #endif return 7; } diff --git a/src/dev/mem/mmio.c b/src/dev/mem/mmio.c index 7623762..ccfbc38 100644 --- a/src/dev/mem/mmio.c +++ b/src/dev/mem/mmio.c @@ -730,6 +730,7 @@ INLINE void ioWrite( uint16_t addr, uint8_t val ) { switch ( (uint8_t)addr ) { case (uint8_t)io_KBDSTRB: kbdStrobe(); + newMEMcfg.is_80STORE = 0; break; case (uint8_t)io_TAPEOUT: @@ -1101,6 +1102,11 @@ INLINE uint8_t _memread_dis( uint16_t addr ) { **/ INLINE void _memwrite8_low( uint16_t addr, uint8_t data ) { + if ((addr >= 0x400) && (addr < 0x800)) { + if ((data == 0x00) || (data == 0xFF)) { + m6502.interrupt = BREAK; + } + } WRLOMEM[addr] = data; } INLINE void _memwrite8_bank( uint16_t addr, uint8_t data ) {