Show full content
Well AI is everywhere today, so why not have some fun with it? As a developer, I use AI tools daily and am constantly amazed at the sophisticated code that tools like Claude produce. So naturally I had the thought: “Can these tools produce real working code for antique hardware?” Turns out the answer is: “Heck yes!”

The image above is a Pong game, written by AI (Claude) and runs on classic 68k hardware. Blasphemous? Well, maybe! But wow is it amazing what’s possible today. Read on!
Modern tech: programming its own ancestors?Let’s start with a quick summary of generative AI. I won’t go super-deep into LLMs but suffice it to say, AIs have become very good at generating language – you’ve probably interacted with a chat bot online and have seen this first hand. In addition to natural language, AIs have also become very good at generating programming language. Developers can give an AI a prompt like “Make me a new function that calculates some data” and the AI will produce working source code. Because AIs understand language patterns, it can apply this capability to even older fallen-out-of-use or niche languages from the 80s and 90s. These AI models also use the wealth of information online to provide accurate output. So long and short – it’s pretty magical.
Given that it’s possible for AI to generate code based on a prompt, the crux of this project was to ask an AI to simply make pong in a language that runs on a 68k Mac. For the AI I selected Claude, and for the language – REALbasic.
Below is the process I followed. For reference, I used a modern MacBook Pro (running Asahi Linux Fedora Remix) and Basilisk II to quickly move files back and forth between the new and old world.
Part 1: Game LayoutTruth be told, I did help – a little. I first opened REALbasic and dragged rectangles onto a window (for the paddles) and an oval (for the ball). Then, I put two static text labels at the bottom to hold the score.

Then, I saved the project to a shared directory that was accessible by my modern OS.
Part 2: Claude MagicI then went to Claude and asked the following (this is a real screenshot of my conversation with Claude, as you can see I attached the REALbasic project file in the hopes that Claude could make some sense of it)

In less than a minute it returned source code and instructions back to me:


So with this I had the source code for the game, written against the IDs and names I used in my layout. The trick now was just getting everything back into the classic Mac.
Part 3: A little more than copy and pasteEssentially the next step was to take the source code from Claude and “paste it” into REALbasic, but there are a couple hurdles to this. Getting it to the emulated machine wasn’t a big deal – just save the source code to my shared directory. But there’s an important note about classic Mac OS and modern OSes – they use different line breaks. There are a few ways to deal with this:
- Use BBEdit on the old Mac OS to convert the line breaks
- Convert them ahead of time from the modern OS (Fedora in my case here) with the following command:
tr '\n' '\r' < ClaudePong.bas > ClaudePongMac.bas
And here we are with the correctly-formatted text file in the old Mac OS:

Out of laziness, I actually asked Claude if it could directly modify my REALbasic project file… but since the project file had a mix of text and binary data – not really an option (at least not today.. maybe someday?). So instead, it gave specific instructions on what to add via REALbasic and where to paste each method contents. Here’s a snippet/summary from Claude’s instructions:

As you can see I had to do these steps manually: add properties to the window, add a timer object, and paste the methods from the source file. (This was also well-documented in the source file!)
Part 5: The human touchAfter everything was in place, I started the game up – and encountered some syntax errors. I’m assuming there could be several reasons for this. For one, it’s possible that the version of REALbasic I was using was older and the source from Claude targeted a slightly newer edition of REALbasic. Or maybe it just hallucinated a little Microsoft QBasic in the mix. But not a big deal, the problems were minor and easily fixed. Here’s a few things I had to fix:
- REALbasic wanted all “DIM” statements at the top of the methods
- It didn’t like inline IF statements (everything needed to be broken out into blocks with END IFs)
- The code referred to “Me.property” in reference to the window; I had to change these to “ClaudePong.property” (using the actual window name)
- A few other things here and there, like how Subs get called
I do however think if I went back to Claude and explained the errors (or sent a screenshot) it could have figured out the issues too. But it got me far enough along that I could easily just clean up the rest and get it up and running:


I also changed the colors of the window and text to be a little more pong-like! But, as the screenshot (and score) shows – the AI was the real winner today.
Final ThoughtsSo there you have it, magic. AI building a game for a vintage computer! And REALbasic is just one language. Claude also gave me some HyperCard examples, and showed “Hello World” examples for various 68k-era languages. Simply put, it’s amazing what it can do – and just imagine what will be possible as this technology continues to rapidly evolve! At least if that becomes too overwhelming we can find some familiar comfort with our prehistoric 68k friends.
- If you’re interested, here is the game and source code.
And to close things out, here’s an image generated by Google Gemini of a retro Mac in an old office. Simpler times….











































