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.
...