gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
docs/pages/02_links_and_tools.md
1 @page docs_links_and_tools Links, Tools and Debugging
2
3
4 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 @ref awesome_gb "Awesome Game Boy Development" list.
5
6 @anchor links_sdcc_docs
7 # SDCC Compiler Suite User Manual
8 - 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.
9 http://sdcc.sourceforge.net/doc/sdccman.pdf
10 http://sdcc.sourceforge.net
11
12 - The SDCC assembler and linker (sdas / asxxxx and aslink) manual.
13 https://sourceforge.net/p/sdcc/code/HEAD/tree/trunk/sdcc/sdas/doc/asmlnk.txt
14
15
16 @anchor links_help_and_community
17 # Getting Help
18 - GBDK Discord community:
19 https://github.com/gbdk-2020/gbdk-2020/#discord-servers
20
21 - Game Boy discussion forum:
22 https://gbdev.gg8.se/forums/
23
24
25 @anchor links_gameboy_docs
26 # Game Boy Documentation
27 - @anchor Pandocs
28 __Pandocs__
29 Extensive and up-to-date technical documentation about the Game Boy and related hardware.
30 https://gbdev.io/pandocs/
31
32 - @anchor awesome_gb
33 __Awesome Game Boy Development list__
34 A list of Game Boy/Color development resources, tools, docs, related projects and homebrew.
35 https://gbdev.io/resources.html
36
37
38 @anchor links_sms_gg_docs
39 # Sega Master System / Game Gear Documentation
40 - @anchor smspower
41 __SMS Power!__
42 Community site with technical documentation, reviews and other content related to the Sega 8-bit systems.
43 https://www.smspower.org/
44
45
46 @anchor links_megaduck_docs
47 # Mega Duck / Cougar Boy Documentation
48 - @anchor megaduckdev
49 __MegaDuck.dev__
50 A collection of technical information and resources for the Mega Duck / Cougar Boy console.
51 https://megaduck.dev/
52
53
54 @anchor links_gbdk_tutorials
55 # Tutorials
56 - @anchor tutorials_larolds
57 __Larold's Jubilant Junkyard Tutorials__
58 Several walk throughs about the fundamentals of developing for the Game Boy with GBDK-2020. There are simple examples with source code.
59 https://laroldsjubilantjunkyard.com/tutorials/
60
61 - @anchor tutorials_gamingmonsters
62 __Gaming Monsters Tutorials__
63 Several video tutorials and code for making games with GBDK/GBDK-2020.
64 https://www.youtube.com/playlist?list=PLeEj4c2zF7PaFv5MPYhNAkBGrkx4iPGJo
65 https://github.com/gingemonster/GamingMonstersGameBoySampleCode
66
67 - @anchor tutorials_typorter
68 __Pocket Leage Tutorial__
69 https://blog.ty-porter.dev/development/2021/04/04/writing-a-gameboy-game-in-2021-pt-0.html
70
71
72 @anchor link_examples
73 # Example code
74 - @anchor examples_gbdk_playground
75 __Simplified GBDK examples__
76 https://github.com/mrombout/gbdk_playground/commits/master
77
78
79 @anchor links_graphic
80 # Graphics Tools
81 - @anchor gbtd_gbmb
82 @anchor gbmb
83 @anchor gbtd
84 @anchor toxa_gbtd_gbmb
85 __Game Boy Tile Designer and Map Builder (GBTD / GBMB)__
86 Sprite / Tile editor and Map Builder that can export to C that works with GBDK.
87 This is an updated version with const export fixed and other improvements.
88 https://github.com/gbdk-2020/GBTD_GBMB
89
90 - A GIMP plugin to read/write GBR/GBM files and do map conversion:
91 https://github.com/bbbbbr/gimp-tilemap-gb
92 - Command line version of the above tool that doesn't require GIMP (png2gbtiles):
93 https://github.com/bbbbbr/gimp-tilemap-gb/tree/master/console
94
95 - @anchor Tilemap_Studio
96 __Tilemap Studio__
97 A tilemap editor for Game Boy, GBC, GBA, or SNES projects.
98 https://github.com/Rangi42/tilemap-studio/
99
100
101 @anchor tools_music
102 # Music And Sound Effects for the Game Boy
103 - @anchor hUGEdriver
104 __hUGEtracker__ and __hUGEdriver__
105 A tracker and music driver that work with GBDK and RGBDS.
106 It is smaller, more efficient and more versatile than gbt_player.
107 https://github.com/SuperDisk/hUGEDriver
108 https://github.com/SuperDisk/hUGETracker
109
110 - @anchor CBT-FX
111 __CBT-FX__
112 A sound effects driver which can play effects created in FX Hammer.
113 https://github.com/datguywitha3ds/CBT-FX
114
115 - @anchor VGM2GBSFX
116 __VGM2GBSFX__
117 A sound effects converter and driver for DMG VGM files, FX Hammer and PCM WAV files.
118 https://github.com/untoxa/VGM2GBSFX
119
120 - @anchor gbt-player
121 __GBT Player__
122 A .mod converter and music driver that works with GBDK and RGBDS.
123 https://github.com/AntonioND/gbt-player
124 Docs from GBStudio that should mostly apply: https://www.gbstudio.dev/docs/music/
125
126 # Music And Sound Effects for the SMS/Game Gear
127 - @anchor Banjo
128 __Banjo__
129 A sound driver for Sega Master System and Game Gear which can import from Furnace tracker.
130 - https://github.com/joffb/banjo
131 An example of using it with GBDK can be found in the CrossZGB engine.
132 - https://github.com/gbdk-2020/CrossZGB/commit/8ecd46639f3af420cfe139fc155740e8aa14d7c5
133
134
135
136 @anchor tools_emulators
137 # Emulators
138 - @anchor emulicious
139 __Emulicious__
140 An accurate emulator with extensive tools including source level debugging.
141 https://emulicious.net/
142
143 - @anchor bgb
144 __BGB__
145 Accurate emulator, has useful debugging tools.
146 http://bgb.bircd.org/
147 - @anchor superjuniorsameduck
148 __Super Junior SameDuck__
149 The only MegaDuck emulator with support for the Mega Duck Laptop models (Quique and Junior Super Computer)
150 https://github.com/bbbbbr/SuperJuniorSameDuck
151
152 @anchor code_editors_hinting
153 Intellisense in VSCode may have trouble identifying some GBDK types or functions, and therefore flag them as warnings or unidentified.
154
155 GBDK platform constants can be declared so that header files are parsed more completely in VSCode. The following `c_cpp_properties.json` example may be adapted for your own project.
156
157 {
158 "configurations": [
159 {
160 "name": "gameboy",
161 "includePath": [
162 "${workspaceFolder}/src/**",
163 "${workspaceFolder}/res/**",
164 "${workspaceFolder}/include/**",
165 "${workspaceFolder}/../../../gbdk/include/**"
166 ],
167 "defines": ["__PORT_sm83", "__TARGET_gb"],
168 "compilerPath": "",
169 "cStandard": "c11",
170 "intelliSenseMode": "${default}",
171 "compilerArgs": [],
172 "browse": {
173 "limitSymbolsToIncludedHeaders": true
174 }
175 }
176 ],
177 "version": 4
178 }
179
180
181 @anchor tools_debug
182 # Debugging tools
183 - @anchor Emulicious_debug
184 __Emulicious debug adapter__
185 Provides source-level debugging in VS Code and Sublime Text that works with GBDK2020.
186 https://marketplace.visualstudio.com/items?itemName=emulicious.emulicious-debugger
187 - If compiler optimization is making the program source hard to step through in the debugger then adding this flag to @ref lcc can help. Note that using this flag will likely reduce code performance and increase code size while enabled, so it is best to only use it temporarily.
188 - `-Wf--max-allocs-per-node0`
189
190 - @anchor romusage
191 __romusage__
192 Calculate used and free space in banks (ROM/RAM) and warn about errors such as bank overflows.
193 See @ref romusage-settings
194
195 - @anchor bgb_symbol_conversion
196 __noi file to sym conversion for bgb__
197 Debug information in .noi files can be converted to a symbol format that @ref bgb "BGB" recognizes using:
198 - @ref lcc : `-Wm-yS` (with `--debug`, or `-Wl-j` to create the .noi)
199 - directly with @ref makebin : `-yS` (with `-j` passed to the linker)
200
201 - @anchor src2sym
202 __src2sym.pl__
203 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.
204 https://gbdev.gg8.se/forums/viewtopic.php?id=710
205
206
207 @anchor links_optimizing
208 # Optimizing Assembly
209 - @anchor optimizing_assembly
210 __Optimizing Assembly Code__
211 Pret has a useful guide to optimizing assembly for
212 the Game Boy for times when asm using in a project
213 in addition to C.
214 https://github.com/pret/pokecrystal/wiki/Optimizing-assembly-code
215
216
217 @anchor tools_build_ci_cd
218 # Continuous Integration and Deployment
219 - @anchor GBDK_GitHub_Action_Builder
220 __GBDK GitHub Action Builder__
221 A Github Action which provides basic CI/CD for building projects based on GBDK (not for building GBDK itself).
222 https://github.com/wujood/gbdk-2020-github-builder
223
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.