This summer (2025), I read Bill Gates’ book, Source Code, as well as a magazine dedicated to the retro computers of my youth.

These readings inspired me, and I wanted to dive back into the era by developing a BASIC interpreter inspired by the Altair.
My goal: achieve the lowest possible memory and CPU footprint.
Not being entirely masochistic 😄, I didn’t start from assembly code, but rather from a C program, avoiding standard libraries to keep the memory footprint minimal.
For this project, I relied on the ChatGPT AI, via the web.
It helped me to:
- think through the code architecture (roles and responsibilities),
- redefine basic functions (
printf, strcpy, etc.) to avoid standard libraries, - assist in developing some of the more complex parts.
The source code for my altair-basic
Towards a Real 8-Bit Machine
Emboldened by this experience, I wanted to take it further: develop an application for a period computer.
On various forums, I had seen enthusiasts coding in C for the Commodore 64, using a Windows development setup.
So I went on a quest to buy one on Le Bon Coin… but:
- the prices were insane,
- it was impossible to verify proper functioning remotely (no photos of it powered on, screen connected, etc.).
Then I stumbled upon an ad for a Thomson MO5: real keyboard (not rubber keys), cassette drive, light pen, all for €80, just 30 minutes away.
Sold! 🎉 And that’s how this adventure began.

The MO5, Really?
Online resources for the MO5 are more limited than for the Commodore, but with the rise of AI, I figured it could become a tremendous asset to help me develop (I’m counting on some serious coding vibes, maybe a bit too much… 😄).
I also know that the more context an AI has, the more accurate and effective it becomes.
So my project has a dual goal:
- Create an application for the Thomson MO5, with the help of AI.
- Provide documentation and technical context that AIs can use, allowing other budding developers to dive in as well.
For readers who are not familiar with French computing history: in the early 1980s, France launched a national program to equip schools with computers, called the “Plan Informatique pour Tous.” Among the chosen machines were the Thomson MO5 and TO7, which became widely known to French students at the time. Outside France, these computers are much less known, so this project may feel like discovering a forgotten piece of computing history 😄.
In short, an adventure at the crossroads of past and future:
bringing a 1984 machine back to life using 2025 tools. 🚀
My adventure starts here…
Conquering the MO5! My retrocomputing project begins with the purchase of an 8-bit computer and its accessories.
Setting up a minimalist development environment for the Thomson MO5, combining a Raspberry Pi, 6809 tools (CMOC, LWTOOLS), and a touch of modernity with Visual Studio Code.
For my first day, I chose to start with ChatGPT.
Admittedly, it’s a general-purpose AI and not one specialized in software development, but I figured it would be a good starting point.
My goal I had a fairly clear idea: develop a small game in C.
I had also read that for anything related to graphics, it was better to use assembly language.
So I planned to rely on ChatGPT to guide me through that language. 😉
...
For this vibe coding session, I decided to test Copilot Pro, taking advantage of the few free trial days. And to put all the chances on my side, I started directly from Olivier P’s repository: 👉 OlivierP-To8/BootFloppyDisk
My objective With ChatGPT, I hadn’t managed to create my own code nor to use Olivier’s project to generate a working disk image for the MO5. Yet, in theory, everything seemed simple: I take the same source, copy it into my repo, compile it, use Olivier’s tools… no reason for it to break.
...
As part of my job, I had the opportunity to test Augment. During those professional tests, I found it very relevant, almost “proactive”. By proactive, I mean: not only answering the request, but also anticipating unexpressed problems, proposing alternative solutions, and drawing attention to critical points… you get the idea. I was honestly impressed.
Augment offers a 7-day free trial for its coding agent, which was perfect timing: I was planning to run my experiments over the weekend anyway.
...
The goal of this day 5 was to solve a problem that was fairly simple on paper, but blocking in practice: where to locally host my MO5-dedicated RAG server.
Quick reminder: what is a RAG server? A RAG (Retrieval-Augmented Generation) server is a backend that combines:
a search engine (often based on embeddings / vectors) a knowledge base (documents, sources, archives…) an LLM (local or remote) The idea is simple:
👉 instead of asking a question “into the void” to a model, we retrieve relevant information from a database, then inject it into the prompt.
...
In a previous episode, I ran quite a few tests and experiments to understand how to code for an MO5.
I had asked the AI to summarize what we had learned into Markdown files. The underlying idea was to be able to share this experience with my new MO5 projects without having to copy .md files into each repository.
Spoiler alert: vibe coding costs money 😢
The RAG server idea One simple way to share knowledge and context is through a RAG server.
...
After my experiments with Augment, I had an idea in mind for a few days.
Create my own C library to make development on the MO5 easier.
Nothing huge.
Just something to avoid rewriting the same bits of code over and over again.
Augment had already generated a few utility functions.
But the ones that felt truly fundamental to me were these:
char mo5_getchar(void) { asm { swi fcb $0A } } void mo5_putchar(char c) { asm { ldb c swi fcb $02 } } In my head, everything started from there.
Those two functions as a base, and then rebuilding the rest around them.
...
Following Day 7, I reached an important milestone in my exploration of C development on the Thomson MO5:
I finally had two fully functional tutorials.
They were still simple, but they were stable, reproducible, and understandable.
At that point, they relied on two very different approaches:
one tutorial using my home-made string, stdio, and ctype libraries another tutorial based exclusively on cmoc.h It was the right moment to step back and analyze what CMOC really provides.
...