HeadlinesBriefing favicon HeadlinesBriefing.com

Construction de débogage de Resident Evil 4 pour GameCube entièrement décompilée

Hacker News •
×

Une décompilation complète et byte-identical de Resident Evil 4 pour la Nintendo GameCube a été réalisée pour la construction de débogage G4BE08 (le prototype du « 25 novembre 2004 », les deux disques). Le projet reproduit exactement main.dol et tous les 114 overlays REL, vérifié par des hachages SHA1 à chaque construction. Il comprend 1,083 objets (675 dans le DOL, 408 dans les RELs) et 15,641 fonctions, tous byte-identical. Le code source totalise environ 555k lignes de C/C++ (~33k lignes d’en-têtes) sans aucun fichier d’assemblage.

Le jeu a été compilé avec SN Systems Pro DG 3.9.3 — GCC 2.95.3, Metrowerks CodeWarrior 2.4.7 et CodeWarrior GC/1.2.5n. Il comprend le middleware CRI (ADX, SFD, MPV) et les bibliothèques du SDK Nintendo. Le dépôt ne contient aucune ressource de jeu ; les utilisateurs doivent fournir leurs propres images de disque de débogage (disque 1 pour main.dol et 110 RELs, disque 2 pour les quatre RELs de l’étape île). La construction nécessite Linux, Python 3 et ninja ; les compilateurs et outils sont téléchargés automatiquement sauf le GCC natif de SN.

La correspondance signifie que chaque unité se compile en octets d’origine avec les compilateurs d’origine. Lorsque des formes de code source spécifiques étaient nécessaires pour reproduire les choix de registres ou la planification, les constructions sont marquées avec des commentaires `// COMPILER-DIFF:` (644 au total). Une vérification automatisée confirme que seules 231 instructions noyau matériel proviennent de modèles d’assembleur. La documentation couvre l’architecture du moteur, la méthodologie de correspondance, les notes par unité et les journaux de recherche des compilateurs.

Entités clés : Entreprises : Nintendo, SN Systems, Metrowerks, CRI Middleware | Personnes : adonis-singh

FAQ : Que signifie « décompilation byte-identique » pour ce projet Resident Evil 4 ?

Cela signifie que le code recompilé (main.dol et tous les 114 overlays REL) correspond byte à byte à la construction originale de débogage de GameCube, vérifié par des hachages SHA1, en utilisant les compilateurs d’origine (SN Systems GCC 2.95.3 et Metrowerks CodeWarrior) et les formes originales de code source.