Welcome to the first ripsters' project. Our goal is to understand how GameBoy Advance works and to create a modern emulator written in Rust (if you want to collaborate but you can't code in Rust take a look here).
Everything is work in progress. We will update this document a lot of times in this stage.
We love collaborating with others, so feel free to interact with us however you want. First of all, we strongly suggest you to enter in our Discord channel where you can find all of us (here).
- clone the repository :)
- we are using
just
and notmake
then if you want take the benefit of this install itcargo install just
Tip: Run
just
to see all the available commands
# quick check all is working on you machine
just build
just test
# run a .gba file
cargo run -- ~/Desktop/my_game.gba
All of those command are just a wrapper around cargo run
and they are just for convenience.
If you want more control on the execution of the emulator you can use cargo run
directly.
Another requirement is to have somewhere a file that represents the bios of the GBA. By default it is looking for gba_bios.bin
in local folder. It is pretty easy to find online.
# simple run of a rom in debug mode
just run <rom>
# simple run of a rom in release mode
# this is better for looking at animations and stuff like that
just run-release <rom>
# debug mode verbose log to stdout
just run-logger <rom>
# debug mode disassebler as widget
just run-disassebler <rom>
# all debug feature enabled
just run-all-debug <rom>