Le Neo6502 émulé
Un 65C02 pour les programmes, un RP2040 pour tout le reste, et une porte entre les deux : l’adresse $FF00.
Deux puces, une porte
La carte d’Olimex associe un W65C02S et un RP2040 (deux cœurs ARM). Le 65C02 voit 64 Ko de mémoire ; dans l’émulateur, le tableau cpuMemory du firmware est cette RAM. Pour demander quelque chose au firmware (écrire un caractère, tracer une ligne, ouvrir un fichier), le programme écrit les paramètres en mémoire puis écrit à l’adresse $FF00 : c’est l’API, organisée en groupes de fonctions (console, système, fichiers, graphisme, sprites, son, clavier…).

A:\>. Capture prise par l’émulateur, sans affichage.Ce que Phosphoneo reproduit
- L’écran : 320 × 240 pixels, 256 couleurs, plus un mode texte couleur de 80 × 25 colonnes pour Trinity.
- Le son : le générateur du firmware, avec ses canaux.
- Les fichiers : un dossier de l’hôte joue le rôle de la carte SD ou de la clé USB ; un mode disquette sert un vrai lecteur.
- Le clavier, la souris, la manette : depuis la fenêtre, ou scriptés à un cycle précis.
- Le port série USB : relié à un modem logiciel pour les programmes réseau.
Ce qu’il ne reproduit pas
Le signal DVI, l’énumération et le timing de l’USB, l’UART d’extension, l’I2C, le SPI, les GPIO, et la vitesse de la carte SD ne sont pas modélisés. Le détail, ligne par ligne, est dans la précision.