INITIATION AU CP/M 2.2 N°4 (ACPC n°05)

Salut à vous tous, fans de CPC, novices passionnés et bidouilleurs de génie ! L’initiation continue avec, ce mois-ci, un « truc » qui ravira certainement ceux qui ont décidé de se mettre au CP/M, et qui leur évitera bien des frais d’oculiste…

Réfléchissez bien : quelle a été votre réaction la première fois que vous avez lancé CP/M. je veux dire juste après l’avoir lancé, lorsque le message CP/M 22… s’est affiché devant vos yeux éblouis ? Hum. dites ? Relisez bien la première phrase, la réponse s’y trouve pour au moins quatre-vingt-dix-neuf pour cent des utilisateurs de ce système… Alleî une fois, je vous la donne la réponse, hein, que c’est pas jour de fête tout le temps : vous avez été littéralement EBLOUIS! Si ce n’est plus. L’Amstrad a de fort belles couleurs, c’est un fait.

Entre autres, des bleus sublimes. Mais de là à mettre un fond bleu turquoise hyper-lumineux dans le CP/M c’est un pas qui n’aurait pas dû être fait ! J’avoue avoir passé de longues nuits avec le vénéré Robby.

Penché sur son Amstrad, à découvrir le monde de merveilles que celui-ci nous offrait. Mais à 3 heures du matin, alors que nos yeux rougis par quinze heures de programmation menaçaient de tomber de leur orbite, le passage au CP/M devenait une véritable épreuve de force… Bien sûr. notre grande sagacité (non non. je n’ai pas la grosse tête…) finit par avoir raison de ce problème, et c’est avec un plaisir non dissimulé que je vous fais part, aujourd’hui, de la solution de cet épineux problème !

APRES LE MINITEL, LE CP/M ROSE, ET TOC !
Quoique le rose, en matière de couleurs, j’aime pas… Bon. au boulot. CHARGEEEEEEEEZ ! (votre CP/M tiens, quelle question…) CPM pour les ceusses qui ont un clavier qwerry, ùCPM pour les autres, nous voilà parés. Vérifiez que le programme SETUP.COM est bien présent sur votre disquette, c’est lui que nous allons utiliser. Fin de l’intermède, on continue.

UN LOOK PRO ? PAS D’PROBLEM’ MON BON SEIGNEUR…
Pour moi. le look professionnel en CP/M 2.2 serait du style caractères noirs sur fond gris. Carrément noirs sur fond gris même, n’ayons pas peur des mots. Ma décision étant prise (irrévocablement !). je vais vous expliquer les dessous de l’histoire (dessous, c’est le genre de mot qui me fait toujours penser à Miss X, allez savoir pourquoi… ).

La première chose à faire, sachant que nous allons modifier un programme vital pour le CP/M, est de créer une copie de la disquette complète, sur laquelle nous prendrons l’habitude de travailler, au cours des formations à venir.Je ne dis pas ça pour rire, il m’est arrivé plus d’une fois de ne pas pouvoir démarrer mon CP/M après certaines petites modifications… Je ne vous explique pas la procédure, je suis sûr que vous avez tous un bon copieur…

Bien, ceci étant dit et surtout fait je l’espère, nous allons lancer le programme en tapant :

SETUP
Suivi, bien entendu, d’un appui sur la touche Return. Certains d’entre vous, parmi les plus perspicaces, poseront la question suivante : ‘Dis donc toi. t’es un marrant, mais tu nous dis que le programme s’appelle SETUP.COM. et ensuite faut juste taper SETUP, comment se fait-ce ? » A quoi je réponds : « Bonne question, fils, et pour m avoir coupé dans mon cours, tu me feras cent Arkanoîd et un Barbarian. Amen. » En fait, le CP/M cherchant par défaut à exécuter les fichiers d’extension .COM, il devient inutile de préciser celle-ci… Notre fichier est maintenant chargé, il est l’heure de faire face à la première question…

ARGHHH ! POURQUOI MOI ?
Cet l’exclamation poussée par tous ceux qui ne comprennent pas le moindre petit mot d’anglais : n’ayez pas peur, je suis là. La première question posée par ce fichier est celle-ci

**! initial command buffer empty
Is this correct Y/N :__

Répondez Y Y=Yes=Oui. on s’en serait douté… si vous ne voulez pas être embêté, et cela sans appuyer sur la touche Return. Apparaît alors la commande qui nous intéresse, et qui s’affiche sous la forme suivante :

Sign-on string :
^@ww^a@@^JwwCPM   2.2
Amstrad   Consumer Electronics  plc^J^M

Is this correct Y/N :__
Pour les possesseurs de CPC AZERTY. la deuxième ligne comme ceci :

^çàww^çaàà^§wwCPçM  2.2
Amstrad   Consumer
Electronics  plc^sJ^M

Is   this   correct    (Y/N) :

PAGE 1


 

Le moins que l’on puisse dire est que ça n’est pas correct de nous sortir une chose pareille… Si la vue de cette ligne n’a pas déclenché de crises cardiaques prématurées parmi mes lecteurs adorés, je vais pouvoir continuer, dès que vous aurez appuyé sur N (N = Non). De toute façon, n’ayez pas peur, je vais prendre mon temps, et vous verrez que ce nest pas aussi compliqué que cela en a l’air…

