Rust GameBoy Advanced Emulator
the documentation is available here
This project require the rust toolchain: 1.60.X
, you can check it with the following command:
Outside of the toolchain version, we use clippy
and rustfmt
.
You can install it with the following command:
rustup component add clippy rustfmt
Building this project on linux requires cmake
.
apt update && apt install cmake
pacman -Sy cmake
brew install cmake
Building this project on MacOs requires cmake
.
brew install cmake
Before building, you need to install the bios
files that here included in the package
make bios
PS: if you want to also download the ROMS make requirement
After the bios
files are installed, you can build using cargo
cargo build --workspace --examples
You can customize the build by activating certain feature by using the --features
flags (comma separated)
Name | Description | Require |
---|---|---|
fps | show fps of previous frames in the debugger | |
gb-lcd/debug_render | allow the lcd's part to be debugged such as VRAM, OAM | |
debug_render | change the UI to be able to launch lcd's debug tools | gb-lcd/debug_render |
gb-cpu/registers_logs | at each opcode log the state of the cpu register | |
gb-cpu/trace_jump | enable trace for jump microcode | |
gb-cpu/debug_decoded_opcode | enable decoded opcode log | |
registers_logs | alias of gb-cpu/registers_logs |
|
gb-bus/trace_bus_full | enable read/write trace for the bus | gb-bus/trace_bus_write , gb-bus/trace_bus_read |
gb-bus/trace_bus_write | enable write trace for the bus | |
gb-bus/trace_bus_read | enable read trace for the bus | |
gb-bus/trace_simple_rw_full | enable read/write trace for simple container | gb-bus/trace_simple_rw_read , gb-bus/trace_simple_rw_write |
gb-bus/trace_simple_rw_read | enable read trace for the simple container | |
gb-bus/trace_simple_rw_write | enable write trace for the simple container | |
gb-roms/debug_mbcs_register | enable debug for debugging mbcs register edition |