CODING ★ INITIATION A CP/M (01/XX) (CPC REVUE N°7)7 ★

Initiation a CP/M (01/xx) (CPC Revue n°7)

Dans cette série, nous allons essayer de vous révéler foutes les possibilités que vous offre CP/M sur votre AMSTRAD. Tout d'abord, si vos possédez un 464 ou un 664, vous disposez de la version CP/M 2.2, tandis que si vous avez la chance de posséder un 6128, vous disposez de CP/M Plus, c'est-à-dire de la version 3, ainsi d'ailleurs que la version 2.2. Cette dernière fonctionne donc sur toute la gamme tandis que la version CP/M Plus, plus complète, ne fonctionne que sur le 6128.

Nous vous préciserons donc les différences essentielles, mais notre étude sera surtout axée sur CP/M Plus, car s'il existe une abondante documentation sur CP/M 2, ce n'est pas le cas pour CP/M Plus.

UN PEU D'HISTOIRE...

CP/M est un système d'exploitation, c'est-à-dire un ensemble de programmes et d'utilitaires permettant d'exploiter les possibilités d'un matériel déterminé. Ses initiales viennent de sa signification complète Control Pro-gram for Microcomputers, c'est-à-dire Programme de Contrôle pour Micro-Ordinateurs. CP/M a été écrit en 1973 par Gary KILDALL, alors jeune ingénieur travaillant comme consultant pour Intel, pour pouvoir être utilisé sur tout micro-ordinateur utilisant uun microprocesseur 8080. Le Z80, apparu par ailleurs, est compatible 8080 au niveau du code objet et donc CP/M "tourne" sur tout micro Z80, 8080 ou 8085. A cette époque héroïque, CP/M a donc été, avec le DOS d'APPLE, le premier système permettant d'exploiter un micro-ordinateur équipé de disquettes. Mais, à l'inverse du DOS d'APPLE, uniquement dédié au matériel de ce constructeur, CP/M, comme plus tard MSDOS, était conçus, dès le départ, pour pouvoir être facilement adapté à tout matériel, pourvu que celui-ci comprenne un clavier, un écran, de la mémoire, une unité de disquette et bien sûr un 8080 ou un autre microprocesseur compatible avec le 8080.

Devant le succès de cette formule, Gary KILDALL crée Digital Research, et CP/M devient, au fil de ses évolutions, le plus répandu des systèmes d'exploitation. Avec l'arrivée des nouveaux matériels, CP/M devient CP/M86 sur 8086, CP/M68k sur 68000. Mais hélas, le retard de CP/M86, associé peut-être à des erreurs de stratégie, font rater à Digital Research le train de l'IBM PC, et c'est MSDOS qui est choisi pour être le PCDOS. Alors que CP/M86 est, sous bien des aspects, supérieur, et de loin, à MSDOS, la loi du nombre joue, et MSDOS peut devenir, avec sa version 2, le leader du marché 8086 !

Et CP/M Plus dans tout cela ? Et bien, sa sortie en 82/83 passera inaperçue alors qu'il donne au 8 bits toutes les chances de concurrencer le 16 bits. CP/M est un "vrai" système d'exploitation, et son utilisation vous familiarisera avec des concepts et des opérations que vous retrouverez sous MSDOS ou autre PCDOS. Pouvoir utiliser CP/M Plus sur votre CPC 6128, c'est vous donner la puissance d'une Ferrari pour le prix d'une 2 CV ! En effet, il y a autant de logiciels CP/M que de logiciels MSDOS et, par exemple, des tableurs comme Multiplan ou SuperCalc, des gestionnaires de fichiers comme DBase II ou DataStar, des traitements de texte comme Word-Star, et tous les langages de programmation comme le Cobol, le Pascal, le C, le PL/1, Forth ou autre Lisp.

En bref, tout ce qu'il vous faudra dans quelque temps pour assouvir votre soif lorsque le Basic n'aura plus de secret pour vous.

UN SYSTEME D'EXPLOITATION, A QUOI ÇA SERT ?

Lorsque vous écrivez des programmes Basic, les opérations élémentaires dont vous avez besoin sont :

– sauvegarder votre programme (SAVE),
– charger un programme (LOAD),
– voir ce qui se trouve sur la disquette (CAT).

Sauvegarder un programme, cela veut dire transférer le contenu de la mémoire vers un fichier sur disquette ; c'est une fonction élémentaire d'un système d'exploitation. D'ailleurs, sous Basic, vous utilisez un système qui s'appelle AMSDOS et qui n'est d'ailleurs qu'un CP/M réduit. Le système d'exploitation permet l'utilisation standardisée des éléments du matériel que sont le clavier, l'écran, la mémoire, les disquettes, l'imprimante, etc. Ce qui est important ici, c'est le mot standardisé. En effet, au niveau matériel, il existe une infinité de manières de gérer un clavier. Ainsi, même en Assembleur, il y a une fonction standard, quels que soient le matériel, l'adresse du port clavier, etc., qui permet de lire le caractère qui a été tapé par l'utilisateur. Donc un programme Assembleur écrit sous CP/M et utilisant les fonctions de base de celui-ci, tournera sur toute machine CP/M. Mais, direz-vous, je ne fais pas d'Assembleur, alors ? Et bien, vous faites du Basic (Microsoft standard comme sur IBM) ou du Pascal, ou du C, que sais-je ? Et un compilateur ou un outil comme un tableur est écrit en Assembleur et donc tourne, s'il n'utilise pas les subtilités d'un matériel sur toute machine CP/M.

