Le pupitre du C 90-40 et la façon de s'en servir...
Le pupitre du C 90-40 se présentait de la façon suivante :
Le démarrage du calculateur
La mise au point de programmes
Pour modifier le contenu de la mémoire cela était encore un peu plus compliqué.
Toujours à l’aide de la molette, on affiche la registre A et on l’initialise à la valeur souhaitée pour la mémoire, puis on passe sur le registre C dans lequel on rentre l’instruction store A (STA code octal 35 ) qui permet de ranger le contenu du registre A à l’adresse indiquée dans le champ adresse. Puis on fait un pas (STEP) avec la clé « run – iddle – step ». le calculateur exécute alors l’instruction contenue dans le registre C et range à l’adresse mémoire souhaitée le contenu qui avait été rentré dans le registre A.
Et pour faire un patch mémoire…
Vous avez tous les ingrédients, il ne reste que la méthode.
Tout d’abord, dans le programme que l’on souhaite patcher, il faut:
• Choisir à quel endroit du programme se fera le débranchement vers le patch.
• Noter l’instruction complète (opcode, adresse, index, indirection, extension mémoire…) qui figure à l’endroit où l’on va se débrancher.
• Trouver la première adresse mémoire disponible en fin de programme et la noter.
• Préparer sur papier, sauf à être très doué et chanceux, les codes de la séquence d’instructions à ajouter. Ne pas oublier que la première instruction doit être celle qui occupait la place où l’on mettra le débranchement et que la dernière doit être un retour vers le programme initial à l’endroit le plus judicieux. Il faut connaître l’adresse de départ du patch (notée soigneusement dans un point précédent) pour pouvoir éventuellement calculer les adresses de sauts dans le patch ou de mémoire auxiliaire de travail.
• Entrer la séquence précédente en mémoire selon le mode d’emploi vu plus haut, ce qui nécessite un certain temps et une certaine dextérité.
• Ecraser l’instruction à l’adresse choisie pour le point de débranchement par un branchement inconditionnel au début du patch (BRU code 01)
• Tester le programme modifié.
• Si le patch a fonctionné, perforer le nouveau ruban (exécutable du programme) et, bien entendu, mettre à jour le paquet de cartes correspondant (source du programme).
En rédigeant cet article et, en feuilletant de la documentation de l’époque, j’ai été surpris de constater que je me souvenais encore des codes des instructions les plus utilisées, par contre je ne me souviens plus par cœur des tables d’addition en octal, l’âge, peut-être?
Pour ceux que le début de cet article n’a pas encore rebuté, ou pour les nostalgiques du 90-40, nous poursuivrons avec la suite de l’examen du pupitre.
La zone Canal
A l’aide de la molette à 8 positions située à gauche, on sélectionnait le périphérique souhaité dont on avait l’adresse sur les lampes de droite et un indicateur d’erreur. |
l’overflow
L’indicateur indiquait l’occurrence d’un dépassement de capacité lors d’une opération arithmétique. |
Les interruptions
L’indicateur indiquait si les interruptions étaient désactivées et la clé associée permettait d’inverser la situation. |
La parité mémoire
Vous êtes arrivés à la fin, bravo ! Vous êtes probablement devenus, à cette occasion, un vrai pro du 90-40 mais, c’est bien dommage, il n’en existe plus….
bravo, le montage texte / photos est très sympa
Bonjour et merci pour ce montage explicatif !
J’ai récupéré exactement la même console et vais essayer de l’alimenter et la relier à un (des ?) microcontrôleurs style esp32 pour lui redonner vie… en m’inspirant de votre boulot de description
Bon courage!
Si vous y arrivez, je suis preneur d’une vidéo de la réalisation.
Cordialement