| ★ CODING ★ CLEFS POUR AMSTRAD 2 ★ Système disque par Daniel Martin et Philippe Jadoul ★ |
| Clefs pour Amstrad 2 : 07 - Logiciel Interne Vect Disque | Coding Clefs Pour Amstrad 2 |
LOGICIEL INTERNE DE L'AMSDOSVECTEURS PROPRES AU DISQUE La ROM contient neuf routines que l'AMSDOS partage avec le , CP/M pour le paramétrage et l'accès direct aux disques.L'appel de ces commandes est particulier. Il ne peut se réaliser qu'au moyen de l'assembleur et suivant un processus très précis : — Charger HL avec l'adresse où l'on trouve le numéro de la commande choisie (ce numéro doit être augmenté de 80H pour positionner le bit 7 à 1). — Appeler la routine KL-FIND-COMMAND à l'adresse BCD4H (vous trouverez une description complète de cette routine à la page 100 du tome 1 du présent ouvrage). La routine vous fournit l'adresse de branchement réel dans HL et le numéro de la ROM dans C. — Appeler la routine KL-FAR-PCHL à l'adresse 001BH (tome 2, page 109)après avoir rempli les conditions d'entrée. Exemple : appel de la commande 1. ORG #A000Commandes |
| 1 | Autorise ou inhibe l'affichage des messages d'erreur concernant le disque. CE : A=0 autorise l'affichage des messages. A=FFH (255) inhibe l'affichage des messages. CS : A contient l'ancienne valeur, F et HL sont modifiés. |
| 2 | Initialise les paramètres du disque. CE : HL pointe sur la table contenant les paramètres. CS : AF, BC, DE et HL sont modifiés. Format de la table : Octets 0 et 1 : temps d'accès après le démarrage du moteur exprimé en cinquantièmes de seconde (valeur par défaut 50). |
| 3 | Sélectionne un format particulier. CE : A contient l'indicateur du format. 41H pour le format système. C1H pour le format données seules. 01H pour le format IBM. E contient le numéro du lecteur (0 pour le lecteur A et 1 pour le lecteur B). CS : AF, BC, DE et HL sont modifiés. |
| 4 | Lecture d'un secteur en mémoire. CE : HL contient l'adresse d'un tampon, E contient le numéro du lecteur, D contient le numéro de piste et C contient le numéro du secteur. CS : si le secteur est bien lu, le CARRY est vrai, A vaut 0 et HL est sauvegardé. Si la lecture échoue, le CARRY est faux, A contient le numéro d'erreur et HL pointe sur le tampon contenant le statut de l'erreur. |
| 5 | Ecriture d'un secteur sur disque. CE : HL pointe sur le tampon qui contient le secteur, E contient le numéro du lecteur (0 ou 1), D contient le numéro de piste et C contient le numéro de secteur. CS : si l'écriture est correcte, le CARRY est vrai, A vaut 0 et HL est préservé. Si l'écriture échoue, le CARRY est faux, A contient le numéro d'erreur et HL contient l'adresse du tampon contenant le statut d'erreur. |
| 6 | Formatage d'une piste. CE : HL pointe sur le tampon qui contient les informations d'en-tête, E contient le numéro du disque (0 ou 1) et D contient le numéro de piste. CS : si le formatage réussit, le CARRY est vrai, A vaut 0 et HL est préservé.si le formatage échoue, le CARRY est faux, A contient le numéro d'erreur et HL contient l'adresse du tampon contenant le statut d'erreur. |
| 7 | Déplace la tête du disque sur une piste spécifiée. CE : E contient le numéro du disque et D contient le numéro de la piste. CS : si le déplacement s'est effectué correctement, le CARRY est vrai, A contient 0 et HL est préservé. Sinon, le CARRY est faux, A contient le numéro d'erreur et HL pointe sur le tampon contenant le statut d'erreur. |
| 8 | Fournit le statut du disque spécifié. CE : A contient le numéro du disque, CS : si le CARRY est vrai, A contient le statut du disque (voir ci-dessous). Si le CARRY est faux, HL contient l'adresse du tampon contenant le statut d'erreur dont le second octet est défini comme ci-dessous. STATUT BIT 7 : inutilisé. |
| 9 | Positionne le nombre d'essais lors d'une opération de lecture, d'écriture ou de formatage. CE : A contient la valeur du compteur d'essais. CS : A contient l'ancienne valeur du compteur, HL et F sont modifiés. |
| ![]() |
| Page précédente : Clefs pour Amstrad 2 : 06 - Logiciel Interne Amsdos |
|