diff --git a/A2Mac.xcodeproj/project.pbxproj b/A2Mac.xcodeproj/project.pbxproj
index d7e379f..1ef816b 100644
--- a/A2Mac.xcodeproj/project.pbxproj
+++ b/A2Mac.xcodeproj/project.pbxproj
@@ -2025,7 +2025,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.12;
MARKETING_VERSION = 0.85;
OTHER_CFLAGS = (
- "-D_NO_DISASSEMBLER",
+ "-DDISASSEMBLER",
"-D_NO_INTERRUPT_CHECK_PER_STEP",
"-D_NO_CLK_ABSOLUTE_PRECISE",
);
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 c00ee47..b2259db 100644
--- a/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist
+++ b/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist
@@ -513,6 +513,14 @@
+
+
+
+
+
+
@@ -602,15 +610,18 @@
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/A2Mac/DebuggerViewController.swift b/A2Mac/DebuggerViewController.swift
index 4d9ba06..33ffbb9 100644
--- a/A2Mac/DebuggerViewController.swift
+++ b/A2Mac/DebuggerViewController.swift
@@ -467,7 +467,7 @@ N V - B D I Z C
disass_addr_pc = m6502.PC
}
// }
- var need_disass = disass_addr_pc <= disass_addr || disass_addr_pc > disass_addr + disass_addr_max
+ var need_disass = disass_addr_pc <= disass_addr || UInt(disass_addr_pc) > UInt(disass_addr) + UInt(disass_addr_max)
scroll_line_number = getLine(forAddr: disass_addr_pc)
highlighted_line_number = getLine(forAddr: m6502.PC)
diff --git a/A2Mac/ViewController.swift b/A2Mac/ViewController.swift
index 31cd9aa..7fd43c9 100644
--- a/A2Mac/ViewController.swift
+++ b/A2Mac/ViewController.swift
@@ -1274,6 +1274,10 @@ class ViewController: NSViewController {
debugger.showWindow(self)
}
}
+
+ spkr_play_disk_motor_time = 0
+ spkr_stopAll()
+
}
diff --git a/src/cpu/6502.c b/src/cpu/6502.c
index bbc5ed0..807868c 100644
--- a/src/cpu/6502.c
+++ b/src/cpu/6502.c
@@ -599,7 +599,7 @@ void rom_loadFile( const char * bundlePath, const char * filename ) {
void openLog() {
-#ifdef DISASSEMBLER_LOG
+#ifdef DISASSEMBLER
outdev = fopen("/Users/trudnai/Library/Containers/com.trudnai.steveii/Data/disassembly_new.log", "w+");
#endif
// for DEBUG ONLY!!! -- use stdout if could not create log file
diff --git a/src/cpu/6502_bp.c b/src/cpu/6502_bp.c
index 1c77903..62d2536 100644
--- a/src/cpu/6502_bp.c
+++ b/src/cpu/6502_bp.c
@@ -189,7 +189,7 @@ int m6502_dbg_bp_get_not_empty() {
void m6502_dbg_bp_compact() {
int i = m6502_dbg_bp_get_not_empty();
memcpy(breakpoints, breakpoints + i, bp_last_idx * sizeof(uint16_t));
- memset(breakpoints + bp_last_idx, 0, (DEBUG_MAX_BREAKPOINTS - bp_last_idx) * sizeof(uint16_t));
+ memset(breakpoints + bp_last_idx - i + 1, 0, (DEBUG_MAX_BREAKPOINTS - bp_last_idx + i - 1) * sizeof(uint16_t));
bp_last_idx = m6502_dbg_bp_get_last(bp_last_idx);
}
@@ -214,6 +214,7 @@ int m6502_dbg_bp_add(uint16_t addr) {
if (bp_last_idx < DEBUG_MAX_BREAKPOINTS - 1) {
breakpoints[++bp_last_idx] = addr;
m6502_dbg_bp_sort(breakpoints, 0, bp_last_idx);
+ m6502_dbg_bp_compact();
return bp_last_idx;
}
// no empty slots
diff --git a/src/dev/disk/woz.c b/src/dev/disk/woz.c
index 96b6b8f..46d1107 100644
--- a/src/dev/disk/woz.c
+++ b/src/dev/disk/woz.c
@@ -316,7 +316,7 @@ uint8_t woz_read() {
if ( woz_tmap && woz_trks ) {
int track = woz_tmap->phase[disk.phase.count];
- if (outdev) fprintf(outdev, "track: %d (%d)\n", track, disk.phase.count);
+ dbgPrintf2("track: %d (%d)\n", track, disk.phase.count);
if ( track >= 40 ) {
dbgPrintf("TRCK TOO HIGH!\n");
return rand();
diff --git a/src/util/common.h b/src/util/common.h
index e05650b..415aaa5 100644
--- a/src/util/common.h
+++ b/src/util/common.h
@@ -37,7 +37,7 @@
#endif
-#ifdef DEBUG
+#ifdef DISASSEMBLER
//#define dbgPrintf(format, ...) if(outdev) fprintf(outdev, format, ## __VA_ARGS__)
#define dbgPrintf(format, ...)
#define dbgPrintf2(format, ...) if(outdev) fprintf(outdev, format, ## __VA_ARGS__)