L'une des missions de base du système d'exploitation, c'est la gestion du matériel et des périphériques possibles. Cette gestion est assurée par le BIOS (Basic Input Output System). Le terme Basic n'a rien à voir avec le langage, BIOS veut dire système de base des entrées et sorties.

Ce composant de CP/M est à la charge du constructeur, puisque le BIOS est étroitement lié au matériel.

Mais il existe une autre mission très importante dans un système d'exploitation, c'est la gestion des fichiers.

En effet, au niveau matériel, une disquette ou un disque dur, c'est un support auquel on accède en donnant un numéro de tête, puis de piste et enfin de secteur. Il est évident que si vous deviez gérer cet espace et, par exemple, savoir que votre programme TRUC se trouve sur les secteurs 0 à 20 de la piste 12 de la tête 0, pour pouvoir y accéder à nouveau, vous auriez un catalogue sur une feuille de papier pour vous aider. Et bien, la gestion de fichier, ce n'est ni plus ni moins cette feuille de papier qui permet de savoir que le programme TRUC se trouve à tel emplacement du support. Cette gestion est regroupée dans le BDOS (Basic Disk Operating System). Enfin, le dernier composant, c'est celui que vous voyez, c'est-à-dire l'interface utilisateur. En effet, lorsque vous avez démarré CP/M, celui-ci, normalement, ne fait rien et attend vos ordres. Ces ordres sont interprétés et transmis au BDOS par le CCP (Console Command Processor = exécuteur des commandes console). C'est donc le CCP qui affiche le A> après l'initialisation de CP/M et qui traduira vos demandes telles que DIR, ERA, etc. Ces trois composants, CCP, BDOS et BIOS sont regroupés dans les deux pistes système du CP/M2.2 et dans le fichier C10CPM3.EMS en ce qui concerne CP/M Plus. Le BIOS de CP/M2 n'est pas vraiment sur les pistes système, puisqu'il se trouve en fait dans la ROM disque.

LES AVANTAGES DE CP/M PLUS

Le premier et le plus évident est une augmentation très importante de la mémoire disponible pour les programmes, la TPA (Transient Program Area), qui est de 61 k sur CP/M Plus au lieu de 38 k pour CP/M2.2. Cela vous donne plus de mémoire qu'aucune machine CP/M n'en a jamais eue ! Il est donc possible de faire tourner tout logiciel CP/M, la seule contrainte devenant maintenant les 180 k des disques 3 pouces.

Cela est possible car CP/M Plus est prévu pour être utilisé sur des machines dotées d'un système de commutation de mémoire (Bank switching) et CP/M Plus se trouve dans l'un des bancs de 64 k, tandis que le programme utilisateur partage l'autre banc avec le code nécessaire à CP/M Plus pour faire le lien entre les deux bancs. Ceci vous explique pourquoi CP/M Plus ne tourne pas sur un 664 ou 464 qui ne disposent pas de cette possibilité. Le deuxième et non moins évident est une plus grande souplesse d'emploi. Ainsi, sous CP/M Plus, même avec un seul disque, il est possible de travailler comme si vous aviez un

deuxième disque. Le BIOS reconnaît, au démarrage, la configuration de votre matériel et, dans le cas d'un CPC 6128 standard, il vous demandera de retirer la disquette courante du disque, pour y insérer la disquette qui sera considérée comme étant dans le disque B.

Il n'y a donc plus besoin d'utilitaires spéciaux comme Filecopy pour copier un fichier d'une disquette sur une autre. Mais cette souplesse d'emploi va beaucoup plus loin :

– démarrage automatique possible d'une série de commandes par le biais d'un fichier PROFILE. SUB ;
– messages d'erreur plus explicites et possibilité de reprendre le contrôle en cas d'erreur disque ;
– changement de disquette reconnu automatiquement ;
– une fois CP/M Plus en mémoire, il est possible de travailler avec des disquettes au format données, car tous les composants sont résidents et ne doivent pas être rechargés à partir du disque courant ;
– protection des fichiers par mots de passe, gestion de la date et de l'heure avec mémorisation de celles-ci pour chaque fichier lors de la création ou mise à jour ou même simple accès ;
– nombreuses options nouvelles pour les commandes ou utilitaires, etc.

Et il y a bien d'autres avantages comme une plus grande rapidité des accès disque, de nouvelles fonctions accessibles en Assembleur, les possibilités de l'ensemble de développement que constituent RMAC, LINK, SID, XREF, LIB, etc.

Ce sera justement notre propos tout au long de cette série que de vous faire découvrir toutes les possibilités de CP/M Plus.

CPC n°7

★ ANNÉE: ???
★ AUTEUR: Francis VERSCHEURE

Page précédente : Initiation a CP/M - Amstrad Magazine 10 - les Commandes Transitoires - les Fonctions Internes

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

Lien(s):
» Coding » Initiation a CP/M - Amstrad Magazine 10 - les Commandes Transitoires - les Fonctions Internes
» Coding » Initiation a CP/M (03/xx) (CPC Revue n°9)
» Coding » Initiation a CP/M (15/xx) (CPC Revue n°22)
» Coding » Initiation a CP/M (16/xx) (CPC Revue n°23)
» Coding » Initiation a CP/M (07/xx) (CPC Revue n°13)
» Coding » Initiation a CP/M (02/xx) (CPC Revue n°8)
Je participe au site:

» 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 270 millisecondes et consultée 1823 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.