Portierung meines Amiga-Spiels von 1993 auf Godot: Ein LLM liest den 68000-Assembler
Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly

Der Entwickler von Babylonian Twins, einem 1993 im Irak entstandenen Amiga-Spiel, portiert sein Werk mithilfe eines LLM auf Godot. Das KI-Modell übersetzt nicht nur 34.000 Zeilen C++ aus einem früheren iOS-Port, sondern auch die ursprünglichen 72.758 Zeilen 68000-Assembler, die für eine Maschine mit 512 KB RAM geschrieben wurden. Erstaunlicherweise gelingt die Übertragung in einem einzigen Durchgang, inklusive der Rekonstruktion der Binärdateien. Der Autor betont, dass die KI die Arbeit erledigte, er aber das Spielgefühl beurteilte und Fehler erst nach Wochen bemerkte.
„Ich ging verwirrt ins Bett.“ – über die erste Nacht, in der die KI seine 34.000 Zeilen C++ in Godot übertrug.
- gmerc
Das ist eine völlig neue Welt. Zufällige Retro-Spiele, die ich in den letzten Monaten auf modernes WebGL/WebGPU portiert habe:
- The Adventures of Robin Hood - Opus 4.7/Sonnet
- Syndicate - Sol/Luna 5.6/Opus ( https://this.os.isfine.org/blog/posts/modern-game-port-syndi... )
- Kaiser 2
- Populous Plus - Sol/Luna 5.6/Opus
- Dragon Strike - (Fable 5.1 fast ein One-Shot)
- War of the Lance - Qwnen-3.7-27B-dense (blieb hängen, fertiggestellt mit) Qwen-3.8-Flash-Next
https://this.os.isfine.org/blog/posts/what-reverse-engineeri...
- Dungeon Keeper - Verschiedene
- Red Baron - Opus 4.8, DeepSeek 4
- Test Drive 3 (Qwen-3.8-Flash Next, DeepSeek-4-Flash-exp, GLM-5.3-Flash)
- In Arbeit: Ultima 6 ... zu 3D (Fable, GLM-5.3) ( https://this.os.isfine.org/#ultima6-atlas )
Einige direkte Source-Ports (Kaiser), einige komplette RE-Arbeiten (Dragon Strike, Test Drive, WOTL)
Einige eine Mischung aus verfügbaren Quellen (Syndicate, Populous)
Einige der Erkenntnisse sind hier dokumentiert: https://this.os.isfine.org/blog/
- mattjoyce
Vor ein paar Wochen habe ich einen Speicherabbild eines ZX81-Spiels heruntergeladen und Claude gebeten, es in Go zu bauen.
Es hat es perfekt hinbekommen. Den Binärcode zurück in Basic und dann nach Go konvertiert. Meine Idee war, dass das Spiel dem LLM-Training unbekannt sein würde und vielleicht ein netter Benchmark wäre.
Was für eine verrückte Sache, zuerst beim Aufkommen der Personal Computer dabei zu sein und dann an dem Wendepunkt, an dem KI diese erste Erfahrung als Archäologie behandelt.
- cesaref
Mir ist aufgefallen, dass er erwähnte, dass sein Spiel mit 50 Hz lief – das stimmt, wenn ein Amiga auf PAL läuft, aber wenn es eine US-Maschine ist, läuft es mit 60 Hz, wenn es mit NTSC läuft.
Damals wurden die meisten Amiga-Spiele in Europa hergestellt, waren also auf 50-Hz-Refresh abgestimmt und spielten sich hierzulande ‚normal'. Bei 60 Hz fühlten sie sich falsch an, und genauso konnten US-Spiele träge und unbefriedigend wirken.
Die Maschine auf diese Weise an die Monitor-Refresh-Rate zu koppeln, war ein Fluch, aber auch ein Segen. Es ermöglichte den Maschinen, in verschiedenen Regionen einen Standardfernseher anzusteuern, obwohl das Bild etwas unscharf war, aber auch die Verwendung von dedizierten Monitoren, sobald man es ernst nahm. Das senkte den Preis und erlaubte vielen Kindern, ihre Eltern zu überzeugen, sich einen zu holen :) Die höheren Auflösungsmodi funktionierten jedoch einfach nicht, also zielte vieles auf die 320x256-Auflösung.
Der überraschende Vorteil war auch, dass der Amiga mit einem TV-Signal genlocken konnte und früher über ein Videobild gelegt wurde, was viele interessante, billige Grafik-Overlay-Fähigkeiten ermöglichte, die für kleine TV-Sender oder Enthusiasten sonst völlig unerreichbar waren.
Das waren glückliche Tage.
- btbuildem
> eine Kopie des Amiga Hardware Reference Manual
aka Das Buch... mein Gott, das weckt staubige Erinnerungen
Babylonian Twins hat so starke "Gods: Into the Wonderful"-Vibes, ich frage mich, ob dieses Spiel eine Inspiration für dich war
- dannyobrien
Ich wollte nur hinzufügen, wie sehr ich bewundere, dass du dieses Spiel '93 in Assembler erstellt hast. Etwa zur gleichen Zeit versuchte ich, ein Spiel auf dem Atari ST zu schreiben, und die Hingabe an das Projekt – besonders als die Dokumentation vor dem Internet so dünn gesät war – ist außergewöhnlich. Hast du Geschichten vom Debuggen des Spiels? Ich fand das immer den entmutigendsten Teil, nach der endlosen Hoffnung, den Code von Hand zu erstellen, von dem ich sicher war, dass er beim ersten Mal funktionieren würde...
- appstorelottery
Irgendjemand, der "Claude Fable 5, laufend in Claude Code" verwendet? Könnt ihr spekulieren, welcher Plan oder welche Kosten damit verbunden gewesen sein könnten (da es ungefähr 5 Stunden oder so Dauerbetrieb für sowohl C++- als auch Assembly-Ports zu sein scheint, zusammen mit den Versand-/Marketingfunktionen, bei denen nicht klar ist, wie viel Rechenleistung verwendet wurde)? Danke im Voraus (ich denke darüber nach, US-basierte Modelle auszuprobieren, aber ich bin gerade knauserig und verwende DeepSeek Flash usw.).
- Gamemaster1379
Netter Projekt.Ich experimentiere seit letztem Oktober mit der Erstellung von wiederverwendbaren Konsolen-Porting-Frameworks. Opus 4.6 war mein erster Erfolg mit dem NES 6502.
Seitdem habe ich statische/native Ökosysteme für Super NES, GBA. Nintendo DS, Playstation (am beliebtesten) und sogar Sega Genesis gemacht, das ebenfalls den 68k verwendet.
https://github.com/mstan/segagenesisrecomp
Ich habe sogar den 68k-Dekoder in ein eigenes Repo extrahiert, weil ich ihn für den Phillips CDI wiederverwenden wollte.
Sega macht Sonic 1, 2 und 3&K. Auch Rocket Knight Adventures. Es ist aber noch früh.
CD-I macht das BIOS. Habe noch kein Spiel Ende-zu-Ende zum Laufen gebracht.
- robviren
Ich bin tatsächlich froh, dass es an ein paar Stellen gestolpert ist. Immer wieder überrascht, wie viel es richtig hinbekommt. Ich hatte immer gehofft, dass die eher obskuren Teile der Computergeschichte und -spiele ein unglaublich schwieriges Gebiet für Agenten zum Durchforsten wären.
Die Menge an nicht standardisierten, hackigen und schwerfälligen Dingen, die in der Vergangenheit getan werden mussten, um Dinge zu implementieren, fühlen sich heute unmöglich kompliziert an. Viele Leute haben sich Dinge ausgedacht, während sie vorangingen, und die Hardware auf unerwartete Weise genutzt. Das erinnert mich an Tim Follin, der die Audio für Plock auf SNES gemacht hat, und Miyamoto, der schockiert war, dass das Audio echt war. Es wäre so interessant zu sehen, was wir über die Entwicklung der Vergangenheit aus Agenten-Einblicken lernen könnten, wie Code konstruiert wurde. Ich liebe so etwas und schätze den ausführlichen Beitrag.