Introduction
The Game Boy, a hardware autopsyopen in new window
The Ultimate Game Boy Talkopen in new window
Disambiguation
Game Boy Advance
Game Boy Advance development is covered by another project, the awesome-GBAdevopen in new window list. GBA, however, can run GB/GBC games. It does so in a slightly different way compared to native hardware. This is covered in the Emulator Development section of this list.
Game Boy Color and Super Game Boy
This list is focused on the original (1989) Game Boy (DMG), the Game Boy Color (GBC) and Super Game Boy (SGB) are very similar systems, with a few important distinctions, such as:
- Different hardware specifications
- Specific hardware and software features
- Specific registers
- Specific bugs, quirks and exploitable behaviours
If you aim to develop your software for SGB or GBC, or you want to know how it runs on the other systems, you may want to take advantage and adapt to these differences, check the Game Boy Color category and look for specific references to GBC/CGB and SGB.
Documentation
- Pan Docsopen in new window - 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 Docsopen in new window - A precise documentation by AntonioND to make a cycle-accurate Game Boy emulator.
- Complete Technical Referenceopen in new window - by Gekkio.
- Game Boy Project Reportopen in new window - Report of an hardware emulatoropen in new window (on a Terasic DE1-SoC Board) developed as final project for the CSEE4840 Embedded Systems Design course at Columbia University.
Opcodes
- gb-opcodesopen in new window - Opcodes table
- RGBDS opcodes referenceopen in new window - A reference of all instructions, including short descriptions, cycle and byte counts, and explanations of flag modifications.
Game Boy Color
- Bootstrap ROMopen in new window
- Unused Palettesopen in new window
- Colorization palettes in the BIOSopen in new window
- ROM Disassemblyopen in new window
Hardware
- DMG Schematicsopen in new window - Hardware schematics.
- The Game Boy Projectopen in new window - Provides a study on the hardware and detailed constructional information for the implementation of three 8-bit bidirectional parallel ports.
- Related custom hardwareopen in new window - by Gekkio.
- ESP8266 GB Dev Boardopen in new window - Dev board for Game Boy accessories development, powered by ESP8266.
- ESP8266 GB Printeropen in new window - A device that emulates the GB Printer and lets you retrieve images using WiFi.
- fruttenboelopen in new window - Page with loads of information on the hardware, custom boards to interface with the console and other related projects.
- Game Boy hardware databaseopen in new window - Data and photos of various types of Game Boy consoles.
- DMG-CPU-Insideopen in new window - Schematics and annotated overlay for the DMG-CPU-B chip, extracted from die photos.
Peripherals
- Dan Docsopen in new window - Obscure Game Boy hardware documentation.
- Edge of Emulationopen in new window, a series of articles about emulating and investigating Game Boy accessories. Also available as technical documentsopen in new window in the GBE- emulator documentation.
- Mobile Adapter GBopen in new window - Internet connectivity and DLC on the Game Boy Color.
- The Game Boy Printeropen in new window
- Pocket Sonaropen in new window - A blue cart with built-in sonar hardware.
- Zok Zok Heroesopen in new window - Zok Zok Heroes' Full Changer, a motion-activated accessory.
- Infrared Madnessopen in new window - Infrared communication on the Game Boy Color.
- Game Boy 4-Player Adapteropen in new window - DMG-07.
- Barcode Boyopen in new window - The first Game Boy card-scanner.
- Barcode Taisen Bardigunopen in new window - A late 90s DMG-GBC barcode reader.
- DMG-07 Technical Documentationopen in new window
- Game Boy Camera REopen in new window - Documentation about GB Camera and tools used to reverse engineer it by using Arduino.
- Creating photo realistic images with neural networks and a Gameboy Cameraopen in new window
- The Game Boy Printeropen in new window - An in-depth technical document about the printer hardware, the communication protocol and the usual routine that games used for implementing the print feature.
- Ben Heck Reverse Engineers Game Boy Printeropen in new window (Errata: the used thermal paper is expired, 4 colors are actually printable).
- Arduino Game Boy Printer Emulatoropen in new window - Emulating a Game Boy Printer via the Game Boy Link cable with an Arduino.
- Mobile Game Boy Adapteropen in new window
- GB KISS LINK MODEMopen in new window
Cartridges
- AntonioND's docsopen in new window - Corrected schematics and infos on cartridge header data.
- Gekkio's Game Boy cartridge typesopen in new window - An overview on existing cartridge types.
- Gekkio's cartridge analysis:
- Pinout, registers descriptions and VHDL code of some cartridge types on Tauwasser's wiki:
- Game Boy Cartridges Schematicsopen in new window - Schematics for MBC2 and MBC3 types.
- Cartridges PCB photosopen in new window
- MBC1+RAM+Battery cartridge Schematicopen in new window - First schematics by Jeff Frohwein.
- MBC1 and MBC2 cartridges circuitsopen in new window - and explanation on how these MBC bank switch and control RAM.
- GB Rom List - Navigable table of every game released with details on their cartridges.
- Game Boy cartridge PCB photosopen in new window
Custom cartridges
- Emulating a GameBoy Cartridgeopen in new window - Emulating the functionality of a Game Boy cartridge with the development board STM32F4.
- Wolfopen in new window - Game Boy cartridge with co-processor.
- Homebrew-Gameboy-Cartridgeopen in new window - Eagle library, schematic, and board files for a cartridge PCB using an Atmel AT49F040 as ROM.
- Homebrew Gameboy Color Cartridgeopen in new window - Board layout for an EEPROM powered cartridge.
- Nekocartopen in new window - Open-source flash cartridge using an Xilinx CPLD as MBC5 (Postopen in new window).
- Reiner Ziegler's Game Boy pageopen in new window - Commercial and homemade programmable cartridges and programming systems. Tutorials, wiring and schematics provided.
- Gameboy-MBC5-MBC1-Hybridopen in new window - CPLD implementation of a MBC5/MBC1 Hybrid cartridge.
Misc
- Introduction to Game Boy Hackingopen in new window - Workshop introducing basic assembly, debugging and reverse engineering.
- GBSOUND.txtopen in new window - A document detailing the Game Boy sound engine.
- gbdev FAQsopen in new window - Must read by Jeff Frohwein.
- Game Boy Bootromopen in new window - Commented dump of the DMG bootrom.
- Differences between the Z80 and the gameboy's processoropen in new window
- Gameboy 2BPP Graphics Formatopen in new window - Information on how the Game Boy interprets VRAM tile data to color pixels.
Emulator Development
- Reverse Engineering fine details of Game Boy hardwareopen in new window - 43 minutes talk by Gekkio given at Disobey 2018 (errataopen in new window).
- Emulation of Nintendo Game Boyopen in new window - Overview of the Game Boy hardware with the perspective of building an emulator.
- DMG-01open in new window - An educational Gameboy Emulator in Rust and a companion book explaining its development. *Oh Boy! Creating a Game Boy Emulator in Rustopen in new window- is a talk given at Rust Fest 18 about this.
- Building a Game Boy emulator in JavaScriptopen in new window - Step by step tutorial.
- Writing a Game Boy emulator, Cinoopopen in new window
- 0dmgopen in new window - Learning Rust by building a partial Game Boy emulator.
- RealBoy Emulatoropen in new window - A series of posts about the design and implementation of the RealBoy Emulator.
- Codeslingeropen in new window - Another series of posts documenting the building of an emulator.
- Why did I spend 1.5 months creating a Gameboy emulator?open in new window - Blog post.
- binjgb rewindopen in new window - Implementing a *rewind- feature.
- binjgb on the webopen in new window - Porting of the binjgb emulator to Web Assembly. (Part 2)open in new window
- binjgb debugging hangsopen in new window - Investigations on emulations quirks.
- Decoding Gameboy Z80 opcodesopen in new window - How to algorithmically decode Game Boy instructions (as opposed to writing one huge switch-case statement).
- Porting a GO Game Boy emulator to WebAssemblyopen in new window
- About swotGBopen in new window - Notes about the development of a Game Boy emulator in JavaScript.
- List of open source emulators
Testing
- Blargg's test romsopen in new window
- Gekkio's test romsopen in new window
- SameSuiteopen in new window
- Mealybug Tearoom Testsopen in new window
- GB Accuracy Testsopen in new window
- 144p Test Suiteopen in new window - Port of Artemio Urbina's 240p Test Suite to the Game Boy.
- MBC3 RTC test ROMopen in new window
- dmg-acid2open in new window and cgb-acid2open in new window - Basic PPU rendering tests.
Software Development
The Choosing tools for Game Boy developmentopen in new window essay provides an overview of the available development tools for Game Boy.
Assemblers
- RGBDSopen in new window - Assembler and linker package. Documentationopen in new window.
- ASMotoropen in new window - Assembler engine and development system targeting Game Boy, among other CPUs. Written by the original RGBDS author. Documentationopen in new window.
- wla-dxopen in new window - Yet Another GB-Z80/Z80/... Multi Platform Cross Assembler Package. Documentationopen in new window.
Compilers
- GBDKopen in new window - Maintained and modernized GBDK (Game Boy Development Kit) powered by an updated version of the SDCC toolchain. Provides a C compiler, assembler, linker and a set of libraries.
- Turbo Rascal Syntax Erroropen in new window - 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.
Experimental/Proof of Concepts
- RGBDS-Liveopen in new window - In-browser coding environment to try out RGBDS.
- Wizopen in new window - A high-level assembly language for writing homebrew on retro console platforms (Game Boy, NES, Atari 2600, and more).
- gbforthopen in new window - A Forth-based Game Boy development kit.
- gbasm-rsopen in new window - An opinionated Rust based compiler for Game Boy z80 assembly code.
- gbasmopen in new window - A JavaScript based compiler for Game Boy z80 assembly code.
- tniASMopen in new window - Macro Assembler.
- Assembleropen in new window - Assembler written in Swift.
- llvm-gbz80open in new window / clang-gbz80open in new window - Clang/LLVM port to the GBZ80 CPU (similar to the deprecated euclio/llvm-gbz80open in new window).
- gbdk-goopen in new window - A compiler translates Go programs to C code. The output C code is built into GB ROM by GBDK.
Emulators
- BGBopen in new window - Powerful emulator and debugger. Provides an accurate hardware emulation.
- SameBoyopen in new window - Accurate emulator with a wide range of powerful debugging features.
- Mooneye GBopen in new window - Research project and emulator in Rust.
- mGBAopen in new window - Modern cross platform GBA emulator which also runs GB/GBC games.
- Binjgbopen in new window - 5Kloc emulator that passes most of the tests. *Rewind- feature. Runs in the browser using WebAssembly.
- Gambatteopen in new window - Cross-platform and accurate emulator.
- MetroBoyopen in new window - A playable, circuit-level simulation of an entire Game Boy.
- gbe-plusopen in new window - A recently rewritten emulator that has a large effort in preserving the functions of obscure accessories (such as IR link, Mobile Network GB, Barcode Boy, GB Printer, local and online GB Serial Link Cable, ... )
- Emuliciousopen in new window - Provides accurate emulation and includes powerful tools such as a profiler and source-level debugging for ASM and C via a VS Code debug adapteropen in new window.
Complete list of open source emulators
Tools
Engines
- ZGBopen in new window - A little engine for creating games for the original Game Boy (expands gbdk, more info hereopen in new window).
- Retr0 GBopen in new window - An engine for creating games (expands GBDK).
Development tools
- GBExtendedopen in new window - C library extending gbdk.
- gbdk-lib-extensionopen in new window - A small set of sources and tools for the Game Boy Development Kit by Michael Hope.
- Dot Matrix Game Editoropen in new window - 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.
- mgbdisopen in new window - Game Boy ROM disassembler with RGBDS compatible output.
- ROM Header Utilityopen in new window - An online tool to inspect and modify a ROM's header data, including the logo.
- romusageopen in new window - Command line tool for estimating usage (free space) of Game Boy ROMs from a .map, .noi or ihx file. Works with GBDK-2020 and RGBDS.
- awakeopen in new window - Game Boy decompiler.
- Game Boy Text Toolsopen in new window - Set of tools for text manipulation and translation of Game Boy ROMs written in Node.js.
Graphics utilities
- Game Boy Tile Data Generatoropen in new window - HTML5 / JS web application that will convert bitmap images to hexadecimal data appropriate for use in tile based graphical applications, specifically GB.
- Harry Mulder's GB Developmentopen in new window - Some sources and home of Game Boy Tile Designer (GBTD) and Game Boy Map Builder (GBMB) tools.
- GBTilesopen in new window - Converts .GBR files created with Harry Mulder's Tile Designer (GBTD) and .GBM files created with Harry Mulder's Map Builder (GBMB) to different formats for use with the Game Boy and GBDK.
- bmp2cgbopen in new window - Graphics converter for Game Boy Color development providing real time palette adjustments.
- png2gbopen in new window - CLI tool to convert image file to game boy .c array.
- GB-convertopen in new window - Game Boy tile conversion and map editor tool (converts to assembly).
- brewtoolopen in new window - A collection of primitive editor/converter tools for making assets used with homebrew ROM development.
- vtGBteopen in new window - A minimalistic ncurses tile editor.
- tpp1open in new window - Definition and specification of a custom GB/GBC memory/hardware mapper, as a functional superset of MBC.
- libstdgbopen in new window - A C library of useful Game Boy operations (SDCC).
- Tilemap GBopen in new window - GIMP image editor plug-in for importing & exporting GBMB and GBTD tilemaps and tilesets (as bitmap images or .GBM/.GBR files).
- Tilemap Helperopen in new window - GIMP image editor plug-in for optimizing tile maps and tile sets.
- Tilemap Studioopen in new window - A tilemap editor for Game Boy, Color, Advance, and SNES projects. Written in C++ with FLTK.
- Superfamiconvopen in new window - Flexible and composable tile graphics converter supporting Super Nintendo, Game Boy, Game Boy Color, Game Boy Advance, Mega Drive and PC Engine formats.
Hardware and ROM utilities
- cart-dumperopen in new window - Game Boy Cartridge Dumper ROM.
- gbcamextractopen in new window - Extracts photos from Game Boy Camera saves.
- Game Boy LCD sniffingopen in new window - Sniff your Game Boy's LCD using a logic analyzer.
- swapdumpopen in new window - Diagnostic utility for Game Boy flashcarts.
- Gameboy-LinkUpopen in new window - Game Boy LinkUp serial cable networking project.
Music drivers and trackers
- DevSoundopen in new window - Sound driver embeddable in homebrews which supports pulse width manipulation, arpeggios, and multiple waveforms.
- Carillon Playeropen in new window - Music Engine.
- GBT PLAYERopen in new window - A music player library and converter kit.
- mmlgbopen in new window - A MML parser and GBDK sound driver for the Nintendo Game Boy.
- XPMCKopen in new window - An MML based music compiler with support for Game Boy & Game Boy Color.
- SoundSystemopen in new window - A modernized audio driver for GameBoy Tracker (aka the Paragon 5 music player).
- hUGETrackeropen in new window - A music tracker based on OpenMPT, focused on ease of use, compact output, and embeddability in homebrew games.
- CBT-FXopen in new window - A GBDK-2020 sound effect driver compatible with FX-Hammer sound effects.
Programming
Guides, tutorials and tools to develop software for Game Boy using the development toolchains described in the Software Development chapter.
ASM
- gb asm tutorialopen in new window - Step by step tutorial, building several ROMs to accompany its explanations.
- ASMSchoolopen in new window - A set of lessons by Duo about coding in Assembly for GB/GBC and disassembling.
- hardware.incopen in new window - Standard include file containing Game Boy hardware definitions for use in RGBDS projects.
- Assembly tutorial by David Pelloopen in new window - Good document to learn to produce working asm code for gb. Brief explanations of many important topics. Many examples with commented source code.
- assemblydigestopen in new window - Exploring Game Boy programming techniques:
- Beginner's Guide to Reverse Engineering GBopen in new window - Some starting tips on disassembling and reverse engineering.
- FlappyBoy: Making a simple Game Boy Gameopen in new window
- Super Game Boy developmentopen in new window - Step by step tutorial to implement Super Game Boy features (frame and palettes).
- GameBoy programming tutorial: Hello World!open in new window - Step by step tutorial.
- DMGreportopen in new window - Game programming tutorials in assembly.
- OAM DMA tutorialopen in new window - Example of how to use OAM DMA in assembly.
- Game Boy Assembly Programming for the Modern Game Developeropen in new window - An e-book about making Game Boy games in Assembly.
Sources
Fragments of code, effects, proof of concepts and generally non complete games.
- dev'rs ASM sectionopen in new window - A lot of working demos and sources.
- EmmaEwert's experimentsopen in new window - A collection of prototype programs, mostly just toying around. Among others, a daylight effect, transparency and a weather effect.
- DeadCScrollopen in new window - A detailed tutorial on how to make the screen wobble, among other "raster effects"
Timings
- Nitty Gritty Gameboy Cycle Timingopen in new window
- Mode3 Sprite Timingopen in new window
- GameBoy Color DMA-Transfers v0.0.1open in new window
- STAT interrupt timingsopen in new window
- Video Timingopen in new window
Boilerplates and libraries
- rgbds-templateopen in new window - Basic hello-world example for Game Boy using RGBDS.
- Game Boy Assembly Language Primeropen in new window - Simple template code with memory defines, copy routines and IBM font tilemap.
- bootstrap.gbopen in new window - An example Game Boy project.
- Gameboy Boilerplateopen in new window - Boilerplate project to move quicker into the actual assembly code for your game.
- GingerBreadopen in new window - A software library for making your own Game Boy games. It is made to be used alongside the book Game Boy Assembly Programming for the Modern Game Developeropen in new window which also doubles as documentation.
- gb-vwfopen in new window - Library to print variable-width text, comes with a demo.
- gb-boilerplateopen in new window - A template for starting Game Boy projects, providing a Makefile for infrastructure.
- gb-starter-kitopen in new window - An expansion on the above, including base library code as well to get started faster.
- gb-templateopen in new window - A template with basic functions such as joypad input, DMA transfers, and map/tile data loading.
Syntax highlighting packages
- Atom language package for RGBASMopen in new window - Atom syntax highlighting for RGBDS assembly.
- gbz80-highlightopen in new window - Notepad+- and gedit syntax highlighting files for RGBDS assembly.
- Vim syntax file for the Game Boy assembler RGBASMopen in new window - Vim syntax highlighting for RGBDS assembly.
- Vim syntax file for RGBDSopen in new window - Another Vim syntax highlighting file for RGBDS assembly.
- sublime-rgbdsopen in new window - A Sublime Text 3 package for RGBDS, including syntax highlighting and some completion snippets.
- Z80 Assembly support for Visual Studio Codeopen in new window
- rgbds-vscodeopen in new window - Visual Studio Code language extension for RGBDS GBZ80 Assembly.
- rgbds-modeopen in new window - Emacs major mode for RGBDS assembly.
C
- 8-Bit Wonderlandopen in new window - Well-written introductory document about how the Game Boy works and how to start developing working code for it.
- Grooves Game Boy Programmingopen in new window - A complete set of lessons about implementing various game mechanics in a Game Boy game.
- How to Write a Simple Side Scrolling Gameopen in new window - Old (but still relevant) tutorial.
- Just another simple tutorialopen in new window
- GBDK Tutorialopen in new window - Fairly minimal game demo for getting started with GBDK.
- GBDK Spriteopen in new window - Presents a workflow for getting multiple sprites to display and animate.
- GBDK Coloropen in new window - Extends your knowledge of basic spriting on the Game Boy by adding colors to sprites, backgrounds and the window layer.
- GBDK Joypadopen in new window - Details the use of the joypad with GBDK.
- Game Boy home of Flavoropen in new window - Some full games and sources.
- GBDK Configuring and Programming Tutorialopen in new window - Configuring GBDK, Using Tiles, Colliding Sprites, GBTD, GBMB, Memory Management and ROM Banking.
- Simplified GBDK examplesopen in new window
- GBDK Programming Video Tutorialsopen in new window - A series of video tutorials introducing beginners to programming with GBDK.
Homebrews
Complete and open source games.
- Homebrew Hubopen in new window - Every unofficial homebrew ever produced for Game Boy playable online (mobile/touch too): a community-lead attempt to collect, archive and save every unofficial game, homebrew, demo, patch, hackrom for Game Boy (Color) produced by the community through years of passionate work.
ASM
- Tuffopen in new window
- 2048-gbopen in new window
- Snakeopen in new window
- Lazerpongopen in new window
- Geometrixopen in new window
- µCityopen in new window
- Carazuopen in new window
- Snake-gbopen in new window
- GB303open in new window - GB303 wavetable-based TB-303 style synthesizer for the Nintendo Game Boy.
- Sushiopen in new window
- Flappy-boy-asmopen in new window
- kupmanopen in new window and some other projects.
- Adjustrisopen in new window
- exemanopen in new window
- Aeviliaopen in new window
- GBSlidesopen in new window - A simple Game Boy Powerpoint-like slides viewer.
- Pokered-gbcopen in new window - Pokémon Red remade with full GBC support.
- ToyToyopen in new window
- StefaNopen in new window - Fourway Breakout clone.
- Galaxiaopen in new window
- desgbopen in new window - DES encryption.
- superhappyfunbubbletimeopen in new window
- minesweepGBopen in new window
- Libbet and the Magic Flooropen in new window
- waveform-gbopen in new window - Program visualizing the wave form used by the wave channel. The wave form can be edited freely and playback of the wave is updated immediately.
- vectroid.gbopen in new window - Developed with gbasm.
- PlantBoyopen in new window
- Death Planetopen in new window
- Quartetopen in new window - Puzzle game for the Game Boy (Color) and Super Game Boy.
- Danganopen in new window
C
- FlappyBoyopen in new window
- flappybird-gameboyopen in new window
- fbgbopen in new window
- Novascapeopen in new window
- Squishy the Turtleopen in new window
- Quadratinoopen in new window
- Doctor Howopen in new window
- Super Princess' 2092 Exodusopen in new window - (ZGB engineopen in new window).
- GBsnakeopen in new window
- gb-minesopen in new window
- orangesopen in new window
- red hot princess carnageopen in new window
- loderunneropen in new window
- Hivesopen in new window
- Bubble Factoryopen in new window - *Vanilla- SDCC (no gbdk).
- GBC Atari Boxingopen in new window - Atari 2600 Boxing clone for the Game Boy (Color).
- GB raycaster, Vision-8open in new window - and some other projects.
- Tobu Tobu Girl Deluxeopen in new window - An arcade platformer for the Game Boy (Color).
- Burly Bear vs. The Mean Foxesopen in new window (GBCopen in new window port)
- PostBotopen in new window
- Guns & Ridersopen in new window
- Dino's Offline Adventureopen in new window - A clone of the Google Chrome offline game.
- dino-gbopen in new window - Another clone of the Chrome game.
- Evoland.gbopen in new window - A port of the first level of Evoland.
- Petrisopen in new window - A puzzle game of shapely pets for the Game Boy Color (itch.ioopen in new window).
- Infinityopen in new window - RPG developed by Affinix Software primarily between the years 1999 and 2001. The game never found a publisher and was eventually canceled. Got recently released with the full source, development tools and workflows.
- Black Castleopen in new window - Side scrolling platformer for the Game Boy (itch.ioopen in new window).
- Genesisopen in new window - Shmup for the Game Boy (itch.ioopen in new window).
- Indestructo Tank!open in new window
- Super JetPak DXopen in new window
- Powa!open in new window - Side scrolling platformer for the Game Boy (Color) (ZGB engineopen in new window).
- Cavernopen in new window - (ZGB engineopen in new window).
- Mona and the Witch's Hat Deluxeopen in new window - (ZGB engineopen in new window).
- The Bouncing Ballopen in new window
- DMG Deals Damageopen in new window
GB Studio
- Soul Voidopen in new window - Interactive horror fiction.
- Deadeusopen in new window
- SUPER IMPOSTOR BROS.open in new window
Demos
- Back to Coloropen in new window
- beach-gbcopen in new window
- CUTE DEMOopen in new window
10 PRINT
Game Boyopen in new window- Roboto Demoopen in new window
- matrix-rain-gbopen in new window - A Matrix digital rain effect in assembler.
- GBVideoPlayeropen in new window - A technical demo demonstrating how the Game Boy LCD controller can be hacked to make a Game Boy Color play a full motion video in color, together with music.
- GBVideoPlayer2open in new window - The second iteration of the above demo, which increases the resolution, adds stereo- PCM audio, and introduces video compression.
Reverse Engineering
- Reverse engineering Kirby's Dreamland 2open in new window
- pokemontoolsopen in new window - a python module that provides various reverse engineering components for various Pokémon games.
- Reverse Engineering a Gameboy ROM with radare2open in new window - A walkthrough to reverse engineer a Game Boy ROM challenge using radare2.
- Disassembling Link's Awakeningopen in new window - A series of blog posts about disassembling Link's Awakening DX.
- Reverse Engineering the GameBoy Tetrisopen in new window
- DMA hijackingopen in new window - A simple technique that allows you to run custom code in most GB/SGB/CGB games, provided you have an ACE exploit.
Game Disassemblies
- Pokémon Red/Blueopen in new window
- Pokémon Crystalopen in new window
- Pokémon Yellowopen in new window
- Pokémon Gold and Silveropen in new window
- Pokémon Pinballopen in new window
- Pokémon TCGopen in new window
- pokegold-spaceworldopen in new window - Pokémon Gold and Silver 1997 Space World demo.
- Link's Awakening DXopen in new window
- Oracle of Agesopen in new window
- Tetrisopen in new window - Complete Tetris disassembly.
- FX Hammeropen in new window
- Harvest Moon 3open in new window
Game Boy Camera
Retrieving images
Game Boy Printer emulation (e.g. to retrieve images from the camera):
- Arduino Gameboy Printer Emulatoropen in new window - Emulate a gameboy printer via the gameboy link cable.
- ESP8266 Game Boy Printeropen in new window - A device that emulates the Gameboy Printer and lets you retrieve images using WiFi powered by an ESP8266.
- WiFi GBP Emulatoropen in new window - A GameBoy printer emulator which provides the received data over a WiFi connection.
- Game Boy WiFi Printer - D1 Mini Shieldopen in new window - Game Boy Printer interface shield for D1 mini/mini Pro ESP8266 boards.
- Game Boy Printer Snifferopen in new window - Sniff packet communications between a Game Boy and the Printer.
Changing the camera's behavior
Methods to improve and/or manipulate the camera's quality and behavior:
- Game Boy Camera Canon EF Lens Mountopen in new window
- Game Boy Camera to Canon Lens mountopen in new window - based on the above.
- game-boy-camera-frame-replaceropen in new window - Manipulate the ROM of a camera to include custom frames
Post processing
- Game Boy Printer Paper Simulationopen in new window - Generate as-if-printed images of digital printed images.
- Game Boy Printer Webopen in new window - Gallery app for to the Game Boy camera: import pictures from exports or cartridge dumps and choose color palettes.
Related projects
- GB Studioopen in new window - Drag and drop game creator with simple, no knowledge required, visual scripting.
- ArduinoBoyopen in new window - Serial communication (MIDI) from an Arduino to the Game Boy for music applications such as LittleSoundDJ, Nanoloop, and mGB.
- papiGBopen in new window - Game Boy Classic fully functional FPGA implementation from scratch.
- fpgaboyopen in new window - Implementation Nintendo's Game Boy console on an FPGA.
- Pigletopen in new window - A LUA-driven AI that plays classic Game Boy color games using experimentation. In active development.
- Ostrichopen in new window - A Game Boy Sound System player written in Swift.
- mGBopen in new window - A Game Boy cartridge program that enables the Game Boy to act as a full MIDI supported sound module.
- GBVisualizeropen in new window - Demonstrating the use of two undocumented Game Boy Color registers, nicknamed PCM12 (FF76) and PCM34 (FF77), which can be used to read the current PCM amplitude of the 4 APU channels.
- ArduinoGameBoyopen in new window - Arduino based Game Boy cartridge reader and writer.
- gameboy-brainfuckopen in new window - Brainf*ck interpreter.
- gbfkopen in new window - Brainf*ck interpreter, with input.
- gb-save-statesopen in new window - Patches to add save state support to Game Boy games when playing on the original hardware.
- gbcpuopen in new window - A CPU and peripherals implementing the Game Boy instruction set and functionality.
- Digitized Speech in Game Boy Gamesopen in new window
- Sniffing Game Boy serial traffic with an STM32F4open in new window
- Virtual Game Boy Printer with an STM32F4open in new window
- Printing on the Game Boy Printer using an STM32F4open in new window
- Programming Game Boy Chinese cartridges with an STM32F4open in new window
- Pokemon Pocket Computer:open in new window - What is it and how to use it to make cheat codes.
- Booting the Game Boy with a custom logoopen in new window - Bypassing the Nintendo logo check.
- Making a Game Boy game in 2017: A "Sheep It Up!" Post-Mortem (part 1open in new window, part 2open in new window)
- Nintendo's fake logosopen in new window - 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.
- liblsdjopen in new window - Utility library for interacting with the LSDj save format (.sav), song files (.lsdsng) and more.
- lsdpatchopen in new window - Tool for modifying samples, fonts and palettes on LSDj ROM images.
- Game Boy video effectsopen in new window - Some little experiments using the STAT interrupt to do funny video manipulations.
- gbosopen in new window - A basic operating system for the Game Boy.
- Work Master OSopen in new window - Russian multi tasking operating system.
- Game Boy Link Cable Breakout Boardopen in new window
- GBCartFlasher firmwareopen in new window
- VerilogBoyopen in new window - Game Boy compatible console Verilog RTL implementation.
- GBCamcorderopen in new window - Lo-Fi portable video recorder using a GameBoy Camera cartridge.
- GBCartReadopen in new window - Read ROM, Read RAM or Write RAM from/to a GameBoy Cartridge.
- GBxCart-RWopen in new window - A device for reading game ROMs, save games and restoring saves for GB, GBC and GBA carts from your PC via USB.
- Dumping the Super Game Boy Boot ROMopen in new window
Directories
- Archive of related filesopen in new window
- The Game Boy Archiveopen in new window - A library of Game Boy related software, hardware and literature. Aimed to mirror and preserve old and fragmented contributions from the last three decades.
- The Game Boy Archive - Salvageopen in new window - Historical archive of software, old articles, FAQs and various documents.
Websites
- devrs.com/gbopen in new window - Old home of the scene: examples, sources, complete documentation, guides, tutorials and various tools.
- pdroms.deopen in new window - Game Boy releases.
- Handheld Undergroundopen in new window - Unlicensed games, blog posts about Game Boy, home of the hhugboy emulator.