Repository navigation
Releases
Releases · LLCOOLT/ttyd
v1.0: 100%, all seven versions byte-identical
The first complete release. One C source tree builds all seven known versions of Paper Mario: The Thousand-Year Door, and every build is byte-identical to the original: the main executable and every area module (REL).
| Version | Release | Units linked from C | Build check |
|---|---|---|---|
G8MJ01 |
Japan | 1233 / 1233 | 32 files OK |
G8ME01 |
North America | 1226 / 1226 | 30 files OK |
G8MP01 |
Europe (5 languages, with the developer test REL tst.rel) |
1378 / 1378 | 33 files OK |
G8ME01_DEMO |
June 2004 US demo (Interactive Multi-Game Demo Disc Version 17) | 746 / 746 | 7 files OK |
G8MJ01_DEMO |
2004 Japanese store demo (Gekkan Nintendo Tentou Demo 2004.7.1) | 1377 / 1377 | 33 files OK |
G8ME01_DEMO2 |
September 2004 US demo (Interactive Multi-Game Demo Disc Version 19) | 806 / 806 | 8 files OK |
G8MP01_DEMO |
September 2004 European demo (Interactive Multi-Game Demo Disk, November 2004) | 811 / 811 | 8 files OK |
Highlights
- 100% code, functions, data and linking in every version.
- All C. The only assembly is what the original sources had in assembly: a few SDK, runtime and debugger routines, the hardware helpers in
include/hwaccess.handmemcpy_as4. - One tree for seven versions. The differences are written as ordered
VERSION_*conditions, in the order the code was built: June US demo < Japanese demo < JP < US < September US demo < European demo < PAL. docs/VERSIONS.md describes every difference. - Readable. Structs instead of raw offsets, typed data, named event scripts, and a comment on every function. Names invented here rather than taken from a symbol map are listed in docs/NAME_PROVENANCE.md.
- Documented. Separate docs cover the architecture, a glossary of the romanised Japanese names, the original game's bugs that the code reproduces, and every behaviour-identical matching trick (docs/FAKES.md).
Building
You need your own copy of the game: this repository contains no game assets and no disassembled game code. See docs/BUILDING.md for where each version's disc or .tgc goes, then run python configure.py --version <version> followed by ninja.
Credits
This project is a fork of doldecomp/ttyd, and its original commit history is kept. All of the work since the fork was done with the help of AI tools (Anthropic's Claude). It is an independent project, not affiliated with doldecomp; please use this repository's issues for questions.