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 indicateurs 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
Adresse | Fonctions | BC77 | Ouvre un fichier en lecture et lit le premier enregistrement. 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 contient 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 binaire) 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. | BC7A | Ferme "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. | BC7D | Ferme "violemment" le fichier ouvert en lecture. Pas de CE. CS : AF, BC, DE et HL sont modifiés. | BC80 | Lecture 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 fichier 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é. | BC83 | Lecture 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. | BC86 | Remet 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. | BC89 | Teste 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. | BC8C | Ouvre un fichier en sortie (écriture). CE : B contient la longueur du nom du fichier, HL contient l'adresse du nom du fichier et DE contient l'adresse 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. | BC8F | Ferme "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. | BC92 | Ferme "violemment" le fichier ouvert en écriture. Pas de CE. CS : AF, BC, DE et HL sont modifiés. | BC95 | Ecriture 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 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, IX est modifié. | BC98 | Ecriture 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, | BC9B | Gé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. |
CPCrulez[Content Management System] v8.7-desktop Page créée en 466 millisecondes et consultée 1565 foisL'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. |
|