Cet été (2025), j’ai lu le livre de Bill Gates, Source Code, ainsi qu’une revue consacrée aux ordinateurs rétro de ma jeunesse.

Ces lectures m’ont inspiré, et j’ai voulu me replonger dans le contexte de l’époque en développant un interpréteur BASIC inspiré de l’Altair.
Mon objectif : obtenir la plus faible empreinte mémoire et processeur possible.
N’étant pas tout à fait maso 😄, je ne suis pas parti d’un code assembleur, mais plutôt d’un programme en langage C, sans utiliser les bibliothèques standard, afin de limiter l’empreinte mémoire.
Pour ce projet, je me suis appuyé sur l’IA ChatGPT, via le site web.
Elle m’a aidé à :
- réfléchir à l’architecture du code (rôles et responsabilités),
- redéfinir les fonctions de base (
printf, strcpy, etc.) pour éviter les bibliothèques standard, - m’aider à développer certaines parties plus complexes.
Le source de mon altair-basic
Vers une vraie machine 8 bits
Fort de cette expérience, j’ai voulu aller plus loin : développer une application pour un ordinateur de l’époque.
Sur divers forums, j’avais vu des passionnés coder en C pour le Commodore 64, avec un setup de développement sous Windows.
Je me suis donc mis en quête d’en acheter un sur Le Bon Coin… mais :
- les prix étaient délirants,
- impossible de vérifier le bon fonctionnement à distance (pas de photo allumé, écran branché, etc.).
Puis je suis tombé sur une annonce pour un Thomson MO5 : vrai clavier (pas clavier-gomme), lecteur de cassettes, crayon optique, le tout pour 80 € à 30 minutes de chez moi.
Banco ! 🎉 C’est ainsi qu’est née cette aventure.

