Skip to content

Latest commit

 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

odin-gba

Tools and utilities to build basic GBA ROMs using the Odin programming language.

This is a work in progress: functionality besides basic mode 3 rendering and input is missing, but that's enough for some simple demos like:

Odin GBA example running in mGBA
Mode 3 input example running in mGBA on macOS

Odin GBA BIOS functions example running on a Game Boy Advance SP Odin GBA BIOS checksum example running on a Game Boy Advance SP
BIOS functions example running on a real Game Boy Advance SP

The repo also includes a CLI under tools for building and other utilites:

odin-gba - build GBA ROMs with Odin

usage: odin-gba <command> [options]

commands:
  assetpack <png>   pack a png font -- todo
  build <package>   build a ROM package
  header            write a GBA header to a ROM
  help              show this help

Requirements

The ARM toolchain is needed for more direct assembler/linker access, and more flexibility in stripping executables down.

Building the example ROMs

Generate packed assets (debug font):

odin run tools -- assetpack assets/font.png

Build a package as a full rom:

odin run tools -- build examples/00-mode3-input
odin run tools -- build examples/01-mode3-print

A full program needs to have:

  • an exported gba_main procedure
  • a manifest.json with desired header values

About

make gba roms with Odin

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages