Pas besoin de savoir ce qu’est un FPGA. En quelques schémas, voici ce que sera le Projet 816, comment ses pièces travaillent ensemble, et où il en est aujourd’hui.
Dans cette page
1. L’idée : un ordinateur 16 bits d’aujourd’hui
Dans les années 80, les micro-ordinateurs étaient construits autour d’un processeur, de mémoire et de
quelques puces spécialisées pour l’image et le son. Le Projet 816 reprend cette idée avec des pièces
d’aujourd’hui :
un vrai processeur W65C816S, toujours fabriqué par WDC : la version 16 bits du célèbre 6502 ;
16 Mo de mémoire (de la PSRAM), tout ce que le processeur sait adresser ;
à la place des puces spécialisées d’autrefois, des FPGA : des puces dont on dessine soi-même les
circuits, en écrivant un programme qui les décrit ;
un Raspberry Pi Pico 2 W pour tout ce qui est moderne : USB, carte SD, Wi-Fi ;
une carte au format Mini-ITX, pour loger la machine dans un boîtier de PC ordinaire.
2. Qui fait quoi
Le processeur au centre, sur son bus avec trois circuits programmables ; la mémoire n’est reliée
qu’au contrôleur « 9K », qui la sert pour lui.
Le W65C816S exécute les programmes. C’est le seul vrai processeur « rétro » de la machine.
La PSRAM de 16 Mo est toute la mémoire : il n’y a pas de ROM. Seule la 9K y est reliée, et
elle fait les accès pour le processeur. Le programme de démarrage est
recopié en mémoire avant que le processeur ne démarre.
Le contrôleur système, surnommé « la 9K », est le chef d’orchestre : un FPGA soudé
directement sur la carte (la puce de la Tang Nano 9K, sans son module). Il fabrique l’horloge du
processeur, décide qui parle sur le bus, pilote la mémoire et produit le son.
La Tang Nano 20K (un FPGA plus gros) est la carte graphique : elle fabrique l’image et l’envoie
sur une prise HDMI.
Le Pico 2 W s’occupe des entrées-sorties : clavier et souris USB, carte microSD, Wi-Fi,
horloge, liaison série.
La 20K et le Pico ne voient pas toute la mémoire : chacun n’offre au processeur que 32 registres,
une petite fenêtre par laquelle on lui donne des ordres.
3. Le 16 bits et ses 16 Mo
Le 6502 des années 80 ne voyait que 64 Ko de mémoire. Le 65816 en voit 16 Mo, découpés en 256
banques de 64 Ko. Le Projet 816 les remplit tous de mémoire : deux puces de 8 Mo.
La carte mémoire : ce qui se trouve à chaque adresse. Les registres de la 9K, de la vidéo, du Pico
et de l’extension occupent quatre petites pages dans la première banque.
4. Une astuce du 65816 : la banque sur les fils de données
Pour adresser 16 Mo, il faut 24 bits d’adresse. Le boîtier du 65816 n’a pourtant que 16 broches
d’adresse. L’astuce : pendant la première moitié de chaque cycle, il pose les 8 bits manquants
(la banque) sur ses broches de données. La 9K doit les capturer au bon moment, avant que ces mêmes
broches ne servent à la donnée.
Un cycle de bus : d’abord la banque sur les fils de données, puis la donnée elle-même. C’est la
première chose que la carte de validation devra prouver.
5. Trois étapes, dans l’ordre
Le projet avance par phases, et ne passe à la suivante que lorsque la précédente marche sur du vrai
matériel :
Une petite carte de validation d’abord, la grande carte Mini-ITX ensuite, le logiciel enfin.
6. La carte finale
À défaut de photo, voici l’implantation prévue de la carte Mini-ITX : les prises à l’arrière, comme sur
un PC, et le cœur de la machine au centre.
La carte Mini-ITX telle que la décrit la spécification. Les cotes exactes restent à vérifier sur un
gabarit officiel avant de dessiner la carte.
7. En résumé
Question
Réponse courte
C’est quoi ?
Un micro-ordinateur 16 bits néo-rétro, au format Mini-ITX.
Avec quel processeur ?
Un vrai W65C816S, en 3,3 V ; environ 6 MHz en moyenne (estimation, de 4 à 8 selon les accès).
Et le reste ?
Deux FPGA (contrôle et son, soudé sur la carte ; vidéo HDMI, en module) et un Pico 2 W (USB, SD, Wi-Fi, horloge).
Ça existe ?
Pas encore : la spécification est écrite, la carte de validation est la prochaine étape.