Nintendo GameBoy Advance ™ emulator and debugger, written in rust.
WebAssembly Demo: https://michelhe.github.io/rustboyadvance-ng/
rustboyadvance-core / src – Main library crate
- platform / – Constains executables & application built with rustboyadvance-core platform / rustbodyadvance-wasm – Web emulator powered by WebAssembly
- platform / rustbodyadvance-sdl2 – Desktop application built with sdl2
- platform / rustbodyadvance-minifb – Desktop application built with minifb, not maintained .
- platform / android – A PoC Android application.
To get started, you need to get a stable rust toolchain .
Install SDL2 dependencies
SDL2 runtime binaries are included in this repository, no extra setup needed.
You need to obtain a gba bios binary. An open source GBA bios
is also available and supported.
Place the bios file in the repository root and name it
gba_bios.bin ((or alternatively use the
) – b command line option)
Build and run in release mode (performance is terrible in the
dev (profile)
$ cargo run –release -p rustboyadvance-sdl2 – path / to / rom
You can also drag & drop rom files or any zip files containing
- . Gba files inside into the emulator window and a new rom will be loaded.
-
Key bindings Currently the key bindings are not configureable.
GBA key bindings:
(Keyboard) GBA
(Up) (Up) Down
(Down) Left
(Right) Right (Right) (Z) (B Button) (X) (A Button) (Return) (Start) (Backspace) (Select) (A) (L) (S) (R)
Special key bindings
(Key) Function
(Space (hold)) (Disable) (fps cap) (F1)
Custom debugger (requires –features debugger) (F2)
Spawn gdbserver (experimetnal, requires –features gdb) (F5) (Save snapshot file) (F9) (Load snapshot file)
The android project is placed inside
platform / android . To build it, open it with Android Studio.
You also need to set up rust to build android targets with NDK.
TODO – instructions
ARM7TDMI Technical Reference Manual Technical Reference Manuals are (fun) . GBATEK A single webpage written by no $ gba developer Martin Korth. This page has pretty much everything. Seriously, it’s the best. TONC A comprehensive GBA dev guide that I used a-lot in order to understand the GBA system. Comes with neat demo roms that really helped me during development and debugging. NanoboyAdvance A GameBoy Advance emulator written in C by a nice person called fleroviux. I’ve used this for debugging. Eggvance gba-suite Incredible test suite for the arm7tdmi interpreter that I’m using, written by Julian Smolka.
(Read More) Full coverage and live updates on the Coronavirus (Covid – 31
Build & Usage - ) – b command line option)
- . Gba files inside into the emulator window and a new rom will be loaded.
-
Currently the key bindings are not configureable.
GBA key bindings:
(Keyboard) GBA
(Up) (Up) Down (Down) Left (Right) Right (Right) (Z) (B Button) (X) (A Button) (Return) (Start) (Backspace) (Select) (A) (L) (S) (R)
Special key bindings
(Key) Function
(Space (hold)) (Disable) (fps cap) (F1) Custom debugger (requires –features debugger) (F2) Spawn gdbserver (experimetnal, requires –features gdb) (F5) (Save snapshot file) (F9) (Load snapshot file)
The android project is placed inside
- platform / android . To build it, open it with Android Studio.
You also need to set up rust to build android targets with NDK.
TODO – instructions
ARM7TDMI Technical Reference Manual Technical Reference Manuals are (fun) . GBATEK A single webpage written by no $ gba developer Martin Korth. This page has pretty much everything. Seriously, it’s the best. TONC A comprehensive GBA dev guide that I used a-lot in order to understand the GBA system. Comes with neat demo roms that really helped me during development and debugging. NanoboyAdvance A GameBoy Advance emulator written in C by a nice person called fleroviux. I’ve used this for debugging. Eggvance gba-suite Incredible test suite for the arm7tdmi interpreter that I’m using, written by Julian Smolka.
(Read More) Full coverage and live updates on the Coronavirus (Covid – 31
Build and run in release mode (performance is terrible in the
- dev (profile)
You can also drag & drop rom files or any zip files containing
GIPHY App Key not set. Please check settings