diff options
Diffstat (limited to 'gbdk/README.md')
| -rw-r--r-- | gbdk/README.md | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/gbdk/README.md b/gbdk/README.md new file mode 100644 index 00000000..90633588 --- /dev/null +++ b/gbdk/README.md @@ -0,0 +1,76 @@ +# GBDK-2020 +GBDK is a cross-platform development kit for sm83 and z80 based gaming consoles. It includes libraries, toolchain utilities and the [SDCC](http://sdcc.sourceforge.net/) C compiler suite. + +__Supported Consoles:__ [(see docs)](https://gbdk-2020.github.io/gbdk-2020/docs/api/docs_supported_consoles.html) +- Nintendo Gameboy / Game Boy Color +- Analogue Pocket +- Sega Master System & Game Gear +- Mega Duck / Cougar Boy + + +## Current Release +<a href="https://github.com/gbdk-2020/gbdk-2020/releases/latest/download/gbdk-win.zip"><img src="https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white" alt="GBDK-2020 Windows Release"></a> +<a href="https://github.com/gbdk-2020/gbdk-2020/releases/latest/download/gbdk-linux64.tar.gz"><img src="https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black" alt="GBDK-2020 Linux Release"></a> +<a href="https://github.com/gbdk-2020/gbdk-2020/releases/latest/download/gbdk-macos.zip"><img src="https://img.shields.io/badge/mac%20os-000000?style=for-the-badge&logo=apple&logoColor=white" alt="GBDK-2020 MacOS Release"></a> + +<!-- <a href="https://hub.docker.com"><img src="https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge&logo=docker&logoColor=white" alt="Docker"></a> --> + +Upgrading to a new version? Check the [Migration notes](https://gbdk-2020.github.io/gbdk-2020/docs/api/docs_migrating_versions.html). You can find older versions [here](https://github.com/gbdk-2020/gbdk-2020/releases). + +For a full list of changes see the [ChangeLog](https://github.com/gbdk-2020/gbdk-2020/blob/master/docs/ChangeLog) file or [online Docs](https://gbdk-2020.github.io/gbdk-2020/docs/api/docs_releases.html). + + +## Build status +[](https://github.com/gbdk-2020/gbdk-2020/actions/workflows/gbdk_build_and_package.yml) + + +## Docs +GBDK includes extensive [documentation](https://gbdk-2020.github.io/gbdk-2020/docs/api). A good place to begin is the [Getting Started Section](https://gbdk-2020.github.io/gbdk-2020/docs/api/docs_getting_started.html). + +Check the [Links and Third-Party Tools Section](https://gbdk-2020.github.io/gbdk-2020/docs/api/docs_links_and_tools.html) for a list of recommended emulators, graphics tools, music drivers and more. + +For SDCC you can check its [website](http://sdcc.sourceforge.net/) and the [manual](http://sdcc.sourceforge.net/doc/sdccman.pdf) + + +## Usage +Most users will only need to download and unzip the latest [release](https://github.com/gbdk-2020/gbdk-2020/releases) + +Then go to the examples folder and build them (with `compile.bat` on Windows or running `make`). They are a good starting point. + +The sources in this repo are only needed if you want to re-compile GBDK-2020 yourself instead of using the release binaries linked above. + + +## Discord servers +* [gbdk/zgb Discord](https://discord.gg/XCbjCvqnUY) - For help with using GBDK (and ZGB), discussion and development of gbdk-2020 + +* [gbdev Discord](https://discordapp.com/invite/tKGMPNr) - There is a #gbdk channel and also people with a lot of Game Boy development knowledge +* [SMS Power! Discord](https://discord.gg/h5xrKUK) - Additional SMS & Game Gear discussion and resources. + +## Forums +- [The Game Boy Development Forum](https://gbdev.gg8.se/forums/) - A good place to search for Game Boy related answers. +- [SMS Power! Forum](https://www.smspower.org/) - Additional SMS & Game Gear discussion and resources. + + +## Current status +- Updated CRT and library that suits better for game development +- SDCC Versions + - Current GBDK-2020 versions require SDCC patches for z80 SMS/Game Gear support. So SDCC nightlies/snapshot builds cannot be used if you want to target SMS/Game Gear. Instead use the [Patched SDCC Builds](https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/tag/sdcc-12539-patched). + - In addition, recent SDCC nightlies/snapshot builds have switched to a new calling convention which is not well tested with GBDK-2020 and there may be bugs. It's recommended to not use versions after build #12539 at this time. +- The compiler driver **lcc** supports the latest sdcc toolchain. + + +## Origin +Over the years people have been complaining about all the GBDK issues caused by a very old version of SDCC (the compiler). This is a proper attempt of updating it while also keeping all the old functionallity working, like support for banked code and data and so on. + +The last version in the OLD repo is [2.96](https://sourceforge.net/projects/gbdk/files/gbdk/2.96/) although releases are available until 2.95-3. Version [2.96](https://sourceforge.net/projects/gbdk/files/gbdk/2.96/) is the starting point of this repo. + + +# Build instructions +Unless you are interested on recompiling the sources for some reason (like fixing some bugs) **you don't need to build GBDK** + +- **Windows only**: Download and install [mingw](http://mingw-w64.org/) +- Clone, download this repo or just get the source form the [releases](https://github.com/gbdk-2020/gbdk-2020/releases) +- Download and install the **PATCHED** [sdcc builds](https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/tag/sdcc-12539-patched) from the separate repo for that (https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/tag/sdcc-12539-patched). +- On Linux **don't use package managers** The latest release available won't work, you need to compile or download one of the nightlies +- Create **SDCCDIR** environment variable, that points into the folder, where you installed sdcc +- Open command prompt or a terminal, go to the root directory of the repo and run **make** |
