The Thompson Twins Adventure : le jeu ZX Spectrum sur flexi disc

The Thompson Twins Adventure est un jeu sur vinyle assez connu, pour une bonne raison : il a été proposé avec un magazine assez populaire dans les années 80, l’opus 36 (octobre 1984) de Computer & Video Games, au Royaume-Uni. Il est donc sur un flexi disc.

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.

 

La page Wikipedia est assez complète : il s’agit donc d’un jeu basé sur un titre (Doctor! Doctor!) du groupe Thompson Twins. Ce n’est pas directement un programme placé sur un disque de musique, mais c’est assez proche. C’est un mauvais jeu (on va le voir) pour le Sinclair ZX Spectrum, très populaire dans les années 80 outre-Manche.

La pochette

Ma copie n’est pas géniale sur la pochette, mais le flexi disc (un enregistrement effectué sur une feuille de vinyle souple) était à peu près lisible. Ce n’est évidemment pas une science exacte : les flexi disc sont assez fragiles et même avec un disque neuf, la qualité reste assez faible. Pour information, une copie du magazine peut être trouvé là.

Le disque (la vitre du scanner est sale)

La page de présentation

Une récupération (très) compliquée

Comme c’est un flexi disc, c’est un peu compliqué. Dans la pratique, j’ai changé la pointe de ma platine (assez basique) et j’ai testé une quarantaine de différents. Premier point, le programme est assez long : environ 3 minutes et 45 secondes de données. Après de nombreux essais, j’avais réussi à isoler la troisième partie du programme (il y en a trois) en la récupérant dans un des essais concluants, comme avec ce disque polonais. Les outils que j’utilise (tzxtools) permettent de le faire assez facilement.

Pour la seconde partie (très courte, 256 octets), un des enregistrements a fonctionné après un filtre (passe-bas ou passe-haut, je ne l’ai pas noté), donc j’ai aussi isolé cette partie. Restait la dernière (enfin, la première). Dans une bonne partie de mes essais, j’avais une erreur de CRC mais aussi une capacité qui n’était pas la bonne : le header donne la capacité en octets et j’avais une valeur trop faible. Mais dans un de mes essais, je me suis retrouvé avec la bonne capacité mais une erreur CRC, ce qui implique essentiellement une (ou des) erreurs vraiment ponctuelles.

J’ai donc tenté une correction manuelle, en repérant visuellement deux pics (avec Audacity). Sur des erreurs ponctuelles et courtes, ça peut passer : j’ai copié une séquence avec la même longueur pour remplacer les erreurs. Compte tenu de la longueur (deux à trois bits), le remplacement fonctionne si vous avez un signal propre. Il faut juste tenter les quelques combinaisons possibles, et il est possible d’en exclure visuellement. En zoomant bien avec Audacity pour tenter de réduire les décalages, j’ai corrigé les deux erreurs flagrantes (deux pics) et ça a fonctionné : plus d’erreurs CRC. Et j’ai ensuite simplement reconstruit un fichier complet avec le résultat.

Deux pics bien visibles


Le pic montre une erreur dans le signal


J’ai collé une séquence propre et le faible décalage est compensé par le programme

Ça peut évidemment sembler simple avec les explications, mais c’est quelques heures d’essais divers et variés et un peu d’habitude tout de même. Plus le fait que j’étais vraiment dans un cas (presque) idéal : deux erreurs bien visibles.

Le jeu

Le jeu lui-même est assez mauvais (crap selon Wikipedia). C’est un jeu textuelle avec quelques écrans fixes, assez moche. Je l’ai terminé pour la vidéo, mais en utilisant une (autre) vidéo comme base. Attention à une chose : la soluce disponible est celle de la version Commodore 64 et donc certains écrans changent. J’en ai profité pour faire une solution pour la version ZX Spectrum, que je publierais plus tard. Enfin, la vidéo a été accélérée (2x) pour que ce soit à peu près supportable : le jeu est assez lent, et je ne sais pas si ça vient de l’émulateur ou du jeu. Mais quand on tape une commande, il y a une grosse latence (plusieurs secondes) avant qu’il ne laisse la main pour taper une commande. Enfin, il attend évidemment de l’anglais sur un clavier QWERTY, donc ce n’est pas génial avec un clavier francophone (j’ai corrigé mes fautes de frappe au montage).

Le début


La fin

Pour terminer, un petit point : il existe aussi pour Commodore 64 mais il est plus rare. Le magazine a en effet été proposé avec la version ZX Spectrum, avec la possibilité de commander le flexi disc pour la version Commodore 64. Je n’en ai jamais vu passer, mais il existe (on peut trouver la ROM).

Le coupon