INITIATION AU CP/M 2.2 N°3 (ACPC n°04)

Quoi ? Qu’ois-je, que vois-je ?

La formation au CP/M continue ? Eh oui, contrairement aux affirmations de feu Prof Abondos, durement touché par la sénilité…

Mais nous excuserons bien volontiers ce cher et ô combien dévoué Prof. Bref, si Sined, du haut des ses 1,45 m, consent à retirer sa tête de sous mes rangers, je pourrai enfin vous parler du CP/M 2.2 plus en profondeur !

Merci

Sined le Barbare…

J’Y ARRIVE PAS !!!


Non j’y arrive pas !

Une heure que je cherche un titre pour introduire la commande PIP. Mais rien à faire, je sèche.

En bref et anglais, PIP signifie littéralement Peripheral Interchange Program, soit en français : programme d’échange entre périphériques. Cette commande est assez complexe, et je ne vous en donnerai pas tous les détails, considérant que certains d’entre eux ne sont pas utiles à une utilisation courante.

En premier lieu et pour commencer, sachez que la fonction PIP permet de transférer un ou plusieurs fichiers d’un périphérique à un autre, de fusionner plusieurs fichiers en un seul ou encore de modifier les attributs d’un fichier.

Les périphériques reconnus par PIP (en dehors des lecteurs de disquette bien sûr) sont classés en deux catégories. La première regroupe, sous la dénomination d’unités logiques.

Les périphériques suivants:

CON:
RDR:
PUN:
LST:

Notez la présence des deux points derrière le nom de chaque périphérique.

Ceux-ci sont absolument obligatoires, ils permettent au CP/M de différencier un périphérique d’un nom de fichier. Simple non ?

Même Sined a compris ça, je suis donc certain que vous avez tous compris, cela va sans dire (trois lignes pour dire que je n’avais pas à le dire, pas mal  non ?).

La deuxième catégorie comprend, elle, les unités physiques :

CRT:
LPT:
TTY:
UC1:

Mais il est temps d’expliquer les fonctions des ces unités une par une… Vous avez droit à cinq minutes de pause, rompez !

PAGE 1


 

REVUE DE DETAIL !

Ce titre pour rappeler à mon ami Robby qu’il est apte… Art.. Si certains d’entre vous peuvent le pistonner pour qu il aille à Strasbourg, ou, mieux encore, en Allemagne, écrivez au journal… Cela dit rêve nons-en à nos unités, et commençons par la première de la liste, soit CON:. Non je ne suis pas grossier avec les lecteurs, ô vénéré rédac chef, je n’y peux rien moi si le CP/M est ainsi fait !

L’unité CON: désigne l’unité d’écran ou l’unité clavier, selon que celle-ci est placée en entrée ou en sortie. L’unité RDR: est utilisée uniquement en entrée pour lire les données sur le port série, son inverse étant PUN:. qui permet uniquement l’écriture sur le port série. Que ceux qui n’ont pas trouvé le port série de leur CPC ne s’inquiètent pas ; quant à ceux qui l’ont trouvé, ils peuvent courir dès maintenant chez l’oculiste, l’interface série étant externe et hien évidemment non fournie avec le CPC.

Enfin. LST: est l’unité de sortie sur imprimante. Les unités logiques dépendant, bien entendu, des unités physiques, nous retrouverons chez ces dernières les fonctions ‘déjà expliquées. CRT: est l’unité physique du clavier et de l’écran, LPT: l’unité de sortie sur imprimante (ou plus exactement la sertie dite parallèle  et TTY: l’unité gérant les entrées sorties. Je passerai sur UC1. car (honte sur moi…) je n’en ai pas encore trouvé l’utilité…

SAINT TAXE PRIEZ POUR NOUS…
La syntaxe de PIP reste cl ans la même logique que les commandes sous AMSDOS, à savoir :

PIP = < source 1 > [,,…[, ]]. Les crochets indiquent un caractère optionnel, ils ne doivent pas être tapés, bien entendu, pas plus que les signes inférieurs et supérieurs… En clair, si vous souhaitez envoyer à l’écran le contenu d’un fichier, vous devrez utiliser la syntaxe suivante :

PIP CON:=. Attention toutefois, les caractères de contrôle ne sont pas filtrés par la commande PIP. Dans le cas présent, vous allez me dire (j’en suis sûr) : j’aurais lait pareil avec la commande TYPE. Hey lui, l’ôtreuuu, ouah l’ôtre. hey ! Bon d’acconi dans le cas présent TYPE eût rempli la même fonction, avec une syntaxe simplifiée… Cependant, si nous avions voulu envoyer notre fichier vers l’imprimante, avec TYPE, tintin. Alors qu’avec la commande PIP LST:=AGRUIK.TXT «par exemple, mais si vous préferez TOTO à AGRUIK. libre à vous), mon beau fichier texte s’en serait tout droit allé vers l’impri mante ! Pas mal. pas mal…

