A Game Boy Advance & Game Boy/Game Boy Color emulator.
Megaman Battle Network 6 (GBA) |
Pokemon Emerald (GBA) |
Hamtaro Ham Ham Heartbreak (GBA) |
Shantae (GBC) |
Pokemon Crystal (GBC) |
Kirby's Dream Land (GB) |
Audio Debugger (GBA) |
Video Debugger (GBA) |
Lua Editor (GB/GBA) |
git clone https://github.com/donishadsmith/Engram
cd Engram
cargo run --releaseAdditional dependencies are required:
sudo apt update
sudo apt install -y libwayland-dev libasound2-dev libudev-dev pkg-configWhile Sony controllers inputs work with no additional software, rumble does not. Recommended to use Ds4 Windows to present it as an Xbox 360 controller. Connect over USB and leave "Hide DS4 Controller" off.
Game saves and save states are stored inside your platform's data directory (via dirs::data_dir), in Engram/{system}/saves/ and Engram/{system}/states/ respectively:
- Linux:
$XDG_DATA_HOME/Engram/or$HOME/.local/share/Engram/ - MacOS:
$HOME/Library/Application Support/Engram/ - Windows:
%AppData%\Engram\
Settings are saved to Engram/config.toml inside your platform's config directory (via dirs::config_dir):
- Linux:
$XDG_CONFIG_HOME/Engram/or$HOME/.config/Engram/ - MacOS:
$HOME/Library/Application Support/Engram/ - Windows:
%AppData%\Engram\
I heavily relied on the prior work of the emulation development community while developing my own emulators. In particular, mGBA, NanoBoyAdvance, rustboyadvance-ng, retroboy, SameBoy, Pan Docs, and GBATEK were incredibly helpful. The full list of emulators, documentation, and articles used is in REFERENCES.md.








