Skip to content

ioncodes/ayyboy-advance

Repository files navigation

ayyboy advance

ayyboy's big brother

Kirby - Nightmare in Dream Land Wario Land 4 Fire Emblem - The Sacred Stones Debugger
screenshot_20250531_001016 image image image

Setup

# place BIOS in external/gba_bios.bin
cargo build --release      # full optimizations
cargo build --profile dev  # opt-level 3, retains debug checks - nice to debug overflows, etc.

Usage

Usage: ayydbg.exe [OPTIONS] --rom <ROM>

Options:
      --trace              Enable trace-level logging (highest verbosity, incl. cpu dump and mmio events)
      --debug              Enable debug-level logging (mostly just cpu instructions)
      --targets <TARGETS>  Targets to enable logging for [default: cpu,mmio,storage,ppu,irq,pipeline,rhai]
      --script <SCRIPT>    Path to a custom script file
      --rom <ROM>          Path to the ROM file
  -h, --help               Print help

Scripting

ayyboy advance support's Rhai scripts. These scripts allow you to execute a given "handler" on certain events, namely:

  • Whenever the CPU executes an instruction at a given address
  • Whenever the MMIO writes to or reads from a given address (janky implementation)

Refer to the scripts folder for examples. In particular, dump_swi.rhai is noteworthy as it logs every BIOS call.

Screenshot Database

rom-db runs a given .zip or .gba and takes a few screenshots every now and then. Collection can be performed with:

bash external/collect_screemshots.sh <rom-folder>                # edit script to change max process number
bash external/clean_screenshots.sh rom-db-ui/public/screenshots  # delete duplicates, white and black images

The screenshots are saved in rom-db-ui/public/screenshots. Build the frontend using:

# inside of rom-db-ui
npm install
npm run build # prod build is recommended for speed
npx serve@latest out

A snapshot of screenshots can be found in external/screenshots.zip. You can unpack these in the aforementioned folder.

Compatibility

Currently passes armwrestler and a good number of jsmolka's gba-tests. For game specific compatibility refer to the screenshot database (updated on milestones).

About

GameBoy Advance emulator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages