INITIATION AU CP/M 2.2 N°2 (ACPC n°03)

Eh oui, le professeur Abondos et moi-même sommes de retour. Je vais d’ailleurs lui laisser la parole sans plus vous faire languir. Mesdames et messieurs, le voici qui pénètre dans la salle des CPC d’AMSTRAD Cent Pour Cent, voici… le professeur Abondos en personne !

Olivier FONTENAY.

LE RETOUR D’ABOIMDOS
Bonjour ! C’est avec un plaisir extrême que je vous retrouve pour le deuxième et dernier épisode de ma formation au CP/M dans AMSTRAD Cent Pour Cent. Nous allons donc revenir sur le CP/M 2.2 et ses fonctions les plus facilement utilisables. Si je jette un oeil sur le Cent Pour Cent du mois dernier, je remarque que nous y avons traité les ordres suivants : heu, attendez, il faut que je le retrouve, ce numéro 2. Ah, ça y est Donc, voici ce que nous avons appris :

– DIR
– *
– ?
– ERA
– REN
– FORMAT (fonctionne uniquement en CP/M 2.2)

Bien. Peut-être direz-vous que c’est un peu léger, mais on n’aborde pas le CP/M d’un seul coup, comme si on se faisait un Arkanoîd ou un Barba-riaa Ici, on est là pour bosser. Cela étant dit passons à la fin de notre formation.

COPIE DE SAUVEGARDE
Abordons maintenant le cas – délicat – des copies de disquette. En fait il n’y a rien de compliqué ou d’osé là-dedans, je rassure nos amis éditeurs tout de suite. Bien. CP/M 2.2 possède un outil de copie très performant nommé DISCKIT2. Ce logiciel permet de copier des disquettes non protégées : il s’agit d’une copie de sauvegarde de vos programmes ou fichiers personnels. A noter que DISCKTT2 possède aussi une option formatage, mais vous la connaissez certainement tous.

COPIE DE FICHIER
Mais il n’y a pas que la copie de disque dans la vie d’un programmeur fou. La copie de fichier, ça peut
aussi servir. Prenons un exemple concret Vous avez plein de jeux déplombés, mais chaque jeu est copié sur une face de disquette. 11 serait donc plus économique de pouvoir les regrouper. Bootez le CP/M. Si votre fichier s’appelle, par exemple, USUL.BIN, vous taperez :

FILECOPY USUL.BIN

Le CP/M vous demandera d’introduire d’abord la disquette source, et ensuite la disquette destination. Mais il y a mieux, on peut parfaitement utiliser des jokers :

FILECOPY *.*

Le CP/M, par mesure de sécurité, vous demandera, si vous le souhaitez, une confirmation avant la copie de chaque fichier. Si vous ne demandez pas de confirmation, tous vos fichiers seront copiés, tranquillement sans intervention de votre part, vers la disquette de destination. Il est aussi possible de faire des copies d’un numéro de à un autre. Mais, me direz-vous peut-être (en tout cas, ça m’arrangerait), qu’est-ce donc qu’un , ô toi. professeur si illustre et si savant. Pourrais-tu le révéler à l’infâme vermisseau CPCiste que je suis ? Certes, certes, mon enfant. Pour ce faire, passe donc au paragraphe suivant…

1 BON USER VAUT MIEUX QUE 2 TU LE VOIS PAS
Je sais, je sais que c’est un titre un peu long, je vais encore me faire engueuler par la maquette, mais que voulez-vous ? A chacun son métier… USER est un ordre exécutable aussi bien à partir de l’AMSDOS (cf le mois dernier) que du CP/M 2.2 ou 3.0.

Voici sa syntaxe. AMSDOS : IUSER.1. CP/M (22 ou 3.0, la syntaxe est bien sûr identique) : USER 1. Sachez que sur CPC. vous pouvez fixer des numéros dTJSER allant de 0 à 15 (inclus). Le numéro par défaut, inscrit dans la mémoire morte, est le zéro. Vous voilà maintenant au fait de la syntaxe de USER. Mais peut-être certains d’entre vous ne connaissent-ils pas la raison d’être de la commande. Voyons donc cela rapidement Chaque fois que vous sauvez un fichier ou que vous faites le catalogue d’une disquette (CAT en Basic. DIR sous CP/M), vous travaillez, sans vous en rendre compte, avec les USER (Utilisateur, in english dans le texte). Chaque fichier, qu’il s’agisse d’un document ASCII ou d’un programme Basic, est associé à un et un seul Utilisateur, identifié par un numéro. Par défaut le USER employé sur le CPC est « 0 ». Mais tapez donc :

USER1

A priori, rien n’a changé sur votre écran. Essayez maintenant de faire un catalogue de la disquette :

