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 f7dc417e94 Fix accesses outside of IO region
Former-commit-id: dc874b6d28370cf7256156f2502bd2dc56a0a3fd
2019-11-16 18:17:53 +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 Fix accesses outside of IO region 2019-11-16 18:17:53 +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 Improve the debugger 2019-11-16 18:17:53 +02:00
Cargo.toml Make the debugger work again, but currently breakpoints are not supported. 2019-11-12 18:22:00 +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.