ROM-Hacking auf dem Super NES

Dann mach ich's halt selbst

Von am 19.02.2017 um 12:14 Uhr |

Rollenspiel-Fans auf den guten alten 16-Bit-Konsolen wie dem Super NES mussten in den Neunzigern eine gewisse Leidensfähigkeit mitbringen, denn die besten Titel dieses Genres erschienen damals oft nur exklusiv in Japan. Was blieb, waren neidische Blicke gen Fernost. Bis Jahre später einige Anhänger den Entschluss fassten, die Sache selbst in die Hand zu nehmen. Willkommen in der wundervollen Welt der ROM-Hacks und Fan-Übersetzungen.

Mit Secret of Mana fing alles an. Ich hatte schon eine Menge Gutes über das Spiel gehört, folglich kaufte ich mir ein Super Nintendo Entertainment System (Super NES) und konnte es kaum erwarten, das Modul einzustecken. Gesagt, getan – und von dem Moment an, wo ich das magische Schwert aus dem Stein zog, haben mich Rollenspiele nie wieder losgelassen. Glücklicherweise gab es eine Riesenauswahl auf dem Super NES: Chrono Trigger, The Legend of Zelda, Final Fantasy II&III, Ogre Battle, Secret of Evermore, Terranigma, Illusion of Time (Gaia), Lufia I&II, Breath of Fire I&II und viele mehr, die meisten davon zumindest auf Englisch (was ohnehin immer besser war als die Übersetzungen auf Deutsch).

Aber irgendwann war auch das letzte Spiel durchgespielt. Während Gamer in Europa und Nordamerika sehnsüchtig (und meist vergeblich) warteten, erfreuten sich Fans aus dem Mutterland der Role Playing Games über einen steten Fluss weiterer Neuheiten. Große Titel wie Bahamut Lagoon, Star Ocean oder Secret of Mana 2 (Seiken Densetsu 3) kamen exklusiv in Japan heraus und Firmen wie Square, Enix, tri-Ace & Co. erachteten es damals leider nicht für lukrativ, diese Spiele in anderen Sprachen zu veröffentlichen.

Hoffnung kam erst Jahre später auf, als sich gegen 1996/1997 dank Internet und Emulatoren neue Möglichkeiten ergaben. Gruppen wie RPGe, J2E, Multiple Demiforce oder DeJap machten es sich zur Aufgabe, Hürden wie Kopierschütze, eine mehrfache Komprimierung und die Lokalisierung auf Englisch in Angriff zu nehmen.

Nach mehreren Monaten ist es mir gelungen, mit dem ROM-Hacker Adam Crossley, auch bekannt unter dem Pseudonym Dark Force, von der Gruppe DeJap Kontakt aufzunehmen. DeJap gehörte damals durch Veröffentlichungen wie Dragon Quest V und VI, Bahamut Lagoon, Star Ocean und Tales of Phantasia zu den bekanntesten Gruppen. Während Adam am JFK Airport in New York auf seinen Flug wartete, sprachen wir über die Anfänge der ROM-Hacking Szene, welche Hürden es zu meistern galt und warum er nie ein übersetztes Spiel selber zu Ende gespielt hat.

Adam, fangen wir mit dem Grundsätzlichen an. Was benötigt man für einen selbstübersetzten ROM-Hack?

Es gibt drei Aufgaben: Einer ist der ROM-Hacker, ein weiterer der Übersetzer, der dritte ist der Tester. Der ROM-Hacker kümmert sich um die Extraktion des japanischen Skripts und die Entschlüsselung der Sprachkodierung, die Grafiken und die Fonts usw. Der Übersetzer macht es entweder, weil er die Spiele wirklich mag, und/oder um seine Sprachkenntnisse anzuwenden und auszubauen. Der Tester muss meistens keine wichtigen Fähigkeiten besitzen, kommt dafür aber in den Genuss, exklusiv übersetzte Titel anspielen zu können.

Wie kamst Du dazu japanische ROMs zu hacken?

