Pour
permettre de charger plus rapidement des programmes que par cassette et
de manière plus moderne, j'ai développé une interface que j'ai nommée
USB loader.
Cela permet depuis un PC d'envoyer un programme vers l'EXL100 par le
port USB, à très grande vitesse.
J'ai intégré une commande dans le Basic : USBLOAD ce qui est plus
pratique que d'avoir à faire appel à l'assembleur ;)
J'ai converti presque toute la ludothèque (aidé par Jester pour
certains programmes Basic) y compris les nouvelles productions,
aux formats USB,
je me suis aussi amusé à faire des vidéos
streamées par USB :)
De plus j'ai intégré un émulateur 80 colonnes et une connexion Telnet
(c'etait fun à faire).
Extension
J'ai
reporté le bus d'extension à l'arrière de l'extension pour notamment
pouvoir utiliser la souris Exelvision, par contre totalement
incompatible avec l'Exeldisk.
Lors
du démarrage de l'EXL100 le menu du BIOS apparaît.
Grâce à l'USBloader vous pouvez charger tous les programmes.
Et aussi ouvrir une connexion Telnet (oui c'est plus pour le fun).
Le menu du BIOS:
La connexion Telnet
:
Un menu développeur est également disponible :
Cela permet de visualiser n'importe quel endroit de la RAM (même la
ROM pour les plus curieux),
de changer la page CRAM active, de changer l'adresse PC
(exécution d'un programme).
D'initialiser la RAM (zone SRAM ou CRAM).
Comment charger des programmes et comment
utiliser le logiciel PC :
Il y a 3 modes de fonctionnement distincts avec l'USBloader Le mode
single file, le mode directory et le mode telnet.
Il est nécessaire de sélectionner le mode voulu sur le logiciel PC, le
mode peut être modifié au fur et à mesure.
- Le mode single permet de charger 1 seul fichier (jeu, langage,
vidéo,..)
- Le mode directory permet de charger plusieurs fichiers d'un
répertoire, les fichiers peuvent être chaînés selon les besoins, ou
charger individuellement.
- Le mode telnet permet d'ouvrir une connexion telnet et se connecter à
un serveur et de naviguer sur les différentes pages et applications.
Dans un premier temps il faut évidemment connecter le câble USB entre
l'USBloader et le PC, ensuite démarrer l'EXL100 et ensuite sélectionner
le port COM correspondant à l'USBloader
puis cliquer sur connect.
l'interface PC est celle-là au démarrage du logiciel :
Maintenant il faut choisir le mode à utiliser pour commencer, ça peut être le mode "Single File".
SINGLE FILE
Il suffit de cocher Single File
et ensuite de choisir le fichier en cliquant sur Select File une fois le fichier
choisi avant de cliquer
sur Send il faut sur l'EXL100 taper 1 :
Sur le PC on peut cliquer sur Send,
le chargement est instantané au maximum 3 secondes pour un programme de
32 KO.
Sur le PC l'interface en mode Single :
On peut faire un reset pour revenir au menu de l'Exelmem-X et selon le
logiciel précédemment chargé il peut y avoir le choix 8 ou 9 qui
apparait dans le menu, ce qui permet de relancer logiciel déjà chargé
(très pratique pour le Basic).
On peut aussi charger un autre fichier en choisissant sur PC un autre
fichier et donc taper 1 sur EXL100 puis cliquer sur send.
DIRECTORY
Maintenant le mode directory le fonctionnement est similaire mais il
peut y avoir plusieurs fichiers à charger dans le répertoire (cela se
fait de manière autonome par l'EXL100), la seul opération humaine c'est
de choisir le répertoire.
Il suffit de cocher Select Directoryune
fenêtre s'ouvre pour choisir le répertoire une fois choisi on revient à
l'interface, c'est tout ce qu'il y a à faire côté PC.
Sur l'exl100 si le programme n'est pas
en Basic on peut taper 2 directement.
Le cas des programmes BASIC :
Il faut dans un premier temps charger le basic en mode single (choisir
le basic avec USBLOAD).
une fois le Basic executé, il faut sélectionner sur le PC le mode
directory en choisissant un répertoire avec le programme Basic voulu.
Et ensuite sous Basic taper la commande USBLOAD le programme va se
charger automatiquement (il peut y avoir plusieurs parties).
une fois chargé, il faut impérativement taper la commande RUN (pas
d'autorun).
Par la suite on peut revenir au menu Exelmem-X avec le bouton reset et
taper 8 pour revenir au Basic, si besoin choisir un autre répertoire
sur le PC
et sous Basic taper la commande USBLOAD pour charger un autre programme.
A savoir que la commande basic USBLOAD peut avoir en paramètre un
numéro qui correspond au fichier que l'on veut charger.
TELNET
Le dernier mode est le mode telnet, pour cela il suffit sur le PC de
cocher Telnet Mode.
Ensuite sur EXL100 taper T et choisir le serveur (3 serveurs
possibles), ensuite la ligne de commande apparait en haut de l'écran,
vous pouvez taper les commandes pour naviguer dans le serveur.
Les touches fléchées fonctionnent dans les serveurs quand elles sont
gérées.
Pour revenir au menu Exelmem-X et fermer proprement la connexion Telnet
il suffit d'appuyer sur la touche ESC de l'EXL100.
Le format d'entête des fichiers à charger par l'USBloader sur EXL100, est défini comme suit :
octet
1
X
1= CPURAM, 2=VRAM
2
X
Type ( 1 executable, 2 datas, 3 vidéo,..)
3
X
page pour la ram paginée
4,5
X,X
adresse
load (MSB,LSB)
6,7
X,X
adresse
exec (MSB,LSB)
8,9
X,X
longueurUsb_loader_EXL100
10
X
chainage (chargement
automatique d'un fichier à la suite)
11
à12
00
Libre — réservé pour usage futur
Conclusion:
Je me suis bien amusé à créer cette extension pour cette machine.
J'ai utilisé un CPLD pour toute la partie logique de décodage
d'adresse et activation des différents éléments de cette extension
et pour limiter le nombre de composants, et comme ce CPLD se trouve
encore facilement et pas trop cher c'était un choix logique.
Ça m'a permis aussi de reprogrammer sur cette machine.
Quelques vidéos du
fonctionnement de cette interface :
Documentation pour l'utilisation de l'USBloader pour EXELMEM-X