Emul8 is a CHIP-8 emulator written in terse-yet-idiomatic Rust. It is a reincarnation of an older project of mine, Emul8or, a project that I am no longer happy to point to as my sole attempt at emulator development.
Emul8 supports a series of decompilation, introspection and debugging features.
emul8 <binary file>
emul8 0.1.0 USAGE: emul8 [FLAGS] [OPTIONS] <input> FLAGS: -d, --debug Enable debugging features -h, --help Prints help information -V, --version Prints version information OPTIONS: -b, --bg-color <bg-color> The background color to use (in RGB hexadecimal) [default: 00000000] -c, --cycles-per-frame <cycles-per-frame> Specify the number of cycles to execute per frame [default: 250] -f, --fg-color <fg-color> The foreground color to use (in RGB hexadecimal) [default: FFFFFFFF] -f, --flicker-timeout <flicker-timeout> The number of frames that a pixel should stay active for to reduce flicker [default: 1] ARGS: <input> The CHIP-8 binary to execute
Emul8 also has primitive debugging tools. Use the
--debug flat to enable them. These include:
Displaying the instruction currently executed both in opcode and human-readable form
Pausing the emulator by pressing
Displaying register values by pressing
Displaying values in memory by pressing