This repository has been archived on 2024-06-01. You can view files and clone it, but cannot push or open issues or pull requests.
rustboyadvance-ng/README.md
Muhammad Nauman Raza 36c219a444 docs: state external content
Former-commit-id: 33c0373f53335ff94265eedae5afb2ae9351cf97
Former-commit-id: 75e066ad3b9f8d6168a5a3132c1fffb82050b419
2024-03-22 23:10:14 +00:00

44 lines
1.8 KiB
Markdown

# rustboyadvance-ng
Nintendo GameBoy Advance™ emulator and debugger, written in Rust.
> This repository is a fork of [rustboyadvance-ng](https://github.com/michelhe/rustboyadvance-ng), with minimal non-feature changes.
# Project structure
* `core/` - Main emulator crate that ties everything together
* `arm7tdmi/` - Emulation of the Arm7tdmi processor
* `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/rustbodyadvance-jni` - Java JNI binidngs for the emulator.
* `platform/android` - A PoC Android application.
## External content
The file at [`external/gamecontrollerdb.txt`](./external/gameoncontrollerdb.txt) is not my work - it is sourced from [this GitHub repository](https://github.com/mdqinc/SDL_GameControllerDB) and covered by the appropriate license present in said repository.
## Key bindings
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 60fps cap |
| F1 | Custom debugger (requires --features debugger) |
| F2 | Spawn gdbserver (experimetnal, requires --features gdb) |
| F5 | Save snapshot file |
| F9 | Load snapshot file |