Es fing mit einem NES-zu-Super NES Adapter an, den ich zusammen mit einigen japanischen Spielen in einem Videospiele-Laden gekauft habe. Ich sah eine Menge Text, hatte aber keinen blassen Schimmer, um was es in den Spielen ging. Eines Tages fasste ich den Entschluss, Japanisch zu lernen. Zufällig kaufte ich damals Mario Paint für das Super Nintendo. Das Spiel war auf Englisch, beinhaltete aber auch japanische Fonts und eine Bedienungsanleitung, wie man auf Japanisch schreibt und betont. Dadurch brachte ich mir selbst Japanisch bei: Zunächst las und schrieb ich Texte mit diesem Spiel, später wiederholte ich das Gleiche mit japanischen Schriftzeichen auf einem PC. Ich lernte gerade Programmieren in der Schule (Assembler) und erkannte, welche Möglichkeiten sich durch die Veränderungen von Quelltexten ergaben. Ich forschte weiter nach und zu meinem Erstaunen gab es bereits eine kleine Szene, die sich der Übersetzung von Spielen gewidmet hatte. 

DEJAP SNES Rom Translations

Wie fing es mit der Gruppe DeJap an?

Richard Bush, auch bekannt als J3d! (gesprochen “Jedi”), fing als Erstes mit dem ROM-Hacken an und setzte auch die Website für DeJap auf. Irgendwann widmete er sich aber zunehmend seinem Emulator „Raine“. Dieser wurde so erfolgreich, dass für DeJap keine Zeit mehr blieb. Ich überredete ihn, mir die Gruppe zu überlassen, und kümmerte mich fortan um alle Tester, Übersetzer und Releases.

Welches war Dein erster ROM-Hack?

Das erste Spiel, das ich selber auf Englisch übersetzen wollte, war „Romancing Saga III”. Es war ein Rollenspiel von Square mit umwerfenden Grafiken und Special Effects. Auf den frühen Super NES-Emulatoren kriegte man das Spiel zum Laufen, daher konnte ich es debuggen und anfangen zu hacken. Da ich aber nie einen Übersetzter für das Skript fand, habe ich das Projekt nie beenden können. Als im Dezember 1995 „Tales of Phantasia“ herauskam, spornte mich das sehr an. In Japan wurde es als das größte RPG mit der besten Grafik beworben, welches je auf dem Super Nintendo veröffentlicht wurde. Also sagte ich mir: wenn du es machst, dann nur mit dem Besten! Oder? Eine weitere Hoffnung war, dass allein die enorme Popularität des Spiels die Suche nach einem bereitwilligen Übersetzer einfacher gestalten würde. 

Tales of Phantasia Super Nintendo Dejap Translation

Klingt nach einer echten Herausforderung.

In den ersten Jahren der Homebrew-Szene auf dem Super NES gab es niemanden, der dieses Spiel zum Laufen bekam. Also machte ich mich ans Werk. Die meisten Backup-Systeme („Console Copier“) besaßen nur 32 Megabit RAM-Speicher, aber „Tales of Phantasia“ und auch „Star Ocean“ hatten jeweils 48 Megabit. Nach langer Suche fand ich jemanden, der einen Copier besaß, welcher diese beiden Steckmodule sauber auslesen konnte. Ich schaute mir daraufhin das Memory Mapping an und war dann der Erste, der das Spiel vollständig laden und spielen konnte. Für diese Leistung wurde ich auch in Emulatoren wie ZSNES und Snes9x genannt.

Was waren denn die größten technischen Hürden beim Rippen von Super NES-ROM's?

Es gab Kopierschütze in der Hardware wie zum Beispiel bei „Star Ocean“ und ein paar anderen Spielen. Die machten ein Auslesen mit einem Copier unmöglich. Man musste dafür das Gerät erst öffnen und physikalisch modifizieren. Für „Star Ocean“ habe ich daher meinen Super Wildcard DX2 – den ich von The White Knight/Anthrox bekommen hatte – auseinandergenommen und erhielt dabei Unterstützung von Kevtris (einem weiteren Console-Hacker). Wir bauten Sachen ein wie einen CIC Bypass und einen timer pin, um eine externe Uhr mit dem SDD1-Chip zu synchronisieren, wodurch der SWC DX2 anschließend Befehle an den Chip auf dem jeweiligen Steckmodul schicken konnte. So konnte man auch den Kopierschutz austricksen. Mit dem gleichen Setup gelang es mir auch, das Spiel „Far East of Eden“ erst zu kopieren und dann zu emulieren. Das Gleiche gilt für SA-1 Spiele wie „Mario RPG“, bei dem ich übrigens half, die erste, funktionierende Version auf Englisch herauszubringen.

