Aller au contenu
Phosphoricwiki
Sommaire

Phosphoric

Un émulateur de l'Oric-1 et de l'Atmos, les ordinateurs 8 bits de Tangerine (1983). Il est écrit en C11 et cadencé au cycle : une horloge maître fait avancer toute la machine une microseconde à la fois. Son cœur 6502 est exact au cycle, vérifié sur 2 440 000 cas. Il tourne sous Linux, Windows et macOS, et dans le navigateur.

  • 100 %de séquences bus exactes pour le 6502, sur les 2 440 000 cas de l'oracle 65x02
  • 1 cyclepar appel de l'horloge maître : CPU, périphériques et ULA avancent ensemble
  • 70 suitesde tests, 1 362 vérifications, toutes au vert
  • 3 %du budget d'une trame de 20 ms : le coût du passage au cycle
Écran plein de diagonales de couleur : 16 couleurs sur 320 × 224 pixels, rendues par l'ULA-NG de Phosphoric
L’ULA-NG, l’ULA « nouvelle génération » de Phosphoric, en mode chunky : 320 × 224 pixels en 16 couleurs. Capture prise par l’émulateur lui-même, sans affichage.
La machine que Phosphoric émule, et ce qui l'entoureUn processeur MOS 6502 à 1 MHz et 64 Ko de mémoire (48 Ko de RAM, 16 Ko de ROM BASIC) partagent un bus. Sur ce bus : le VIA 6522 (clavier, cassette, imprimante, interruptions), l'ULA (l'image), le PSG AY-3-8912 (le son, et une partie du clavier) et la page 3, où se branchent les cartes d'extension. À droite, l'hôte : fenêtre SDL2, navigateur, ou aucun affichage. En bas, l'horloge maître fait avancer toute la machine d'un cycle à la fois.6502MOS 6502 NMOS · 1 MHzMémoire 64 KoRAM 48 Ko · ROM 16 Kobus d'adresses et de donnéesVIA 6522ports et minuteriesclavier (matrice 8 × 8)cassette, imprimanteinterruptionsULAHCS 10017 · l'imagetexte 40 × 28HIRES 240 × 2008 couleurs, PALPSGAY-3-8912 · le son3 voix et un bruit16 enveloppesport A : clavierPage 3$0300-$03FFMicrodisc, Jasmin, LOCIACIA, DTL 2000, MIDIsynthèse vocale, ULA-NGHôteSDL2 : image, son,clavier, manetteWebAssemblysans affichagecaptures, AVI, WAVAPI HTTP, --controlserveur GDBHorloge maître : emu_cycle() fait avancer toute la machine d'un cycle (CPU, puis φ2, puis ULA)
La machine émulée : un 6502, 64 Ko de mémoire, le VIA, l’ULA, le PSG et la page 3 des cartes d’extension. Tout avance au rythme d’une seule horloge.

Par où commencer

Les téléchargements, le code source et les articles du projet sont sur le site principal : tachibana.eu/fr/phosphoric.