Zum Inhalt springen
DieMilchgebendeKuh DEEN
Plus holen Anmelden
Decompilation & PortsRe-/DecompilationGX 56Neu

Mission: Impossible (N64) – deutsche Recompilation als PC-Port

Die deutsche N64-Fassung von Mission: Impossible als PC-Port: 60 Bilder pro Sekunde, Breitbild, Maus und Tastatur. Du brauchst nur deine eigene ROM, den Rest erledigt das Einrichtungsprogramm.

5 Min.
Download FavoritGlocke
Textbreite

Textbreite

Gilt für alle Beiträge, gemerkt in diesem Browser.

Mission: Impossible RecompilationN641998PC-PortDownload: Mission: Impossible (N64) – Deutsche Recompilation

Mission: Impossible erschien 1998 für das Nintendo 64, in Deutschland mit eigener Fassung: deutsche Texte, deutsche Sprachausgabe, alles lokalisiert. Eine recomp gibt es schon, nur eben nicht für die deutsche Version (oh, Wunder …). Das habe ich geändert. Hier nun mein PC-Port: hohe Auflösung, Breitbild, Maus und Tastatur und 60 Bilder pro Sekunde statt der 50 Hz der deutschen PAL-Fassung. Möglich macht das statische Rekompilierung, dazu unten mehr. Du brauchst nur deine eigene deutsche ROM, den Rest erledigt das Einrichtungsprogramm. Das Zielen habe ich sogleich auch angepasst, sodass es sich nicht mehr anfühlt, als würde man mit einer stumpfen Pinzette versuchen, ein Haar aus einer Frikadelle zu operieren.

Download und Voraussetzungen

Was du brauchst

  • Die deutsche N64-ROM von Mission: Impossible, als Abbild deines eigenen Moduls. Prüfsumme (SHA-1): 906ffab2f8e8eece17e0846ffbd9ea32370206da. Andere Fassungen (US, andere EU-Sprachen) erkennt die Einrichtung und lehnt sie ab. Für die US-Fassung gibt es ja mi_n64_exe.
  • Windows, 64 Bit.
  • Eine Grafikkarte mit DirectX 12 oder Vulkan.

Das war’s. Ordner entpacken, Einrichtung.exe starten, ROM auswählen, Zielverzeichnis angeben. Das Übersetzen dauert je nach Rechner ein paar Minuten, danach ist alles fertig.

Download

Mission: Impossible (N64) – Deutsche Recompilation

Mission: Impossible (N64) – Deutsche Recompilation

Auf YouTube öffnen
  • Version 1.0 Frei

    Windows · .zip · 123,0 MB · 03.11.2026

    Prüfsumme

    SHA-256ccba14301d3aa773be64cda3a1548b500b8de0461bd5fdfe767f069e08a1cb58

So funktioniert die Rekompilierung

Ein Emulator tut so, als wäre er ein N64: Er liest die Befehle des Spiels einzeln, während es läuft, und führt sie nach. Das klappt, bleibt aber eine Dauer-Simulation.

Erst übersetzen, dann spielen

Hier läuft es andersherum: Der Maschinencode des Spiels (MIPS R4300i) wird vorher einmal komplett in C übersetzt. Hübsch ist dieses C nicht, aber treu: Jede Funktion im ROM wird zu einer C-Funktion, die Register werden zu Variablen, und Sprünge laufen über eine Nachschlagetabelle.

Dann macht ein ganz normaler C-Compiler Code für deinen Prozessor daraus. Heraus kommt eine DLL, die direkt auf deiner CPU läuft. Der Ton-Teil (der RSP, ein kleiner Signalprozessor im N64) wird auf dieselbe Weise übersetzt.

Grafik über RT64

Bleibt das Bild. Das Spiel schickt dem N64 Zeichenlisten: Dreiecke, Texturen, Farbmischung und so weiter. RT64 nimmt sie entgegen und gibt sie an moderne Grafikschnittstellen weiter, unter Windows D3D12 oder Vulkan. Darum gehen Breitbild, hohe Auflösung und MSAA, ohne dass man am Spiel schrauben muss.

Betriebssystem über N64ModernRuntime

Das Betriebssystem des N64 (libultra) ersetzt N64ModernRuntime. Ruft das Spiel etwa osRecvMesg auf, landet es in einer PC-Funktion und nicht in nachgebauter Hardware.

Kurz gesagt: Das Spiel glaubt, es liefe auf einem N64. In Wirklichkeit ist es ein PC-Programm, das sehr genau weiß, wie ein N64 sich benimmt.

Auf wessen Schultern das steht

Den größten Teil der Arbeit haben andere gemacht.

  • mi_n64_exe von nickallevato ist die PC-Rekompilierung von Mission: Impossible, allerdings für die US-Fassung. Von dort stammen die 60 FPS, Maus und Tastatur, die Analogkamera, Breitbild mit festem HUD und das ganze Grundgerüst. Ohne dieses Projekt gäbe es meinen Port nicht. Lizenz: GPL-3.0.
  • N64Recomp und N64ModernRuntime, ursprünglich von Wiseguy: das Werkzeug, das MIPS nach C übersetzt, und die Laufzeit, die das N64-Betriebssystem ersetzt. Bekannt sind sie vor allem durch Zelda64Recomp.
  • RT64 von Dario ist der Renderer, der die N64-Zeichenlisten in D3D12 oder Vulkan übersetzt.
  • RecompFrontend liefert das Gerüst für Menü und Einstellungen, auf dem auch mi_n64_exe aufbaut.

