# GBDK 2020 Docs: Links and Third-Party Tools

Links and Third-Party Tools

This is a brief list of useful tools and information. It is not meant to be complete or exhaustive, for a larger list see the Awesome Game Boy Development list.

# SDCC Compiler Suite User Manual

- GBDK-2020 uses the SDCC compiler and related tools. The SDCC manual goes into much more detail about available features and how to use them.
  http://sdcc.sourceforge.net/doc/sdccman.pdf
  http://sdcc.sourceforge.net

# Getting Help

- GBDK Discord community:
  https://github.com/gbdk-2020/gbdk-2020/#discord-servers
- Game Boy discussion forum:
  https://gbdev.gg8.se/forums/

# Game Boy Documentation

- Pandocs
  Extensive and up-to-date technical documentation about the Game Boy and related hardware.
  https://gbdev.io/pandocs/
- Awesome Game Boy Development list
  A list of Game Boy/Color development resources, tools, docs, related projects and homebrew.
  https://gbdev.io/list.html

# Sega Master System / Game Gear Documentation

- SMS Power!
  Community site with technical documentation, reviews and other content related to the Sega 8-bit systems. https://www.smspower.org/

# Tutorials

- Larold's Jubilant Junkyard Tutorials
  Several walk throughs about the fundamentals of developing for the Game Boy with GBDK-2020. There are simple examples with source code. https://laroldsjubilantjunkyard.com/tutorials/
- Gaming Monsters Tutorials
  Several video tutorials and code for making games with GBDK/GBDK-2020.
  https://www.youtube.com/playlist?list=PLeEj4c2zF7PaFv5MPYhNAkBGrkx4iPGJo
  https://github.com/gingemonster/GamingMonstersGameBoySampleCode
- Pocket Leage Tutortial
  https://blog.ty-porter.dev/development/2021/04/04/writing-a-gameboy-game-in-2021-pt-0.html

# Example code

- Simplified GBDK examples
  https://github.com/mrombout/gbdk_playground/commits/master

# Graphics Tools

- Game Boy Tile Designer and Map Builder (GBTD / GBMB)
  Sprite / Tile editor and Map Builder that can export to C that works with GBDK.
  This is an updated version with const export fixed and other improvments.
  https://github.com/gbdk-2020/GBTD_GBMB
  - A GIMP plugin to read/write GBR/GBM files and do map conversion:
    https://github.com/bbbbbr/gimp-tilemap-gb
  - Command line version of the above tool that doesn't require GIMP (png2gbtiles):
    https://github.com/bbbbbr/gimp-tilemap-gb/tree/master/console
- Tilemap Studio
  A tilemap editor for Game Boy, GBC, GBA, or SNES projects.
  https://github.com/Rangi42/tilemap-studio/

# Music drivers and tools

- GBT Player
  A .mod converter and music driver that works with GBDK and RGBDS.
  https://github.com/AntonioND/gbt-player
  Docs from GBStudio that should mostly apply: https://www.gbstudio.dev/docs/music/
- hUGEtracker and hUGEdriver
  A tracker and music driver that work with GBDK and RGBDS. It is smaller, more efficient and more versatile than gbt_player.
  https://github.com/untoxa/hUGEBuild
  https://github.com/SuperDisk/hUGEDriver
  https://github.com/SuperDisk/hUGETracker

# Emulators

- BGB
  Accurate emulator, has useful debugging tools.
  http://bgb.bircd.org/
- Emulicious
  An accurate emulator with extensive tools including source level debugging.
  https://emulicious.net/

# Debugging tools

- Emulicious debug adapter
  Provides source-level debugging in VS Code that works with GBDK2020.
  https://marketplace.visualstudio.com/items?itemName=emulicious.emulicious-debugger
- romusage
  Calculate used and free space in banks (ROM/RAM) and warn about errors such as bank overflows.
  https://github.com/bbbbbr/romusage
- noi file to sym conversion for bgb
  Debug information in .noi files can be converted to a symbol format that BGB recognizes using:
  - lcc : `-Wm-yS` (with `--debug`, or `-Wl-j` to create the .noi)
  - directly with makebin : `-yS` (with `-j` passed to the linker)
- src2sym.pl
  Add line-by-line C source code to the main symbol file in a BGB compatible format. This allows for C source-like debugging in BGB in a limited way. https://gbdev.gg8.se/forums/viewtopic.php?id=710

# Continuous Integration and Deployment

- GBDK GitHub Action Builder A Github Action which provides basic CI/CD for building projects based on GBDK (not for building GBDK itself).
  https://github.com/wujood/gbdk-2020-github-builder