Twilight Princess Dekompilierung – Zeitleiste (2020–2026)
Wie eine Community den gesamten Twilight-Princess-Code von Hand neu schrieb: Aug. 2020 bis Dez. 2025. Verifizierte Meilensteine, Mitwirkende und was die TP-Decomp so schwer machte.
Dass Dusklight 2026 existiert, liegt daran, dass eine Community aus Reverse Engineers fünf Jahre und vier Monate damit verbracht hat, den gesamten Quellcode von Twilight Princess neu aufzubauen – ohne Hilfe von Nintendo, ohne Leaks und ohne je den Originalquellcode gesehen zu haben. Im Dezember 2025 stimmte die GameCube-Version byte-genau überein. Fünf Monate später veröffentlichte TwilitRealm Dusklight auf dieser Grundlage.
Das ist die Zeitleiste dieser Arbeit.
Warum Dekompilierung für Ports notwendig ist
Die GameCube-Version von TP erschien nur als kompiliertes Binary auf einer 1,4-GB-Disc. Nintendo hat den Quellcode nie veröffentlicht. Um einen nativen PC-Port zu bauen, muss jemand den Quellcode rekonstruieren – das heißt: C/C++-Code von Hand schreiben, der mit dem Original-Toolchain (Metrowerks CodeWarrior für PowerPC) kompiliert ein Binary ergibt, das byte-identisch zur Retail-Disc ist.
Dieser Prozess heißt Matching-Dekompilierung. Er ist mühsam; es gibt keine Abkürzung. Jede Funktion, jedes Datenlayout, jede eigenartige Compiler-Optimierung muss exakt reproduziert werden. Der Lohn: Ist es einmal erledigt, gehört der Quellcode dir – du kannst ihn forken, porten, modifizieren oder darauf aufbauende Werke erstellen, ohne jemals Nintendos IP anzufassen.
Die Zeitleiste
August 2020 – Projektstart
- 2020-08-29 –
Pheenoh(Howard Luck) erstellt das zeldaret/tp-Repo auf GitHub. Die erste Commit-Message lautet charmant:"ok". - Das initiale Gerüst zielt auf GZ2E01, die GameCube-USA-Version
- Das Projekt wird mit C++ als Hauptsprache aufgesetzt – ungewöhnlich für Game-Decomps, die historisch C-basierte Spiele (SM64, OoT, MM) anvisierten. C++-Matching ist deutlich schwerer wegen Vtables, RTTI und Template-Name-Mangling unter MWCC.
2020–2022 – Langsamer Anlauf
- Pheenoh, Jcw87 und hatal175 bauen die Build-Infrastruktur auf: decomp-toolkit, MWCC-PowerPC-Compiler-Matching, benutzerdefinierte Build-Orchestrierung
- In diesen Jahren geht es langsam voran; ein kleines Team bootstrappt Tools mehr, als Matching-Code zu schreiben
2023 – Beschleunigung
- TakaRikka stößt dazu und wird zum produktivsten Contributor (führt am Ende die Commit-Rangliste an)
- LagoLunatic (Wind-Waker-Decomp-Lead, WW-Randomizer-Autor) tritt bei und bringt Tooling-Expertise mit
- Das Projekt landet im November 2023 auf Hacker News bei teilweiser Fertigstellung
2024 – Produktionsphase
- Die PR-Zahl klettert in die Tausende, je mehr Contributors hinzukommen
- GZ2P01 (GameCube EU/AU PAL) und GZ2J01 (GameCube Japan) werden als weitere Matching-Ziele hinzugefügt – das Projekt zielt jetzt gleichzeitig auf alle drei GameCube-Regionen
November 2025 – 99%-Meilenstein
- Das Projekt erreicht 99,02% Matching für GameCube-Versionen (GBAtemp-Berichterstattung, November 2025)
Dezember 2025 – Alle GameCube-Versionen abgeschlossen
- 2025-12-23 – Die GameCube-Versionen erreichen 100% Matching für alle drei Retail-Regionen: GZ2E01 (NA), GZ2P01 (EU/AU), GZ2J01 (Japan)
- Berichterstattung durch Time Extension, GamesRadar und Gaming Bible
Ende Februar 2026 – TwilitRealm beginnt mit der Port-Arbeit
- Laut dem offiziellen Dusklight-v1.0.0-Release-Post: „Starting in late February, we embarked on the journey to bring the finished decompilation project to more platforms.”
- Ab hier forkt TwilitRealm die nun vollständige Dekompilierung (oder baut darauf auf) und beginnt mit dem Aurora-basierten Port
April 2026 – Wii-Decomp-Arbeit läuft + Ports angekündigt
- Wii-Revisionen (RZDE01_00, RZDE01_02, RZDP01, RZDJ01), Wii-Kiosk-Demo (DZDE01) und Nvidia-Shield-China-Port (Shield/ShieldD) sind noch in Arbeit
- Time Extension berichtet über zwei parallele native PC-Ports: Dusklight (TwilitRealm) und Courage Reborn (Linifadomra)
- Gesamtzahl der Commits im Decomp-Repo zu diesem Zeitpunkt: ~2.365
Mai 2026 – Dusklight erscheint
- 2026-05-09, 21:59 UTC – TwilitRealm veröffentlicht Dusklight v1.0.0 für Windows, macOS (ARM + Intel), Linux (x86 + ARM), Android und iOS
- Die GameCube-Arbeit der Dekompilierung ist das Fundament; die Wii / NTSC-J-Versionen sind noch in Arbeit, und Dusklights erstes Release unterstützt dementsprechend nur GameCube NA + PAL ROMs
Was die TP-Dekompilierung besonders schwer machte
Code-Umfang
Laut decomp.dev/zeldaret/tp enthält das Projekt rund 11,5 MB Code + 2,5 MB Daten. Zum Vergleich:
| Projekt | Code-Größe | Zeit bis 100% Matching |
|---|---|---|
| Super Mario 64 | ~250 KB | ~2 Jahre |
| Ocarina of Time | ~1 MB | ~3 Jahre |
| Majora’s Mask | ~1 MB | ~3 Jahre |
| Twilight Princess | ~11,5 MB (C++) | ~5 J. 4 M. bis GC fertig |
TP ist rund 10× größer als die früheren C-basierten Zelda-Decomps.
C++-Compiler-Matching ist deutlich schwerer als C
Die früheren Zelda-Decomps (OoT, MM) zielten auf C-Quellcode – mit vorhersehbarem Name-Mangling, ohne virtuelle Tabellen, ohne RTTI, ohne Templates. C++ fügt hinzu:
- Name-Mangling, das je nach Compiler-Version variiert (MCCWs Schema ist proprietär)
- Vtables, die byte-perfekt angelegt sein müssen
- RTTI, das der Compiler in Formaten spezifisch zur CodeWarrior-Runtime ausgibt
- Templates, die je nach Compiler-Entscheidungen zu spezifischen Symbol-Namen instantiiert werden
All das muss exakt den Bytes des Retail-Binaries entsprechen. Fehler zeigen sich nicht als „falsches Verhalten” – sie zeigen sich als abweichende ROM, was bedeutet: der Matching-Test schlägt fehl.
Unterschiede zwischen Revisionen
Drei GameCube-Retail-Regionen plus ein Debug-Build plus die Wii-Revisionen plus der Nvidia-Shield-Port (China). Jede hat kleine Unterschiede, die der Codebase via bedingter Kompilierung sauber handhaben muss. Das Repo macht das; es nicht zu brechen, ohne andere Targets zu beeinflussen, ist eine dauernde Herausforderung.
„Größte je abgeschlossene Dekompilierung”-Aussage
TwilitRealms v1.0-Ankündigung lautete:
“the largest decompilation project ever completed”
Stimmt das? Gut möglich. Skyward Sword (zeldaret/ss, ebenfalls C++) ist vom Umfang her vergleichbar und deutlich früher in der Entwicklung. Wind Waker (zeldaret/tww, C++) ist ähnlich groß und noch in Arbeit. Als „größte vollständig matchende Konsolen-Game-Dekompilierung mit Abschluss-Status als Ende 2025” – TP scheint den Rekord zu halten. Es ist nicht formal zertifiziert, aber niemand hat ein Gegenbeispiel vorgelegt.
Vom Projekt verfolgte ROM-Versionen
| Versions-ID | Plattform / Region | Decomp-Status (Mai 2026) |
|---|---|---|
| GZ2E01 | GameCube NA | ✅ 100% Matching |
| GZ2P01 | GameCube EU/AU (PAL) | ✅ 100% Matching |
| GZ2J01 | GameCube Japan | ✅ 100% Matching |
| RZDE01_00 | Wii NA Rev 0 | 🔄 In Arbeit |
| RZDE01_02 | Wii NA Rev 2 | 🔄 In Arbeit |
| RZDP01 | Wii EU/AU | 🔄 In Arbeit |
| RZDJ01 | Wii Japan | 🔄 In Arbeit |
| DZDE01 | Wii Kiosk Demo | 🔄 In Arbeit |
| Shield | Nvidia Shield China | 🔄 In Arbeit |
| ShieldD | Shield Debug | 🔄 In Arbeit (zur Symbol-/Typ-Wiederherstellung genutzt) |
Der decomp.dev-Dashboard-Stand bei Abruf: 100,00% dekompiliert, 87,13% vollständig gelinkt. Die restlichen 12,87% sind die Wii→GC-Alignierungsarbeit.
Top-Contributor (nach Commit-Anzahl)
Aus gh api /repos/zeldaret/tp/contributors:
- TakaRikka – 409 Commits
- Pheenoh (Howard Luck) – 375 Commits (Gründer)
- hatal175 – 301
- caseif – 127
- Jcw87 – 123
- carter-ktb21 – 114
- LagoLunatic – 86
- YunataSavior – 85
- lepelog – 77
- jdflyer – 64
Über die Top 10 hinaus haben Hunderte weitere Contributors kleinere Beiträge geleistet – das Projekt hat einen langen Schwanz.
Warum das 2026 wichtig ist
Dass die TP-Dekompilierung Ende 2025 abgeschlossen wurde, ist der Grund, warum Dusklight im Mai 2026 erscheinen konnte. Vor Dezember 2025 waren native PC-Ports von TP ohne geleakten Quellcode unmöglich. Danach: im Prinzip trivial, nur langsame Port-Arbeit.
Das ist dasselbe Muster wie bei Ocarina of Time: zeldaret/oot erreichte hohen Fertigstellungsgrad → Ship of Harkinian erschien. Die Dekompilierung ist die Upstream-Bibliothek; der Port ist das Consumer-Produkt.
Die nächsten wahrscheinlichen Nutznießer dieses Musters:
- Wind Waker (
zeldaret/tww) – sobald es abgeschlossen ist, ist ein Ship-of-Harkinian-artiger Port zu erwarten - Skyward Sword (
zeldaret/ss) – frühere Phase, aber beobachtenswert - Breath of the Wild (
zeldaret/botw) – das spektakuläre; noch sehr früh
Verwandte Seiten
- Alle Zelda-Dekompilierungsprojekte im Überblick – aktueller Stand aller 8 zeldaret-Repos
- Was ist Dusklight? – Erklärung des Decomp-Port-Konzepts
- Dusklight Pillar-Guide – was TwilitRealm auf dieser Arbeit aufgebaut hat
Quellen
- github.com/zeldaret/tp – Repo
- decomp.dev/zeldaret/tp – Fortschritts-Dashboard
- twilitrealm.dev/posts/2026-05-09-dusk-v1-released – Dusklight-v1-Release-Post
- Time Extension: TP-Dekompilierung abgeschlossen (Dez. 2025)
- Time Extension: Zwei PC-Ports angekündigt (Apr. 2026)
- GBAtemp 99%-Meilenstein (Nov. 2025)
- HN-Thread November 2023
Zuletzt aktualisiert: 10. Mai 2026. Wir aktualisieren diese Seite, wenn die Wii / NTSC-J / Shield-Decomp-Arbeit voranschreitet.
← Decomp-Hub · Pillar-Guide →