Using AI for Retro Computing
I struggle with the growing use of AI in retro computing, which in this case essentially means using large language models (LLMs) and agentic systems for coding (“vibe coding”). It has definitely transformed the hobby, but in my view, I’m not sure it is for the better.
We’re seeing new ports of games; new emulators; new simulators, diagnostic tools, debuggers. So the explosion of new things should be good right? I’m not convinced.
At one level, I’ve yet to find good counters to the points raised in this article by Esther Weidauer: https://estherweidauer.com/articles/why-resist-generative-ai.html.
I also agree with a lot of the points raised in this video, especially the part about tinkering taking over from music making – I’m definitely guilty of that, albeit not with AI systems as an excuse: https://www.youtube.com/watch?v=4NExTWq_wvk
So given all the issues raised in the above two links about the design and incentives behind the use of AI (LLM) systems, I already have plenty of reasons to avoid the use of the technology in my own hobby. But this post is about something else that has only recently occurred to me which adds perhaps a more philosophical reason to hold out against its use in my own messing about.
This post was inspired by two things I encountered recently. One was a post from someone I don’t know, but who I could see had done some amazing work in reverse engineering and retro computing, describing how they’d used a vibe-coding approach to their latest project really successfully. Unfortunately I read this and my main thought was “well if even someone like you can be convinced, then there is really is no going back”. But it turned out the post was a fake, designed as a parody of all the vibe-coded, mostly dodgy ports of games they were seeing. That made me realise how hard it is to know what is real anymore and I’m now naturally suspicious of any new project I read about. My interest drops off rapidly if I get to a point where it says “so I used AI for…”.
The other was a video from someone I follow and respect the views of. They freely admit that they are not a coder, but was trying it out. There is a new tool they really wanted to use, but that didn’t quite do all the things they wanted. The video was a really good walk through of both the issues of vibe coding something like this alongside analysing the results. It was whilst watching this video that the essence of this blog post finally occurred to me.
I’ve always been fascinated with technology so the first time I’d heard that someone had built a generative system that could use a discriminator to feedback into a generator to create a generative adversarial network (GAN), I was definitely fascinated with where “AI” was going. In truth I was reminded of Douglas Adams description of the creation of the infinite improbability drive:
The Infinite Improbability Drive is a wonderful new method of crossing vast interstellar distances in a mere nothingth of a second, without all that tedious mucking about in hyperspace.
It was discovered by a lucky chance, and then developed into a governable form of propulsion by the Galactic Government’t research team on Damogran.
This, briefly, is the story of its discovery.
The principle of generating small amounts of finite improbability by simply hooking the logic circuits of a Bambleweeny 57 Sub-Meson Brain to an atomic vector plotter suspended in a strong Brownian Motion producer (say a nice hot cup of tea) were of course well understood—and such generators were often used to break the ice at parties by making all the molecules in the hostess’s undergarments leap simultaneously one foot to the left, in accordance with the Theory of Indeterminacy.
Many respectable physicists said that they weren’t going to stand for this, partly because it was a debasement of science, but mostly because they didn’t get invited to those sorts of parties.
Another thing they couldn’t stand was the perpetual failure they encountered in trying to construct a machine which could generate the infinite improbability field needed to flip a spaceship across the mind-paralyzing distances between the farthest stars, and in the end they grumpily announced that such a machine was virtually impossible.
Then, one day, a student who had been left to sweep up the lab after a particularly unsuccessful party found himself reasoning this way:
If, he thought to himself, such a machine is a virtual impossibility, then it must logically be a finite improbability. So all I have to do in order to make one is to work out exactly how improbable it is, feed that figure into the finite improbability generator, give it a fresh cup of really hot tea…and turn it on!
He did this, and was rather startled to discover that he had managed to create the long-sought-after golden Infinite Improbability generator out of thin air.
It startled him even more when just after he was awarded the Galactic Institute’s Prize for Extreme Cleverness he got lynched by a rampaging mob of respectable physicists who had finally realized that the one thing they really couldn’t stand was a smart-ass.
– Douglas Adams, “The Hitchhikers Guide to the Galaxy”.
This wasn’t my first encounter with generative approaches. I remember when “evolutionary computing” was a thing a few decades back and reading about a chip design that had used a system with a physics model in an evolutionary manner to design a chip. The chip worked fine. Some parts seemed to be unused and unconnected to anything, but they found that if they removed them from the design, the thing stopped working. It really had used the physics model to the full including building in emerging properties from unused parts of the device. I wonder if Terry Pratchett knew of this when he wrote about his computing engine “Hex” not working when someone took away its teddy bear…
So naturally when generative pre-trained transformers (the GPT that people are now familiar with) entered the scene, again I considered it a really interesting development. Even today I still marvel that such a “brute force” approach can yield such compelling results. The technology is, as I say, quite astonishing.
But I recently encountered this comment in a book from 1981 looking 100 years ahead:
“I believe that direct communication by speech with computers will be achieved, probably within this century, but it will be possible only because computers can calculate far faster than the human brain. They will achieve their goal by methods that are really very inefficient, rather like cooking dinner by setting the house on fire.”
– “2081: A Hopeful View of the Human Future” – Gerald O’Neill
That started the wheels turning and then after watched the aforementioned video, the reasons for why I’m not a fan of their use in retro computing started to finally form.
Returning to 1980s 8-bit computers reminds me of a time when technical scarcity gave constraints that led to an absolute abundance of human ingenuity. People were doing things with these small and cheap machines that seemed completely beyond their capabilities and I’m sure were never imagined by the machines’ designers and developers.
There are so many examples, but I’ll point to a few here:
- Turn to any chapter of “Racing the Beam” by Ian Bogost and Nick Montfort to read about the techniques developed to get, well, pretty much anything, out of an Atari 2600. So many clever people doing clever, ground-breaking, things.
- My own (ongoing) analysis of the AY sound driver by Ste Ruddy written for use by Tim Follin. It is brilliant what these folk were able to do with those devices.
- Michael Martin’s brilliant series of articles on the ZX Spectrum’s “1-bit sound”. Again what can be achieved from just turning the speaker on and off was amazing.
- Any of Dean Belfield’s articles on tips and techniques on programming for the ZX Spectrum.
- And so many more…
It was this attitude of “squeeze what we can, and then a bit more” from these systems that I really value. The constraints led to a plethora of creativity and it is hard to look at some of those early 8-bit games alongside those that came later and imagine they were running on the same machine and it is great that many of these techniques are now coming out in forms that anyone can read about.
And it hasn’t stopped today. With the advent of the Spectrum Next (I’ll hopefully be getting mine any day now) we can see how that ingenuity has lived on. I can’t wait to see what people are doing with them today.
My interest in being optimal with computing capabilities isn’t just about older computers. Moving into more traditional modern computing communities, I look at something like the Raspberry Pi and its complete environment to get people up and running with it as a computer. And then I look at what Rene Stange did with his excellent bare-metal circle environment to allow full use of the capabilities of the hardware without those OS layers.
Then I look at something like Circuitpython and Micropython and marvel at the accessibility of hardware IO in a high level-language like python on a microcontroller. But fundamentally I also can’t bring myself to use them and add those additional processing layers into the system, when I could fire up the Arduino environment and progam directly in C and do so much more.
If I step back and look at the incredible range of emulation options for a retro systems from CPUs, like the Z80, to peripherals, like the ULA in the ZX spectrum and AY chips, to entire systems, like Dexed for the DX7 synthesizer. What I value in all these things is the dedicated, human ingenuity that was determined to understand how these things worked, even to the point of ensuring undocumented features were accurate and then going on to make something able to reproduce it.
And this is why I think the comment from the 1981 book of “cooking the dinner by setting the house on fire” rings so true for me. Using these huge, resource intensive, brute-force methods of creation (that incidentally may or may not be “setting the world on fire”) really is the antithesis of what retro computing means to me.
So even with the many reasons to already be concerned about the current incarnation of “AI” systems: from environmental impact, through cognitive debt, through building dependance (it is not “democratising programming” if it is building dependance on a paid subscription to a small number of companies), through exploitation of human creativity in their training, through addictive and gambling-like behaviours by design…
… fundamentally these current systems work totally against the ethos of what I believe drove the creation the home computer market in the first place – i.e. genuinely wanting to get a wholly owned, fully-understandable, “open box”, cheap, system into the hands of those determined to poke its constraints further than believed possible to see what it can be pushed to do.
I get why others are drawn to using “AI” systems. What they can do, as I say, is quite astonishing and it feels, I’m sure, quite liberating for someone to be able to produce something beyond their own skill sets or patience. I do wonder quite how many will ever see a “version 2”, but more worryingly, who is likely to work on something through that aforementioned passion to learn, when there are so many half-built versions out there flooding the scene?
For me, as a technology “AI” appears to be at the polar opposite end of the, er, spectrum, to what I value about retro computing, hence “AI” is not for me. At least, not in its current form. There may be future evolutions without some of the issues. We shall see.
It goes without saying, I hope, that general purpose computing has come on a long way and of course I’m not advocating a return to the unconnected days of writing using The Quill and thermal printers, or DOS and Word Perfect (although that remains, in my view, still the best word processor I’ve used during my career). Music production is of course unrecognisable to anyone from those 8-bit days.
But it is also instructive to ponder the size of the average piece of Javascript that your browser downloads to support someone else’s advertising goals. And right now, just a few of the icons on this instance of WordPress I’m using to write this post, would be close to the total memory available to me in a computer whilst growing up. We do appear to waste our computing resources without a thought.
I still remain fascinated by “AI” in a more general sense. I have to admit I am getting quite a lot from reading this book at the moment:

Maybe that is the true way of the future – a return to basics and really learning how to get the most out of what we have, be that an 8-bit CPU, a microcontroller or the latest high spec, multi-core, multi-GHz CPU and GPU, or the growing cloud resources available on demand.
But in conclusion yes, as of right now, I’m not a fan of the use of “AI” in retro computing.
Kevin
#ai #retro #RetroComputing #vibeCodingVibecoding in Plato's Cave (AI, Music Tech, and Star Trek)
YouTube
ZX Spectrum Music Making