Encore mieux vous avez un. deux, trois ou dix fichiers l;’i où vous ne voudriez en voir qu’un seul ; avec PIP, pas de problème. Le nom du fichier regroupant la fusion des autres fichiers éta.nt bien entendu considéré comme le fichier destination, la syntaxe [  est    la     suivante            PIP     = urcel>,,…

Et ainsi de suite jusqu’à la fin de la liste des fichiers. Bien sûr ceux-ci sont fusionnés dans l’ordre où vous les avez donnés, et pas dans le desordre, on n’est pas au PMU ici… On pourrait aussi s’amuser à créer un fichier texle avec PIP, non, qu’en dites-vous ? Ok, a Hors allons-y. suffit de taper: PIP TEXTE.TXT=CON: Après quelques secondes, si votre disquette nest pas protégée e;n écriture et s’il reste de la place dessus évidemment, un curseur noir s’affiche au début de la ligne. Vous pouvez maintenant entrer votre texte. Tiens, Return me ramène au déb ut de la ligne, mais sans faire descendre ce satané curseur. Bon, je tape Ctrl J, et là, hop. il descend.

 

Bon. Del ne fonctionne pas non plus, il faut faire Ctrl H pour revenir en arrière et écrire par-dessus le texte existant si l’on a fait une erreur. Quand vous en avez marre, taper Ctrl Z pour sortir. La diode du lecteur s’allume, et votre Fichier est sauvé. Mouais. Vous l’aurez compris, dans le genre éditeur de lignes, on fait mieux. D ailleurs il existe un éditeur de lignes en CP/M 2.2, il s’appelle ED.COM. et il est tellement convivial que j’ai décidé de ne pas vous en parler. Rien ne vaut un bon traitement de texte, du style Semword, pour ne pas le citer.

MIEUX QUE CHEZ RENAULT : TOUTES LES OPTIONS POUR LE MEME PRIX !
Et en plus, j’ai jamais vu une instruction faire la grève. Bon, trêve de, et voyons voir du côté de ces fameuses options. Eh oui, car non contente d’être une commande à paramètres multiples, PIP nous donne accès à une tripotée d’options. Et comme la place me manquerait pour vous les expliquer en détail, vous vous contenterez d’une simple énumération. Notez toutefois que l’utilisation de ces options requiert cette fois-ci la présence réelle des crochets, cela afin de permettre à CP/M de ne pas les confondre avec des noms de fichier. Voici donc la liste de ces otions:

B – Le transfert des données n’est effectué qu’à réception du code de contrôle XOFF. Ça permet entre autres de stocker plusieurs fichiers en mémoire, si cette dernière est disponible évidemment.. m – Efface tous les caractères occupant une colonne supérieure à n (n représente une valeur quelconque, ici dans fa limite des colonnes accessibles…).
E – Envoie un écho à l’écran des données copiées.
F – Enlève les sauts de page (Form Feed) du fichier copié. Utile quand on fait une sortie sur imprimante, par exemple.
Gn – Permet de copier un fichier avec un numéro de User différent du User courant. H – Vérifie les données transférées. A utiliser avec les fichiers de type HEX I – Supprime les octets à 0 d’un fichier d’extension HEX.
L – Met en minuscules les caractères du fichier copié.
N – Numérote les lignes du fichier copié. O – Ignore le code fin de fichier’ dans un fichier non ASCII.
Pn – Définit la longueur de la page à n lignes.
R – Permet de lire les fichiers de type SYS.
Tn – Définit la taille des tabulations à n espaces.
U – Met en majuscules les caractères du fichier copié.
V – Vérifie si les données sont correctement copiées. Ça prend un peu plus de temps, mais c’est plus sûr…
W – Permet d’écrire sur un fichier protégé.
Z – Le bit de parité des caractères copiés est forcé à 0.

GASP AND FIN !
j’ai plus que dépassé les lignes qui m’étaient allouées, alors je me sauve en vitesse. Le mois prochain, je vous apprends comment changer les couleurs du CP/M et d’autres trucs… A plus !

Brice DEFEYER

PAGE 2