La carte mémoire
Le 65816 voit 16 Mo, et le Projet 816 les remplit tous de RAM. Seules quatre petites pages de la première banque servent à parler aux périphériques.
Le tableau complet
| Adresses | Contenu | Signal |
|---|---|---|
$00:0000 – $00:9BFF | RAM | PSRAM par la 9K |
$00:9C00 – $00:9CFF | registres de la 9K : son, interruptions, DMA, configuration | interne à la 9K |
$00:9D00 – $00:9DFF | vidéo (Tang Nano 20K) | sélection vidéo |
$00:9E00 – $00:9EFF | Pico : SD, USB, Wi-Fi, horloge, liaison série | sélection Pico |
$00:9F00 – $00:9FFF | port d’extension | /IOSEL |
$00:A000 – $00:FFFF | RAM, dont les vecteurs du 65816, chargés au démarrage | PSRAM par la 9K |
$01:0000 – $7F:FFFF | RAM : suite de la première PSRAM (banques $00 à $7F, 8 Mo) | PSRAM par la 9K, CS0# |
$80:0000 – $FF:FFFF | RAM : la seconde PSRAM (8 Mo) | PSRAM par la 9K, CS1# |
Il n’y a plus de zone réservée à une carte d’extension : les 16 Mo de RAM occupent tout l’espace. Une
carte d’extension garde sa page de registres en $00:9F00.
Les pages d’entrées-sorties
Les périphériques occupent des pages entières de 256 octets dans la banque $00. La 9K les décode
à partir de A8 à A15 et de la banque capturée.
Chaque périphérique n’expose que 32 registres, sélectionnés par A0 à A4. Ces 32 registres se
répètent dans toute sa page de 256 octets : $9D00 et $9D20 désignent le même registre.
Le plan des registres
Le plan détaillé des 32 registres de chaque bloc (9K, vidéo, Pico) existe en version 0.1, à l’état de proposition à valider : voir Le plan des registres. Il doit être validé avant d’écrire le Verilog ou le firmware correspondant. C’est le contrat entre les trois circuits programmables et le logiciel 65816 : toute modification d’un registre devra être reportée des deux côtés.