Un programme Atari sur vinyle (et sur Apple Music)

Il y a longtemps, j’avais parlé d’un jeu ZX81 sur vinyle. Et cette fois, je suis tombé sur un programme Atari (8 bits) sur vinyle… mais aussi sur iTunes.

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.

 

Le programme se trouve sur le vinyle Över Tid Och Rum de Adolphson-Falk. J’ai trouvé ma copie sur Discogs, directement depuis la Suède (pays d’origine du groupe). Je n’ai pas découvert ça seul : je me suis basé sur le travail d’un suédois (Andreas Nilsson), qui a publié les informations et mis en ligne la ROM. Vous trouverez ses explications en suédois ou en anglais (dans Projects).

La pochette du disque


L’arrière parle bien d’Atari

Je trouve tout de même intéressant de vous expliquer comment j’ai fait. Premièrement, j’ai utilisé une platine vinyle avec une sortie USB (une Sony PS-LX300, un modèle d’entrée de gamme). Je vous passe les nombreux essais, pour aller à l’essentiel : la partie USB ne permet pas de régler l’amplification, et le son est trop faible pour décoder directement l’ensemble.

Au départ, j’ai essayé de passer par une entrée micro, mais ce n’est pas la solution la meilleure et j’ai eu plus d’erreurs. Après pas mal d’essais, je suis passé par Audacity, et quelques filtres. Une fois les données enregistrées, il faut filtrer les données sous ~3900 Hz et celles au-dessus de ~5350 Hz (filtres passe-haut et passe-bas). La raison ? L’enregistrement des données s’effectue avec un 1 à 5 327 Hz et un 0 à 3 995 Hz. Ensuite, j’ai amplifié et testé. Dans mon cas, j’ai amplifié à 30 dB pour un résultat valable. Une fois que c’est fait, il faut enregistrer en mono et en WAV.



L’étape suivante, c’est la conversion en .cas, le format accepté par les émulateurs Atari. J’ai d’abord testé A8CAS, qui a l’avantage de fonctionner sous macOS. Enfin, il faut tout de même compiler les bibliothèques nécessaires, mais ça marche. Mais avec mon enregistrement, il ne décode pas correctement. J’ai donc tenté WAV2CAS. Ce n’est pas très pratique, parce qu’il ne fonctionne pas avec un Windows 64 bits (il doit utiliser des composants 16 bits) mais bien avec un Windows 32 bits. Après un passage dans une machine virtuelle, j’ai donc obtenu mon fichier .cas. Le programme donne des erreurs, mais ça se lance quand même, donc je suppose qu’il doit essayer de traiter des données qui se trouve à la fin de mon enregistrement.

L’émulateur

La, c’est plus compliqué. Je n’ai pas d’Atari 8 bits et je ne connais pas bien la machine. J’ai d’abord essayé sous macOS avec Atari800MacX. Attention, il faut les ROMs. Le problème, c’est que même en émulant un Atari 600XL… ça ne passe pas. La commande CLOAD ne charge pas correctement. J’ai essayé Rainbow avec le même souci sous macOS, avant de passer à Altirra sous Windows. Avec ce dernier, ça fonctionne. Je peux charger la ROM (commande CLOAD) puis lancer le programme (RUN). Il y a des artefacts visuels mais un Warm Reset corrige le tout.

Avant


Après

Donc ça marche, que ce soit avec la version fournie par Andreas Nilsson ou avec la mienne, chargée du vinyle. Cette vidéo montre d’ailleurs que ça doit passer avec un vrai Atari (enfin, je crois, c’est assez flou pour être une copie directe). Assez bizarrement, je n’ai pas les mêmes effets, donc c’est possible que l’émulateur ne fonctionne pas correctement avec ce fichier. En tout cas, j’obtiens ça dans mon émulateur.

Et l’Apple Music du titre ?

La partie amusante, c’est que les données sont disponibles sur iTunes. Vous pouvez aller sur cette page et l’album est disponible sur Apple Music. Ca ne fonctionne qu’en Suède (enfin, en tout cas pas en France) mais ce n’est pas un problème, pour une raison simple. La piste de données dure moins de 30 secondes et donc elle est disponible entièrement en extrait sur le site d’Apple. Il suffit donc d’enregistrer le flux avec Audio Hijack pour obtenir une copie propre. En effectuant juste les mêmes filtres passe-haut et passe-bas, j’ai obtenu un .wav utilisable avec A8CAS. Le résultat est le même avec les émulateurs, par contre : ça passe avec Altirra, pas avec les autres.

Pour ceux que ça intéresse, l’encodage Atari date de la fin des années septante et donc ce n’est pas très efficace : on a environ 30 secondes de signal à 600 bauds (600 bits par seconde), donc en gros 1 ko de donnée (en format CD, mes fichiers font ~3 Mo). On a connu plus efficace, évidemment. Il s’agit juste ici d’une démonstration et pas d’un jeux, mais ça reste une anecdote intéressante.