This is my modified version of the Nintendulator NES emulator, which adds source-level debugging capabilities (among other features) to the debugger assuming the ROM was assembled with (a dev version) of CC65 with debugging info enabled.
The latest version also has a simple Watch window (better expression parsing coming later), cycle counting timers (for profiling) and displays CPU usage for NSF init and play routines. It’s also possible to display custom debug messages from ROMs (such as when something unexpected happens) and automatically displays some diagnostics as well (for example when uninitialized memory is accessed).
Now with Lua scripting support!
It looks like this (this screenshot is from an older version which didn’t support cycle counting timers):
How to use
Pass the “dbgfile foo.nes.dbg” switch to linker to generate the debug file. Also include the debug information in the object files using the “-g” switch when assembling/compiling. The debug file has to have the same name as the ROM with “.dbg” extension added.
NOTE! You need to use the latest development version of CC65 (the so called “nightlies”). A working version is included in the ZIP package.