Un jeu ZX81 caché dans le vinyle de Camouflage

On continue avec les programmes cachés dans de l’audio. Cette fois, je reviens sur un disque que j’avais déjà présenté : Camouflage.

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 Camouflage de Chris Sievey, les données ne sont pas cachées : il est bien indiqué sur la pochette que les trois programmes pour ZX81 (un ordinateur du début des années 80) sont présents. Dans mon premier article, il y a environ 5 ans, j’expliquais que je n’étais pas arrivé à récupérer les données. Cette fois, j’ai persévéré.

La pochette

Première chose, il faut bien nettoyer le vinyle. Deuxième chose, je suis passé d’une platine basique (un modèle ION) à un modèle Sony un rien plus évolué (PS-LX300USB). Troisième chose, j’ai enregistré directement en mono (c’est important) avec une carte son USB plus efficace que l’USB de la platine. Avec tout ça, j’ai pu extraire sans erreurs le premier programme (Camouflage, une sorte de clip pour le titre principal du disque) et la version pour ZX81 1 ko de Flying Train (le troisième programme). Pour le second fichier, c’était plus… fastidieux.

Une analyse manuelle

La solution, c’est de charger le fichier WAV dans Audacity et de corriger manuellement. Pour essayer de faire simple : avec le ZX81, un 0 est codé avec 4 pulsations, un 1 est codé avec 9 pulsations, et il y a un blanc entre chaque groupe. C’est mieux expliqué là, mais l’idée est de chercher visuellement les erreurs, les endroits ou la lecture peut sembler compliquée. Je suis passé par un programme qui s’appelle ZX81 Tape Converter (en Java) et j’ai corrigé tous les endroits qui semblaient ambigus. Attention, il vaut mieux faire une modification, tester, puis ensuite la valider.

00010011


L’analyse du programme (il indique l’échantillon)


Une zone ambigue


Une zone à corriger

Du coup, j’ai passé le fichier en revue (~3 minutes) pour chercher les erreurs et faire un copier/coller d’une zone valable à la place. Heureusement, l’enregistrement était à peu près valable et j’ai dû modifier très peu de zones. Une fois les modifications effectuées dans le .wav, j’ai pu extraire des fichiers .p utilisables dans un émulateur avec ZX81 Tape Converter.

Dernier petit souci, quand j’ai voulu synchroniser la piste audio avec l’image pour la vidéo, j’ai trouvé la chanson lente… avant de me rendre compte que si les données étaient enregistrées à 33 tpm, la musique, elle, devait être lue à 45 tpm. Pour la vidéo, j’ai joué un peu sur la vitesse de lecture pour synchroniser la vidéo et la musique, mais ce n’est pas parfait vers la fin, désolé.

On commence par Flying Train en version ZX81 1 ko, très basique. Dans cette version, il faut presser V pour descendre, et poser l’avion sur le train.

La seconde, c’est Flying Train en version ZX81 16 ko, avec une petite intro et une explication. C’est assez compliqué, mais le principe est le même : on doit descendre (avec V) ou tomber (avec C).

La troisième, c’est Camouflage, une sorte de clip interactif. J’ai synchronisé la musique (à peu près).