Présentation du projet

Le dépôt ogre-battle-64-recomp vise à transformer le jeu Nintendo 64 Ogre Battle 64 : Person of Lordly Caliber en exécutable natif PC. La conversion repose sur la chaîne d’outils N64Recomp, qui traduit le code machine N64 en C puis le compile pour x86‑64. Le projet ne contient aucun fichier de jeu protégé ; l’utilisateur doit fournir son propre dump ROM au format .z64 (big‑endian).

Architecture de la recompilation

Le processus débute par la désassemblage du binaire N64, généré dans le répertoire asm/. Les 807 fonctions du segment principal ont déjà été converties en code C, comme indiqué dans le README. Ces fonctions sont ensuite liées à un runtime générique qui implémente le rendu, l’entrée et l’audio. Le runtime, encore en cours de développement, repose sur des patches spécifiques (n64recomp-ob64.patch, rt64‑ob64.patch) appliqués à la version originale de N64Recomp afin d’adapter les appels système et la gestion de la mémoire virtuelle du N64.

# Exemple de Makefile simplifié
all: compile link

compile:
	$(CC) -c $(SRCS) -Iinclude -O2

link:
	$(CC) $(OBJS) -o OgreBattle64.exe

Le fichier config.yaml décrit la cartographie des segments de mémoire (vram mapping) et les adresses de relocation, essentielles pour reproduire le comportement du processeur RSP et du GPU du N64 sur PC.

Progrès réalisés et limites actuelles

Le statut affiché indique que le « main code segment » est entièrement recompilé, ce qui représente plus de 99 % du travail de conversion du code logique du jeu. En revanche, le runtime d’exécution reste incomplet : le rendu graphique, la gestion des entrées et le moteur audio ne sont pas encore fonctionnels. Cette lacune explique pourquoi le projet ne peut pas encore produire une version jouable, même si le code source C compile sans erreur.

Le projet mentionne également que la majeure partie du travail a été réalisée à l’aide du modèle d’IA DeepSeek v4/v4.1 Flash. Cette utilisation d’IA accélère la génération de code de désassemblage, mais elle ne garantit pas l’exactitude à 100 % des traductions, d’où la nécessité de vérifications manuelles.

Perspectives techniques

Les prochaines étapes consistent à finaliser le runtime, notamment en implémentant un backend graphique compatible avec les shaders et les textures N64, et à intégrer un moteur audio capable d’interpréter le format RSP‑N64. Le plan détaillé (PLAN.md) prévoit également l’ajout de tests automatisés pour valider la correspondance fonctionnelle entre la version N64 et la version recompilée. Une fois le runtime achevé, le projet pourra servir de référence pour la recompilation statique d’autres titres N64, ouvrant la voie à des ports PC sans émulateur.