Update and add index

This commit is contained in:
Jonas Zeunert
2024-04-23 15:17:38 +02:00
parent 4d0cd768f7
commit 8d4db5d359
726 changed files with 41721 additions and 53949 deletions

View File

@@ -1,11 +1,9 @@
 !GameboyIcon (http://i.imgur.com/ROUq7NT.gif) Awesome Game Boy Development
 !GameboyIcon (http://i.imgur.com/ROUq7NT.gif) Awesome Game Boy Development
Join us on Discord (https://gbdev.io/chat.html) !Discord Badge 
(https://img.shields.io/badge/dynamic/json.svg?label=chat&colorB=green&suffix=%20online&query=presence_count&uri=https://discordapp.com/api/guilds/303217943234215948/widget.json) 
(https://discord.gg/tKGMPNr)
(https://img.shields.io/badge/dynamic/json.svg?label=chat&colorB=green&suffix=%20online&query=presence_count&uri=https://discordapp.com/api/guilds/303217943234215948/widget.json) (https://discord.gg/tKGMPNr)
A curated list of awesome Game Boy (Color) Development resources, tools, docs, related projects and open-source ROMs. Inspired by the awesome (https://github.com/sindresorhus/awesome) list 
thing.
A curated list of awesome Game Boy (Color) Development resources, tools, docs, related projects and open-source ROMs. Inspired by the awesome (https://github.com/sindresorhus/awesome) list thing.
You can find a (way cooler) web version of this list here (https://gbdev.github.io/resources).
@@ -76,16 +74,15 @@
▐ 
▐ #### Game Boy Color and Super Game Boy
▐ 
▐ This list is focused on the original Game Boy (GB or DMG, 1989), the Game Boy Color (GBC or CGB) and the Super Game Boy (SGB) are very similar systems, with a few important distinctions, 
▐ such as:
▐ This list is focused on the original Game Boy (GB or DMG, 1989), the Game Boy Color (GBC or CGB) and the 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 (#game-boy-color) category and look for specific references to GBC/CGB and SGB.
>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 (#game-boy-color) category and look for 
specific references to GBC/CGB and SGB.
Community
@@ -99,8 +96,8 @@
- The Cycle-Accurate Game Boy Docs (https://github.com/AntonioND/giibiiadvance/blob/master/docs/TCAGBD.pdf) - A precise documentation by AntonioND to make a cycle-accurate Game Boy emulator.
- Complete Technical Reference (https://gekkio.fi/files/gb-docs/gbctr.pdf) - by Gekkio.
- Game Boy Architecture: A Practical Analysis (https://www.copetti.org/writings/consoles/game-boy/) - by Rodrigo Copetti.
- Game Boy Project Report (http://www.cs.columbia.edu/~sedwards/classes/2019/4840-spring/reports/GameBoy.pdf) - 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.
- Game Boy Project Report (http://www.cs.columbia.edu/~sedwards/classes/2019/4840-spring/reports/GameBoy.pdf) - 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.
Opcodes
@@ -118,16 +115,14 @@
Hardware
- DMG Schematics (http://gbdev.gg8.se/wiki/articles/DMG_Schematics) - Hardware schematics.
- The Game Boy Project (http://marc.rawer.de/Gameboy/Docs/GBProject.pdf) - Provides a study on the hardware and detailed constructional information for the implementation of three 8-bit 
bidirectional parallel ports.
- The Game Boy Project (http://marc.rawer.de/Gameboy/Docs/GBProject.pdf) - Provides a study on the hardware and detailed constructional information for the implementation of three 8-bit bidirectional parallel ports.
- Related custom hardware (https://github.com/Gekkio/gb-hardware) - by Gekkio.
- ESP8266 GB Dev Board (https://github.com/applefreak/esp8266-gameboy-dev-board) - Dev board for Game Boy accessories development, powered by ESP8266.
- ESP8266 GB Printer (https://github.com/applefreak/esp8266-gameboy-printer) - A device that emulates the GB Printer and lets you retrieve images using WiFi.
- fruttenboel (https://web.archive.org/web/20220628023315/https://verhoeven272.nl/fruttenboel/Gameboy/index.html) - Page with loads of information on the hardware, custom boards to interface 
with the console and other related projects.
- fruttenboel (https://web.archive.org/web/20220628023315/https://verhoeven272.nl/fruttenboel/Gameboy/index.html) - Page with loads of information on the hardware, custom boards to interface with the console and other related projects.
- Game Boy hardware database (https://gbhwdb.gekkio.fi/) - Data and photos of various types of Game Boy consoles.
- dmg-schematics (https://github.com/msinger/dmg-schematics) - Schematics and annotated overlay for the DMG-CPU B chip, extracted from die photos, made with KiCad. Also contains Electric VLSI
library with layouts for some of the cells and memories.
- dmg-schematics (https://github.com/msinger/dmg-schematics) - Schematics and annotated overlay for the DMG-CPU B chip, extracted from die photos, made with KiCad. Also contains Electric VLSI library with layouts for some of the cells 
and memories.
Peripherals
@@ -145,8 +140,7 @@
- DMG-07 Technical Documentation (https://raw.githubusercontent.com/shonumi/gbe-plus/master/src/docs/technical/DMG_07.txt)
- Game Boy Camera RE (https://github.com/AntonioND/gbcam-rev-engineer) - Documentation about GB Camera and tools used to reverse engineer it by using Arduino.
- Creating photo realistic images with neural networks and a Gameboy Camera (http://www.pinchofintelligence.com/photorealistic-neural-network-gameboy/)
- The Game Boy Printer (https://shonumi.github.io/articles/art2.html) - An in-depth technical document about the printer hardware, the communication protocol and the usual routine that games 
used for implementing the print feature.
- The Game Boy Printer (https://shonumi.github.io/articles/art2.html) - 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 Printer (https://www.youtube.com/watch?v=43FfJvd-YP4) (Errata: the used thermal paper is expired, 4 colors are actually printable).
- Arduino Game Boy Printer Emulator (https://github.com/mofosyne/arduino-gameboy-printer-emulator) - Emulating a Game Boy Printer via the Game Boy Link cable with an Arduino.
- Mobile Game Boy Adapter (https://bulbapedia.bulbagarden.net/wiki/Mobile_Game_Boy_Adapter)
@@ -180,8 +174,7 @@
- Homebrew-Gameboy-Cartridge (https://github.com/dwaq/Homebrew-Gameboy-Cartridge) - Eagle library, schematic, and board files for a cartridge PCB using an Atmel AT49F040 as ROM.
- Homebrew Gameboy Color Cartridge (https://github.com/Xyl2k/Gameboy-Color-Cartridge) - Board layout for an EEPROM powered cartridge.
- Nekocart (https://github.com/zephray/NekoCart-GB) - Open-source flash cartridge using an Xilinx CPLD as MBC5 (Post (https://hackaday.io/project/41160-nekocart-cpld-gameboy-cartridge)).
- Reiner Ziegler's Game Boy page (http://reinerziegler.de.mirrors.gg8.se/) - Commercial and homemade programmable cartridges and programming systems. Tutorials, wiring and schematics 
provided.
- Reiner Ziegler's Game Boy page (http://reinerziegler.de.mirrors.gg8.se/) - Commercial and homemade programmable cartridges and programming systems. Tutorials, wiring and schematics provided.
- Gameboy-MBC5-MBC1-Hybrid (https://github.com/insidegadgets/Gameboy-MBC5-MBC1-Hybrid) - CPLD implementation of a MBC5/MBC1 Hybrid cartridge.
Misc
@@ -207,16 +200,14 @@
- Codeslinger (http://www.codeslinger.co.uk/pages/projects/gameboy.html) - Another series of posts documenting the building of an emulator.
- Why did I spend 1.5 months creating a Gameboy emulator? (http://blog.rekawek.eu/2017/02/09/coffee-gb/) - Blog post.
- binjgb rewind (https://binji.github.io/2017/12/31/binjgb-rewind.html) - Implementing a rewind- feature.
- binjgb on the web (https://binji.github.io/2017/02/26/binjgb-on-the-web-part-1.html) - 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 on the web (https://binji.github.io/2017/02/26/binjgb-on-the-web-part-1.html) - 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 (https://binji.github.io/2017/05/03/debugging-hangs.html) - Investigations on emulations quirks.
- Decoding Gameboy Z80 opcodes (https://gb-archive.github.io/salvage/decoding_gbz80_opcodes/Decoding%20Gamboy%20Z80%20Opcodes.html) - How to algorithmically decode Game Boy instructions (as 
opposed to writing one huge switch-case statement).
- Decoding Gameboy Z80 opcodes (https://gb-archive.github.io/salvage/decoding_gbz80_opcodes/Decoding%20Gamboy%20Z80%20Opcodes.html) - How to algorithmically decode Game Boy instructions (as opposed to writing one huge switch-case 
statement).
- Porting a GO Game Boy emulator to WebAssembly (https://djhworld.github.io/post/2018/09/21/i-ported-my-gameboy-color-emulator-to-webassembly/)
- About swotGB (https://mitxela.com/projects/swotgb/about) - Notes about the development of a Game Boy emulator in JavaScript.
- List of open source emulators (EMULATORS.md)
- Game Boy Doctor (https://github.com/robert/gameboy-doctor) - A command line tool for comparing logs from your emulator to those from a known-correct one. Useful for line-by-line debugging 
of Blargg's test ROMs.
- Game Boy Doctor (https://github.com/robert/gameboy-doctor) - A command line tool for comparing logs from your emulator to those from a known-correct one. Useful for line-by-line debugging of Blargg's test ROMs.
Testing
@@ -242,13 +233,12 @@
Compilers
- GBDK (https://github.com/gbdk-2020/gbdk-2020/) - 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. 
- GBDK (https://github.com/gbdk-2020/gbdk-2020/) - 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. 
 - API docs: Getting Started (https://gbdk-2020.github.io/gbdk-2020/docs/api/docs_getting_started.html)
 - Examples (https://github.com/mrombout/gbdk_playground)
 - Documentation, links and tools (https://gbdk-2020.github.io/gbdk-2020/docs/api/docs_links_and_tools.html)
- Turbo Rascal Syntax Error (https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/) - 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.
- Turbo Rascal Syntax Error (https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/) - 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
@@ -259,8 +249,7 @@
- gbasm (https://github.com/BonsaiDen/gbasm) - A JavaScript based compiler for Game Boy z80 assembly code.
- tniASM (http://www.tni.nl/products/tniasm.html) - Macro Assembler.
- Assembler (https://github.com/ulrikdamm/Assembler) - Assembler written in Swift.
- llvm-gbz80 (https://github.com/Bevinsky/llvm-gbz80) / clang-gbz80 (https://github.com/Bevinsky/clang-gbz80) - Clang/LLVM port to the GBZ80 CPU (similar to the deprecated euclio/llvm-gbz80 
(https://github.com/euclio/llvm-gbz80)).
- llvm-gbz80 (https://github.com/Bevinsky/llvm-gbz80) / clang-gbz80 (https://github.com/Bevinsky/clang-gbz80) - Clang/LLVM port to the GBZ80 CPU (similar to the deprecated euclio/llvm-gbz80 (https://github.com/euclio/llvm-gbz80)).
- gbdk-go (https://github.com/pokemium/gbdk-go) - A compiler translates Go programs to C code. The output C code is built into GB ROM by GBDK.
Emulators
@@ -273,8 +262,8 @@
- Gambatte (https://github.com/gb-archive/gambatte) - Cross-platform and accurate emulator.
- MetroBoy (https://github.com/aappleby/MetroBoy) - A playable, circuit-level simulation of an entire Game Boy.
- gbe-plus (https://github.com/shonumi/gbe-plus) - 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, ... )
- gbe-plus (https://github.com/shonumi/gbe-plus) - 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, ... )
- Emulicious (https://emulicious.net/) - 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).
@@ -284,16 +273,14 @@
Engines
- ZGB (https://github.com/Zal0/ZGB) - A little engine for creating games for the original Game Boy (expands gbdk, more info here 
(http://zalods.blogspot.com/2017/01/zgb-little-engine-for-game-boy.html)).
- ZGB (https://github.com/Zal0/ZGB) - A little engine for creating games for the original Game Boy (expands gbdk, more info here (http://zalods.blogspot.com/2017/01/zgb-little-engine-for-game-boy.html)).
- Retr0 GB (https://bitbucket.org/HellSuffering/retr0-gb/) - An engine for creating games (expands GBDK).
Development tools
- GBExtended (https://www.tensi.eu/thomas/programming/utilities/gbx_library/gbx_library.html) - C library extending gbdk.
- gbdk-lib-extension (https://github.com/ProGM/gbdk-lib-extension) - A small set of sources and tools for the Game Boy Development Kit by Michael Hope.
- Dot Matrix Game Editor (http://www.dotmatrixgame.com/) - 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.
- Dot Matrix Game Editor (http://www.dotmatrixgame.com/) - 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.
- mgbdis (https://github.com/mattcurrie/mgbdis) - Game Boy ROM disassembler with RGBDS compatible output.
- ROM Header Utility (http://catskull.net/GB-Logo-Generator/) - An online tool to inspect and modify a ROM's header data, including the logo.
- romusage (https://github.com/bbbbbr/romusage) - 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.
@@ -305,11 +292,9 @@
Graphics utilities
- Game Boy Tile Data Generator (https://github.com/chrisantonellis/gbtdg) - HTML5 / JS web application that will convert bitmap images to hexadecimal data appropriate for use in tile based 
graphical applications, specifically GB.
- Game Boy Tile Data Generator (https://github.com/chrisantonellis/gbtdg) - 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 Development (http://www.devrs.com/gb/hmgd/intro.html) - Some sources and home of Game Boy Tile Designer (GBTD) and Game Boy Map Builder (GBMB) tools.
- GBTiles (https://github.com/bashaus/gbtiles) - 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.
- GBTiles (https://github.com/bashaus/gbtiles) - 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.
- bmp2cgb (https://github.com/gitendo/bmp2cgb) - Graphics converter for Game Boy Color development providing real time palette adjustments.
- png2gb (https://github.com/LuckyLights/png2gb) - CLI tool to convert image file to game boy .c array.
- GB-convert (https://github.com/exezin/gb-convert) - Game Boy tile conversion and map editor tool (converts to assembly).
@@ -320,8 +305,7 @@
- Tilemap GB (https://github.com/bbbbbr/gimp-tilemap-gb) - GIMP image editor plug-in for importing & exporting GBMB and GBTD tilemaps and tilesets (as bitmap images or .GBM/.GBR files).
- Tilemap Helper (https://github.com/bbbbbr/gimp-tilemap-helper) - GIMP image editor plug-in for optimizing tile maps and tile sets.
- Tilemap Studio (https://github.com/Rangi42/tilemap-studio) - A tilemap editor for Game Boy, Color, Advance, and SNES projects. Written in C++ with FLTK. 
- Superfamiconv (https://github.com/Optiroc/SuperFamiconv) - Flexible and composable tile graphics converter supporting Super Nintendo, Game Boy, Game Boy Color, Game Boy Advance, Mega Drive 
and PC Engine formats.
- Superfamiconv (https://github.com/Optiroc/SuperFamiconv) - 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
@@ -350,13 +334,12 @@
- gb asm tutorial (https://eldred.fr/gb-asm-tutorial) - Step by step tutorial, building several ROMs to accompany its explanations.
- hardware.inc (https://github.com/tobiasvl/hardware.inc) - Standard include file containing Game Boy hardware definitions for use in RGBDS projects.
- Assembly tutorial by David Pello (https://gb-archive.github.io/salvage/tutorial_de_ensamblador/tutorial_de_ensamblador_la_decadence.html) - Good document to learn to produce working asm 
code for gb. Brief explanations of many important topics. Many examples with commented source code.
- Assembly tutorial by David Pello (https://gb-archive.github.io/salvage/tutorial_de_ensamblador/tutorial_de_ensamblador_la_decadence.html) - Good document to learn to produce working asm code for gb. Brief explanations of many 
important topics. Many examples with commented source code.
- assemblydigest (https://github.com/assemblydigest/gameboy) - Exploring Game Boy programming techniques:
 - Making an Empty Game Boy ROM (in Wiz) (http://assemblydigest.tumblr.com/post/77203696711/tutorial-making-an-empty-game-boy-rom-in-wiz)
 - Making Art for the Game Boy (http://assemblydigest.tumblr.com/post/77404621743/tutorial-making-art-for-the-game-boy)
- Beginner's Guide to Reverse Engineering GB (http://web.archive.org/web/20150511145100/http://www.bennvenn.com/Beginners_Guide_To_Reverse_Engineering.htm) - Some starting tips on 
disassembling and reverse engineering.
- Beginner's Guide to Reverse Engineering GB (http://web.archive.org/web/20150511145100/http://www.bennvenn.com/Beginners_Guide_To_Reverse_Engineering.htm) - Some starting tips on disassembling and reverse engineering.
- FlappyBoy: Making a simple Game Boy Game (http://voidptr.io/blog/2017/01/21/GameBoy.html)
- Super Game Boy development (https://imanoleasgames.blogspot.no/2016/12/games-aside-1-super-game-boy.html) - Step by step tutorial to implement Super Game Boy features (frame and palettes).
- GameBoy programming tutorial: Hello World! (https://peterwynroberts.wordpress.com/2014/05/11/gameboy-programming-tutorial-hello-world/) - Step by step tutorial.
@@ -369,8 +352,7 @@
Fragments of code, effects, proof of concepts and generally non complete games.
- dev'rs ASM section (http://www.devrs.com/gb/asmcode.php) - A lot of working demos and sources.
- EmmaEwert's experiments (https://github.com/EmmaEwert/gameboy) - A collection of prototype programs, mostly just toying around. Among others, a daylight effect, transparency and a weather 
effect.
- EmmaEwert's experiments (https://github.com/EmmaEwert/gameboy) - A collection of prototype programs, mostly just toying around. Among others, a daylight effect, transparency and a weather effect.
- DeadCScroll (https://github.com/gb-archive/DeadCScroll) - A detailed tutorial on how to make the screen wobble, among other "raster effects"
Timings
@@ -387,8 +369,8 @@
- Game Boy Assembly Language Primer (http://www.devrs.com/gb/files/galp.zip) - Simple template code with memory defines, copy routines and IBM font tilemap.
- bootstrap.gb (https://github.com/yenatch/bootstrap.gb) - An example Game Boy project.
- Gameboy Boilerplate (https://github.com/junebug12851/GameboyBoilerplateProj) - Boilerplate project to move quicker into the actual assembly code for your game.
- GingerBread (https://github.com/ahrnbom/gingerbread) - 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 Developer (https://github.com/ahrnbom/gbapfomgd) which also doubles as documentation.
- GingerBread (https://github.com/ahrnbom/gingerbread) - 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 Developer 
(https://github.com/ahrnbom/gbapfomgd) which also doubles as documentation.
- gb-vwf (https://github.com/ISSOtm/gb-vwf) - Library to print variable-width text, comes with a demo.
- gb-boilerplate (https://github.com/ISSOtm/gb-boilerplate) - A template for starting Game Boy projects, providing a Makefile for infrastructure.
- gb-starter-kit (https://github.com/ISSOtm/gb-starter-kit) - An expansion on the above, including base library code as well to get started faster.
@@ -406,8 +388,7 @@
C
- 8-Bit Wonderland (https://github.com/gb-archive/salvage/blob/master/misc/8bit_wonderland.pdf) - Well-written introductory document about how the Game Boy works and how to start developing 
working code for it.
- 8-Bit Wonderland (https://github.com/gb-archive/salvage/blob/master/misc/8bit_wonderland.pdf) - Well-written introductory document about how the Game Boy works and how to start developing working code for it.
- Grooves Game Boy Programming (https://github.com/gbdk-salvage/grooves-game-boy-programming) - A complete set of lessons about implementing various game mechanics in a Game Boy game.
- How to Write a Simple Side Scrolling Game (http://pastebin.com/F3tHLj68) - Old (but still relevant) tutorial.
- Just another simple tutorial (http://pastebin.com/gzT47MPJ)
@@ -416,8 +397,8 @@
- GBDK Color (http://gbdev.gg8.se/wiki/articles/GBDK_Color_Tutorial) - Extends your knowledge of basic spriting on the Game Boy by adding colors to sprites, backgrounds and the window layer.
- GBDK Joypad (http://gbdev.gg8.se/wiki/articles/GBDK_Joypad_Tutorial) - Details the use of the joypad with GBDK.
- Game Boy home of Flavor (https://web.archive.org/web/20210427064949/www.personal.triticom.com/~erm/GameBoy/) - Some full games and sources.
- GBDK Configuring and Programming Tutorial (https://videlais.com/2016/07/03/programming-game-boy-games-using-gbdk-part-1-configuring-programming-and-compiling/) - Configuring GBDK, Using 
Tiles, Colliding Sprites, GBTD, GBMB, Memory Management and ROM Banking.
- GBDK Configuring and Programming Tutorial (https://videlais.com/2016/07/03/programming-game-boy-games-using-gbdk-part-1-configuring-programming-and-compiling/) - Configuring GBDK, Using Tiles, Colliding Sprites, GBTD, GBMB, Memory 
Management and ROM Banking.
- Simplified GBDK examples (https://github.com/mrombout/gbdk_playground)
- GBDK Programming Video Tutorials (https://www.youtube.com/playlist?list=PLeEj4c2zF7PaFv5MPYhNAkBGrkx4iPGJo) - A series of video tutorials introducing beginners to programming with GBDK.
- Larold's Jubilant Junkyard (https://laroldsjubilantjunkyard.com/tutorials/) - A collection of detailed GBDK-2020 based tutorials.
@@ -454,8 +435,7 @@
- superhappyfunbubbletime (https://github.com/l0k1/superhappyfunbubbletime)
- minesweepGB (https://github.com/lancekindle/minesweepGB)
- Libbet and the Magic Floor (https://github.com/pinobatch/libbet)
- waveform-gb (https://github.com/dannye/waveform-gb) - 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.
- waveform-gb (https://github.com/dannye/waveform-gb) - 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.gb (https://gitlab.com/BonsaiDen/vectroid.gb) - Developed with gbasm.
- PlantBoy (https://github.com/gb-archive/plantboy)
- Death Planet (https://makrill.itch.io/death-planet)
@@ -489,8 +469,8 @@
- dino-gb (https://github.com/rnegron/dino-gb) - Another clone of the Chrome game.
- Evoland.gb (https://github.com/flozz/evoland.gb) - A port of the first level of Evoland.
- Petris (https://github.com/bbbbbr/Petris) - A puzzle game of shapely pets for the Game Boy Color (itch.io (https://bbbbbr.itch.io/petris)).
- Infinity (https://github.com/gb-archive/infinity-gbc) - 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.
- Infinity (https://github.com/gb-archive/infinity-gbc) - 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 Castle (https://gbdev.gg8.se/forums/viewtopic.php?id=743) - Side scrolling platformer for the Game Boy (itch.io (https://user0x7f.itch.io/black-castle)).
- Genesis (https://gbdev.gg8.se/forums/viewtopic.php?id=674) - Shmup for the Game Boy (itch.io (https://user0x7f.itch.io/genesis)).
- Indestructo Tank! (https://antonylavelle.itch.io/indestructotank-gb)
@@ -515,16 +495,14 @@
- 10 PRINT Game Boy (https://github.com/svendahlstrand/10-print-game-boy)
- Roboto Demo (https://github.com/naavis/roboto-demo)
- matrix-rain-gb (https://github.com/wtjones/matrix-rain-gb) - A Matrix digital rain effect in assembler.
- GBVideoPlayer (https://github.com/LIJI32/GBVideoPlayer) - 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.
- GBVideoPlayer (https://github.com/LIJI32/GBVideoPlayer) - 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.
- GBVideoPlayer2 (https://github.com/LIJI32/GBVideoPlayer2) - 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 2 (http://ecc-comp.blogspot.it/2016/03/reverse-engineering-kirbys-dreamland-2.html)
- pokemontools (https://github.com/pret/pokemon-reverse-engineering-tools) - a python module that provides various reverse engineering components for various Pokémon games.
- Reverse Engineering a Gameboy ROM with radare2 (https://www.megabeets.net/reverse-engineering-a-gameboy-rom-with-radare2) - A walkthrough to reverse engineer a Game Boy ROM challenge using 
radare2.
- Reverse Engineering a Gameboy ROM with radare2 (https://www.megabeets.net/reverse-engineering-a-gameboy-rom-with-radare2) - A walkthrough to reverse engineer a Game Boy ROM challenge using radare2.
- Disassembling Link's Awakening (http://kemenaran.winosx.com/posts/category-disassembling-links-awakening/) - A series of blog posts about disassembling Link's Awakening DX.
- Reverse Engineering the GameBoy Tetris (https://github.com/h3nnn4n/Reverse-Engineering-the-GameBoy-Tetris)
- DMA hijacking (https://gbdev.io/guides/dma_hijacking) - A simple technique that allows you to run custom code in most GB/SGB/CGB games, provided you have an ACE exploit.
@@ -581,8 +559,8 @@
- Piglet (https://github.com/danShumway/Piglet) - A LUA-driven AI that plays classic Game Boy color games using experimentation. In active development.
- Ostrich (https://github.com/PumpMagic/ostrich) - A Game Boy Sound System player written in Swift.
- mGB (https://github.com/trash80/mGB) - A Game Boy cartridge program that enables the Game Boy to act as a full MIDI supported sound module.
- GBVisualizer (https://github.com/LIJI32/GBVisualizer) - 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.
- GBVisualizer (https://github.com/LIJI32/GBVisualizer) - 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.
- ArduinoGameBoy (https://github.com/drhelius/arduinogameboy) - Arduino based Game Boy cartridge reader and writer.
- gameboy-brainfuck (https://github.com/bitnenfer/gameboy-brainfuck) - Brainfck interpreter.
- gbfk (https://github.com/elseyf/gbfk) - Brainfck interpreter, with input.
@@ -595,16 +573,13 @@
- Programming Game Boy Chinese cartridges with an STM32F4 (https://dhole.github.io/post/gameboy_cartridge_rw_1/)
- Pokemon Pocket Computer: (https://tilde.town/~minerobber/techwriteups/pokemonpc.html) - What is it and how to use it to make cheat codes.
- Booting the Game Boy with a custom logo (https://dhole.github.io/post/gameboy_custom_logo/) - Bypassing the Nintendo logo check.
- Making a Game Boy game in 2017: A "Sheep It Up!" Post-Mortem (part 1 (https://www.gamasutra.com/blogs/DoctorLudos/20171207/311143/), part 2 
(https://www.gamasutra.com/blogs/DoctorLudos/20180213/314554/))
- Nintendo's fake logos (http://fuji.drillspirits.net/?post=87) - 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.
- Making a Game Boy game in 2017: A "Sheep It Up!" Post-Mortem (part 1 (https://www.gamasutra.com/blogs/DoctorLudos/20171207/311143/), part 2 (https://www.gamasutra.com/blogs/DoctorLudos/20180213/314554/))
- Nintendo's fake logos (http://fuji.drillspirits.net/?post=87) - 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.
- liblsdj (https://github.com/stijnfrishert/liblsdj) - Utility library for interacting with the LSDj save format (.sav), song files (.lsdsng) and more.
- lsdpatch (https://github.com/jkotlinski/lsdpatch) - Tool for modifying samples, fonts and palettes on LSDj ROM images.
- Game Boy video effects (https://github.com/ChaosCabbage/crazy-gameboy-video-experiments) - Some little experiments using the STAT interrupt to do funny video manipulations.
- gbos (https://github.com/ekimekim/gbos) - A basic operating system for the Game Boy.
- Work Master OS (https://translate.google.com/translate?hl=&sl=ru&tl=en&u=https%3A%2F%2Fweb.archive.org%2Fweb%2F20081226145726%2Fhttp%3A%2F%2Fworkmaster.ru%2Findex.php%3Fp%3D8&sandbox=1) - 
Russian multi tasking operating system.
- Work Master OS (https://translate.google.com/translate?hl=&sl=ru&tl=en&u=https%3A%2F%2Fweb.archive.org%2Fweb%2F20081226145726%2Fhttp%3A%2F%2Fworkmaster.ru%2Findex.php%3Fp%3D8&sandbox=1) - Russian multi tasking operating system.
- Game Boy Link Cable Breakout Board (https://github.com/Palmr/gb-link-cable)
- GBCartFlasher firmware (https://github.com/Tauwasser/GBCartFlasher)
- VerilogBoy (https://github.com/zephray/VerilogBoy/) - Game Boy compatible console Verilog RTL implementation.
@@ -616,8 +591,7 @@
Directories
- Archive of related files (http://gbdev.gg8.se/files/)
- The Game Boy Archive (https://github.com/gb-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.
- The Game Boy Archive (https://github.com/gb-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.
- The Game Boy Archive - Salvage (https://github.com/gb-archive/salvage) - Historical archive of software, old articles, FAQs and various documents.
Websites
@@ -640,11 +614,9 @@
Acknowledgements
Thanks to every (https://github.com/avivace/awesome-gbdev/graphs/contributors) contributor of this project, Jeff Frohwein, Pascal Felber, KOOPa, Pan of Anthrox, GABY, Marat Fayzullin, Paul 
Robson, BOWSER, neviksti, Martin "nocash" Korth, Nitro2k01, Duo, Chris Antonellis, Michael Hope, Beware, Jonathan “Lord Nightmare” Gevaryahu, Carsten Sorense, Sindre Aamås, Otaku No Zoku, 
GeeBee.
Thanks to every (https://github.com/avivace/awesome-gbdev/graphs/contributors) contributor of this project, Jeff Frohwein, Pascal Felber, KOOPa, Pan of Anthrox, GABY, Marat Fayzullin, Paul Robson, BOWSER, neviksti, Martin "nocash" 
Korth, Nitro2k01, Duo, Chris Antonellis, Michael Hope, Beware, Jonathan “Lord Nightmare” Gevaryahu, Carsten Sorense, Sindre Aamås, Otaku No Zoku, GeeBee.
Sponsors
Special thanks to our friends at DigitalOcean (https://www.digitalocean.com/) and Incube8 Games (https://incube8games.com/), sponsoring the open source activites of our Game Boy Development 
community.
Special thanks to our friends at DigitalOcean (https://www.digitalocean.com/) and Incube8 Games (https://incube8games.com/), sponsoring the open source activites of our Game Boy Development community.