La précision, mot à mot
Règle du projet : ce qui n’est pas mesuré est écrit « non mesuré ». Ce tableau résume docs/ACCURACY.md.
| Composant | Statut |
|---|---|
| Cœur 65C02 (état, RAM, cycles, séquence bus) | mesuré : 100 % de l’oracle, 2 540 000 cas |
Interruptions, RESET, WAI/STP | fonctionnel, non mesuré par l’oracle |
| API du firmware | exacte par construction (même code que la carte) ; latence d’appel 0 cycle par défaut |
| Cadence (6,25 MHz, trame 60 Hz, timer 100 Hz) | modélisée, non mesurée sur la carte |
| Vidéo 320 × 240 et palette | identique pixel pour pixel à l’émulateur officiel (5 cas) ; position verticale de l’image dans la trame de la carte : non modélisée |
| Mode texte couleur 80 × 25 | capture identique octet pour octet à l’émulateur officiel |
| Son | générateur du firmware, exact par construction ; volume et filtrage analogiques non modélisés |
| Clavier, souris, manette | fonctionnels, bits identiques au code du firmware ; une manette, pas d’analogique |
| Stockage | dossier de l’hôte, identique à l’émulateur officiel ; vitesse de la carte SD non simulée |
| Chemins et répertoire courant | résolus comme FatFs ; codes d’erreur d’un répertoire intermédiaire manquant : non alignés |
| Noms de fichiers | Latin-1 côté 6502, UTF-8 côté hôte, comme sur la carte ; casse des lettres accentuées non testée |
| Série USB (groupe 14) | identique à l’émulateur officiel ; débit et latence USB non modélisés |
| Stockage choisi dans le menu (dossier ou clé USB réelle) | un dossier de l’hôte, sans les règles de FatFs : sémantique du système de fichiers de l’hôte (casse, caractères permis, droits, ext4 / exFAT / NTFS au lieu de FAT) ; capacité, vitesse et énumération USB non modélisées ; clé non montée : non prise en charge (--floppy) |
| Modem du menu | modem logiciel (Hayes + ESP-AT, vraies connexions TCP) ou tty de l’hôte, par NEO_CDC_TTY ; non comparé à un vrai Pico W ; débit et latence réseau non modélisés |
| SWD | non modélisé (seul --gdb existe, côté 65C02) |
| Sauvegarde d’état | reprise exacte, y compris le hasard (rand() compté puis rejoué) et la phase du minuteur à 100 Hz ; même binaire seulement ; mode disquette non couvert ; le contenu du dossier de stockage n’est pas dans l’état |
| Co-simulation | fidèle pour le bus et l’API ; latences en pas ARM ; DVI, USB et son simulés à gros grain |
Non modélisé
Le signal DVI, l’énumération et le timing de l’USB, l’UART d’extension, l’I2C, le SPI, les GPIO, le menu de démarrage de Trinity (il s’exécute avant le premier cycle du processeur), l’Apple II du firmware reload.