SDL2
chip-8-vm <chip8 rom file>
There are some bugs with a few instructions I'll need to fix, but for a practical demonstration it works.
I use SDL for graphics rendering and keyboard input.
Compile with DEBUGGER defined in your preprocessor to compile with the pseudo-debugger functionality.
Compile with LOGGING defined in your preprocessor to compile with the logging functionality.
To use the psuedo-debugger you use load a rom as you normally would, except instructions won't be executed unless enter is pressed, then each instruction will be printed to the console in Chip-8 assembly language and an evaluation of the statement where necessary.
It's not recommended to compile with LOGGING defined unless you also compile with DEBUGGER defined because it will quickly fill the dump.log file as it dumps the virtual processor state before every instruction is executed.
Licensed under the zlib license.