Commander X16 : Mise en production

 En octobre 2022, je présentais le Commander X16,  l'ordinateur de rêve de "The 8-Bit Guy" (alias David Murray).  Le Commander  X16 est conçu pour prolonger l'expérience des ordinateurs 8 bits basé sur du hardware encore achetable aujourd'hui en préservant l'environnement et la programmation comme on le connaissait sur un Commodore 64. Attention, le X16 n'est pas un commodore C64... mais au final bien plus.

Cet projet fou passe la phase de la mise en production, une nouvelle vidéo de 8-Bit Guy toujours aussi intéressante.

Test d'un commander X16 assemblé
source: cette vidéo de 8Bit Guy

 Dans cette nouvelle vidéo apporte aussi son lot de nouveauté:

  • Exploration des fournitures et des machines de production.
  • Mise à jour des firmware depuis un programme X16 (.PRG)
  • Découverte de cartes d'extension
  • Découverte des cartouches ROM pour les logiciels et jeux.
  • Carte d'extension pour Maker
  • X16 Gen 2: l'éventuel suite avec un Commander X16 light (version console de jeu mais pleinement fonctionnel). 
  • Un compilateur Basic

Dimensions du X16

Toujours aux dimensions d'une carte ATX, le commander X16 est relativement compacte comme en témoigne l'image ci-dessous (comparaison avec une Nintendo).


Système de cartouche Famicom

Système de cartouche du X16

Basé sur les cartouches Famicom (mais pas compatible avec), les cartouches du X16 pourrons contenir jusqu'à 7 ROMs ( en bas) et 4 EEPROM I2C (en haut).

L'intérêt des ROMs pour les logiciels est assez évidents puisqu'il est possible d'y stocker beaucoup plus de ressources graphiques que la mémoire vive MAIS surtout d'être directement accessible par le processeur. 


 

Cartes d'extension

Voici une carte d'extension 3.5 MB RAM/ROM avec la possibilité de maintenir le 7ieme module (une SRAM) alimentée par une pile.


L'empreinte sous la pile permet aussi de placer une EEPROM de 64Kbit sur le bus I2C de X16.


Carte qui pourra aussi être utilisée comme support pour le développement des cartouches.

Ou cette carte OPL3 réalisée par TexElec utilisée lors des différents tests son sur la X16.

L'équipe à également pensé aux Makers en produisant des cartes de prototypages, de quoi permettre à tout un chacun de créer des extensions.

Mise-à-jour du X16

Un petit tout de force qui consiste à faire la mise-à-jour des firmwares du X16 (y compris la VERA board) depuis un programme X16.
J'aime l'idée de ne pas avoir à sortie le PC portable et un câble USB pour aller tripatouiller dans les entrailles du X16.



X16 Génération 2

Bien qu'étant encore à l'étude, l'équipe envisage un X16 Génération 2. Une version minimaliste du X16 se présentant sous forme d'une console de jeux avec un emplacement cartouche.

X16 Génération 2

Ce X16 Gen 2 proposera toujours le support clavier / Souris / Basic / Carte SD et mes deux ports Joysticks.
Il sera donc possible de l'utiliser comme un vrai X16 puisque s'en est un :-) Par contre il sera plus restreint en mémoire (non extensible).

Déboire des Yamaha 2151

Sur le X16, le son sera produit par le chip YM2151 de Yamaha. Un chip rendu célèbre par les synthétiseurs de la même marque et ayant équipé de nombreux machines des années 80-90.


Le Hic, c'est que c'est aussi un produit largement contrefait (surface poncée et regravée au Laser). Du coup, ce ne sont pas des Yamaha YM2151... ont ne sait même pas ce que c'est en dessous !

Et donc, il faut les tester un par un et une belle volée de composants sont faux!

C'est le monde Maker qui vient à l'aide avec une version "émulée" du Yamaha 2151.

Emulation YM2151 pour le X16

Une solution immédiate (et probablement temporaire au problème) qui s'installe dans le X16.

Placement de l'émulateur YM2151 dans le X16.

Compilateur Basic

Un point qui à retenu mon attention c'est le projet de compilateur Basic permettant d'accélérer l'exécution du code (au moins par 8).

Ce compilateur résiderait en mémoire haute, là où le code Basic serait saisi et produirait le code compilé en mémoire basse (là où il serait exécuté). 

C'est un projet aux apparences simple mais à la réalité assez ambitieuse.

Comment implémenter un tel dispositif ?

Plus avant, j'ai présenté une carte d'extension ROM/RAM avec la SRAM U7 maintenue sous tension par une pile.
L'éditeur de code et le compilateur pourraient se trouver dans les ROM U1 à U6 tandis que le programme Basic saisi dans l'éditeur serait, lui, stocké dans la RAM U7.

Avec le programme Basic stocké en U7, celui-ci resterait disponible après un redémarrage... cas où le code compilé plante la machine nécessitant son redémarrage.

Le compilateur Basic compilerait le code présent dans U7 pour produire l'assembleur en mémoire basse (la mémoire de travail normal d'un X16) encore inutilisée jusqu'à ce point puisque tout fonctionne sur une carte d'extension RAM/ROM.

Il ne resterait plus qu'a exécuter le programme compilé comme n'importe quel autre programme du X16. Ce programme compilé pourrait même être sauvé sur un média pour être rechargé au besoin.

En vidéo

Tous cela est vraiment captivant!
Je vous propose de regarder la vidéo Commander X16 2023 Update (45 minutes) vraiment très riche d'enseignement.

Bonne lecture / visioinnage
Dominique


Aucun commentaire