C’EST MEME TRES SIMPLE !
Mon propos n’étant pas de vous assommer, nous allons oublier le côté « technique » dans ce chapitre, et voir simplement la façon de changer nos couleurs. Les initiés, et tous ceux qui le désirent trouveront des informations plus précises dans le chapitre suivant… A ceux qui ne sentent pas prêts pour ce genre de choses. je demanderai simplement d’apprendre les choses suivantes :

–     » ( ^ ç en AZERTY) est équivalent à INK en Basic (définition des couleurs d’écriture). Pour avoir ces caractères, appuyez simultanément sur la touche Ctrl (Contrôle sur les 6128) et la touche  » « . ou la touche « ç » sur les claviers AZERTY.

–    ^] est équivalent à BORDER en Basic (définition de la couleur du bord de l’écran). Cette ibis-ci. appuyez simultanément sur Ctrl et la touche  » D  » pour les claviers QWERTY, ou CTRL et la touche « 3 » sur les claviers AZERTY.

–  Les caractères allant de @ à Z correspondent au numéro de couleur @ étant
égal à 0, A à 1,B à 2,.. Z à 26. Vous pouvez taper ces signes indifféremment en majuscules ou minuscules, c’est déjà ça…

Relisez plusieurs fois ce passage si vous n’avez pas saisi du premier coup, sinon on se retrouve tout de suite pour les initiés et les fanas, un peu après pour les autres…

TOUT DE SUITE !
Vous voulez en savoir plus, vous êtes sûr ? D’accord, mais vous 1 aurez voulu… Vous n’êtes pas sans savoir, je suppose, que les lettres et autres caractères qui apparaissent sur nos écrans obéissent à une norme de codage, l’ASCII. Ainsi, que ce soit sur un ZX81 ou sur un PC, la lettre A aura toujours le code 65… Cependant, certains caractères non affichables sont appelés « codes de contrôle », et ce sont ceux-ci que le CP/M utilise pour définir, entre autres, les couleurs. Ils sont aisément repérables, puisque toujours précédés du signe «  ». Il n’y a pas d’explication précise à donner pour le choix des codes de contrôle gérant les couleurs : ceux-ci sont assignés par le constructeur, et le fait qu’ils soient là devrait suffire à notre bonheur…

Intéressons-nous plutôt à la méthode employée par notre CPC pour transformer de simples caractères en couleurs visibles par tous et toutes : celui-ci va simplement décoder les caractères, puis diviser le chiffre trouvé afin de pouvoir l’utiliser. Mais une division de type classique offre deux inconvénients : la valeur trouvée peut tout de même être trop grande (une soustraction offrirait le même inconvénient) et d’autre part, le résultat serait le plus souvent un nombre à virgule, le processeur perdant alors un temps fou en calcul… La solution porte un nom simple : MOD. MOD est une fonction de calcul, qui, comme son nom l’indique, donne le « modulo » d’une division.

Cette fonction est très simple, mais son explication étant difficile, un bon exemple en Basic s’impose :

PRINT 5 MOD 2 nous donnera comme réponse 1. Pour arriver à ce résultat notre machine procède en gros de cette façon : 5 est égal à deux fois 2 et il reste 1, cela étant le résultat à afficher. Simple, non ? Ainsi, quel que soit le chiffre donné, la réponse à un modulo 2 ne peut être que 0 ou 1. Sur notre CPC. 16 encres sont définissables, dans 27 couleurs possibles. Pour arriver à ces chiffres, CP/M demandera donc un modulo 16 pour le numéro d’encre, et un modulo 32 pour la couleur : par cette méthode, il retombera toujours sur un chiffre compris entre 0 et 15 pour l’encre, et 0 et 31 pour la couleur.

Un modulo 32 dites-vous ? Mais puisqu’il n’y a que 27 couleurs, pourquoi un modulo 32 ? Tout simplement parce que les multiples de 8 sont beaucoup plus faciles à gérer pour la machine que n’importe quel autre chiiïre… Voilà, c’est tout ce que j’avais à vous dire à ce propos, ce qui n’était somme toute pas si compliqué…

UN PEU APRES…
Vous avez tout assimilé, c’est compris, digéré, analysé ? Le moment est donc venu pour vous d’écrire votre propre message, et d’assigner vos propres couleurs : dans mon cas, un bord gris, un fond gris et des caractères noirs. Le gris est la couleur numéro 13. ce qui nous donne le caractère M. La couleur noire est la première, soit 0, ce qui nous donne @ Logique non ? Donc, à la ligne « Enter new sign-on string:__ » je réponds la chose suivante :

^@mm^a@@^]mmCP/M  v5.2
Turbo  Agruik

Je vous décode tout ça, s’il vous reste encore un doute :

^ @ mm signifie : assigne à l’encre 0 la couleur 13 (gris)
^@a@@ signifie : assigne à l’encre 1 la couleur 0 (noir)
^] mm signifie : assigne la couleur 13 (gris) pour le bord de l’écran.

Le reste du texte est là pour épater les copains: rien ne vous empêche de vous faire un CP/M « Version 5.6 » pour « épater » les copains…

Il ne vous reste plus qu’à répondre Y (Yes) à toutes les questions suivantes, et le tour est joué… Pas mal, non ? Si, je trouve… Voilà, c’est fini, et comme je ne voudrais pas me répéter, écrivez-moi si vous avez le moindre problème, j’adore recevoir des lettres… Merci d’avoir lu ces lignes, et à bientôt, tous !

Brice

PAGE 2