Was ich gemacht habe

Von der US- zur deutschen Fassung

Die deutsche ROM ist nicht einfach die US-ROM mit anderen Texten. Der Code liegt an anderen Adressen, Funktionen sind verschoben, einiges ist schlicht anders. mi_n64_exe kennt nur die US-Adressen: Jeder Hook und jede feste Datenadresse zeigt dorthin.

Daneben arbeite ich an einer Matching-Dekompilierung der deutschen Fassung. Das heißt: C-Code schreiben, ihn mit dem Original-Compiler von damals (KMC GCC 2.7.2) übersetzen und so lange anpassen, bis dasselbe herauskommt wie in der ROM. Inzwischen sind es 1367 Funktionen, rund 65 % des CPU-Codes.

Damit lassen sich US- und DE-Adressen sauber aufeinander abbilden. Ein paar Skripte rechnen jede Stelle um und prüfen den Code dort gegen. Also kein „sieht ungefähr gleich aus, passt schon“.

Ein Befund dabei: DE und US unterscheiden sich in nur 21 Funktionen. Der gesamte Audio-Code ist identisch.

Von 50 Hz auf 60 Hz

Die deutsche Fassung ist eine PAL-Fassung und lief mit 50 Hz. Damit sie dabei nicht lahmer wirkt, hat der Code an mehreren Stellen nachgeholfen: Bewegungen werden hochgerechnet, Kamerafahrten durch 1,2 geteilt, Anzeigedauern umgestellt (600 statt 500 Ticks) und so weiter.

Spannend: All diese Korrekturen hängen zur Laufzeit an einer einzigen Variable, osTvType. Keine ist fest eingebaut. Der Port setzt osTvType auf NTSC und liefert den Bildtakt fest mit 60 Hz. Damit läuft die deutsche Fassung wie die NTSC-Fassung: gleiche Spiel-, Animations-, Ton- und Musikgeschwindigkeit, nur eben mit deutscher Sprache. Nicht 50 Hz hochgerechnet, sondern das Original-Timing der NTSC-Fassung.

Die Einrichtung

Spielcode und Spieldaten dürfen nicht weitergegeben werden. Deshalb erzeugt das Einrichtungsprogramm alles auf deinem Rechner:

  1. Es fragt nach der ROM und prüft sie: Byte-Reihenfolge (.z64, .v64 oder .n64 gehen alle) und Prüfsumme.
  2. Es lässt N64Recomp und RSPRecomp lokal laufen. Der Spielcode wird also bei dir nach C übersetzt.
  3. Danach macht ein mitgelieferter C-Compiler (llvm-mingw) daraus die spielcode.dll.
  4. Eine Selbstprüfung kontrolliert die Installation, dann ist sie fertig. Starter, Deinstaller und Verknüpfungen werden gleich mit angelegt.

Der Download selbst enthält keine ROM-Inhalte. Das prüft der automatische Bau bei jedem Paket gegen Fingerabdrücke der ROM.

Einrichtung, Starter und Menüs sind übrigens im Stil des Spiels gehalten, mit der Spielschrift, die beim Einrichten aus deiner ROM gelesen wird.

TV-Erlebnis (optional)

Wer mag, schickt das Spiel durch einen Röhrenfernseher-Filter. Es gibt zwei Modi:

  • Nur Filter: Scanlines, Maske, Leuchten, Composite-Unschärfe und so weiter, direkt auf dem Bild.
  • 3D-Wohnzimmer: Das Spiel läuft auf einem Fernseher in einem gerenderten Raum, mit Videorekorder und allem, was dazugehört.

Beides steckt in roehre, einem eigenen Projekt von mir (MIT/Apache-2.0). Die Szene, der Einbau und die Weiterentwicklung der Filter stammen von mir. Die Filter selbst bauen auf der Arbeit anderer auf:

  • crt-guest-advanced von guest(r)
  • crt-beans
  • librashader, eine Laufzeitumgebung für RetroArch-Shader
  • der CRT Beam Simulator von Blur Busters

Das alles ist rein optional. Wer das Spiel einfach scharf und modern sehen will, schaltet es ab.

Grenzen

  • Nur die deutsche Fassung, nur Windows.
  • Getestet habe ich auf meinen eigenen Rechnern. Wenn etwas hakt, freue ich mich über eine Meldung.
  • Die eigentliche Spielmechanik stammt aus mi_n64_exe. Fehler, die dort bestehen, gibt es hier vermutlich auch.

Rechtliches

Das ist ein Fanprojekt und kein offizielles Produkt. Mission: Impossible ist eine Marke von Paramount, das N64-Spiel stammt von Infogrames/Ocean. Ich stehe mit keinem der beiden in Verbindung. Im Download sind keine Spieldaten. Du brauchst eine eigene, rechtmäßig erstellte Kopie deines Moduls.

Der Port steht wie mi_n64_exe unter der GPL-3.0. Die Lizenzen aller verwendeten Projekte liegen im Paket bei.

Danke

An nickallevato für mi_n64_exe, an Wiseguy und alle Beteiligten an N64Recomp und N64ModernRuntime, an Dario für RT64, an guest(r), die Leute hinter crt-beans, librashader und Blur Busters, und an alle, die das N64 seit Jahren auseinandernehmen, damit so etwas überhaupt geht 🙂

Hat dir der Beitrag gefallen? Dann lass ein Muh da.

Das könnte dir auch gefallen

Schreib was dazu