A simple Chip 8 emulator written in Rust. The goals are being simple, straight-forward, and easy to understand instead of raw performance. Documentation will include information about the Chip 8, the emulator's structure, and other related pieces.
To simply run the program without any special configuration:
-
Download
SDL2
andcargo
and install them onto your computer. -
Download or
git clone
the codebase onto your computer. -
cd
into the project directory. -
Run
cargo run [path to rom]
.
To build an executable, run cargo build
instead.
The number of instructions executed per second can be limited with the --fps [max number]
runtime argument.
Different debug logs can be generated by enabling different features at compile time
with the --features="[features list]"
flag:
-
If
log_frames
is enabled, every time the screen is drawn the emulator will also write the screen buffer tostdout
in bit form. -
If
log_fps
is enabled, after every instruction timing information will be written tostdout
. -
If
log_level=error
is enabled, error information will be logged tostderr
. -
If
log_level=debug
is enabled, all previous flags will be enabled and verbose instruction information will be printed tostdout
after every instruction execution.