Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-gbdev
A curated list of Game Boy development resources such as tools, docs, emulators, related projects and open-source ROMs.
https://github.com/gbdev/awesome-gbdev
Last synced: 4 days ago
JSON representation
-
Introduction
-
Community
-
Documentation
-
- **Pan Docs** - The single, most comprehensive technical reference to Game Boy available to the public. Corrected, updated and maintained by the community.
- The Cycle-Accurate Game Boy Docs - A precise documentation by AntonioND to make a cycle-accurate Game Boy emulator.
- Complete Technical Reference - by Gekkio.
- Game Boy Architecture: A Practical Analysis - by Rodrigo Copetti.
- Game Boy Project Report - Report of an hardware [emulator](https://github.com/kitsuneh/SVGameBoy) (on a Terasic DE1-SoC Board) developed as final project for the CSEE4840 Embedded Systems Design course at Columbia University.
- gb-opcodes - Opcodes table
- RGBDS opcodes reference - A reference of all instructions, including short descriptions, cycle and byte counts, and explanations of flag modifications.
-
Game Boy Color
- Bootstrap ROM
- Unused Palettes
- Colorization palettes in the BIOS
- Boot ROM Disassembly
- GBC Hicolour notes - A technical note regarding Hicolour mode trick for Game Boy Color and its realization in the GBC game “Crystalis”.
-
Hardware
- DMG Schematics - Hardware schematics.
- The Game Boy Project - Provides a study on the hardware and detailed constructional information for the implementation of three 8-bit bidirectional parallel ports.
- fruttenboel - Page with loads of information on the hardware, custom boards to interface with the console and other related projects.
- Game Boy hardware database - Data and photos of various types of Game Boy consoles.
-
Peripherals
- Dan Docs - Obscure Game Boy hardware documentation.
- Edge of Emulation - plus/tree/master/src/docs/technical) in the GBE- emulator documentation.
- Mobile Adapter GB - Internet connectivity and DLC on the Game Boy Color.
- Pocket Sonar - A blue cart with built-in sonar hardware.
- Zok Zok Heroes - Zok Zok Heroes' Full Changer, a motion-activated accessory.
- Infrared Madness - Infrared communication on the Game Boy Color.
- Game Boy 4-Player Adapter - DMG-07.
- Barcode Boy - The first Game Boy card-scanner.
- Barcode Taisen Bardigun - A late 90s DMG-GBC barcode reader.
- DMG-07 Technical Documentation
- Creating photo realistic images with neural networks and a Gameboy Camera
- Ben Heck Reverse Engineers Game Boy Printer
- Mobile Game Boy Adapter
- GB KISS LINK MODEM
- The Game Boy Printer - An in-depth technical document about the printer hardware, the communication protocol and the usual routine that games used for implementing the print feature.
-
Cartridges
- DMG-BEAN-02
- AntonioND's docs - Corrected schematics and infos on cartridge header data.
- Gekkio's Game Boy cartridge types - An overview on existing cartridge types.
- MBC1
- no MBC
- MBC1
- MBC2
- MMM01
- Game Boy Cartridges Schematics - Schematics for MBC2 and MBC3 types.
- Cartridges PCB photos
- MBC1+RAM+Battery cartridge Schematic - First schematics by Jeff Frohwein.
- MBC1 and MBC2 cartridges circuits - and explanation on how these MBC bank switch and control RAM.
- Game Boy cartridge PCB photos
- Emulating a GameBoy Cartridge - Emulating the functionality of a Game Boy cartridge with the development board STM32F4.
- Wolf - Game Boy cartridge with co-processor.
- Reiner Ziegler's Game Boy page - Commercial and homemade programmable cartridges and programming systems. Tutorials, wiring and schematics provided.
- Introduction to Game Boy Hacking - Workshop introducing basic assembly, debugging and reverse engineering.
- GBSOUND.txt - A document detailing the Game Boy sound engine.
- gbdev FAQs - Must read by Jeff Frohwein.
- Game Boy Bootrom - Commented dump of the DMG bootrom.
- Differences between the Z80 and the gameboy's processor
- Gameboy 2BPP Graphics Format - Information on how the Game Boy interprets VRAM tile data to color pixels.
-
-
Emulator Development
-
Cartridges
- Reverse Engineering fine details of Game Boy hardware - 43 minutes talk by Gekkio given at Disobey 2018 ([errata](https://gekkio.fi/blog/2018-02-05-errata-for-reverse-engineering-fine-details-of-game-boy-hardware.html)).
- Emulation of Nintendo Game Boy - Overview of the Game Boy hardware with the perspective of building an emulator.
- DMG-01 - An educational Gameboy Emulator in Rust and a companion book explaining its development. *[Oh Boy! Creating a Game Boy Emulator in Rust](https://media.ccc.de/v/rustfest-rome-3-gameboy-emulator)- is a talk given at Rust Fest 18 about this.
- Building a Game Boy emulator in JavaScript - Step by step tutorial.
- Writing a Game Boy emulator, Cinoop
- 0dmg - Learning Rust by building a partial Game Boy emulator.
- RealBoy Emulator - A series of posts about the design and implementation of the RealBoy Emulator.
- Codeslinger - Another series of posts documenting the building of an emulator.
- Why did I spend 1.5 months creating a Gameboy emulator? - Blog post.
- binjgb rewind - Implementing a *rewind- feature.
- binjgb on the web - Porting of the binjgb emulator to Web Assembly. [(Part 2)](https://binji.github.io/2017/02/27/binjgb-on-the-web-part-2.html)
- binjgb debugging hangs - Investigations on emulations quirks.
- Decoding Gameboy Z80 opcodes - How to algorithmically decode Game Boy instructions (as opposed to writing one huge switch-case statement).
- Porting a GO Game Boy emulator to WebAssembly
- About swotGB - Notes about the development of a Game Boy emulator in JavaScript.
-
Testing
- Blargg's test roms
- Gekkio's test roms
- GB Accuracy Tests
- 144p Test Suite - Port of Artemio Urbina's 240p Test Suite to the Game Boy.
-
-
Software Development
-
Testing
-
Compilers
- API docs: Getting Started
- Documentation, links and tools
- Turbo Rascal Syntax Error - Complete suite (IDE, compiler, programming language, resource editor) intended for developing games/demos for 8 / 16-bit line of computers, including the Game Boy and Game Boy Color.
- RGBDS-Live - In-browser coding environment to try out RGBDS.
- tniASM - Macro Assembler.
- gbasm-rs - An opinionated Rust based compiler for Game Boy z80 assembly code.
-
Emulators
- BGB - Powerful emulator and debugger. Provides an accurate hardware emulation.
- Emulicious - Provides accurate emulation and includes powerful tools such as a profiler and source-level debugging for ASM and C via a [VS Code debug adapter](https://marketplace.visualstudio.com/items?itemName=emulicious.emulicious-debugger).
-
Tools
- Retr0 GB - An engine for creating games (expands GBDK).
- GBExtended - C library extending gbdk.
- Dot Matrix Game Editor - An IDE for Game Boy programming in a C-like language called GBL, with many other features like tile and map extraction, WLA-DX assembly, and more.
- ROM Header Utility - An online tool to inspect and modify a ROM's header data, including the logo.
- Harry Mulder's GB Development - Some sources and home of Game Boy Tile Designer (GBTD) and Game Boy Map Builder (GBMB) tools.
- brewtool - A collection of primitive editor/converter tools for making assets used with homebrew ROM development.
- Carillon Player - Music Engine.
- GB-convert - Game Boy tile conversion and map editor tool (converts to assembly).
-
-
Programming
-
ASM
- gb asm tutorial - Step by step tutorial, building several ROMs to accompany its explanations.
- Assembly tutorial by David Pello - Good document to learn to produce working asm code for gb. Brief explanations of many important topics. Many examples with commented source code.
- Making an Empty Game Boy ROM (in Wiz)
- Making Art for the Game Boy
- Beginner's Guide to Reverse Engineering GB - Some starting tips on disassembling and reverse engineering.
- FlappyBoy: Making a simple Game Boy Game
- Super Game Boy development - Step by step tutorial to implement Super Game Boy features (frame and palettes).
- GameBoy programming tutorial: Hello World! - Step by step tutorial.
- OAM DMA tutorial - Example of how to use OAM DMA in assembly.
- dev'rs ASM section - A lot of working demos and sources.
- Nitty Gritty Gameboy Cycle Timing
- Mode3 Sprite Timing
- GameBoy Color DMA-Transfers v0.0.1
- STAT interrupt timings
- Video Timing
- Game Boy Assembly Language Primer - Simple template code with memory defines, copy routines and IBM font tilemap.
- Vim syntax file for the Game Boy assembler RGBASM - Vim syntax highlighting for RGBDS assembly.
- Vim syntax file for RGBDS - Another Vim syntax highlighting file for RGBDS assembly.
- sublime-rgbds - A Sublime Text 3 package for RGBDS, including syntax highlighting and some completion snippets.
-
C
- 8-Bit Wonderland - Well-written introductory document about how the Game Boy works and how to start developing working code for it.
- How to Write a Simple Side Scrolling Game - Old (but still relevant) tutorial.
- Just another simple tutorial
- GBDK Tutorial - Fairly minimal game demo for getting started with GBDK.
- GBDK Sprite - Presents a workflow for getting multiple sprites to display and animate.
- GBDK Color - Extends your knowledge of basic spriting on the Game Boy by adding colors to sprites, backgrounds and the window layer.
- GBDK Joypad - Details the use of the joypad with GBDK.
- Game Boy home of Flavor - Some full games and sources.
- GBDK Configuring and Programming Tutorial - Configuring GBDK, Using Tiles, Colliding Sprites, GBTD, GBMB, Memory Management and ROM Banking.
- GBDK Programming Video Tutorials - A series of video tutorials introducing beginners to programming with GBDK.
- Larold's Jubilant Junkyard - A collection of detailed GBDK-2020 based tutorials.
- Game Boy home of Flavor - Some full games and sources.
-
-
Homebrews
-
C
- Homebrew Hub - A community-led attempt to collect, archive and preserve every unlicensed and homebrew game released for Game Boy. Entries are playable online.
- Novascape
- oranges
- loderunner
- Hives
- GB raycaster, Vision-8 - and some other projects.
- Burly Bear vs. The Mean Foxes - color-burly-bear.html) port)
- Black Castle - Side scrolling platformer for the Game Boy ([itch.io](https://user0x7f.itch.io/black-castle)).
- Genesis - Shmup for the Game Boy ([itch.io](https://user0x7f.itch.io/genesis)).
- Indestructo Tank!
- Super JetPak DX
- Powa! - Side scrolling platformer for the Game Boy (Color) ([ZGB engine](https://github.com/Zal0/ZGB/)).
- Cavern - ([ZGB engine](https://github.com/Zal0/ZGB/)).
- Mona and the Witch's Hat Deluxe - ([ZGB engine](https://github.com/Zal0/ZGB/)).
- The Bouncing Ball
- DMG Deals Damage
-
ASM
- Snake
- Death Planet
- Quartet - Puzzle game for the Game Boy (Color) and Super Game Boy.
- Dangan
- exeman
-
GB Studio
- Soul Void - Interactive horror fiction.
- Deadeus
- SUPER IMPOSTOR BROS.
-
-
Reverse Engineering
-
Demos
- Reverse engineering Kirby's Dreamland 2
- Reverse Engineering a Gameboy ROM with radare2 - A walkthrough to reverse engineer a Game Boy ROM challenge using radare2.
- DMA hijacking - A simple technique that allows you to run custom code in most GB/SGB/CGB games, provided you have an ACE exploit.
- Disassembling Link's Awakening - A series of blog posts about disassembling Link's Awakening DX.
-
-
Game Boy Camera
-
Changing the camera's behavior
- Game Boy Camera Canon EF Lens Mount
- Game Boy Camera to Canon Lens mount - based on the above.
-
-
Related projects
-
Post processing
- GB Studio - Drag and drop game creator with simple, no knowledge required, visual scripting.
- Resources to get started
- Dedicated Discord
- Digitized Speech in Game Boy Games
- Sniffing Game Boy serial traffic with an STM32F4
- Virtual Game Boy Printer with an STM32F4
- Printing on the Game Boy Printer using an STM32F4
- Programming Game Boy Chinese cartridges with an STM32F4
- Pokemon Pocket Computer: - What is it and how to use it to make cheat codes.
- Booting the Game Boy with a custom logo - Bypassing the Nintendo logo check.
- part 1
- Nintendo's fake logos - Every cartridge has to show the authentic logo to be considered valid and be run, but obviously some companies managed to exploit the check system.
- Work Master OS - Russian multi tasking operating system.
- Dumping the Super Game Boy Boot ROM
- Digitized Speech in Game Boy Games
- Work Master OS - Russian multi tasking operating system.
-
Directories
- Archive of related files
- The Game Boy Archive - A library of Game Boy related software, hardware and literature. Aimed to mirror and preserve old and fragmented contributions from the last three decades.
-
Websites
- devrs.com/gb - Old home of the scene: examples, sources, complete documentation, guides, tutorials and various tools.
- pdroms.de - Game Boy releases.
- Handheld Underground - Unlicensed games, blog posts about Game Boy, home of the hhugboy emulator.
-
-
About
-
Acknowledgements
-
Sponsors
-
Programming Languages
Categories
Sub Categories
Keywords