GameBoy Advance - SDK
A Software Development Kit for developers who want to build GameBoy Advance games.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project
This SDK aims to simplify GameBoy Advance homebrew development by allowing developers to write game logic in Python. It handles the underlying compilation, asset conversion, and bindings to interface efficiently with the GBA hardware.
Built With
Getting Started
To get a local copy up and running, follow these simple steps.
Prerequisites
You need Python 3.x installed on your system
Installation
Development mode (clone the repo, with local changes)
- Clone the repo
git clone https://github.com/lukas-sgx/GBA-sdk.git
cd GBA-sdk
- Install the SDK in development mode
pip install -e .
Release mode (stable version from PyPI)
pip install cartridge-sdk
Usage
Here is a quick example of how to dump header of ROM:
$ cartridge-sdk hdr dump bin/ExampleGBA.gba
bin/ExampleGBA.gba:
|-- entry
| |-- valid: True
| |-- raw: 0xea00002e
| `-- opcode: b 0xc0
|-- nintendo logo:
| |-- status: True
| `-- debugging: True
|-- game title: EXAMPLEGBA
|-- game code:
| |-- code: BXXE
| |-- date: 2003.. (new)
| `-- language: USA/English
|-- marker code:
| |-- id: 01
| `-- developer: Nintendo
|-- fixed value: valid (96h)
|-- unit code: 00h
|-- device type: 00h
|-- reserved: valid
|-- software_ver: 00h
`-- checksum:
|-- valid: True
|-- rom: e3
`-- our: e3
For more advanced examples, please refer to the Documentation.
Roadmap
- Automated header checker
.gbaROM - Automated compilation to
.gbaROM - Font asset pipeline (PNG to C file converter)
- Core GBA bindings (Video, Audio, Inputs)
- Asset pipeline (PNG to GBA sprite palette converter)
See the open issues for a full list of proposed features (and known issues), and CHANGELOG.md for release history.
Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
See CONTRIBUTING.md for setup instructions, commit conventions, and the PR process.
Top contributors:
License
Distributed under the MIT License. See LICENSE for more information.
Contact
Lukas Soigneux - lukas.soigneux@epitech.eu
Acknowledgments
- GBATEK - GameBoy Advance Technical Info
- Ayyboy-Advance - Great emulator for testing
Metadata
Release files for cartridge-sdk 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cartridge_sdk-2.0.0.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cartridge_sdk-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.3 kB
Release files / cartridge_sdk-2.0.0.tar.gz
| Download URL | cartridge_sdk-2.0.0.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffe8c654d0062e375479a7441a781061e9dc1465dfdd783576db99a34c7de2bf
|
|
BLAKE2b-256 checksum How to use checksums |
5fbfafeed21f25d0ca0698b7cfef4ff52dfc268f4198a11606a490685dec119f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.
Transparency logRelease files / cartridge_sdk-2.0.0-py3-none-any.whl
| Download URL | cartridge_sdk-2.0.0-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a2a43767566938d71ca4c381bae01a61da78bde114ce7c13e0357ae6717835c
|
|
BLAKE2b-256 checksum How to use checksums |
74a8ed3740a401f148c5306a7aabdfa898e3f6dd0d1bce1f581922689420535f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.
Transparency log