Sugarbox v2.1.1
🐞 New: DAP debugger for VS Code
- Added a TCP DebugServer (JSON over TCP) under
Sugarbox/debugers/, with a full protocol covering registers, memory, breakpoints, snapshots (.sna), keyboard input, and hardware state (CRTC/GA/PPI/PSG/FDC/Tape). - Integrated the amstrad-cpc-debug VS Code extension (new Git submodule).
- Removed the old
DebugSocketand the partially-implemented legacy debuggers (cleanup). - Added a pytest integration test suite (protocol, step, evaluate).
⚙️ CPCCore
- New debug interface (
IDebug): breakpoints, memory display, synchronous snapshot loading (LoadSnapshotNow) usable even while paused. - Added the
ED FFbreak opcode (RASM standard) and support for RASM debug chunks. - Full rework of keyboard handling (Raspberry Pi keyboard support, function keys, real keyboard state exposed for tests).
- Renamed the debug interface so it's no longer tied to gdb terminology.
- Misc fixes: missing virtual destructor on
IMedia, disk refresh on load via external command, temporarily disabled WAV/TCN regression tests.
🔧 CI / Build
- Fixed macOS build (
AGLframework removed from the newer Xcode SDK → dylib stub workaround). - Bumped to Node.js 24 and
actions/checkout@v4across all workflows.