Neue Wege zur Datenentdeckung von Game Boy Advance-Spielen durch Musik

Manchmal entsteht großartige Musik aus großem Leid. Ein herausragendes Beispiel dafür ist der Game Boy Advance (GBA), dessen Software vor etwa zwei Stunden abgestürzt ist und nun eine Melodie basierend auf dem im Modul gespeicherten Spiel abspielt. Wenn man genau genug zuhört – mit Hilfe spezieller Ausrüstung und Programmierung – kann man genau herausfinden, um welches Spiel es sich handelt. In der Theorie könnte man sogar dasselbe Spiel spielen.

Diese kürzlich gemachte Entdeckung wurde von TheZZAZZGlitch gemacht, dessen Aufgabe es ist, Glitches einzuführen und Pokémon-Spiele zu hacken. Wie dieser Modder jedoch betont, ist es keine sofort einsatzbereite Lösung, da es eine präzise Anpassung an verschiedene Quellformate erfordert. Obwohl es einfachere Möglichkeiten gibt, Daten von einem GBA-Modul abzurufen, fühlt man sich dabei nicht wie ein Datenarchäologe, der die Kunst des Informationsgewinnens beherrscht.

Nachdem der GBA abgestürzt war und die Geräusche über vier Stunden lang aufgenommen wurden, bemerkte der Modder bei etwa zwei Stunden und fünfzig Minuten klare Wellenformen in der Audiodatei. Später hört man tatsächliche Instrumentenklänge und Soundproben aus dem Spiel, die sequenziell abgespielt werden. Ansonsten handelt es sich um 8-Bit-Daten mit einer Frequenz von 13.100 Hz, die manchmal absolut verrückt klingen.

Nach zwei Tagen der Fehlersuche erstellte der Modder ein fertiges Python-Skript, das den Klang aus einer sauberen Aufnahme des GBA-Absturzes lesen konnte. Hat es funktioniert? Nicht ohne weitere Probleme. Eine der Schwierigkeiten dabei ist, dass es große Abschnitte von Null-Bytes in den ROM-Daten gibt, die schwer zu interpretieren sind. Nachdem ein weiteres Skript ausgeführt wurde, das die Abschnitte anhand ihrer ursprünglichen ROM-Positionen neu segmentierte, war der ROM zu 99,76 Prozent korrekt, aber startete immer noch nicht. TheZZAZZGlitch merkt später an, dass es technisch gesehen bekannte ROM-Daten verwendet, um unbekannte Daten zu entdecken, im Grunde genommen also „cheaten“, aber man könnte verschiedenste Annahmen treffen, wenn man wirklich blind daran arbeiten würde.

Die nächste Verbesserung betraf die Verbesserung der Audioaufnahme. Nachdem sie dreimal aufgenommen und mit einem „Mehrheitsentscheid“-Algorithmus zusammengefügt wurde, stieg die Genauigkeit auf 99,979 Prozent. Das resultierende ROM startete, aber der Text war beschädigt und der Titelbildschirm hing. Nachdem sie sieben verschiedene Aufnahmen zusammengeführt und leere Stellen gelöscht hatten, erreichte die Übereinstimmung 100 Prozent. Das passiert etwa zur Hälfte des Videos; man sollte den Rest anschauen, um herauszufinden, wie es auf physischer Hardware funktioniert, wie es mit einem anderen Spiel funktioniert (dem ARM-Code-Puzzle im replizierten Modul) und wie man die besten Aufnahmen erzielen kann, einschließlich der Verwendung eines „verfluchten Adapters“, der den Klang auf unangenehme Weise in einen einzigen Kanal mischt.

Häufig gestellte Fragen (FAQ)