APPLICATIONS ★ INITIATION A CP/M - AMSTRAD MAGAZINE n°7: Le CP/M sur CPC 6128 ★

Initiation à CP/M : Le CP/M sur CPC 6128 (Amstrad Magazine)
Vous avez lu l'historique, le développement et les intérêts du CP/M. Rentrons ici dans le vif du sujet et allons étudier ce système d'exploitation en vue de son utilisation sur votre machine favorite.

Voici le plan de l'étude — qui se poursuivra sur plusieurs numéros vu l'ampleur du sujet traité — : l'utilisation vue de l'extérieur, les utilitaires fournis avec le système, revue de quelques programmes et langages disponibles, l'utilisation vue de l'intérieur, G S X, compléments sur CP/M +, utilisation avancée.

Sur Amstrad 6128 vous avez à votre disposition trois système d'exploitation :

AMSDOS (incorporé au Basic) CP/M 2.2
CP/M + (ou appelé également CP/M3).

Nous rappelons rapidement qu'un système d'exploitation est un programme chargé de la gestion et de la commande des ressources de la machine : clavier, écran, disquette, mémoire vive, mémoire morte, périphériques divers. Ce programme est adapté par chaque constructeur d'ordinateur à une machine déterminée. Chaque système d'exploitation a ses propres règles de grammaire et de syntaxe pour la formation des ordres de commande.

AMSDOS, qui est figé en mémoire morte, est activé automatiquement lors de la mise sous tension de l'ordinateur et, comme AMSTRAD y a incorporé le langage Basic, vous pouvez immédiatement écrire un programme ou lancer une commande du syteme d'exploitation. Par exemple charger un programme existant, lire le contenu du catalogue d'une disquette etc... La notice de votre ordinateur, qui est d'une qualité remarquable en ce qui concerne le Basic et AMSTRAD, vous apportera toutes les précisions nécessaires.

La philosophie de CP/M est différente : ce système d'exploitation est totalement indépendant d'un langage de programmation. Comme il est personnalisé pour chaque type de machine, il est possible de retrouver les mêmes commandes sur des marques d'ordinateurs différentes. Ce qui a donné naissance à une formidable bibliothèque mondiale de programmes et de langages fonctionnant sous CP/M. Sur votre AMSTRAD 6128, par exemple, pour utiliser les services de CP/M vous devez vous-même le charger dans la machine.
Ceci est réalisé par la commande AMDOS : CPM ( | est obtenu en appuyant simultanément sur la touche SHIFT et la touche | ), en ayant au préalable placé une disquette contenant CP/M dans le lecteur incorporé au clavier.
Après quelques secondes de patience et de cliquetis divers vous voyez affiché sur l'écran, le message de présentation et sur la dernière ligne de ce message :
A>.

Ceci signifie que votre ordinateur attend une commande. N'essayez pas de taper PRINT « COUCOU » ou une autre introduction propre à AMSDOS-BASIC, vous seriez déçu du résultat. En effet, il faut maintenant prendre une décision sur la suite des opérations. Pour éviter d'embrouiller une explication pas très facile au départ, nous ne considérerons du système d'exploitation CP/M 3 (ou CP/M + ) que sa partie commune avec CP/M 2. Nous reviendrons ultérieurement sur la comparaison entre ces deux versions en précisant les différences.

Sachez, dans l'immédiat que l'AMSTRAD vous a fourni CP/M 2.2 pour les problèmes de compatibilité avec quelques logiciels. Vous devez vous habituer à travailler avec CP/M 3 car, utilisant la mémoire de 128 Ko (kilo-octets) avec pagination (ces termes barbares seront expliqués en détail ultérieurement) vous disposez d'un système acceptant tous les logiciels du commerce ou des bibliothèques d'association d'utilisateurs correspondant à un ordinateur dit standard CP/M.80 avec Z80. Les détails de l'implantation en mémoire seront précisés lorsque nous aborderons l'étude de l'interfa-çage de CP/M avec des programmes en langage machine (ou assembleur).

