Un programme Commodore 64 sur The 8-Bit Construction Set

Le cas du second programme du disque The 8-Bit Construction Set m’a donné plus de mal que le premier, pour Atari, mais j’ai réussi.

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 pochette

Un peu de contexte et d’explications. Les programmes pour le Commodore 64 sont particulièrement énervants avec les vinyles, parce qu’ils dépendent de timings précis (et pas de fréquences précises). Qui plus est, la conversion de l’audio doit généralement se faire en plusieurs fois : il faut enregistrer l’audio et le convertir en .tap (certains programmes enregistrent directement) puis en .prg pour simplifier le lancement. Une des raisons est liée à la façon dont le Commodore 64 gère les cassettes : l’ordinateur n’a pas d’entrée audio et le lecteur de cassette effectue ses traitements en interne et envoie des données numériques au Commodore 64.

Dans les faits, le dump de cassettes passe donc généralement par un lecteur d’origine (et sa cassette) avec soit un vrai Commodore 64, soit un intermédiaire qui récupère les données. Mais ave un vinyle, forcément, la solution recommandée est de l’enregistrer sur cassette. Dans mon cas, j’ai testé en enregistrant la platine directement sur mon Mac avec différents niveaux, avant de tenter de convertir en .tap puis en .prg (une erreur).

Les explications

Comme ça ne fonctionnait pas, j’ai quand même lu la documentation et j’avais raté un truc : « and follow the load instructions inscribed on inside of record ». C’est littéral : les instructions sont gravées sur le disque et c’est même indiqué sur la page Discogs. Je n’en avais pas eu besoin avec le programme Atari parce que la séquence CLOAD / RUN est classique.

La face Atari


On le voit bien à la lumière


La face Commodore


Idem

Pour le Commodore 64, il m’a fallu une bonne soixantaine d’essais avant d’obtenir un .tap sans erreurs. Pour mon moi du futur, voici les étapes : un enregistrement avec un bon niveau, une amplification comme une brute, une conversion avec audiotap, un passage dans TAPClean. Dans ce dernier, après un nettoyage, une fonction peut tenter de corriger les erreurs si elles ne sont pas (trop) nombreuses, ce qui a fonctionné dans mon cas.

Mais je n’avais fait que la moitié du travail. Sur le disque, il est écrit LOAD "BEIGE",1,1 SYS 2304. Comme je ne connais pas bien le Commodore 64, je tapais la commande en une fois, mais c’est une erreur. En réalité, il faut taper la première partie de la commande (LOAD "BEIGE",1,1), attendre que tout charge puis taper la seconde (SYS 2304). Pour bien comprendre : la première commande charge le programme BEIGE depuis le lecteur de cassettes (le premier 1) à l’adresse indiquée dans le programme (le second 1). Ca implique que c’est un programme en langage machine et pas en BASIC. La seconde commande, elle, lance le programme à l’adresse 2304 (une adresse absolue).

Avec le .tap (ou le .prg), ça ne fonctionne généralement pas par défaut, parce que l’émulateur tente de lancer le programme, sans succès. Du coup, j’ai utilisé Denise et c’est un peu lent : il faut taper la commande, lancer manuellement la lecture, attendre et ensuite taper la seconde commande. Dans la vidéo, j’ai accéléré 20x le chargement vu que ça prend environ 2 minutes (la longueur du programme).

Le programme propose un texte qui défile, une image avec le logo du Commodore 64 avec du texte dedans, des images avec des données aléatoire (un peu comme pour l’Atari) et un programme, SID-303, qui permet de jouer avec la puce sonore, le SID. On se déplace dans les réglages avec les lettres en cyan et les touches + et - permettent de modifier les valeurs. Il y a aussi de l’aide, mais je n’ai pas pu capturer nativement l’image (il faut garder h enfoncé). Il est un peu passif/agressif et explique comment gérer l’audio sur un vrai Commodore 64.

Le programme




SID-303


L’aide

Dans tous les cas, je peux cocher un disque de plus dans ma liste.