A simple CHIP-8 interpreter written in Rust. The "Hello, World!" of emulator developement.
CHIP-8 is an interpreted programming language/virtual machine that was created in the 1970s for use on early microcomputers. It is a simple, stack-based language that is designed to be easy to learn and use.
chip-8.exe /path/to/romDownload some .ch8 files from here.
Options:
-m, --move-val-8xy6e
-b, --bxnn
-i, --increment-i-on-load
-h, --help
Some flags are there to accomodate some of the different implementations of CHIP-8.
--move-val-8xy6e: OFF by default include flag to turn ON
Sets whether the value in register Vx is moved to the I register when executing the instructions 8XY6 and 8XYE.
--bxnn: OFF by default include flag to turn ON
If ON pc is set to XNN + VX, if OFF pc is set to XNN + V0.
--increment-i-on-load: ON by default include flag to turn OFF
Whether the I register gets incremented on loading registers from memory on instructions FX55 and FX65.