Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Debugger #263

Open
3 of 12 tasks
lukexor opened this issue May 29, 2024 · 0 comments
Open
3 of 12 tasks

Add Debugger #263

lukexor opened this issue May 29, 2024 · 0 comments
Labels
enhancement New feature or request tetanes

Comments

@lukexor
Copy link
Owner

lukexor commented May 29, 2024

An older version of tetanes had a basic debugger allowing you to step through CPU instructions, set breakpoints, and displayed info about the internal CPU state. This functionality was removed when the UI was overhauled to use egui.

In the Debug menu, Step Into, Step scanline, and Step Frame are currently implemented but without additional UI detail, they're relatively useless.

Desired initial MVP features:

  • Ability to modify CPU registers
  • Hex editor for modifying ROM/RAM
  • Support for labeling memory addresses which persist across sessions
  • Disassembly of CPU instructions
  • IRQ/NMI state
  • Ability to modify input states per controller
  • Instruction/memory breakpoints for Read/Write/Execute (with ability to ignore dummy reads/writes)
  • Step Into
  • Step Out - should only step out within a function (e.g. the stack is empty), otherwise falls back to Step Into
  • Step Over - Should only step over if the next instr is a jmp, otherwise falls back to Step Into
  • Step Scanline
  • Step Frame

Inspiration: https://www.mesen.ca/docs/debugging/debugger.html

@lukexor lukexor added the enhancement New feature or request label May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request tetanes
Projects
None yet
Development

No branches or pull requests

1 participant