Nintendo™ Game Boy Advance emulator and debugger.
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.
Find a file
Michel Heily cb54f4d1a3 cosmetic: Notify vblank/hblank DMA inside of Gpu
Former-commit-id: de53e1ed3e2c1df19ef878c4b84893b92ee46064
2019-12-27 16:31:18 +02:00
.vscode Add tasks.json 2019-11-12 18:22:00 +02:00
img Fix many bugs, refactor many things.. 2019-11-09 01:06:24 +02:00
src cosmetic: Notify vblank/hblank DMA inside of Gpu 2019-12-27 16:31:18 +02:00
.gitignore Initial commit 2019-06-24 16:36:20 +03:00
.travis.yml Fix typo in .travis.yml 2019-06-27 13:16:00 +03:00
Cargo.lock Update Cargo.lock 2019-12-27 16:30:09 +02:00
Cargo.toml Make sdl2 run as default for "cargo run" 2019-12-27 13:12:03 +02:00
LICENSE Create LICENSE 2019-06-24 16:36:20 +03:00
README.md Fix many bugs, refactor many things.. 2019-11-09 01:06:24 +02:00

RustBoyAdvance-NG

Build Status

RustBoyAdvance-NG Nintendo GameBoy Advance emulator and debugger, written in the rust programming language.

Currently passing armwrestler tests, and displays some of TONC's Demos.

TONC bigmap.gba demo

Using the REPL

You need to have rust installed, and somehow legally obtain a gba bios binary.

$ cargo run -- debug

Debugger REPL Demo

Why is this project needed ?

It's actually not. There are quite a lot of GBA emulators, and even some written in rust. Actually, I couldn't find any game capable emulators written in rust.

I'm only doing this as a side project intended for learning rust.

This is my third take on this project. My first go at this was about 3 years ago, but I didn't like rust much at the time so it got abandoned. I tried to resurrect it a year ago but didn't have the time to get invested in a side-project, let alone learning rust.

I've grown to like rust a lot since then, so here we go again. You know what they say, third time's a charm.

Links

  • 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++17 by a nice person called fleroviux. I've used this emulator to search for a tough bug in mine.
  • Eggvance A GameBoy Advance emulator written in C++, with really useful CPU test roms.