Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
69622cb
Set up debug infrastructure for CPU
mdm Sep 4, 2025
6fecbd9
Test subscribe/unsubscribe for debug events
mdm Sep 5, 2025
af02fda
Add tests to verify register writes trigger the right debug events
mdm Sep 5, 2025
ccdd713
Clean up tests and share TestSubscriber
mdm Sep 5, 2025
da2e7a7
Add tests for register swapping debug events
mdm Sep 5, 2025
ed5acb1
Implement memory debug view and events
mdm Sep 8, 2025
67e3471
Provide windows for CPU and memory debug views
mdm Sep 9, 2025
b4f1416
Clean up CPU data display
mdm Sep 9, 2025
507ba08
Allow switching between various memory views
mdm Sep 9, 2025
30528a7
Clean up memory view
mdm Sep 9, 2025
83fe3cc
Clean up memory view scrolling
mdm Sep 10, 2025
e69f37a
Make disassembly part of SystemDebugView
mdm Sep 11, 2025
e9a030c
Display disassembly in MemoryDebugWindow
mdm Sep 12, 2025
f74d480
Color code memory source
mdm Sep 12, 2025
4d0b5f1
Allow user to pick memory colors
mdm Sep 12, 2025
ce7e68a
Color code row addresses only
mdm Sep 12, 2025
ea3f114
Use colors that work with both light and dark themes
mdm Sep 12, 2025
8ab3b45
Fix missing import after rebase
mdm Sep 12, 2025
02e4115
Hide jump to address in disassembly mode
mdm Sep 12, 2025
f2ecbbe
Fix color coding labels
mdm Sep 13, 2025
17ab6e0
Implement breakpoints and breakpoint manager
mdm Sep 13, 2025
5f2e009
Hook up breakpoint manager to UI
mdm Sep 13, 2025
2ecae6f
Hook up breakpoint manager to debug events
mdm Sep 13, 2025
1e1f259
Remove legacy debugger
mdm Sep 13, 2025
cfeba6d
Manage PC breakpoints in disassembly view
mdm Sep 15, 2025
3047fc9
Allow disassembling from any start address
mdm Sep 16, 2025
75a79b5
Fix disabling breakpoints
mdm Sep 16, 2025
56abf23
Select button when tracking current PC
mdm Sep 17, 2025
8b61007
Show debug overlay when emulator is paused
mdm Sep 18, 2025
cacf57b
Tweak breakpoint visibility
mdm Sep 18, 2025
9c371e8
Use single paused flag to control pauses & debug overlay
mdm Sep 18, 2025
68235c7
Improve breakpoint encapsulation
mdm Sep 18, 2025
3f752d5
Replace map_or with is_none_or
mdm Sep 18, 2025
e51128a
Refactor debug event system to use pull-based subscriptions
mdm Sep 20, 2025
b5cbe98
Improve debug event polling performance
mdm Sep 20, 2025
7039931
Improve breakpoint manager ergonomics
mdm Sep 20, 2025
88a53a6
Review & fix core tests
mdm Sep 20, 2025
8b98e1b
Add more tests for EventSubscriptions
mdm Sep 20, 2025
ab5eb9d
Implement fast seek for debug event log
mdm Sep 20, 2025
313197f
Fix benchmark memory consumption
mdm Sep 20, 2025
d752d83
Mark debug events are consumed even if sub is not interested in them
mdm Sep 21, 2025
47c1045
Track and display at which master clock tick breakpoints were hit
mdm Sep 22, 2025
732832e
Implement "step out" debug control
mdm Sep 22, 2025
6576e1a
Include interrupts when tracking call stack for step out
mdm Sep 23, 2025
d959a39
Warn if debug event log is full
mdm Sep 23, 2025
8ccdd2a
Reuse step out breakpoint for step over
mdm Sep 26, 2025
41ffa94
Add tests for step breakpoints
mdm Sep 28, 2025
a3fad18
Clean up stepping breakpoints
mdm Sep 28, 2025
6178c90
Ensure through test that call stack events are ordered correctly
mdm Sep 28, 2025
6c46175
Allow running with dev profile
mdm Oct 1, 2025
7886d1d
Don't record debug events when disassembling
mdm Oct 4, 2025
735081a
Minor UI cleanups
mdm Oct 4, 2025
66ceff6
Wrap jump to address if it's out of range
mdm Oct 4, 2025
f21b6ef
Allow breakpoints on any CPU register
mdm Oct 5, 2025
d4ccc79
Display last executed instruction in disassembly
mdm Oct 7, 2025
9d3dd7a
Disable and clear CPU breakpoint inputs when breaking on any value
mdm Oct 7, 2025
e88c188
Don't reset last executed instruction when halted
mdm Oct 8, 2025
313529e
Clean up CPU breakpoint UI
mdm Oct 8, 2025
00b227f
Implement debug view, debug events and breakpoints for Gate Array
mdm Oct 9, 2025
47416ac
Populate Gate Array debug view
mdm Oct 9, 2025
01e97a2
Implement debug window for Gate Array
mdm Oct 9, 2025
788971a
Rename Snapshotable to Snapshottable
mdm Oct 9, 2025
a940825
Emit debug events in Gate Array
mdm Oct 10, 2025
257b9d9
Allow adding Gate Array breakpoints via UI
mdm Oct 10, 2025
ba1d3eb
Allow triggering breakpoint when new screen mode is requested
mdm Oct 10, 2025
545549a
Improve pen color breakpoint UI
mdm Oct 12, 2025
b690f63
Turn mode and pen text inputs into dropdowns
mdm Oct 13, 2025
88f6f36
Add debug view and emit debug events for CRTC
mdm Oct 14, 2025
7950d09
Introduce CRTC breakpoints
mdm Oct 14, 2025
db69b7c
Add debug window for CRTC
mdm Oct 14, 2025
77a0b9a
Use consistent colors that work for light and dark theme
mdm Oct 19, 2025
f8e41a6
Fix CI workflow
mdm Oct 26, 2025
d457177
Step breakpoints must be one-shot
mdm Oct 26, 2025
a835701
Make debug windows non-resizable, except Memory Internals
mdm Oct 26, 2025
ab31bc1
Simplify CPU debug window layout
mdm Oct 26, 2025
be91b4d
Rework CRTC breakpoints
mdm Oct 31, 2025
9ff762b
Remove add on enter key press for breakpoints
mdm Nov 1, 2025
de64e88
Add CRTC address breakpoints
mdm Nov 1, 2025
dab0183
Fix redundant guards Clippy warning
mdm Nov 5, 2025
1987158
Introduce Debugger trait to decouple debug window tests from Frontend
mdm Nov 6, 2025
433920e
Avoid manual range when converting hardware to firmware colors
mdm Nov 9, 2025
76ad737
Add GUI tests for CPU debug window
mdm Nov 9, 2025
f47fb98
Add test for 8-bit register breakpoint with value
mdm Nov 11, 2025
1225cef
Cover adding CPU breakpoints with GUI tests
mdm Nov 12, 2025
7b79740
Test removal and disabling of CPU breakpoints
mdm Nov 12, 2025
8880ce4
Consistently use uppercase for hex values
mdm Nov 12, 2025
e06bd03
Cover CRTC debug window with GUI tests
mdm Nov 12, 2025
678d842
Fix DAA instruction overflow
mdm Nov 12, 2025
cec0c07
Add screen mode breakpoint tests
mdm Nov 13, 2025
1290f03
Add pen and interrupt breakpoint tests
mdm Nov 15, 2025
08c6ed1
Prevent invalid HSYNC/VSYNC/DE breakpoints
mdm Nov 15, 2025
d08442a
Use num_enum to implement CRTC register enum
mdm Nov 15, 2025
c67b6f6
Support limited CRTC register read
mdm Nov 15, 2025
def710a
Add tests for memory debug window
mdm Nov 16, 2025
b0a1e6a
Separate snapshot tests for CI
mdm Nov 16, 2025
c4bd74c
Fix CI caching
mdm Nov 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Ronald CI

on:
push:
branches: [$default-branch]
branches: [master]
pull_request:
branches: [$default-branch]
branches: [master]

env:
CARGO_TERM_COLOR: always
Expand All @@ -16,7 +16,17 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Check formatting
run: cargo fmt --verbose
run: cargo fmt --verbose --all --check
- name: Install dependencies
run: sudo apt install -y libasound2-dev
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-ronald
- name: Build
run: cargo build --verbose
- name: Run tests
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,8 @@ keymap.backup.json

/ronald-egui/assets/keys/examples
/ronald-egui/dist
/ronald-egui/tests/snapshots/*.old.png
/ronald-egui/tests/snapshots/*.new.png
/ronald-egui/tests/snapshots/*.diff.png

CLAUDE.md
Loading