Extensions pré-définies
  • ASC Fichier texte ASCII.
  • ASM Source d'un programme assembleur.
  • BAK Fichier de sauvegarde (BACKUP) créé généralement par un programme éditeur ou traitement de texte.
  • BAS Source d'un programme BASIC.
  • COM Fichier binaire exécutable (commande transitoire).
  • DAT Fichier de données.
  • DOC Fichier avec texte de documentation.
  • FOR Source d'un programme FORTRAN.
  • HEX Fichier d'un programme en héxadécima! généré par un assembleur.
  • LST Fichier imprimable résultant par exemple d'une
  • compilation.
  • MAC Source d'un programme pour un macro-assembleur.
  • MSG Fichier de messages.
  • PAS Source d'un programme PASCAL.
  • REL Fichier binaire relogeable (non exécutable).
  • SUB Fichier texte contenant des commandes CP/M pour chainage d'exécution (SUBMIT, BATCH).
  • SYS Fichier de programme système.
  • SYM Table de symboles générée par un macro-assembleur.
  • SSS Fichier temporaire créé par un programme.

Les commandes d'un langage transparent

Notre ordinateur attend toujours une commande en affichant avec patience A >. A étant le nom du lecteur incorporé au clavier. Vous disposez de deux types de commande :

  • Les commandes résidentes, qui sont incorporées dans le système d'exploitation CP/M, qui ont donc un effet immédiat. Ces commandes sont DIR, ERA, TYPE, SAVE, REN, USER.
  • Les commandes dites transitoires qui effectuent le chargement, puis l'exécution de fichiers programmes spéciaux stockés sur la disquette placée dans le lecteur. Ces fichiers-programme peuvent être des langages (Basic par exemple) des compilateurs, des programmes types traitement de texte, gestion ou des utilitaires.

Le programme chargé prend alors « la main » par rapport au CP/M qui devient transparent à l'utilisateur (par exemple si vous exécutez un programme de gestion, une commande du type résidente DIR n'aura aucune signification pour le traitement en cours). Nous voyons ici l'un des avantages de CP/M qui permet de travailler avec plusieurs langages de programmation par exemple, en fonction des traitement à effectuer. DIR : Commande de gestion du catalogue (DIRECTORY) d'une disquette.
Cette commande offre beaucoup de similitudes avec l'équivalent sous AMSDOS. Les noms sou s CP/M sont constitués de trois parties : un nom, un point, une extension. Le nom peut comprendre de 1 à 8 caractères alphabétiques, numériques, ou spéciaux de la liste suivante :
! # $ % & ' () + — / @ - ^ | [ ].

L'extension de zéro à trois caractères sera imposée pour effectuer certains traitements et libre pour d'autres (voir l'encadré ci-contre les noms d'extension imposés). Certains caractères d'un nom composé peuvent être remplacés par ce qu'on pourrait appeler des jockers, dans certaines commandes. Un ? remplace une lettre, un * remplace toutes les lettres d'un nom ou d'une extension.

DIR : affiche le contenu du catalogue.

DIR *.BAS : affiche les noms de tous les fichiers avec extension .BAS.

DIR T?T?.FOR : affiche tous les noms de quatre lettres avec extension .FOR avec un T en Ie et 3e position (TOTO.FOR TATI.FOR etc...). Si vous possédez un deuxième lecteur de dsiquettes, appelé B, vous pouvez à partir du lecteur actif A, consulter son répertoire avec la commande : DIR B:*.BAS : affiche les noms de tous les fichiers avec extension . BAS sur la disquette montée dans le lecteur supplémentaire B.
(Vous remarquerez la syntaxe B: devant le nom argument de la commande DIR). Vous pouvez également faire en sorte que ce deuxième lecteur devienne actif au détriment du premier en tapant simplement B:.

L'écran affiche alors l'attente d'une commande par B>. Remarque : DIR*.SYS n'est pas permis, il existe une commande spéciale DIRS qui affichera tous les programmes « système » présents sur la disquette. La commande transitoire STAT permet également d'obtenir la liste des programmes d'une disquette mais avec plus de détails (taille etc...).

ERA : Efface des fichiers (ERASE).
Cette commande est dangereuse et doit être manipulée avec grandes précautions. ERA EXEMPLE.BAS détruit un seul fichier.

ERA EXEMPLE.* détruit tous les fichiers dont le nom est EXEMPLE avec toutes les extensions possibles et imaginables.

ERA*.BAS détruit tous les fichiers ayant comme extension .BAS

