Ricardo Azzurri et le programme MSX récalcitrant

On continue avec les vinyles, et un disque de variété italienne des années 80 : Tu Dammi La Metà de Riccardo Azzurri. Le disque contient un programme pour le Spectravideo 728, un ordinateur au standard MSX.

Au lieu de vous mettre tous les articles précédents à chaque fois, je vous renvoie vers la page dédiée, elle explique ce que je fais avec les vinyles et liste toutes les pages qui contiennent les programmes, les explications, etc.

 

Pour ce disque, ça a été… compliqué. Premièrement, je me suis rendu compte qu’il s’agissait d’un 7 pouces, et que je n’avais plus l’adaptateur de ma platine. Une commande plus tard, j’avais ce qu’il fallait pour lire le disque. J’ai commencé par quelques essais d’enregistrements et de conversions, mais je me suis rendu compte assez rapidement que le MSX était un peu différent du ZX Spectrum, même si le fonctionnement des cassettes est assez proche.

La pochette est bien dans es clichés des années 80

Puis il a fallu trouver un émulateur. Le Spectravideo 728 est un MSX de première génération, assez standard. J’ai donc d’abord testé avec fMSX, un émulateur compatible macOS. Il n’a pas besoin de ROM, mais il a un sale défaut : quand on essaye de taper des commandes, il utilise le layout de la machine (le MSX) et pas celle du Mac. Donc du QWERTY, avec des agencements bizarres pour les ", : et autres ,, obligatoires. On trouve les correspondances , mais ce n’est pas très pratique tout de même. J’ai donc tenté openMSX, moins bien intégré à macOS (c’est très open source, dans le côté péjoratif du terme) mais efficace. Attention, il a besoin de ROM (, je ne vous ai rien dit) qui doivent se trouver dans ~/.openMSX/share (il faut décompresser systemroms). L’avantage d’openMSX (pour moi), c’est que le layout du MSX émulé est lié à celui de mon clavier.

Le chargement d’un fichier avec un MSX est visiblement un peu tendu. On peut taper une des quatre commandes suivantes pour une fichier issu d’une cassette : RUN"CAS:", LOAD"CAS:",R, BLOAD"CAS:",R, CLOAD. Sur la pochette du disque, ils indiquent qu’il faut taper C LOAD "azzurri" (c’est une erreur).

Et il a fallu essayer de faire un fichier. J’ai tenté makeTSX, qui peut être compilé sous macOS et dont la documentation est bien faite. tzxwav (que j’utilisais pour le Spectrum). Mais c’est CAS tools qui a fonctionné. La version Windows a une interface basique, mais ça se compile sous macOS. Attention, la version classique d’openMSX ne prend pas les fichiers TSX, mais il existe une version adaptée.

Mon problème, après pas mal d’essais, c’est que mes fichiers ne fonctionnaient pas. Les fichiers audio étaient propres, les données extraites semblaient à peu près valables (environ 8 ko, soit la bonne valeur pour un peu plus d’une minute d’audio à 1 200 bauds) et quand j’ai essayé de lire le contenu avec un éditeur hexadécimal, j’ai bien trouvé des textes en italien. Après beaucoup trop d’essais, je suis allé poser la question sur un forum spécialisé. C’est encore la meilleure solution quand on travaille sur un appareil qu’on ne connaît pas.

J’ai eu ma réponse (merci Jipe) : visiblement, il manque un header dans le programme. Je ne sais pas si ça vient de mon enregistrement, du programme lui-même ou de la conversion, mais quand j’ai ajouté les caractères proposés par Jipe, ça a fonctionné. Après quelques dizaines de secondes (en accéléré dans la vidéo), il y a une erreur à la ligne 3000. Il faut donc taper (en BASIC) LIST 3000 pour voir la ligne et remplacer PSETP par FORP. Ensuite, un RUN relance le programme. Je suppose que l’erreur en ligne 3000 est liée à mon enregistrement.

Le boot


Ca charge


Encore


Une erreur à corriger

Le programme présente l’artiste et les personnes qui ont travaillé dessus, avec quelques animations (et quelques sons), puis il y a un peu de musique (façon MSX). Dans la vidéo, je charge le programme (avec un extrait de la première piste du disque), je corrige l’erreur et le programme se recharge vers 1:00.