Architecture
Schema general
+-----------------------------------------------+
| Phosphoric |
+-----------------------------------------------+
| +--------+ +-------+ +------------------+ |
| | 6502 |<-| BUS |->| Memory (64KB) | |
| | CPU | +---+---+ | RAM/ROM/Banking | |
| +--------+ | +------------------+ |
| | |
| +---------------+------------------+ |
| | | | |
| v v v |
| VIA 6522 Video ULA AY-3-8910 |
| (I/O+IRQ) (Text+HIRES) (3ch+Noise) |
| | | | |
| v v v |
| Keyboard Framebuffer SDL2 Audio |
| Microdisc PPM/BMP Export |
| Cassette MJPEG Cast |
+-----------------------------------------------+
| SDL2 (Display / Audio / Input) |
+-----------------------------------------------+
Structure du code
src/
cpu/ 6502 CPU (opcodes, modes d'adressage)
memory/ 64KB, ROM/RAM banking
io/ VIA 6522, clavier, cassette, Microdisc
video/ Rendu ULA (texte+HIRES), export (PPM/BMP/ASCII)
audio/ AY-3-8910 PSG, sortie audio SDL2
storage/ Cassette TAP, Sedoric, WD1793 FDC
network/ Serveur MJPEG, client CASTV2 Chromecast
hostfs/ Partage fichiers hote, abstraction VFS
utils/ Logging, parseur INI
main.c Boucle d'emulation, CLI, cablage E/S
savestate.c Sauvegarde/chargement (.ost)
debugger.c Debogueur interactif REPL
include/ Headers publics
tests/unit/ 15 fichiers, 226 tests
tools/ bas2tap, bin2tap, tap2sedoric
examples/ Programmes BASIC (.bas + .tap)
roms/ Fichiers ROM (non distribues)
docs/ Guide utilisateur, liste compatibilite
Precision de l'emulation
| Composant | Precision | Notes |
| 6502 CPU | Cycle-accurate | 151 opcodes officiels, BCD, bug JMP |
| VIA 6522 | Fonctionnel | Timers, interrupts, port callbacks |
| AY-3-8910 PSG | Precis | Courbe DAC Oricutron, diviseurs horloge |
| ULA Video | Fonctionnel | Texte + HIRES, attributs serie |
| WD1793 FDC | Fonctionnel | Commandes Type I/II, lecture/ecriture secteur |
| Clavier | Precis | Matrice 8x8 via VIA + PSG Port A |
References techniques
- MOS 6502 Programming Manual — jeu d'instructions, timings, BCD
- MOS 6522 VIA Datasheet — 16 registres, Timers, handshake Centronics
- AY-3-8910 Datasheet — PSG, LFSR 17 bits, enveloppes
- WD1793 FDC Datasheet — commandes Type I-IV, DRQ/INTRQ
- Oricutron (Pete Gordon) — emulateur de reference
- Defence Force / oric.org — documentation technique ORIC