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

Clefs2 08 - Logiciel Interne Adr Rom DiskCoding Clefs Pour Amstrad 2

LOGICIEL INTERNE DE L'AMSDOS

PRINCIPALES ADRESSES DE LA ROM DISQUE

Remarque : contrairement aux ROMs BASIC et BIOS la ROM disque est identique sur les systèmes 464, 664 et 6128. Les adresses si­gnalées ici sont donc valables pour tous les systèmes.
C000Début de la ROM : type et version de la ROM.
C004Adresse de la table d'instructions.
C006Bloc de saut des instructions d'extensions de l'AMSDOS.
C033Bloc de saut des instructions propres au disque.
C04EBloc de saut du CP/M.
C072Table des instructions.
C0B6Table des instructions propres au disque (1 à 9).
C0C0Sauvegarde contexte interruption.
C0FAAutorisation sauvegarde deuxième jeu de registres.
C132Inhibition sauvegarde deuxième jeu de registres.
C17FBloc de saut du BIOS.
C1B2Entrée de |CPM (démarrage à froid du CP/M).
C1BCEntrée commande |CPM ROM.
C1DCDémarrage à froid CP/M traitement principal.
C224Traitement erreur de chargement du BOOT.
C22BDémarrage à chaud CP/M.
C2ACTeste si le secteur lu est vide.
C2BETraitement démarrage à chaud.
C2C3Traitement CONIN.
C2C8Traitement CONOUT.
C2CDTraitement état imprimante.
C2D2Traitement PRINTER OUTPUT.
C2D7Traitement PUNCHER.
C2DCTraitement READER.
C2E1Traitement état console.
C2E9Recherche de la piste 0 (SEEK).
C2F2Sélection de l'unité disque.
C2F7Lire secteur.
C2FCEcrire secteur.
C313Tester clavier.
C326Lire un caractère du clavier.
C348Attente de frappe de caractère au clavier.
C35BSortir un caractère sur l'écran.
C379Teste si imprimante BUSY (occupée).
C37FSort un caractère sur l'imprimante.
C389Initialisation de l'interface série.
C3AEInitialisation du 8253 (vitesse).
C3BDInitialisation du SIO.
C3DBCanal A test si tampon rempli (BUFFER FULL).
C3E3Canal B test si tampon rempli (BUFFER FULL).
C3F7SIO canal A lire un caractère.
C3FFSIO canal B lire un caractère.
C420SIO positionne le DTR (réception permise).
C424SIO positionne le DTR (réception interdite).
C445SIO envoie un caractère sur le canal A.
C44BSIO envoie un caractère sur le canal B.
C46ADétermination de l'I/O byte.
C47DTable état de la console.
C486Table entrée console.
C48FTable sortie console.
C498Table état imprimante.
C4A1Table sortie imprimante.
C4AATable PUNCHER.
C4B3Table état READER.
C4BCTable READER lecture.
C4D3Test si CONTROL C.
C4F0Sélection d'unité disque.
C51FPositionnement piste 0.
C529Envoyer numéro d'enregistrement au FDC.
C52EEcrire enregistrement.
C54CLire enregistrement.
C55DLire secteur identification.
C56CDétermination du format en fonction du secteur ID.
C581Déterminer formatage du disque (routine 3).
C5C0Table format IBM.
C5CATable format données seules.
C5DDInitialisation DPH, DPB ... (voir CP/M).
C603Fixe le nombre de lectures (routine 9).
C60DSpécifie les caractéristiques du lecteur (routine 2).
C630Détermine l'état du lecteur (routine 8).
C64EEcriture secteur (routine 5).
C652Formatage d'une piste (routine 6).
C666Lecture d'un secteur (routine 4).
C67CProgrammation du FDC.
C6C1Programme principal écriture/lecture/formatage.
C6FFPositionnement sur le numéro de piste contenu dans le registre D.
C722Impression du message READ FAIL.
C763Positionnement piste (routine 7).
C7C7Routine de temporisation et de lecture du statut du FDC (délai = (A * 12) + 16 ms).
C7E0Boucle d'attente (délai = A millisecondes).
C8A2Calcul numéro secteur effectif.
C8B6Transfert de l'enregistrement dans le tampon.
C8C7Transfert enregistrement.
C8F9Lecture du registre état du FDC (DISK READY).
C907Lecture du registre état du FDC (DISK PROTECT).
C9D6Routine d'activation du compteur TICK.
C9F4Organisation des paramètres d'en-tête disque.
CA43Paramètres standards du DPB.
CA5CCharger dans l'accumulateur une valeur de la DPB située à un OFFSET contenu dans A (A890H+(Disque*40H)+A).
CA72Message ON/OFF (routine 1).
CA90BC=BC+IY.
CA98DE=DE+IY.
CA9FHL=HL+IY.
CAA6Conversion minuscule - majuscule.
CAAFRemplir BC octets de la mémoire avec 00 depuis l'adresse contenue dans DE.
CAB8Sortir message d'erreur dont le numéro est contenu dans A et tester la réponse (R,I,C).
CAFEImpression du message.
CB86Table des messages d'erreurs.
CCA0Redirection des vecteurs cassettes vers le disque.
CCD1|DISC.
CCD5|DISC.IN.
CCE4|DISC.OUT.
CCFD|TAPE.
CD01|TAPE.IN.
CD18|TAPE.OUT.
CD4CBloc de saut des routines interceptées (CAS *?+ DISC).
CDAFImpression du message "BAD COMMAND".
C0DA|A.
CDDD|B.
CDE4|DRIVE.
CDFE|USER.
CE48Copie du nom de fichier dans le bloc d'en-tête (OPENIN).
CE57Copie du nom de fichier dans le bloc d'en-tête (OPENOUT).
CEAFCAS IN OPEN (BC77).
CF37CAS OUT OPEN (BC8C).
CF64CAS IN CHAR (BC80).
CFF5CAS IN DIRECT (BC83).
D065CAS TEST EOF (BC89).
D069CAS RETURN (BC86).
D08FCAS OUT CHAR (BC95).
D0D8CAS OUT DIRECT (BC98).
D1B6CAS IN CLOSE (BC7A).
D1BCCAS IN ABANDON (BC7D).
D1C2CAS OUT ABANDON (BC92).
D1D8CAS OUT CLOSE (BC8F).
D25CRoutine de codage/décodage des fichiers protégés par OU EXCLUSIF.
D281Table de codage.
D299Table des extensions par défaut ($$$,BAS,BAK,BIN).
D42E|DIR.
D48A|ERA.
D4C4|REN.
D513CATALOG.
D676Recherche d'un fichier dans le répertoire et détermination de sa taille (nombre de blocs).
D6A2Détermination du nombre de fichiers sur le disque.
D7BBRechercher une entrée libre dans le répertoire.
D7D8Rechercher un nom indiqué dans le répertoire.
09E8Lire l'enregistrement dont le numéro est dans DE et le pousser dans le tampon d'enregistrement.
D9F3Ecrire l'enregistrement dont le numéro est dans DE.
0A06Calculer le numéro de piste et le numéro de secteur en fonction du numéro d'enregistrement.
DA3FCharge le contenu du DPH OFFSET A dans HL.
DBB2Table des caractères interdits dans les noms de fichiers.
DBDFTransfert de 32 octets (taille d'une entrée du répertoire de HL vers DE).
DBEBDivise le contenu de HL par A exposant 2.
DBF3Compare HL et DE.
DBF9Charge le contenu de l'adresse pointée par HL dans HL.
DBFFFin de la partie gestion disque de la ROM.
DC00Espace libre jusqu'à DFFF.
E000Espace LOGO jusqu'à FFFF.

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

Page précédente : Clefs2 07 - Logiciel Interne Vect Disque
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 284 millisecondes et consultée 2253 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.