CODINGCLEFS POUR AMSTRAD 1 ★ Système de base par Daniel Martin ★

Clefs1 19 Logiciel Interne Table CassetteCoding Clefs Pour Amstrad 1
TABLE DES POINTS D'ENTREE DES ROUTINES SYSTEME

Le gestionnaire cassette

119 BC65 Initialisation du gestionnaire cassette.
CE : rien.
CS : AF, BC, DE et HL sont modifiés.

120 BC68 Positionnement de la vitesse d'écriture.
CE : HL contient la longueur de la moitié d'un bit à zéro.
A contient la précompensation à appliquer.
CS : AF et HL sont modifiés.

121 BC6B Autorise ou interdit l'affichage des messages.
CE : A=0 autorisé. A80 interdit.
CS : AF est modifié.

122 BC6E Mise en route du moteur de la cassette.
CE : rien.
CS : si le moteur est OK, le CARRY est vrai ; si on a poussé sur ESC, le CARRY est faux, A contient l'état précédent du moteur.

123 BC71 Arrêt du moteur.
CE : rien.
CS : comme ci-dessus (122).

124 BC74 Repositionne le moteur dans son état précédent.
CE : A contient l'état précédent du moteur.
CS : comme ci-dessus (122).

125 BC77 Positionne le tampon pour la lecture et lit le premier bloc.
CE : B contient la longueur du nom du fichier. HL contient l'adresse du nom du fichier. DE contient l'adresse du tampon (2K).
CS : si OK, le CARRY est vrai et le ZERO est faux. HL contient l'adresse du tampon qui contient l'entête, DE contient l'adresse des données, BC contient la longueur du fichier et A contient le type de fichier. Si le STREAM (flux) est déjà utilisé, le CARRY est faux et A, BC, DE et HL sont modifiés. Si on pousse sur ESC, le CARRY est faux et le ZERO est vrai. AF, BC, DE et HL sont modifiés. Enfin, dans tous les cas, IX est modifié.

126 BC7A Ferme le fichier.
CE : rien.
CS : si OK, le CARRY est vrai, sinon le CARRY est faux.
AF, BC, DE et HL sont modifiés dans les deux cas.

127 BC7D Abandonne la lecture et ferme le fichier.
CE : rien.
CS : AF, BC, DE et HL sont modifiés.

128 BC80 Lecture d'un octet.
CE : rien.
CS : si OK, le CARRY est vrai, ZERO est faux et A contient le caractère lu. Si on rencontre la fin de fichier (EOF), le CARRY est faux, ZERO est faux et A est modifié. Si on pousse ESC, le CARRY est faux , ZERO est vrai et A est modifié. Dans tous les cas, IX est modifié.

129 BC83 Lecture d'un fichier et écriture en mémoire.
CE : HL contient l'adresse d'écriture.
CS : comme 128 pour les sémaphores CARRY et ZERO. En outre, HL contient le point d'entrée si la lecture est correcte. Dans tous les cas, AF, BC, DE, HL et IX sont modifiés.

130 BC86 Met le dernier caractère lu par la routine 128 dans le tampon de lecture. Pas de CE.
Pas de CS.

131 BC89 Teste si on a atteint la fin de fichier.
Pas de CE.
CS : si on a atteint la fin de fichier, le CARRY est faux et le ZERO est faux. Si on n'a pas atteint la fin de fichier, le CARRY est vrai et le ZERO est faux. Si l'utilisateur a poussé sur ESC (BREAK), le CARRY est faux et le ZERO est vrai. De toute façon, AF et IX sont modifiés.

132 BC8C Ouverture d'un fichier en sortie.
CE : B contient la longueur du nom du fichier. HL contient l'adresse du nom du fichier. DE contient l'adresse d'un tampon de 2K disponible pour le fichier.
CS : si le fichier a été ouvert correctement, le CARRY est vrai, le ZERO est faux et HL contient l'adresse d'un tampon qui contient l'en-tête qui sera écrite au début de chaque bloc de données. Si l'utilisateur a poussé sur ESC, le CARRY est faux et le ZERO est vrai. Si le tampon est déjà utilisé, le CARRY est faux et le ZERO est faux. De toute façon, AF, BC, DE, HL et IX sont modifiés.

133 BC8F Fermeture propre d'un fichier en sortie.
Pas de CE.
CS : si la fermeture est OK, le CARRY est vrai et le ZERO est faux. Si le fichier n'était pas ouvert, le CARRY est faux et le ZERO est faux. Si on a poussé sur ESC, le CARRY est faux et le ZERO est vrai. De toute façon, AF, BC, DE, HL et IX sont modifiés.

134 BC92 Fermeture immédiate d'un fichier en sortie.
Pas de CE.
CS : AF, BC, DE et HL sont modifiés.

135 BC95 Ecriture d'un caractère sur un fichier de sortie.
CE : A contient le caractère à écrire.
CS : si l'écriture est correcte, le CARRY est vrai et le ZERO est faux. Si le fichier n'était Das ouvert, le CARRY est faux et le ZERO est faux. Si on a poussé sur ESC, le CARRY est faux et le ZERO est vrai.
De toute façon, AF et IX sont modifiés.

136 BC98 Ecriture directe du contenu d'une mémoire vers un fichier de sortie.
CE : HL contient l'adresse mémoire.
DE contient le nombre d'octets à écrire.
BC contient le point d'entrée, i, >> - /?CA.
A contient le type de fichier. CS : voir précédent, mais AF, BC, DE, HL et IX sont modifiés.

137 BC9B Génère le catalogue de la cassette.
CE : DE contient l'adresse d'un tampon de 2K disponible.
CS : si la lecture a eu lieu correctement, le CARRY est vrai et le ZERO est faux. Si le tampon est occupé, le CARRY est faux et le ZERO est faux. Si une erreur a eu lieu, le CARRY est faux et le ZERO est vrai. De toute façon, AF, BC, DE, HL et IX sont modifiés.

138 BC9E Ecrit un enregistrement sur cassette.
CE : HL contient l'adresse des données à écrire.
DE contient le nombre d'octets à écrire.
A contient le caractère de synchronisation.
CS : si l'enregistrement s'est déroulé correctement, le CARRY est vrai. Sinon, le CARRY est faux et A contient un code d'erreur. De toute façon, AF, BC, DE, HL et IX sont modifiés.

139 BCA1 Lit un enregistrement sur cassette.
CE : HL contient l'adresse où seront écrites les données.
DE contient le nombre d'octets à lire. A contient le caractère de synchronisation.
CS : si la lecture s'est déroulée correctement» le CARRY est vrai. Sinon, le CARRY est faux et A contient un code d'erreur. De toute façon» AF, BC, DE, HL et IX sont modifiés.

140 BCA4 Compare un enregistrement sur cassette avec le contenu de la mémoire.
CE : HL contient l'adresse des données à comparer.
DE contient le nombre d'octets à comparer.
A contient le caractère de synchronisation.
CS : si la comparaison est correcte, le CARRY est vrai. Sinon, le CARRY est faux et A contient un code d'erreur. De toute façon, AF, BC, DE, HL et IX sont modifiés.

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

Page précédente : Clefs1 18 Logiciel Interne Table Ecran
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 428 millisecondes et consultée 1768 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.