Die Copier kriegten es häufig einfach nicht hin, Spiele sauber zu dumpen. Bei Tales of Phantasia dauerte es auch eine Weile. Wir benutzten einen Game Doctor 7 64MB, aber das Ergebnis war ein verschachteltes GD-Format. Das musste ich erst wieder neu anordnen und schrieb dafür ein Programm, damit Emulatoren das Spiel überhaupt einlesen konnten.

Welche Hürden gab es bezüglich der Emulation?

Nur weil man ein Image besitzt, bedeutet das noch lange nicht, dass man es auch spielen kann. Dafür muss man alle Features des Spiels emulieren. Abhängig von der Hardware in jedem Modul sind die Speicherbelegung und Registerbelegung auch unterschiedlich. Um ein Spiel in einem Emulator zum Laufen zu bekommen, muss man erst die korrekte Speichereinblendung definieren (die nicht immer mit ausgelesen wird, wenn man das Spiel kopiert), sonst erhält man nur Datenmüll. Im Fall von „Tales of Phantasia“ gab es noch keine „sauberen“ ROMs im Netz, daher nahm ich mir vor, zunächst den Memory Mapper zu verstehen. Nachdem das gelungen war stellten wir fest, dass es glücklicherweise keine zusätzliche Hardware gab, die für eine erste Emulation noch von Nöten gewesen wäre. Grundsätzlich ist es so, dass man den Code eines Spiels richtig in den Speicher lädt und mit dem korrekten Einsprungspunkt ausführt. Dann kann man die Speicherverwaltung austüfteln und perfektionieren, das Spiel debuggen und herausfinden, wie was funktioniert und welche Register benutzt werden. Es gibt noch viel mehr zu beachten, aber das sind die Grundlagen. Die meisten Leute, die sich mit ROM-Hacken beschäftigt haben, kümmerten sich aber nie um diese Sachen und haben sich auf Titel fokussiert, die bereits sauber emuliert werden konnten. 

Tales of Phantasia Dejap Version

Wie funktionierte es hinsichtlich des japanischen Skripts und dessen Lokalisierung?

Das war vermutlich der komplizierteste Teil bei vielen Spielen. Zunächst muss man herausfinden, wo der Text gespeichert ist. Einfache Text-Suchfunktionen können dabei helfen, aber nur bei unkomprimiertem Text. So ziemlich alle Spiele, die wir uns bei DeJap vorgeknöpft haben, benutzten aber spezielle Datenkompression. Komprimierte Texte zu finden gestaltet sich deutlich schwieriger und setzt erweiterte Techniken und Tools zum Debuggen voraus. Die Emulatoren damals waren noch nicht so weit gediehen, daher mussten wir beispielsweise Snes9x dazu bringen, eine gewaltige Log-Datei auszuspucken, die wir dann scannen konnten. Diese Datei – die auch schon mal Hunderte von Megabytes groß sein konnte – half uns dabei, Hinweise zu entdecken, wie und wo der Text abgelegt wurde. Meistens musste man den Ursprung der Daten zurückverfolgen, die im Video-Buffer abgelegt wurden. Das alles setzte eine Menge Fachkenntnisse über die Hardware des Super NES voraus.

Wenn man den Text in einem ROM gefunden hatte, musste man danach das Image des Fonts finden und verstehen, wie Text und Font zusammenspielen. Es gab keine zwei Spiele, welche die gleichen Mapping Codes für Kanji-Schriftzeichen benutzten und folglich war dies immer ein manueller Prozess, anders als bei der Verwendung von ASCII. Man musste den Font extrahieren und ein Programm schreiben, das den Speicherzugriff steuert und EUC-Schriftzeichen ausspuckt (ähnlich wie bei Unicode) – der japanischen Version von ASCII. Mit dem extrahierten Font-Image musste ich die Wörter im Wörterbuch für Japanisch nachschlagen und den dazugehörigen EUC-Code ermitteln, mit dessen Hilfe ich dann die Kanji-Schriftzeichen konvertieren und schließlich eine Datei mit japanischen Text erzeugen konnte. Das Endergebnis war eine Datei mit dem kompletten Skript auf Japanisch, die ich auf unserer Website hochlud und fragte: „Wer will dabei helfen, dieses Spiel zu übersetzen?

