12 comments

  • btbuildem 1 hour ago
    > 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

  • robviren 2 hours ago
    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.

  • Sharlin 20 minutes ago
    What I'm interested in is performance and memory use. How many times less efficient is the 2010 port compared to the original? What about this new one?
  • ericd 1 hour ago
    Wow, that's gorgeous for something written in assembly, running in 512k, nice work!
    • efficax 1 hour ago
      amigas were way ahead of their time. We had an Amiga 500 and then got a 386 and it was such a downgrade, but the Amiga was clearly a dying system.
  • coder-pm 34 minutes ago
    Hmm did you ever run the game port against the original one in UAE? With the same inputs? Or is it just "it plays right when I play it"? That 108 byte delta is puzzling...
  • hedgehog 5 hours ago
    This is fantastic. It would be interesting to have Claude Code export an engineering guide for doing similar ports, including descriptions of the tooling it built to do it. I've done some reversing from binary but never with results this good.
    • rabahs 5 hours ago
      This is a great idea. It could be a generic game porting skill to make the porting experience smoother. After my experience above. I have actually tried giving Claude binary files of games and it was able to reverse engineer to GoDot!
      • hnlmorg 37 minutes ago
        Dumb question this, but how do you load it into Claude? I’ve only seen APIs for text and image uploads. Not random files. Or maybe that’s a limitation of the SDK I’m using?
      • sedawkgrep 1 hour ago
        > I have actually tried giving Claude binary files of games and it was able to reverse engineer to GoDot!

        Oh wow...I hadn't even thought of trying something like this. There are soooo many games from that era that I'd love to play again without the hackery of emulation.

        • rabahs 1 hour ago
          Just grab any game, especially old rom files form the 80s (I tried TimePilot and Road Fighter from MSX era). The model extracted the graphics, the sounds and then built the whole game. It takes less than 1 hour to port a 16kb rom file, in one shot. You will get a playable game, but you need a few follow up prompts to get it back to its original form. Usually some sprites or sounds issues, but very easy to fix, if you have played the original game.
        • ericd 1 hour ago
          Yeah, someone reverse engineered Red Alert 2 recently. Took Fable cranking for almost a month, but it's pretty amazing to see.
    • asimovDev 1 hour ago
      session stored on the drive would also contain all of the tool calls , right? unless op changed the default settings it would've expired though by now, since the run was in July
      • rabahs 45 minutes ago
        That's a good point. I looked at the git history for my analysis. What is the best way to analyze claude sessions history? I definitely check if I still have them stored. Thanks
        • asimovDev 27 minutes ago
          sessions are stored in the home folder somewhere but are deleted after 30 days by default. it won't be stored in the bash history, at least it does not for me on macOS with zsh + omz
  • byako 1 hour ago
    porting a 93 game with an llm reading 68k assembly while i'm over here struggling to refactor last month's javascript. we are not the same. seriously cool project though
  • sgt 1 hour ago
    Very cool! Wish you had released it back then
    • rabahs 37 minutes ago
      Thanks. I know the Amiga version took a long time. It was very hard to even look at the assembly code I wrote after so many years. AI was the hero that explained everything and helped me to package it for releasee. Enjoy!
  • a2ff6eeb0 1 hour ago
    > Please post any questions.

    Since Claude did the port and apparently understands it better than you do at this point, can we ask Claude? Is there a git repo we can point Claude at to interrogate it on the way things were done? Maybe you can share the transcripts you used to port it?

    • rabahs 1 hour ago
      This is actually what I did to understand what happened during the port. I did analysis weeks after the game was ready.

      While doing the analysis, I came to know about this 108 byte delta. I didn't quite understand the explanation Claude gave me. I added more details about this in the post above. It could be the difference in the assembler used, the environment used (Amiga 500 vs M5 Macbook), or how the binary was saved from memory 33 years ago

  • mattbruv 2 hours ago
    I really tried to start reading this because I am interested in the idea, but the obvious AI writing prose is just so off-putting that I can't force myself to continue reading it without my eyes rolling into the back of my head. I'm not against using AI to code, but if you're actually passionate about the project and want to share it with others, you should use your own words.
    • dang 1 hour ago
      I mentioned the same thing to OP by email, but this story is too good to block on that.
      • tomcam 12 minutes ago
        I couldn't detect it from my casual read. English is almost certainly OP's second language so it seems much more forgivable.
    • aenis 1 hour ago
      To me, someone with interest in amiga games and low level assembly ports, having that write up being done by hand wasn't load bearing.

      Though I'd admit that using claude for a few hours every day this year desensitivized me to its prose :-)

    • khazhoux 2 hours ago
      There were a couple of AI tropes but not overly so. This is a great story, especially if you’ve programmed the Amiga before.

      Think of it as: this is a story that quite possibly would not be told without AI to help with the writeup.

      • rabahs 1 hour ago
        Your last point is exactly right. I wouldn't have had the time to do this port and write-up without the help of AI. Having said that, the AI wrote this based on my own notes and I edited and reviewed every line over a week. AI also helped with extracting screenshots and code snippets which would have taking me more time. I don't like to read AI writing either, but I thought that the fact that this is based on my own notes and experience and using original code and screenshots from the 90s would be of interest to the community. Thanks
      • sitkack 1 hour ago
        Tics, tropes are worn out predictable plot devices
  • lstodd 1 hour ago
    What's the point though? If you got the stuff it's better run in UAE. If you have none I don't trust you and therefore think the Amiga name is misleading. To gain trust here show some code running in UAE.

    There is no point in "porting to Godot" because either you port Amiga stuff to UAE-likes or FPGAs or you in fact advertise "AN AI REWROTE MY CRAP GWBASIC GAME FROM 93 LOL". Lol. Which is riduculous.

    and people will just laugh.

    also 68k asm is actually human-readable compared to x86.

    • urbnspacecowboy 59 minutes ago
      This is inordinately harsh, though I agree with wanting to just play the original Amiga game. It's available at the following link from all the way at the bottom of the article: https://bithunch.itch.io/babylonian-twins
      • lstodd 53 minutes ago
        It's not harsh.

        It's the talk one should receive when they fuck up. It is how people learn.

    • rabahs 56 minutes ago
      Thanks for the feedback. If you have read the article, I also mentioned that I have released the Amiga version for free to the Amiga community. AI actually helped addressing a few bugs and get it ready. You can download the ADF and play the full Amiga game for the first time since 33 years ago. This post was more about my experience using AI and interacting with assembly code from the 90s.
      • tomcam 12 minutes ago
        You handled GP's post much better than I would have.