update lists

This commit is contained in:
2025-07-18 22:22:32 +02:00
parent 55bed3b4a1
commit 5916c5c074
3078 changed files with 331679 additions and 357255 deletions

View File

@@ -1,7 +1,7 @@
 !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)
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)
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.
@@ -81,8 +81,8 @@
>- 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
@@ -96,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
@@ -121,14 +121,14 @@
- 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.
- 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
- Dan Docs (https://shonumi.github.io/dandocs.html) - Obscure Game Boy hardware documentation.
- Edge of Emulation (https://shonumi.github.io/articles.html), a series of articles about emulating and investigating Game Boy accessories. Also available as technical documents 
(https://github.com/shonumi/gbe-plus/tree/master/src/docs/technical) in the GBE- emulator documentation.
- Edge of Emulation (https://shonumi.github.io/articles.html), a series of articles about emulating and investigating Game Boy accessories. Also available as technical documents (https://github.com/shonumi/gbe-plus/tree/master/src/docs/technical)
in the GBE- emulator documentation.
 - Mobile Adapter GB (https://shonumi.github.io/articles/art14.html) - Internet connectivity and DLC on the Game Boy Color.
 - The Game Boy Printer (https://shonumi.github.io/articles/art2.html)
 - Pocket Sonar (https://shonumi.github.io/articles/art13.html) - A blue cart with built-in sonar hardware.
@@ -202,8 +202,7 @@
- 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 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)
@@ -226,9 +225,8 @@
Assemblers
- RGBDS (https://github.com/gbdev/rgbds) - Assembler and linker package. Documentation (https://rgbds.gbdev.io/docs/).
- ASMotor (https://github.com/csoren/asmotor) - Assembler engine and development system targeting Game Boy, among other CPUs. Written by the original RGBDS author. Documentation 
(https://github.com/asmotor/asmotor/tree/develop#further-reading).
- RGBDS (https://github.com/gbdev/rgbds) - Assembler and linker package. Documentation (https://rgbds.gbdev.io).
- ASMotor (https://github.com/csoren/asmotor) - Assembler engine and development system targeting Game Boy, among other CPUs. Written by the original RGBDS author. Documentation (https://github.com/asmotor/asmotor/tree/develop#further-reading).
- wla-dx (https://github.com/vhelin/wla-dx) - Yet Another GB-Z80/Z80/... Multi Platform Cross Assembler Package. Documentation (http://www.villehelin.com/wla.txt).
Compilers
@@ -237,8 +235,8 @@
 - 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
@@ -251,6 +249,7 @@
- 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)).
- 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.
- Rust-GB (https://github.com/zlfn/rust-gb) - A compiler and library that enable the development of GB ROMs using Rust.
Emulators
@@ -262,8 +261,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).
@@ -280,7 +279,6 @@
- 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.
- 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.
@@ -297,7 +295,7 @@
- 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).
- GB-convert (https://github.com/gb-archive/gb-convert) - Game Boy tile conversion and map editor tool (converts to assembly).
- brewtool (http://make.vg/brewtool/) - A collection of primitive editor/converter tools for making assets used with homebrew ROM development.
- vtGBte (https://github.com/paul-arutyunov/vtGBte) - A minimalistic ncurses tile editor.
- tpp1 (https://github.com/TwitchPlaysPokemon/tpp1) - Definition and specification of a custom GB/GBC memory/hardware mapper, as a functional superset of MBC.
@@ -317,7 +315,7 @@
Music drivers and trackers
- DevSound (https://github.com/DevEd2/DevSound) - Sound driver embeddable in homebrews which supports pulse width manipulation, arpeggios, and multiple waveforms.
- DevSoundX (https://github.com/DevEd2/DevSoundX) - Sound driver embeddable in homebrews which supports pulse width manipulation, arpeggios, and multiple waveforms.
- Carillon Player (http://gbdev.gg8.se/files/musictools/Aleksi%20Eeben/Carillon%20Editor.zip) - Music Engine.
- GBT PLAYER (https://github.com/AntonioND/gbt-player) - A music player library and converter kit.
- mmlgb (https://github.com/SimonLarsen/mmlgb) - A MML parser and GBDK sound driver for the Nintendo Game Boy.
@@ -334,8 +332,8 @@
- 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)
@@ -358,7 +356,7 @@
Timings
- Nitty Gritty Gameboy Cycle Timing (http://blog.kevtris.org/blogfiles/Nitty%20Gritty%20Gameboy%20VRAM%20Timing.txt)
- Mode3 Sprite Timing (https://www.reddit.com/r/EmuDev/comments/59pawp/gb_mode3_sprite_timing/)
- Mode3 Sprite Timing (https://old.reddit.com/r/EmuDev/comments/59pawp/gb_mode3_sprite_timing/)
- GameBoy Color DMA-Transfers v0.0.1 (http://gameboy.mongenel.com/dmg/gbc_dma_transfers.txt)
- STAT interrupt timings (http://gameboy.mongenel.com/dmg/istat98.txt)
- Video Timing (https://github.com/jdeblese/gbcpu/wiki/Video-Timing)
@@ -391,17 +389,17 @@
- 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)
- Just another simple tutorial (http://web.archive.org/web/20230327070526/http://pastebin.com/gzT47MPJ)
- GBDK Tutorial (https://refreshgames.co.uk/2016/04/18/gameboy-tutorial-rom/) - Fairly minimal game demo for getting started with GBDK.
- GBDK Sprite (http://gbdev.gg8.se/wiki/articles/GBDK_Sprite_Tutorial) - Presents a workflow for getting multiple sprites to display and animate.
- 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.
- Larold's Retro Gameyard (https://laroldsretrogameyard.com/category/tutorials/gb/) - A collection of detailed GBDK-2020 based tutorials.
Homebrews
@@ -424,7 +422,7 @@
- Flappy-boy-asm (https://github.com/bitnenfer/flappy-boy-asm)
- kupman (https://github.com/dubvulture/gbdev) and some other projects.
- Adjustris (https://github.com/tbsp/Adjustris)
- exeman (https://github.com/exezin/exeman/)
- exeman (https://github.com/gb-archive/exeman)
- Aevilia (https://github.com/ISSOtm/Aevilia-GB)
- GBSlides (https://github.com/Kartones/gameboy) - A simple Game Boy Powerpoint-like slides viewer.
- Pokered-gbc (https://github.com/dannye/pokered-gbc) - Pokémon Red remade with full GBC support.
@@ -469,8 +467,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)
@@ -522,6 +520,7 @@
- FX Hammer (https://github.com/DevEd2/FXHammer-Disasm)
- Harvest Moon 3 (https://github.com/sanqui/hm3)
- Final Fantasy Adventure (https://github.com/daid/FFA-disassembly)
- The Jungle Book (https://github.com/not-chciken/jungle-book-gb-disassembly)
Game Boy Camera
@@ -553,14 +552,14 @@
- GB Studio (https://www.gbstudio.dev/) - Drag and drop game creator with simple, no knowledge required, visual scripting.
 - Resources to get started (https://gbstudiocentral.com/resources/)
 - Dedicated Discord (https://discord.gg/knRryZWGcm)
 - Lets Build a Platformer Game! (https://gumpyfunction.itch.io/lets-build-a-platformer) - A course designed to teach anyone how to create a platformer game using GB Studio 4+.
- ArduinoBoy (https://github.com/trash80/Arduinoboy) - Serial communication (MIDI) from an Arduino to the Game Boy for music applications such as LittleSoundDJ, Nanoloop, and mGB.
- papiGB (https://github.com/diegovalverde/papiGB) - Game Boy Classic fully functional FPGA implementation from scratch.
- fpgaboy (https://github.com/trun/fpgaboy) - Implementation Nintendo's Game Boy console on an FPGA.
- 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.
@@ -614,9 +613,11 @@
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.
gbdev Github: https://github.com/gbdev/awesome-gbdev