Und dann ging es los?

Bei einigen Projekten sagten die Übersetzer ihre Teilnahme zu und machten sich sofort wieder aus dem Staub, nachdem sie erkannt hatten, wieviel Arbeit das war. Hinter anderen Projekten, wie „Dragon Quest V“ beispielsweise, steckte ein so großes Team, dass wir schnell Fortschritte machten. Bei „Star Ocean“ und „Tales of Phantasia“ verschwanden die Übersetzer zwischendurch im Nirgendwo, bevor sie plötzlich wieder auftauchten und die Arbeit zu Ende brachten.

Nach dem Extrahieren des Skripts von „Tales of Phantasia“ dauerte es einige Monate, bis sich ein Nutzer namens Alex, auch bekannt als Chess Piece Face, meldete und sagte: „Das ist mein Lieblingsspiel! Ich will es übersetzen. Du hast die harte Arbeit vollbracht, jetzt mache ich mich an die Übersetzung“. Ab da ging es los. Sein Japanisch war nicht besonders toll, also brachte er nach einem Jahr ein japanisches Mädchen – Miko – mit ins Spiel, die dann mit aushalf und die komplizierteren Sachen übersetzte.

Was geschah nach der Übersetzung mit dem fertigen Text?

Damit hatte man zwar eine große Hürde überwunden, aber nur eine Schlacht und noch nicht den ganzen Krieg gewonnen. Bis zum fertigen Spiel war es noch ein langer Weg. Man musste eine Möglichkeit finden, den fertigen Text auf Englisch wieder in das Spiel zu bekommen. Das Problem ist, dass englischer Text im Vergleich zu japanischem mehr Speicherplatz auffrisst. Die Sätze sind oft wortreicher und bieten wenig Einsparpotenzial. In einigen Fällen kürzten die Leute deswegen das Skript, um genau den verfügbaren Speicherplatz und jedes Byte auszunutzen.

Dann wiederum gab es Spiele wie „Dragon Quest III/V/VI“, bei denen der Text so stark komprimiert war, dass wir neue Algorithmen entwickeln mussten, um die Texte wieder in die Spiele quetschen zu können. Bei „Dragon Quest“ war das noch einfach, bei „Tales of Phantasia“ aber war das fertige englische Skript von Alex dreimal so groß wie das japanische Original. Es gab schlicht und einfach keine Möglichkeit, das Ding wieder in das Spiel hineinzubekommen.

Daher sah ich mich gezwungen, eine eigene Datenkompression zu programmieren, auch weil Alex und Miko wirklich tolle Arbeit geleistet hatten und ich nur ungern etwas davon kürzen wollte. Die Lösung war eine mehrfache Komprimierung: Zunächst wurde der Text in den Speicher entpackt, der Inhalt des Speichers wiederum wurde ebenfalls entpackt, und am Ende wurde der Text in Echtzeit für die Ausgabe auf dem Bildschirm entpackt. Ich wendete alle möglichen verrückten Tricks an, um die Daten so stark es ging zu komprimieren. Normalerweise ist die erneute Kompression von bereits komprimierten Daten nicht sehr effektiv. Ich habe aber monatelang getüftelt und schließlich einen Weg gefunden. Die Hardware des Super NES schreibt einem dabei vor, welche Arten der Datenkompression man verwenden darf. Ich habe alle miteinander kombiniert und Sachen gemacht, die vorher vermutlich noch niemand gemacht hat. Am Ende passte das Skript gerade so in das ROM. Und das war auch nur die Lösung für „Tales of Phantasia“. Bei anderen Titeln wie „Bahamut Lagoon“ kamen komplett andere Techniken zum Einsatz, die noch komplexer waren.

Tales of Phantasia Dejap Translation

Wie lange hat die Übersetzung von “Tales of Phantasia” dann insgesamt gedauert?

Circa drei Jahre, vermutlich mehr. So genau erinnere ich mich nicht mehr daran. Und es gab auch eine längere Unterbrechung. In der Zwischenzeit startete ich sogar ein weiteres Projekt, um die Stimmenausgabe in einigen Soundeffekten des Spiels ebenfalls auf Englisch zu übersetzen. Das habe ich dann aber an jemand anderen abgegeben. Es gab ein paar Releases damit, aber ich bin unsicher, ob das Ganze jemals fertiggestellt worden ist.