ERA*.* détruit tous les fichiers, après cette commande, la disquette est vierge. Lorsque nous examinerons l'organisation des données contenues sur une disquette, nous verrons que sous certaines conditions, il est possible de récupérer un fichier détruit par erreur. En attendant, il est préférable de réfléchir en deux fois avant d'utiliser cette commande. TYPE : Taper (afficher) le contenu d'un fichier. Affiche à l'écran le contenu d'un fichier ASCII. Pour obtenir l'impression simultanée sur l'imprimante, taper au clavier

Commandes résidentes

DIR (DIRectory) affiche le contenu du catalogue d'une disquette.

DIR B:E???** affiche les noms de fichiers existants sur le lecteur B dont la première lettre est E suivie de 0 à trois caractères. ERA (ERAse) supprime un ou plusieurs fichiers dans le catalogue d'une disquette. Attention DANGER : ERA*.* supprime TOUS les fichiers d'une disquette. TYPE imprime le contenu d'un fichier sur le périphérique de liste actif (écran ou imprimante) à condition que ce fichier contienne du texte ASCII. SAVE n sauvegarde sur disque n pages de mémoire de 256 octets depuis l'adresse 100 Hexa. SAVE 5 TEX.B1.
Calcul des n pages : prendre les deux octets hauts de l'adresse limite à recopier et transformer en décimal. Exemple : copier de 100 H à 4 FFFH n = 4FH soit 79 décimai d'où SAVE 79 TOTO.EXl.

REN : (RENOmé) changement de nom d'un fichier. REN NOUVEAU = ANCIEN. NOUVEAU ne doit pas exister sur disque. Exemple : REN DOCUM. BAK =* DOC.ASM, le fichier portant le nom DOC.ASM prend le nom de DOCUM. BAK.

USER : n. Permet d'affecter une partie de la disquette à une utilisateur numéro n (de 0 à 15). Pratiquement inutile avec une disquette.


CONTROL-P (appuyer simultanément sur la touche CONTROL et sur la touche P). Un fichier ASCII ne contient que des caractères imprimables c'est-à-dire à partir de la valeur 20 Hexa (ou 32 décimal) du tableau des caractères ASCII (voir la notice CPC 6128 page 7-8). C'est le cas d'une source Basic sauvegardée avec l'option ",A", d'un fichier créé avec un éditeur, d'un fichier de valeur numériques. Ne pas essayer d'utiliser cette commande avec un fichier binaire, il se passerait de drôles de choses à l'écran. Exemple de commandes : TYPE READ. ME TYPE NOTICE.TXT Pour désactiver l'imprimante taper à nouveau CONTROL-P. L'affichage à l'écran est paginé c'est-à-dire qu'après vingt-deux lignes de texte, le message suivant apparaît : Press RETURN to continue C'est un anglais relativement « français » qui vous invite à appuyer sur la touche « RETURN » pour voir la suite. Si vous désirez arrêter le traitement de liste, appuyer sur CONTROL et sur C (CTRL-C). Remarque : sous CP/M 2.2 la pagination n'existe pas, le contrôle d'un déroulement de la liste est effectué avec CTRL-S une fois il suspend la liste, une fois il reprend la liste. SAVE : Sauvegarde. Cette commande permet de sauvegarder sur disque une zone mémoire débutant à l'adresse 100 Hexa. Lorsque nous examinerons l'intimité du CP/M, nous apprendrons que la zone utilisateur commence à cette adresse 100 H. Cette commande n'est utile que lorsque l'on maîtrise parfaitement le langage machine et l'organisation interne du CP/M. Nous reviendrons en détail ultérieurement sur son utilisation. Pour l'instant nous vous donnons la syntaxe : SAVE n.
Où n est le nombre de pages de 256 octets (ou 100 H). Le calcul de n est le suivant : Problème : sauvegarder une zone de 100 H à 4FFFH (5 000 H-l)
n = les deux positions de gauche soit 4FH ou 79 pages d'où la commande SAVE 79.
REN : Renommer un fichier.
Remplace un nom par un autre : REN nouveau = ancien, le nom nouveau ne doit pas exister, s'il existe, en CP/M +, le système vous demande la permission de supprimer le fichier existant pour y placer le fichier renommé.
(attention : réponse par Y = Yes = Oui ou N = Non). Cette commande est aussi dangereuse que ERA donc à manier avec précaution. C'est une commande utile pour conserver différentes étapes d'une mise au point.
Exemple :
TEST1.BAS
TEST2.BAS
TEST3.BAS
Rappel : pour retrouver les noms du catalogue taper DIR TEST?.BAS

