Porting a 1993 Amiga game to Godot with an LLM reading 68000 assembly

Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly

Porting a 1993 Amiga game to Godot with an LLM reading 68000 assembly

Babylonian Twins, the first commercial game made in Iraq, was built in 1993 on an Amiga 500 in pure 68000 assembly. Now, its creator has ported it to Godot 4, using an LLM to translate the original 72,758 lines of assembly code. The process involved three steps: porting the 2010 C++ engine, rebuilding the original from assembly, and integrating both. The LLM succeeded in a single pass where previous models struggled, even reproducing the original binaries byte-identically. The result is a modern game that includes the original as a playable bonus, running at its native 50 Hz.

I went to bed confused.
  1. gmerc

    It's a completely new world. Random retro games I ported to modern webgl/webgpu in the last few months:

    - The Adventures of Robin Hood - Opus 4.7/Sonnet

    https://robin.tooclever.org

    - 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 almost one shot)

    - War of the Lance - Qwnen-3.7-27B-dense (got stuck, finished with) Qwen-3.8-Flash-Next

    https://this.os.isfine.org/blog/posts/what-reverse-engineeri...

    - Dungeon Keeper - Various

    - Red Baron - Opus 4.8, DeepSeek 4

    - Test Drive 3 (Qwen-3.8-Flash Next, DeepSeek-4-Flash-exp, GLM-5.3-Flash)

    - In progress Ultima 6 ... to 3d (Fable, GLM-5.3) ( https://this.os.isfine.org/#ultima6-atlas )

    Some straight source ports (Kaiser), some full RE jobs (Dragon Strike, Test Drive, WOTL)

    Some a mix of available sources (Syndicate, Populous)

    Some of the findings are documented here: https://this.os.isfine.org/blog/

  2. mattjoyce

    A few weeks ago I downloaded a memory dump of a zx81 game, and ask Claude to build it in Go.

    It nailed it. Converted the binary back to basic and then to go. My idea was that the game would be unknown to llm training and perhaps a nice bench.

    What a crazy thing it is to be first at the advent of personal computing, and then in the inflection point where AI treats that first experience as archeology.

  3. cesaref

    I noticed he mentioned that his game was running at 50hz - that's true if an Amiga is running on PAL, but if it's a US machine it'll be 60hz when running with NTSC.

    Back in the day, most Amiga games were made in Europe, so were tuned for 50Hz refresh, and played 'normally' over here. At 60hz, they would feel wrong, and likewise, US games could feel sluggish and unsatisfying.

    Locking the machine to the monitor refresh rate in this way was a curse but also a blessing. It allowed the machines to drive a standard television in various regions, although the image was somewhat blurry, but also the use of dedicated monitors once you started taking it seriously. This reduced the price point and allowed lots of kids to convince their parents to get one :) The higher resolution modes just didn't work out though, so lots of stuff targeted the 320x256 resolution.

    The surprise benefit was also that the amiga could genlock to a TV signal and used to overlay onto a video feed, leading to many interesting cheap graphics overlay capabilities which were otherwise totally unobtainable by small TV channels or enthusiasts.

    Those were happy days.

  4. btbuildem

    > one copy of the Amiga Hardware Reference Manual

    aka The Book... my, this brings back dusty memories

    Babylonian Twins has such strong "Gods: Into the Wonderful" vibes, I wonder if that game was an inspiration for you

    https://www.lemonamiga.com/game/gods-into-the-wonderful

    https://www.youtube.com/watch?v=1kAXGjUwHyA

  5. dannyobrien

    I just wanted to add how much in awe I am at you creating this game in '93 in assembly. Around the same time I was trying to write a game on the Atari ST, and the dedication to the project -- especially when documentation was so thin on the ground, pre-Internet -- is extraordinary. Do you have any stories from debugging the game? I always found that the most dispiriting part, after the endless hope of handcrafting the code that I was sure would work first time...

  6. appstorelottery

    Anyone that uses "Claude Fable 5 running in Claude Code"? Can you speculate that plan or cost might have been involved in doing this (given that it seems approximately 5 hours or so of continuous operation for both C++ and Assembly ports, along with the shipping / marketing functions where it's not clear how much compute was used". Thanks in advance (I'm thinking of trying US based models, however I'm penny pinching using DeepSeek Flash etc. ATM).

  7. Gamemaster1379

    Neat project.I've been experimenting with making reusable console porting frameworks since last October. Opus 4.6 was my first success with the NES 6502.

    Since then I've done static/native ecosystems for the Super NES, GBA. Nintendo DS, Playstation (most popular) and even Sega Genesis, such also uses the 68k.

    https://github.com/mstan/segagenesisrecomp

    I even extracted the 68k decoder to its own repo because I wanted to reuse it for the Phillips CDI.

    Sega does Sonic 1 2 and 3&K. Also Rocket Knight adventures. Still early yet though.

    CD-I does the BIOS. Didn't get a game running end to end yet though.

  8. robviren

    I'm actually glad to see it stumbled in a few areas. Always surprised to see how much it gets right though. I had always hoped the rather obscure parts of computer history and games would be this incredibly difficult area for Agents to mine.

    The amount of non standard hackish and obtuse things that had to be done to implement things in the past feel impossibly complicated to touch today. Lots of people made it up as they went along and used the hardware in ways no one expected. Reminds me of Tim Follin doing the audio for Plock on SNES and Miamoto being shocked the audio was real. It would be so interesting to see what we could learn about development of the past from agentic insights into how code was constructed. I love stuff like this an appreciate the in depth post.

More from this day

2026-09-03