Eine ziemlich lange Zeit. Und alle haben bis zum Ende mitgemacht?

Bei “Tales of Phantasia” ja. Aber bei anderen Projekten kam es oft vor, dass jemand schnell die Geduld verlor und absprang. Meistens der Übersetzer, manchmal aber auch ich persönlich. Wenn man erst einmal jemanden für die Übersetzung gefunden hatte und nach ungefähr einem Monat noch keine ersten Ergebnisse da waren, verschwanden die Leute. Sie hatten vermutlich erkannt, dass es doch viel mehr Arbeit war, als sie dachten. Das war die frustrierendste Erfahrung und auch der Grund, warum ich irgendwann aus der Szene ausgestiegen bin. Ich war es einfach leid, Leute sagen zu hören „Ich kümmer‘ mich darum!“, um mir dann erst Hoffnungen zu machen, viel Zeit in das ROM-Hacken zu investieren und am Ende festzustellen, dass der andere verschwunden und die ganze Mühe umsonst gewesen war.

Warum hast Du keine professionellen Übersetzer angeheuert?

An diesem Punkt war ich angelangt. Aber dafür brauchte ich Geld, sei es über Werbung oder Spenden. Wir haben ein einziges Mal über unsere DeJap-Website zu Spenden aufgerufen, für das Spiel „Star Ocean“. Mehrere Leute haben auch gespendet, aber andere waren so verärgert, dass unsere Website gehackt wurde und alles down war.

Ernsthaft, Hacker hacken andere ROM-Hacker?

Es war ziemlich albern und belanglos, aber das Timing war auch schlecht. Hätten wir damals so etwas wie Kickstarter gehabt, hätten wir viel mehr Möglichkeiten gehabt und mehr erreichen können. Vielleicht hätten wir auch Kohle damit verdient. Das war zu der Zeit jedenfalls mein Traum.

Wie muss man sich die ROM-Hacking Szene von damals vorstellen?

Am Anfang gab es ein paar große Projekte wie “Final Fantasy II“ (NES) und „Final Fantasy V“ (Super NES), „Dragon Quest III / VI“ (SNES) von Gruppen wie DeJap (J3d!, Dark Force), Demiforce (Demi), RPGe (som2freak, barubary, TheBigWeird). Das war der Beginn der ROM-Hacking Szene. Es gab natürlich noch andere, aber das waren die bedeutenden Leute. Deren Projekte inspirierten viele andere, es ihnen gleichzutun. Wir haben How-To Anleitungen herausgebracht, Richard und andere schrieben gute ROM-Hacking Tools und veröffentlichten sie. Daraufhin explodierte die Szene der Fan-Übersetzungen förmlich. Innerhalb eines Jahres gab es plötzlich zehnmal mehr Leute, die mitmachten. Die meisten davon in den USA und Kanada, aber auch einige aus Europa.

Ging es dabei auch um Geld?

Niemand hat damals wegen dem Geld mitgemacht, allen ging es nur um den Spaß. Vor allem den Leuten, die sich um das ROM-Hacking gekümmert haben. Aber es ging auch um den Lerneffekt. Ich habe damals mehr über Informatik gelernt als ich es je in der Schule gekonnt hätte. Auf der Hochschule lernte ich ein paar Dinge, aber mit meinem ROM-Hacking Wissen wusste ich im Grunde genommen dreimal mehr als alle anderen und verließ frühzeitig den Kurs (lacht). Heutzutage gibt es Firmen, die unsere ROM-Hacks auf Steckmodule brennen und dann verkaufen.

Wer macht sich die Mühe, die ROM-Hacks auf echte Module zu brennen?

Ich habe mehreren Leuten Details über meinen veränderten Super Wildcard DX 2 verraten. Die besaßen eine bessere Ausrüstung und fingen an, RAM Carts anzufertigen. Leute wie John “The Dumper” Weidman und nevitski führten meine Arbeit fort und entwickelten bessere Systeme. Anstatt beispielsweise einen Copier mit einigen Hacks zu verwenden, platzierten sie einfach EEPROMs auf Steckmodulen und verkabelten diese mit dem PC. So konnten sie direkt auf die Chips schreiben.

