RIP-Comm / clementine

Gameboy Advance emulator.
MIT License
48 stars 13 forks source link
gameboy gameboy-advance gameboy-emulator hacktoberfest rust

Alt text

Rust

Clementine - A collaborative approach to GBA emulation

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.

Collaborative Guidelines

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).

Contributing doc

Resources

Build and quick start

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

Run

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.

# 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>