gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
docs/pages/docs_index.md
1 @mainpage General Documentation
2
3 @anchor docs_index
4 - @subpage docs_getting_started
5 - @subpage docs_links_and_tools
6 - @subpage docs_using_gbdk
7 - @subpage docs_coding_guidelines
8 - @subpage docs_rombanking_mbcs
9 - @subpage docs_supported_consoles
10 - @subpage docs_toolchain
11 - @subpage docs_example_programs
12 - @subpage docs_faq
13 - @subpage docs_migrating_versions
14 - @subpage docs_releases
15 - @subpage docs_toolchain_settings
16
17
18
19 # Introduction
20 Welcome to GBDK-2020! The best thing to do is head over to the @ref docs_getting_started "Getting Started" section to get up and running.
21
22 If you are upgrading please check @ref docs_releases and @ref docs_migrating_versions
23
24
25 # About the Documentation
26 This documentation is partially based on material written by the original GBDK authors in 1999 and updated for GBDK-2020. The API docs are automatically generated from the C header files using Doxygen.
27
28 GBDK-2020 is an updated version of the original GBDK with a modernized SDCC toolchain and many API improvements and fixes. It can be found at: https://github.com/gbdk-2020/gbdk-2020/.
29
30 The original GBDK sources, documentation and website are at: http://gbdk.sourceforge.net/
31
32
33 # About GBDK
34 The GameBoy Developer's Kit (GBDK, GBDK-2020) is used to develop games and programs for the Nintendo Game Boy (and some other consoles) in C and assembly. GBDK includes a set of libraries for the most common requirements and generates image files for use with a real GameBoy or emulators.
35
36 GBDK features:
37 - C and ASM toolchain based on SDCC with some support utilities
38 - A set of libraries with source code
39 - Example programs in ASM and in C
40 - Support for multiple ROM bank images and auto-banking
41 - Support for multiple consoles: Game Boy, Analogue Pocket, Mega Duck, Master System and Game Gear and NES
42
43 GBDK is freeware. Most of the tooling code is under the GPL. The runtime libraries should be under the LGPL. Please consider mentioning GBDK in the credits of projects made with it.
44
45 - - - - - -
46
47 # Historical Info and Links
48
49 ## History
50 Some notable events and releases in GBDK's history.
51
52 Classic GBDK
53 - 1996-06: `GBDK 1.0`: Pascal Felber releases the first GBDK version
54 - 1999-06: `GBDK 2.1`: Pascal Felber's last personal release
55 - 2000-02: `GBDK 2.9.0`: Michael Hope switches GBDK to the SDCC compiler after adding Game Boy support to it
56 - 2001-11: `GBDK 2.9.6`: The last release from this era
57
58 GBDK-2020
59 - 2020-04: `GBDK 3.0.1`: Zal0 revives GBDK and releases a new version. It updates SDCC to a modern build along with other improvements
60 - 2020-05: Toxa joins as a project contributor
61 - 2020-07: `GBDK 4.0.0`: Basxto contributes linker patches to SDCC adding Game Boy banking support. GBDK-2020 changes to use the SDCC linker
62 - 2020-11: bbbbbr joins as a project contributor
63 - 2021-09: `GBDK 4.0.5`: Toxa adds support for the Sega Master System, Game Gear and Analogue Pocket consoles
64 - 2022-02: `GBDK 4.0.6`: Toxa adds support for the Mega Duck console
65 - 2022-06: Michel joins as a project contributor
66 - 2023-08: `GBDK 4.2.0`: Michel adds support for the NES console
67
68
69 ## Original GBDK (pre-2020) was by:
70
71 Pascal Felber, Lars Malmborg, Michael Hope, David Galloway (djmips), John Fuge, and others.
72
73
74 The following is from the classic GBDK documentation:
75
76 Thanks to quang for many of the comments to the gb functions. Some
77 of the comments are ripped directly from the Linux Programmers
78 manual, and some directly from the pan/k00Pa document.
79
80 <a href="http://quangdx.com/">quangDX.com</a>
81
82 <a href="http://gbdk.sourceforge.net/">The (classic) gbdk homepage</a>
83
84 <a href="http://www.devrs.com/gb/">Jeff Frohwein's GB development page.</a>
85 A extensive source of Game Boy related information, including GeeBee's GB faq and the pan/k00Pa document.
86
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.