Letztes Jahr war ich hier in Nordamerika in einem Videospiele-Laden und sah, dass sie „Tales of Phantasia“ mit meiner Übersetzung als Steckmodul verkauften. Ich sagte „Was zum Teufel ist das? Das stammt von mir! Woher haben Sie das?”. Es stellte sich heraus, dass eine Firma die Images von übersetzten Spielen auf EEPROMS brannte, diese in original Steckmodule mit original Hülle und Umschlag einlötete und diese dann verkaufte. Ich glaube nicht, dass Leute wie The Dumper und neviski dahinter stecken. Aber andererseits glaube ich, dass irgendjemand aus der ROM-Hacking Szene hier doch involviert ist. Immerhin war ich dadurch in der Lage, meine eigene Arbeit auf original Steckmodulen zu erwerben – auch wenn ich nicht begeistert war, dafür auch noch Geld hinlegen zu müssen! 

Dejap Translation Projects

Wie denkst Du rückblickend über die ROM-Hacking Szene?

Sie lässt sich am besten wie folgt beschreiben: Je stärker man involviert ist, desto mehr wirkt sie wie eine Seifenoper. Es gehen so viele verschiedene Sachen ab und man trifft auf so viele unterschiedliche Charaktere und Persönlichkeiten. Es hatte etwas von einem Politikerdasein. Ich vermittelte immer zwischen verschiedenen Gruppen und Leuten, damit die Zusammenarbeit weiterging. Stell dir die ROM-Hacking Szene wie die Europäische Union vor und jede Gruppe ist ein eigenes Land. Alle besitzen ihre eigenen Ziele, arbeiten und handeln aber gemeinsam und gehen Kompromisse ein. Für dieses Ausgleichen ging eine Menge Zeit drauf, besonders bei Projekten mit 10-15 Mitarbeitern.

Das hört sich nicht gerade nach Spaß an?

Es fing an mit “Ich möchte dieses coole Projekt mit ein oder zwei anderen Leuten machen“, da hat es noch Spaß gemacht. Etwas fertigzustellen war wie eine Belohnung. Als aber immer mehr Projekte gestartet wurden, wuchs die Szene zu stark an und wurde zunehmend politisch. Zu viele Leute, zu viele Meinungen, die zu Rivalitäten und hartem Wettbewerb führten – was wie gesagt mehr von einer Seifenoper hatte. Man konnte beispielsweise nicht mit einem Spiel anfangen, an dem schon jemand anderes arbeitete. Denn das hätte diese Leute verärgert, worauf man die Unterstützung für andere gemeinsame Projekte verloren hätte und so weiter. Das alles war ziemlich frustrierend.

Konntest Du wenigstens Deine fertigen Übersetzungen genießen?

Das ist das traurige an der ganzen Sache, wenn man in einer ähnlichen Position wie ich war: Wurde ein Spiel fertiggestellt, fand man nicht die Zeit, es selber zu spielen. Die Übersetzer und Tester hatten es bereits mehrfach durchgespielt und Bugs ausgemerzt, aber als ROM-Hacker war deine Arbeit zu dem Zeitpunkt oft bereits beendet. Ein fertiges Spiel dann noch 30 bis 40 Stunden zu spielen wäre Zeitverschwendung gewesen, denn man konnte sich ja bereits dem nächsten Projekt widmen. Also verschnaufte man kurz, klopfte sich auf die Schulter und weiter ging's mit dem nächsten Titel. Ich schwöre, wenn ich in Rente gehe, werde ich sie alle spielen.


Wenn Dir das hier gefällt und Du selbst an irgendetwas Ungewöhnlichem im Bereich Tech/Digital arbeitest (oder gearbeitet hast), ich freue mich immer über einen neuen Kontakt! Selbst wenn es weniger als zehn Leute auf Erden interessieren sollte - mich interessiert es :) Außerdem freue ich mich sehr über Anfragen von Journalisten, die Interesse an einer Veröffentlichung ihres Artikels über www.digitalista.de haben. Ich würde hier gerne Sachen beleuchten, die außergewöhnlich und abseits des Mainstreams sind und freue mich über jeden, der Lust hat mitzumachen.