Le système
Eliott65 pièce par pièce, du cycle de bus jusqu’aux lutins. Chaque article explique le principe, donne les mesures faites sur la carte et renvoie aux décisions qui l’ont façonné.
- Le bus : servir chaque cycle de la 6502Comment le RP2040 sert chaque cycle de la 6502 par PIO et DMA, sans cœur ARM : de 0,3 à 8 MHz, la limite réelle de la puce, et les modes SPEC, TURBO et MAX.
- Les appels système : une porte de deux octetsComment un programme 6502 demande un service à Eliott65 : bloc de paramètres libre, porte $FFF8–$FFF9 surveillée par le noyau, 5 µs par appel, règles d'usage.
- La vidéo : du HDMI sans puce vidéoLe pilote vidéo d'Eliott65 : HDMI 720 × 480 produit bit par bit par le RP2040, sans image en mémoire, texte lu chez la 6502, et le mode Hercules.
- Le clavier et l'USBLe pilote USB d'Eliott65 : hub, clavier lu sans appel système, clé en Bulk-Only et SCSI, le délai de 500 ms de la norme, un stockage 5 à 7 fois plus rapide.
- Les fichiers : FAT12, FAT16 et FAT32Les fichiers sous Eliott65 : un seul module pour FAT12, FAT16 et FAT32, noms longs, écriture prudente, programmes .E65 lancés depuis la clé, disquettes en vue.
- L'hibernation : la machine entière dans un fichierComment Eliott65 écrit la machine entière dans un fichier .HIB et la fait reprendre au même octet près, malgré les registres invisibles de la 6502.
- Plusieurs programmes à la foisLe multitâche d'Eliott65 : 8 processus dans 64 Kio grâce aux pages échangées, préemption par NMI sans octet résident, sommeil, shell et bascule Ctrl+Tab.
- Tuiles et lutins : le graphismeLe graphisme 320 × 240 d'Eliott65 : tuiles et lutins à la SNES et à la VERA, données lues sans copie chez le programme, 63,5 µs par ligne, deux cœurs associés.
- Le son : le haut-parleur de la carte, et l'HDMILe son sous Eliott65 : le haut-parleur de la carte piloté en PWM par le service SON, des mélodies lues sans copie, et un son de test passé par la prise HDMI.