Tachibana
Langue : français

Projet Tachibana · Émulateur Oric

Phosphoric

ORIC-1 / Atmos — cadencé au cycle

Un émulateur Oric cadencé au cycle pour Linux, macOS et Windows (et le navigateur), écrit en C11 : une horloge maître fait avancer toute la machine d'un cycle à la fois, et le cœur 6502 est exact au cycle — 100 % de séquence bus juste sur les 2 440 000 cas de l'oracle 65x02.

Il tourne en natif (SDL2) comme dans le navigateur (WebAssembly), sans dépendance externe. Périphériques d'époque, débogueur intégré, outils de conversion et de pilotage. Licence EUPL 1.2.

Fiche

État Disponible · v2.1.1 · 30 septembre 2026

Licence : EUPL-1.2 · Un problème ? Signalez-le sur le dépôt → · Contribuer →

Fonctionnalités

Ce que fait Phosphoric

Cœur cadencé au cycle

Cœur 6502 micro-séquencé (100 % sur l'oracle SingleStepTests/65x02, accès factices du NMOS compris, interruptions au cycle pénultième), VIA 6522 au cycle (période N+2), ULA une cellule par cycle (splits raster), PSG AY-3-8910 à horloge/8. Ce que la revendication couvre — et ce qu'elle ne couvre pas — est écrit composant par composant dans docs/ACCURACY.md. Article : Phosphoric 2.0, la machine cadencée au cycle →

Périphériques d'époque

Microdisc WD1793 (timing mécanique réel, boot Sedoric), contrôleur Jasmin WD177x (boot TDOS, injection de secteurs défectueux), cassette TAP jusqu'au niveau signal, ACIA 6551, carte Digitelec DTL 2000 (V23 Minitel), MIDI Mageco / ORICON, joystick IJK, imprimante Centronics et traceur MCP-40.

LOCI & télématique

Interface LOCI (stockage SD FAT, USB HID), modem WiFi PicoWiFiModemUSB, et modem V23 / Digitelec pour rejouer la télématique et faire le pont avec le patrimoine Minitel / Vidéotex (projet PAVI). Article : cinq extensions LOCI prototypées sur l'émulateur →

Débogueur intégré

Points d'arrêt conditionnels et raster, watchpoints, undo (rembobinage), désassembleur avec symboles, assembleur en ligne, TUI ncurses — et un stub GDB distant pour déboguer le 6502 depuis gdb / VS Code.

Pilotage & intégration

Mode --control (protocole texte pour l'IDE OricForge), API HTTP REST, enregistrement / rejeu déterministe des entrées (« TAS movie »), export vidéo AVI, captures d'écran et diffusion Chromecast / Google Cast.

Natif, navigateur & libre

Build SDL2 sous Linux, Windows et macOS, ou WebAssembly dans le navigateur — sortie octet-pour-octet identique. Clavier à l'écran, filtre CRT, save states .ost. Code publié sous licence EUPL 1.2.

Voir toutes les fonctionnalités en détail → · Documentation technique → · Articles →

Supports

Formats pris en charge

.tap

Cassettes Oric — chargement rapide ou lecture au niveau signal (--tape-signal) pour les chargeurs protégés.

Pris en charge

.dsk

Disquettes Microdisc / Sedoric, avec timing mécanique réaliste du WD1793.

Pris en charge

.rom 16K

ROM machine bootables en $C000 : BASIC 1.0 / 1.1, FOCAL, COMAL, variantes FR / DE / ES…

Bootable

.ost

États sauvegardés (save states) avec contrôle d'intégrité CRC32 — F2 / F4 pour sauver et recharger à chaud.

Pris en charge

Télécharger & compiler

Récupérer et construire

Code source

Le dépôt est public sous licence EUPL 1.2. Clonez-le, ouvrez une issue, proposez un correctif.

Codeberg · Framagit · GitHub

Compiler en natif

Sous Debian / Ubuntu, avec SDL2 :

sudo apt install build-essential libsdl2-dev
make SDL2=1
# puis ./oric1-emu -r roms/basic11b.rom

Version navigateur

Compilée en WebAssembly (make wasm) et déjà en ligne : elle sert aussi de bouton « Exécuter en ligne » sur les fiches du catalogue.

Ouvrir l'émulateur

Feuille de route

Où en est le développement

Phosphoric est disponible (version 2.1.1, 30 septembre 2026) et reste en développement actif, adossé à une suite de 1 208 tests automatisés en 60 suites (100 % au vert, CI Linux / Windows / macOS). État indicatif ci-dessous — le dépôt fait foi.

V2 — machine cadencée au cycle

Horloge maître, cœur 6502 exact au cycle (oracle 65x02), VIA N+2, ULA une cellule par cycle, PSG à horloge/8, savestate point de reprise exact. Lire l'article →

Fait

Cœur & périphériques

Émulation ORIC-1 / Atmos, Microdisc/Sedoric, Jasmin, cassette, ACIA, DTL 2000, MIDI, LOCI (co-simulation du firmware RP2040).

Fait

Natif + WebAssembly

Builds SDL2 (Linux / Windows / macOS) et navigateur, sortie identique ; release automatique sur tag.

Fait

Conformité matérielle

Audit ligne à ligne des cœurs face aux datasheets constructeur (WD1793, VIA 6522, PSG…). Reste hors modèle : FDC à délais forfaitaires, demi-cycle du one-shot VIA.

En cours

ULA-NG → FPGA

ULA nouvelle génération (sprites, 80 colonnes, chunky 4bpp) comme référence logicielle vers une implémentation Verilog / FPGA.

En cours