CODINGCLEFS POUR AMSTRAD 2 ★ Système disque par Daniel Martin et Philippe Jadoul ★

Clefs2 06 - Logiciel Interne AmsdosCoding Clefs Pour Amstrad 2

LOGICIEL INTERNE DE L'AMSDOS

Remarques : les lettres A, F, BC, DE, HL et IX identifient les registres du processeur Z80. CARRY et ZERO sont deux des indica­teurs du registre F. CE et CS sont les abréviations respectives de Condition d'Entrée et Condition de Sortie.

ROUTINES CASSETTE MODIFIEES POUR LE DISQUE
AdresseFonctions
BC77Ouvre un fichier en lecture et lit le premier enregis­trement.
CE : B contient la longueur du nom du fichier, HL contient l'adresse où l'on trouve le nom du fichier, DE contient l'adresse du tampon de réception (2 K).
CS : si l'ouverture réussit, le CARRY est vrai et le ZERO est faux, A contient le type de fichier, HL con­tient l'adresse d'un tampon contenant l'en-tête de fichier, DE contient l'adresse de départ du programme (dans le cas d'un programme Basic ou d'un fichier binai­re) et BC contient la longueur du fichier (programme et binaire). En outre, IX est modifié.Si le fichier n'existe pas, le CARRY est faux et le ZERO est vrai, A contient un numéro d'erreur, BC, DE, HL et IX sont altérés.Si un autre fichier est déjà ouvert, alors le CARRY est faux et le ZERO est faux. A contient OEH et BC, DE, HL et IX sont modifiés.
BC7AFerme "proprement" le fichier ouvert en lecture.
Pas de CE.
CS : si la fermeture est correcte, le CARRY est vrai, le ZERO est faux et A est modifié.Si le fichier n'est pas ouvert, le CARRY est faux, le ZERO est faux et A contient 0EH.
Si la fermeture est impossible, le CARRY est faux, le ZERO est vrai et A contient le numéro de l'erreur.Dans les trois cas, BC, DE, HL et F sont modifiés.
BC7DFerme "violemment" le fichier ouvert en lecture.
Pas de CE.
CS : AF, BC, DE et HL sont modifiés.
BC80Lecture d'un caractère hors du fichier ouvert.
Pas de CE.
CS : si la lecture a eu lieu correctement, A contient le caractère lu, le CARRY est vrai et le ZERO est faux.Si le fichier n'est pas ouvert ou si la fin de fi­chier est atteinte, le CARRY et le ZERO sont faux et A contient un numéro d'erreur (0EH, 0FH ou 1AH).Dans tous les autres cas, A contient le numéro de l'erreur, le CARRY est faux et le ZERO est vrai. De toute façon, IX est modifié.
BC83Lecture complète du fichier en mémoire.
CE : HL contient l'adresse mémoire de stockage du fichier.
CS : si la lecture est correcte, le CARRY est vrai, le ZERO est faux, HL contient le point d'entrée extrait de l'en-tête. Si le fichier n'est pas ouvert, le CARRY et le ZERO sont faux et A contient OEH. Dans les autres cas, le CARRY est faux, le ZERO est vrai et A contient le numéro de l'erreur. Dans tous les cas, BC, DE, HL, IX et AF sont modifiés.
BC86Remet le dernier caractère lu dans le tampon de lecture, le caractère sera relu lors de la lecture suivante.
Pas de CE.
CS : tous les registres sont préservés.
BC89Teste si la fin de fichier est atteinte (EOF).
Pas de CE.
CS : si la fin de fichier n'est pas trouvée, le CARRY est vrai, le ZERO est faux et A est modifié.Si la fin de fichier est atteinte, le CARRY et le ZERO sont faux et A contient le code d'erreur (0EH, 0FH, 1AH).
Dans les autres cas, le CARRY est faux, le ZERO est vrai et A contient le code d'erreur. Dans tous les cas, IX et F sont altérés.
BC8COuvre un fichier en sortie (écriture).
CE : B contient la longueur du nom du fichier, HL con­tient l'adresse du nom du fichier et DE contient l'a­dresse d'un tampon de 2K.
CS : si l'ouverture réussit, le CARRY est vrai, le ZERO est faux et HL contient l'adresse d'un tampon contenant 1'en-tête de fichier.Si le fichier est déjà ouvert, le CARRY et le ZERO sont faux et A contient OE.Dans les autres cas, le CARRY est faux, le ZERO est vrai et A contient le code d'erreur. Dans tous les cas, BC, DE, HL et IX sont modifiés.
BC8FFerme "proprement" le fichier ouvert en écriture.
Pas de CE.
CS : si la fermeture est correcte, le CARRY est vrai, le ZERO est faux et A est modifié.Si le fichier n'est pas ouvert, le CARRY et le ZERO sont faux et A contient 0EH.Dans les autres cas, le CARRY est faux, le ZERO est vrai et A contient le numéro de l'erreur. Dans tous les cas, BC, DE, HL et IX sont modifiés.
BC92Ferme "violemment" le fichier ouvert en écriture.
Pas de CE.
CS : AF, BC, DE et HL sont modifiés.
BC95Ecriture d'un caractère dans un fichier (si le tampon est plein, il est écrit sur disque avant l'insertion du nouveau caractère).
CE : A contient le caractère à écrire.
CS : si l'écriture s'est déroulée correctement, le CAR­RY est vrai, le ZERO est faux et A est modifié.Si le fichier n'est pas ouvert, le CARRY et le ZE­RO sont faux et A contient 0EH.Dans les autres cas, le CARRY est faux, le ZERO est vrai et A contient le numéro de l'erreur. Dans tous les cas, IX est modifié.
BC98Ecriture directe du contenu d'une partie de la mémoire dans le fichier.
CE : HL contient l'adresse mémoire de départ, DE contient la longueur (nombre d'octets â écrire), BC contient le point d'entrée éventuel et A contient le type de fichier (ces données sont écrites dans l'en-tête du fichier).
CS : comme ci-avant (BC95) mais en plus, BC, DE, HL et IX sont modifiés,
BC9BGénère le DIRECTORY (Catalogue) du disque courant et de l'USER courant. Le directory est affiché par ordre alphabétique.
CE : DE contient l'adresse d'un tampon de 2K disponible.
CS : si le directory s'est bien déroulé, le CARRY est vrai, le ZERO est faux et A est modifié.Sinon, le CARRY est faux, le ZERO est vrai et A contient le numéro d'erreur. Dans les deux cas, BC, DE, HL et IX sont modifiés.

★ ANNÉE: ???
★ AUTEUR(S): ???

Page précédente : Clefs2 05 - Utilitaires 6128
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
Page créée en 466 millisecondes et consultée 1565 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.