GithubHelp home page GithubHelp logo

cxblovedd / awesome-gbadev Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gbadev-org/awesome-gbadev

0.0 0.0 0.0 48 KB

A curated list of Game Boy Advance development resources

Home Page: https://gbadev.net

License: Other

awesome-gbadev's Introduction

Awesome Game Boy Advance development

A curated list of development resources for Game Boy Advance.

Contribute adding resources or providing feedback through Pull Requests, Issues or joining us on Discord. You can find a web version of this list here.

Table of Content


Introduction

Community

  • GBADev Discord Server - This is where everyone hangs out nowadays. Come say hi!

    Info for IRC users

    All rooms are bridged to IRC channels on EFnet.

    Main channel
    #gbadev - general chat

    Additional channels
    #gba-meta - community feedback/discussion
    #gba-help - help & support
    #gba-emudev - emulator development
    #gba-asm - ARM/Thumb assembly and CPU architecture
    #gba-showcase - share what you're working on!
    #gba-music - listening, composing and audio programming
    #gba-offtopic - off-topic chat
    #gba-docs - community documentation projects (tutorials, technical docs etc.)
    #gba-tools - tool discussion (grit, tiled, aseprite, etc.)

    Project-specific channels
    #gba-toolchain - gba-toolchain, agbabi and gba-plusplus development & support
    #butano - Butano engine development & support
    #natu - Natu toolkit development & support

  • GBADev - The longstanding homepage of the scene. Regularly updated with the lastest news and releases.

  • GBAtemp - The site carries the GBA name, but now the console is relegated to the backbenches.

Documentation

Tutorials

Articles

Software Development

Compilers

  • devkitARM - C/C++ cross-compiler toolchain, which includes libgba, libtonc, maxmod, and various tools and example projects.
  • gba-toolchain - GNU Arm Embedded Toolchain based alternative to devkitARM.
  • gvasm - Stand-alone assembler and disassembler (WIP) designed specifically for GBA homebrew

Toolkits

  • rust-console - GBA programming in Rust, plus tutorial.
  • natu - GBA programming in Nim (provides wrapper around libtonc, maxmod and more).
  • gba-modern - Write GBA games using modern C++.
  • ZigGBA - WIP SDK for creating GBA games using Zig (Inspired by Tonc).
  • Butano - Modern C++ high level engine for the GBA.
  • BPCore Engine - Create GBA applications with the Lua programming language
  • GBA Dlang - WIP SDK for GBA development using D, using LLVM toolchain. provides fully functional TONC, GBFS, Maxmod.
  • dusk - Simple, lightweight, intuitive framework for GBA game development
  • gbsenpai - GB Studio player GBA port with some enhancements.

Libraries

  • agbabi - Drop-in application binary interface library (context switching, division, irq, memcpy, sine).
  • gba-plusplus - Modern C++ alternative to libgba and libtonc.
  • HeartLib - Comprehensive C library inspired by the classic HAMLib.
  • libseven - Lightweight, from-scratch replacement for libgba.
  • GBAdv - High level utilities on top of libgba.
  • Maxmod - Music and sound library (supports .mod, .xm, .s3m, .it)
  • Apex Audio System - Music and sound library (supports .mod only, but very good performance)
  • Krawall - Music and sound library (supports .xm, .s3m)
  • Pimpmobile - Music library (supports .mod, .xm)
  • posprintf - An sprintf routine written in Thumb assembler.
  • GBFS - Practical filesystem

Emulators

  • mGBA - Actively developed GBA emulator. Runs on a bunch of platforms. Text debugger through GDB stub.
  • No$gba - Venerable GBA emulator. Windows only, but runs well under Wine. Not very actively maintained but still gets updates now and then. Sports graphical debugger.
  • NanoBoyAdvance - GBA emulator with high accuracy, especially in timing and CPU emulation. Does not have debugging features.
  • MiSTer FPGA implementation - Needs MiSTer setup to run.

Emulator Development

Testing

Homebrews

  • Goodboy Advance - Made in 2018, and has a nice bit of information on how it's made.
  • Celeste Classic - 2019 port of Pico8 version of Celeste.
  • GBADoom - 2019/2020 GBA port of prBoom version of Doom.
  • BlindJump - Adventure game, developed in 2020. Implementation of link-cable multiplayer, fully digital audio.
  • Tigermoth - Bullet hell game, developed for the GBAJam 2021
  • Duster - A sleek strategy board game for the gba
  • OpenLara - Classic Tomb Raider open-source engine

Jams

Miscellanea

  • gba_bios - WIP disassembly of the Game Boy Advance BIOS
  • GBA bare metal code - Various experiments by Krom, such as video playback and 3D, written in ARM Assembly
  • dkarm_gba_docker - A Docker image that includes DevkitARM and other GBA SDK tools, packaged together to allow a consistent toolchain configuration and reproducibility in builds. Also can be helpful in ensuring a consistent build environment for continuous integration.

Dumping the GBA BIOS

Reverse engineering

Historical links

  • HEL - GBA C library built on top of HAM (a classic SDK from back in the day)
  • Headspin's Guide to Compression, Files Systems, Screen Effects and MOD Players for the Gameboy Advance

awesome-gbadev's People

Contributors

avivace avatar clyybber avatar djedditt avatar endrift avatar evanbowman avatar exelotl avatar felixjones avatar fleroviux avatar gvaliente avatar lunarlambda avatar macabeus avatar pmprog avatar redthing1 avatar stuij avatar velipso avatar xproger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.