USER : Numéros d'utilisateur. Une disquette peut être partagée logiquement entre seize utilisateurs. c'est-à-dire qu'il est possible de cloisonner l'espace disque en seize parties (de 0 à 15). A l'initialisation du système le numéro d'utilisateur est indispensable lorsque plusieurs utilisateurs utilisent le même disque. En pratique elle n'a d'intérêt qu'avec l'utilisation d'un disque de grande capacité (disque « dur »). Nous ne nous étendrons pas pour l'instant, sur cette commande.

Résumé :

Nous avons vu que CP/M, en lui-même, ne nous permet pas de programmer. Il est le gestionnaire des ressources du système. Il possède en propre six commandes, il permet d'exécuter des programmes binaires genre langages utilitaires. Lorsque CP/M est initialisé (à la commande AMSDOS CPM), la mémoire utilisateur est vierge (mais pas nulle c'est-à-dire que les octets n'ont pas forcément la valeur zéro).
Pour revenir à AMSDOS trois solutions :
1. Couper le courant (solution brutale, ne pas oublier de retirer les disquettes avant).
2. Taper AMSDOS si le fichier AMSDOS.COM est sur la disquette du lecteur actif.
3. Appuyer simultanément sur les touches : CONTROL-SHIFT-ESC.

AMSTRAD MAGAZINE n°7

★ ANNÉE: ???
★ AUTEUR: Pierre Squelart
 

Page précédente : Initiation à CP/M : GSX , éllaboration d'un standard
★ AMSTRAD CPC ★ DOWNLOAD ★

Files:
» CPM-DR  Logo  v1.1DATE: 2008-08-06
DL: 2385
TYPE: ZIP
SiZE: 50Ko
NOTE: CPM 2.2 bootloader/Extended DSK/40 Cyls
.HFE: Χ

» CPM-DR  Logo  v2.0DATE: 2008-08-03
DL: 2308
TYPE: ZIP
SiZE: 68Ko
NOTE: 41 Cyls
.HFE: Χ

» CPM-DR  Logo  v3.0DATE: 2008-09-04
DL: 2469
TYPE: ZIP
SiZE: 66Ko
NOTE: 40 Cyls
.HFE: Χ

» CPMPlus  v1.0DATE: 2002-03-28
DL: 2503
TYPE: ZIP
SiZE: 330Ko
NOTE: CPM bootloader/CPM 2.2 bootloader/Extended DSK/40 Cyls
.HFE: Χ

» CPM  v2.2DATE: 2008-09-06
DL: 2793
TYPE: ZIP
SiZE: 257Ko
NOTE: CPM 2.2 bootloader/Extended DSK/40 Cyls
.HFE: Χ

Dumps disquettes (version commerciale):
» CPM  v2.2    ENGLISHDATE: 2017-05-03
DL: 2044
TYPE: ZIP
SiZE: 96Ko
NOTE: Uploaded by CPCLOV ; CPM 2.2 bootloader/Extended DSK/42 Cyls
.HFE: Χ

» CPM  v3.0    (FRENCH  RETAIL-CPC  PLUS)    ENGLISHDATE: 2019-03-13
DL: 4810
TYPE: ZIP
SiZE: 155Ko
NOTE: CPM bootloader/40 Cyls
.HFE: Χ

» CPM  v3.0    (Release  SCHNEIDER)    ENGLISHDATE: 2019-03-13
DL: 2123
TYPE: ZIP
SiZE: 322Ko
NOTE: Uploaded by CPCLOV ; Extended DSK/40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Les Utilitaires de CP/M (Microstrad)
» Applications » Introduction à G.S.X (CPC Revue n°33)
» Applications » Initiation à CP/M : GSX , éllaboration d'un standard (Amstrad Magazine)
» Applications » Les Commandes Transitoires (Amstrad Magazine)
» Applications » Comment Utiliser un Logiciel (CPC Revue)
» Applications » Initiation a CP/M - Amstrad Magazine 05
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 119 millisecondes et consultée 4855 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.