WIP NOTICE: This is a community effort to give this document a new form. Everything is still work in progress. You're welcome to contribute.
Pan Docs - also known as GAMEBOY.TXT
or GBSPEC.TXT
- is an old document dating back to early 1995 originally written by Pan of Anthrox. It has been one of most important reference for Game Boy hackers, emulators and homebrew developers during the last 25 years.
ADDRESS1.PCX, one of the diagrams attached to the first version, released January 28th, 1995
After its release (1995-2008), it received a number of revisions, corrections and updates, mantaining its TXT format. This folder provides an historical archive of those versions.
In 2008, a wikified version (using Martin Korth's 2001 revision as baseline) has been published. The document has been split in different articles and it continued being mantained and updated in that form.
In 2020, we want to make this repository the new home of this resource, where it can receive new public discussions and contributions, mantain its legacy and historical relevance, while making use of recent tools to be visualized and distributed.
Everything is in plain Markdown and easily editable by anyone with a GitHub account clicking on the "Edit" button on the web UI. We accept contributions, patches, suggestions and feedback via email, too (pandocs (at) gbdev.io
).
This is the RFC proposing the change. You're welcome to discuss the development of this project on the gbdev Discord chat or on IRC (EFNET #gbdev
, gbdev2
).
Contributing is really easy, fork this repo and edit the files in the content directory. Then, you can send your PR.
To deploy Pandocs locally:
# Clone the repository
git clone https://github.com/gbdev/pandocs
# Move to the render folder
cd render
# Install npm dependencies (web app)
npm install
# Install Python dependencies (needed to merge every markdown file into one)
pip3 install -r requirements.txt
# Run the merge script
bash merge.sh
# Run locally the web documentation
npx vuepress dev
# Pandocs is live at localhost:8080
Now, simply edit the markdown files inside the content directory, rerun bash merge.sh
and you should the result updated at localhost:8080
.
We assume the content to be in the public domain.