DIR

Rien n’apparaît sur l’écran. Normal : DIR affiche les fichiers qui ont été sauvés avec le numéro de USER courant. Revenez sous Basic. Créez un petit programme, n’importe lequel, par exemple : 10 Print « Adios Abondos » Tapez ensuite :

USER4
SAVE « DEPART

Si vous tapez CAT. le fichier apparaîtra sur l’écran. Eteignez la machine puis rallumez-la et retapez :

DIR

La machine affiche :

USER 0 et aucun fichier n’apparaît Par contre, si vous faites :

|USER.l et CAT

le fichier est bien présent au rendez-vous. Cette technique permet dans une certaine mesure, de protéger des données : si vous ne connaissez pas le bon numéro de USER, impossible de les voir. Remarquez que le Basic permet seulement les numéros de 0 à 15 : il est donc facile de finir par les retrouver… A signaler que cette protection, bien qu’elle soit franchement peu efficace, a été souvent utilisée par certains éditeurs de programmes. Dernière chose avant de quitter le domaine des USER. Vous vous rappelez que, le mois dernier, nous avons vu comment effacer un fichier. Savez-vous ce que fait l’ordinateur quand vous lui dites :

DEL DEPART.BAS

PAGE 1


 

Tout simplement il change le numéro de USER du programme correspondant et lui attribue le numéro 229, si jeune ma buse. Comme il est impossible d’entrer l’ordre USER 229 en Basic ou CP/M. votre fichier semble bel et bien détruit. Mais il n’en est rien . Sous Basic, tapez l’ordre :

POKE &A701.229

Résultat, le USER est forcé à 229 (&E5 en hexadécimal. Si vous ne savez pas ce que c’est, allez donc lire les cours de mon distingué collègue Sined le Barbare). Si vous faites CAT, les fichiers ont disparu. Là, de deux choses l’une. Soit vous avez écrit tellement de choses sur la disquette que votre fichier a bien été écrasé : rien à faire. Soit vous venez d’effacer le fichier en question, mais il doit être toujours présent sur le disque. Tapez alors :

LOAD « DEPART.BAS »

puis :

LIST

et le fichier est de nouveau disponible. Pour le récupérer complètement, faites :

|USER.0
SAVE « DEPART.BAS »

Ouf ! Vous venez de sauver un programme peut-être très important, voire capital… Qu’est-ce qu’on dit au prof Abondos ? Comme quoi, vous voyez que la formation CP/M peut quand même servir à vous apprendre des choses sympa… Bon. Si nous récapitulons ce que nous avons étudié depuis le début, ça commence à devenir vraiment intéressant, pas vrai ? Avouez que vous en redemandez ! Avouez ! J’attends. Moi, j’ai tout mon temps.

VISUALISER UN FICHIER
Parfois, il arrive que l’on possède des fichiers dont on ne connaît plus très bien le contenu. Si vous êtes comme moi et que vous parsemez vos disquettes de programmes TOTO.BAS. il n’est pas toujours évident de s’y retrouver. Pour tout dire, il y a parfois un léger fouillis dans mes programmes. Mes collègues parlent d’ailleurs de souk innommable. Alors il existe une fonction très pratique du CP/M pour visualiser le contenu d’un fichier :

TYPE TOTO.BAS

Cet ordre affiche tous les caractères qui composent un fichier. Mais attention ! Je dis : halte. Avant de vous précipiter bêtement sur votre bécane pour vérifier si ça marche, écoutez-moi encore une petite seconde. Si votre fichier contient des caractères de contrôle (codes ASCII inférieurs à 32) et si ces codes sont affichés, ils risquent de mettre un joli foutoir. Par exemple, si vous voulez pouvoir visualiser un programme ASCII, vous devez l’avoir préalablement sauvé par l’ordre : SAVE ‘TOTO.BAS »A Cet ordre conserve le programme en codes ASCII purs. Un TYPE TOTO.BAS fonctionnera alors sans problème. Allez, foi de prof Abondos, je vais vous donner un dernier conseil : sauvez toujours deux versions de vos programmes Basic. Une normale, sous le nom ‘TOTO.BAS », et une en ASCII (SAVE U*.*’A), sous le nom TOTOASC ». Ca prend un tout petit peu plus de place sur la disquette, mais c’est beaucoup plus pratique et beaucoup plus sûr… Eh bien voilà ! La formation au CP/M est maintenant terminée. Ecrivez au journal si vous souhaitez que l’on aborde d’autres formations spécifiques. Malheureusement le prof Abondos, atteint par la limite d’âge, a décidé de prendre sa retraite. Place aux jeunes !

Prof ABONDOS & Olivier FONTENAY

PAGE 2