Git Product home page Git Product logo

awesome-gbdev's Introduction

Awesome Game Boy Development Awesome

A curated list of awesome Game Boy (Color) Development resources, tools, docs, related projects and open-source ROMs. Inspired by the awesome list thing.

Contents

Intro

Disambiguation

Although this documentation is focused on the original (1989) Game Boy (DMG), the Game Boy Color (GBC) and Super Game Boy (SGB) are very similar systems, with few important distictions, such as:

  • Different hardware specifications
  • Specific hardware and software features
  • Specific registers
  • Specific bugs and exploitable behaviours

If you aim to develop your software for SGB or GBC, or you want to know how it runs on the others system, you may want to take advantage and adapt to these differences, check for specific references to GBC/CGB and SGB in the documentation section.

Community

  • gbdev Discord Server
  • #gbdev on EFnet - IRC channel.
  • gbdev.gg8.se - This is basically the home of the gbdev scene. The wiki has a lot of articles from previous sites, tutorials and other documents about a lot of topics.
  • devrs.com/gb - Jeff Frohwein’s page, this the main reference for everything. Almost everything is archived here: code examples and working programs(ASM and C), complete documentation and various tools.

Documentation

Peripherals

Cartridges

Emulator Development

Open-source emulators

Software Development

Assemblers

  • rgbds - Assembler and linker package (a fork currently updated).
  • wla-dx - Yet Another GB-Z80/Z80/.. Multi Platform Cross Assembler Package.
  • gbasm - A JavaScript based compiler for Gameboy z80 assembly code.
  • tniASM - Macro Assembler.
  • Assembler - Assembler written in Swift.

Compilers

  • The Game Boy Developer's Kit (GBDK) - A set of tools that enable to develop programs for the Nintendo Game Boy system in C. Includes a set of libraries for the most common requirements and generates image files for use with a real Game Boy.
  • gbdk-osx - Patched GBDK 2.96a for the latest compilers on OS X.

Emulators

  • BGB - Powerful Game Boy emulator and debugger. Provides an accurate hardware emulation.
  • Gambatte - Open-source, cross-platform and accurate emulator for Game Boy and Game Boy Color.

Tools

  • ZGB - A little engine for creating games for the original Game Boy (expands gbdk, more info here).
  • DevSound - Sound driver embeddable in homebrews which supports pulse width manipulation, arpeggios, and multiple waveforms.
  • Carillon Player - Music Engine for Game Boy & Game Boy Color.
  • Game Boy Tile Data Generator - HTML5 / JS web application that will convert bitmap images to hexidecimal data appropriate for use in tile based graphical applications, specifically GB.
  • rgbds_textmate - Some syntax highlighting rules for coding in Z80 assembly as a Textmate language plugin. Works in Sublime Text 2 and 3. The syntax is particularly designed for rgbds and Game Boy-specific Z80 instructions.
  • Harry Mulder's GB Development - Some sources and home of Game Boy Tile Designer and Game Boy Map Builder tools.
  • GBT PLAYER - A music player library and converter kit for Game Boy that can be used with RGBDS.
  • ROM Header Utility - An online tool to inspect and modify a ROM's header data, including the logo.
  • gbcamextract - Extracts photos from Game Boy Camera saves.
  • GBExtended - C library extending gbdk.
  • GBZ80 to items - An online converter, translates gameboy assembly into Pokémon R/B/Y items (Source)
  • bmp2cgb - 8bpp bitmap converter for Gameboy Color development.

Programming Tutorials

ASM

Glitches and exploits

Timings

C

Old articles

This folder is an historical archive of old articles, FAQs and in general text documents about the game boy development. These may be wrong or obsolete - they are archived for historical reasons.

Games

ASM

C

ROMs Disassembly

Related sites, posts and projects

  • papiGB - Game Boy Classic fully functional FPGA implementation from scratch
  • fpgaboy - Implementation Nintendo's Game Boy console on an FPGA.
  • Piglet - A LUA-driven AI that plays classic Game Boy color games using experimentation. In active development.
  • The Game Boy Project - Provides a study on the hardware and detailed constructional information for the realisation of three 8-bit bidirectional parallel ports.
  • gbdk-n - Aims to update the gbdk libraries to be compatible with new versions of SDCC and provide helpers for building roms.
  • Wiz - A high-level assembly language for writing homebrew on retro console platforms (Game Boy, NES, Atari 2600, and more).
  • Gatesboy - Non-gaming purposes applications development.
  • pdroms.de Game Boy releases.
  • Game Boy Demospotting - A collection of demos.
  • Nintendo's fake logos - Every cartridge has to show the authentic logo to be considered valid and be runned, but obviously some companies managed to exploit the check system.
  • Booting the Game Boy with a custom logo - Bypassing the Nintendo logo check.
  • GBDK Developers - Active blog about everything related to the scene. Including features, insights and interviews.
  • Ostrich - A Game Boy Sound System player written in Swift.
  • mGB - A Gameboy cartridge program that enables the Gameboy to act as a full MIDI supported sound module.
  • GBVisualizer - Demonstrating the use of two undocumented Gameboy Color registers, nicknamed PCM12 (FF76) and PCM34 (FF77), which can be used to read the current PCM amplitude of the 4 APU channels.
  • GBVideoPlayer - A technical demo demonstrating how the Gameboy LCD controller can be hacked to make a Gameboy Color play a full motion video in color, together with music.
  • rgbgfx - A program which converts PNG images into the Game Boy's planar tile format, for eventual integration into RGBDS.
  • ArduinoGameBoy - Arduino based Game Boy cartridge reader and writer.
  • gameboy-brainfuck - Implementation of a brainfuck interpreter.

About

Contribute

Take a look at Contribution Guidelines.

License

Licensed under GPLv3. See LICENSE for more information.

Special Thanks

Every contributor of this project, Jeff Frohwein, Pascal Felber, KOOPa, Pan of Anthrox, GABY, Marat Fayzullin, Paul Robson, Martin Korth, BOWSER, neviksti, Martin “nocash" Korth, Nitro2k01, Duo, Chris Antonellis, Michael Hope, Beware, Jonathan “Lord Nightmare” Gevaryahu, Marat Fayzullin, Paul Robson, Carsten Sorense, Sindre Aamås, Otaku No Zoku, GeeBee.

awesome-gbdev's People

Contributors

avivace avatar svendahlstrand avatar baekalfen avatar antoniond avatar catskull avatar davidsharp avatar donaldhays avatar brovador avatar loociano avatar lmmendes avatar nickdesaulniers avatar issotm avatar pashutk avatar wistudent avatar renatocribeiro avatar gitendo avatar

Stargazers

Greyson Parrelli avatar

Watchers

James Cloos avatar Warren Lockhart 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.