Le MO5, vraiment ?
Les ressources en ligne du MO5 sont plus limitées que pour le Commodore, mais avec l’émergence de l’IA, je me suis dit qu’elle pouvait devenir un formidable atout pour m’aider à développer (je compte sur le vibe coding, peut être un peu trop… 😄).
Je sais aussi que plus une IA a de contexte, plus elle est précise et efficace.
Mon projet est donc double :
- Créer une application pour le Thomson MO5, avec l’aide de l’IA.
- Fournir une documentation et un contexte technique exploitables par les IA, afin de permettre à d’autres développeurs en herbe de s’y mettre à leur tour.
Pour les lecteurs qui ne connaissent pas l’histoire de l’informatique en France : au début des années 1980, la France a lancé un programme national pour équiper les écoles en ordinateurs, appelé le « Plan Informatique pour Tous ». Parmi les machines choisies figuraient le Thomson MO5 et le TO7, qui sont ainsi devenus très connus des élèves français de l’époque. En dehors de la France, ces ordinateurs sont beaucoup moins connus, donc ce projet peut donner l’impression de redécouvrir un morceau oublié de l’histoire de l’informatique 😄.
Bref, une aventure à la croisée du passé et du futur :
redonner vie à une machine de 1984 grâce aux outils de 2025. 🚀
Mon aventure commence ici…
À la conquête du MO5 ! Mon projet de rétrocomputing commence avec l’achat d’un ordinateur 8 bits et ses accessoires.
Mise en place d’un environnement minimaliste pour développer sur Thomson MO5, en combinant Raspberry Pi, outils du 6809 (CMOC, LWTOOLS) et un soupçon de modernité avec Visual Studio Code.
Pour mon premier jour, j’ai choisi de commencer avec ChatGPT.
Certes, c’est une IA généraliste et non une IA spécialisée dans le développement, mais je me suis dit que ce serait un bon point de départ.
Mon objectif J’avais une idée assez précise : développer un petit jeu en C.
J’avais aussi lu que pour tout ce qui touche au graphisme, il valait mieux utiliser de l’assembleur.
Je comptais donc sur ChatGPT pour me guider dans ce langage. 😉
...
Pour cette séance de vibe coding, j’ai décidé de tester Copilot Pro, en profitant des quelques jours d’essai gratuit. Et pour mettre toutes les chances de mon côté, je suis directement parti du dépôt d’Olivier P : 👉 OlivierP-To8/BootFloppyDisk
Mon objectif Avec ChatGPT, je n’étais pas arrivé à créer mon propre code ni à utiliser le projet d’Olivier pour générer une image disque fonctionnelle pour le MO5. Pourtant, en théorie, tout semblait simple : je prends le même source, je le copie dans mon repo, je compile, j’utilise les outils d’Olivier… aucune raison que ça casse.
...
Dans le cadre de mon boulot, j’ai eu l’occasion de tester Augment. Lors de ces tests professionnels, je l’avais trouvé très pertinent, presque “proactif”. Par proactif, j’entends : non seulement répondre à la demande, mais aussi anticiper des problèmes non formulés, proposer des solutions alternatives, attirer l’attention sur des points critiques… bref, vous voyez l’idée. J’avais été bluffé, clairement.
Augment propose 7 jours gratuits pour tester son coding agent, ce qui tombait parfaitement : je voulais justement faire mes essais pendant le weekend.
...
L’objectif de ce day 5, c’était de résoudre un problème assez simple sur le papier, mais bloquant dans la pratique : où hoster localement mon RAG server dédié au MO5.
Petit rappel : c’est quoi un RAG server ? Un RAG (Retrieval-Augmented Generation) server, c’est un backend qui combine :
un moteur de recherche (souvent basé sur des embeddings / vecteurs) une base de connaissances (documents, sources, archives…) un LLM (local ou distant) L’idée est simple :
👉 au lieu de poser une question “dans le vide” à un modèle, on va aller chercher des infos pertinentes dans une base de données, puis les injecter dans le prompt.
...
Dans un épisode précédent, j’ai fait pas mal de tests / d’expériences pour comprendre comment coder pour un MO5.
J’avais demandé à l’IA de résumer ce que nous avions appris en fichiers markdown. L’idée sous-jacente était de pouvoir partager cette expérience avec mes nouveaux projets MO5 sans avoir à copier les fichiers .md dans chaque repo.
Spoiler alert : vibe coder, ça coûte de l’argent 😢
L’idée du RAG server Une façon simple de partager de la connaissance et du contexte, c’est de le faire au travers d’un RAG server.
...
Suite à mes essais avec Augment, j’avais une idée en tête depuis quelques jours.
Me créer ma propre librairie C pour faciliter les développements sur MO5.
Pas un truc énorme.
Juste de quoi éviter de réécrire les mêmes bouts de code encore et encore.
Augment avait déjà généré quelques fonctions utilitaires.
Mais celles qui me semblaient vraiment fondamentales étaient celles-ci :
char mo5_getchar(void) { asm { swi fcb $0A } } void mo5_putchar(char c) { asm { ldb c swi fcb $02 } } Dans ma tête, tout partait de là.
Ces deux fonctions comme base, et autour, reconstruire le reste.
...
Suite à Day 7, j’ai atteint une étape importante dans mon exploration du développement C sur Thomson MO5 :
j’avais enfin deux tutoriels pleinement fonctionnels.
Ils restaient simples, mais ils étaient stables, reproductibles et compréhensibles.
À ce stade, ils reposaient sur deux approches très différentes :
un tutoriel utilisant mes librairies maison string, stdio et ctype un autre se basant exclusivement sur cmoc.h C’était le bon moment pour prendre du recul et analyser ce que CMOC proposait réellement.
...
Dans les épisodes précédents, j’ai parlé de mon RAG server : pourquoi il existe et comment il m’aide à fournir du contexte aux IA.
Mais au fur et à mesure des expérimentations, je me suis rendu compte d’un point important :
un serveur RAG, aussi bien fait soit-il, n’est pas suffisant pour une intégration fluide et robuste avec des IA modernes. Il manque une brique pour connecter les coding agents à mon RAG server.
...
Dans la continuité de l’épisode précédent, je voulais aller un cran plus loin :
déployer mon RAG server sur Internet.
L’objectif était double :
rendre le serveur accessible depuis l’extérieur permettre aux coding agents (Copilot, Augment, etc.) d’avoir un contexte précis pour aider au développement sur le MO5 (le projet est décrit ici : https://retrocomputing-ai.cloud/) Déployer un RAG, mais pas seulement une API Pour faire le lien entre les agents de code et mon RAG server, j’ai créé un serveur MCP.
Il sert d’interface standardisée entre les outils d’IA (Copilot, Augment, etc.) et mon API RAG.
...
Ces derniers temps, j’avais beaucoup trop de sujets ouverts en parallèle.
Vraiment trop 😅
Dans le désordre, il y avait :
continuer mes tests pour comprendre comment fonctionne le mode graphique sur MO5 compléter la documentation de mon RAG server modifier ce RAG server pour simplifier la gestion des mots-clés, puis le redéployer avec la nouvelle doc héberger mon serveur MCP faire un petit jeu en mode graphique sur MO5 Et au milieu de tout ça, un problème très terre-à-terre revenait sans arrêt :
...
En ce nouveau jour de MO5 coding, j’ai fait pas mal de trucs, et surtout pas mal d’expérimentations autour du mode graphique.
Génération de sprites à partir d’images Je me suis attaqué à un problème assez classique : dessiner des sprites en C pour le MO5, c’est… comment dire… pas ce qu’il y a de plus fun 😅
Au début, j’étais parti sur une approche très “artisanale” : dessiner en mode texte via Notepad, avec un espace pour la couleur de fond, un X pour dessiner la couleur de forme, puis utiliser un script PowerShell pour transformer le texte en tableau de bits.
...