Phosphoric pour les nuls
Jamais entendu parler de l’Oric, ni d’émulation au cycle ? Voici, en quelques minutes, ce que fait Phosphoric et pourquoi il prend la peine de compter chaque microseconde.
Dans cette page
1. Un ordinateur de 1983 dans une fenêtre
L’Oric-1 (1983) et l’Oric Atmos (1984) sont des ordinateurs familiaux 8 bits de la société britannique Tangerine, très répandus en France. On les branchait sur la télévision ; ils démarraient sur un BASIC en ROM, et on y chargeait des programmes depuis une cassette audio, puis depuis une disquette.
Un émulateur est un programme qui fait semblant d’être cette machine. Il reproduit en logiciel chacune de ses puces : le processeur, la mémoire, la puce qui dessine l’image, celle qui fait le son. On lui donne les ROM d’origine, et les programmes de l’époque tournent comme sur la vraie machine.

2. Pourquoi compter les cycles
Le processeur de l’Oric, un 6502, avance au rythme d’une horloge : un million de cycles par seconde. À chaque cycle, il fait exactement une chose sur son bus, lire ou écrire un octet. Pendant ce temps, les autres puces avancent elles aussi : la puce vidéo lit l’écran en mémoire, les minuteries comptent, le son se fabrique.
Beaucoup d’émulateurs simplifient : ils exécutent une instruction entière d’un coup, puis rattrapent le reste. C’est juste pour la plupart des programmes. Mais certains comptent sur le moment exact d’un accès : une démo qui change la couleur au milieu d’une ligne d’écran, un jeu qui joue un son échantillonné, un pilote de port série. Pour eux, l’à-peu-près ne suffit pas.
Phosphoric est cadencé au cycle : une seule horloge maître fait avancer toute la machine d’un cycle à la fois, toujours dans le même ordre.
3. Dire exactement ce qui est vrai
Jusqu’en septembre 2026, le projet annonçait une précision au cycle qu’il n’avait pas au sens strict : un audit l’a montré. Phosphoric a alors adopté une échelle de précision en quatre niveaux, où chaque niveau est prouvé par un test qui le ferait tomber, puis a refait son cœur pour l’atteindre.
Aujourd’hui, ce qu’il affirme :
- le processeur est exact au cycle : 100 % de séquences bus exactes sur 2 440 000 cas de test ;
- la machine est cadencée au cycle : tout avance d’un cycle à la fois, jamais d’un paquet ;
- ce qui reste approché est dit, composant par composant. Par exemple, le contrôleur de disquette attend des délais fixes au lieu de suivre la rotation du disque.
Le détail est dans La précision, mot à mot.
4. Ce qu’on peut en faire
- Jouer et programmer : BASIC 1.0 (Oric-1) ou 1.1 (Atmos), cassettes
.tap, disquettes.dskavec Sedoric, manette, imprimante, et un clavier QWERTY ou AZERTY. - Brancher des cartes d’époque : contrôleurs de disquettes Microdisc et Jasmin, modem Minitel, interfaces MIDI, synthèse vocale.
- Essayer des cartes nouvelles : la cartouche LOCI, et l’ULA-NG, une puce vidéo étendue imaginée pour un futur circuit FPGA.
- Déboguer un programme 6502 : points d’arrêt, pas à pas, retour en arrière, et même
gdbou VS Code branchés sur l’Oric émulé. - Automatiser : sans affichage, Phosphoric charge un programme, tape au clavier, prend des captures et enregistre le son. C’est ainsi que les images de ce wiki ont été faites.
5. Où le trouver
Phosphoric est un logiciel libre (licence EUPL 1.2). Il se compile sous Linux, Windows et macOS, et existe en version WebAssembly qui tourne dans un navigateur sans rien installer. Les téléchargements et le code source sont sur le site principal.
En résumé
| Question | Réponse courte |
|---|---|
| C’est quoi ? | Un émulateur de l’Oric-1 et de l’Atmos, écrit en C11. |
| Qu’a-t-il de particulier ? | Toute la machine avance un cycle à la fois ; le 6502 est exact au cycle. |
| Sur quoi ? | Linux, Windows, macOS, et le navigateur (WebAssembly). |
| Les ROM sont fournies ? | Non : il faut placer basic10.rom et basic11b.rom dans roms/. |
| Et ensuite ? | Voir L’Oric émulé et Où en est Phosphoric. |
Les mots techniques sont expliqués dans le glossaire.