LA ROM DE L'AMSDOS
C000
|
Début de la ROM : type et version de la ROM
|
C004
|
Adresse de la table d'instructions
|
C006
|
Bloc de saut des instructions d'extensions de l'AMSDOS
|
C033
|
Bloc de saut des instructions propres au disque
|
C04E
|
Bloc de saut du CP/M
|
C072
|
Table des instructions
|
C0B6
|
Table des instructions propres au disque (1 à 9)
|
C0C0
|
Sauvegarde contexte interruption
|
C0FA
|
Autorisation sauvegarde deuxième jeu de registres
|
C132
|
Inhibition sauvegarde deuxième jeu de registres
|
C17F
|
Bloc de saut du BIOS
|
C1B2
|
Entrée de |CPM (démarrage à froid
du CP/M)
|
C1BC
|
Entrée commande |CPM ROM
|
C1DC
|
Démarrage à froid CP/M traitement principal
|
C224
|
Traitement erreur de chargement du BOOT
|
C22B
|
Démarrage à chaud CP/M
|
C2AC
|
Teste si le secteur lu est vide
|
C2BE
|
Traitement démarrage à chaud
|
C2C3
|
Traitement CONIN
|
C2C8
|
Traitement CONOUT
|
C2CD
|
Traitement état imprimante
|
C2D2
|
Traitement PRINTER OUTPUT
|
C2D7
|
Traitement PUNCHER
|
C2DC
|
Traitement READER
|
C2E1
|
Traitement état console
|
C2E9
|
Recherche de la piste 0 (SEEK)
|
C2F2
|
Sélection de l'unité disque
|
C2F7
|
Lire secteur
|
C2FC
|
Ecrire secteur
|
C313
|
Tester clavier
|
C326
|
Lire un caractère du clavier
|
C348
|
Attente de frappe de caractère au clavier
|
C35B
|
Sortir un caractère sur l'écran
|
C379
|
Teste si imprimante BUSY (occupée)
|
C37F
|
Sort un caractère sur l'imprimante
|
C389
|
Initialisation de l'interface série
|
C3AE
|
Initialisation du 8253 (vitesse)
|
C3BD
|
Initialisation du Z80 SIO
|
C3DB
|
Canal A test si tampon rempli (BUFFER FULL)
|
C3E3
|
Canal B test si tampon rempli (BUFFER FULL)
|
C3F7
|
SIO canal A lire un caractère
|
C3FF
|
SIO canal B lire un caractère
|
C420
|
SIO positionne le DTR (réception permise)
|
C424
|
SIO positionne le DTR (réception interdite)
|
C445
|
SIO envoie un caractère sur le canal A
|
C44B
|
SIO envoie un caractère sur le canal B
|
C46A
|
Détermination de l'I/O byte
|
C47D
|
Table état de la console
|
C486
|
Table entrée console
|
C48F
|
Table sortie console
|
C498
|
Table état imprimante
|
C4A1
|
Table sortie imprimante
|
C4AA
|
Table puncher
|
C4B3
|
Table état READER
|
C4BC
|
Table READER lecture
|
C4D3
|
Test si CONTROL C
|
C4F0
|
Sélection d'unité disque
|
C51F
|
Positionnement piste 0
|
C529
|
Envoyer numéro d'enregistrement au FDC
|
C52E
|
Ecrire enregistrement
|
C54C
|
Lire enregistrement
|
C55D
|
Lire secteur identification
|
C56C
|
Détermination du format en fonction du secteur
ID
|
C581
|
Déterminer formatage du disque ( routine 3)
|
C5C0
|
Table format IBM
|
C5CA
|
Table format données seules
|
C5DD
|
Initialisation DPH,DPB ...
|
C603
|
Fixe le nombre de lectures ( routine 9)
|
C60D
|
Spécifie les caractéristiques du lecteur
( routine 2)
|
C630
|
Détermine l'état du lecteur ( routine 8)
|
C64E
|
Ecriture secteur ( routine 5)
|
C652
|
Formatage d'une piste ( routine 6)
|
C666
|
Lecture d'un secteur ( routine 4)
|
C67C
|
Programmation du FDC
|
C6C1
|
Programme principal écriture/lecture/formatage
|
C6FF
|
Positionnement sur le numéro de piste contenu dans
le registre D
|
C722
|
Impression du message READ FAIL
|
C763
|
Positionnement piste ( routine 7)
|
C7C7
|
Routine de temporisation et de lecture du statut du FDC
(délai = (A*12)+16 ms)
|
C7E0
|
Boucle d'attente (délai = A millisecondes)
|
C8A2
|
Calcul numéro secteur effectif
|
C8B6
|
Transfert de l'enregistrement dans le tampon
|
C8C7
|
Transfert enregistrement
|
C8F9
|
Lecture du registre état du FDC (DISK READY)
|
C907
|
Lecture du registre état du FDC (DISK PROTECT)
|
C9D6
|
Routine d'activation du compteur TICK
|
C9F4
|
Organisation des paramètres d'en-tête disque
|
CA43
|
Paramètres standards du DPB
|
CA5C
|
Charger dans l'accumulateur une valeur de la DPB située
à un OFFSET contenu dans A (A890H+(Disque*40H)+A)
|
CA72
|
Message ON/OFF ( routine 1)
|
CA90
|
BC = BC + IY
|
CA98
|
DE = DE + IY
|
CA9F
|
HL = HL + IY
|
CAA6
|
Conversion minuscule en majuscule
|
CAAF
|
Remplir BC octets de la mémoire avec 00 depuis
l'adresse contenue dans DE
|
CAB8
|
Sortir message d'erreur dont le numéro est contenu
dans A et tester la réponse
|
CAFE
|
Impression du message
|
CB86
|
Table des messages d'erreurs
|
CCA0
|
Redirection des vecteurs cassettes vers le disque
|
CCD1
|
|DISC
|
CCD5
|
|DISCIN
|
CCE4
|
|DISCOUT
|
CCFD
|
|TAPE
|
CD01
|
|TAPEIN
|
CD18
|
|TAPEOUT
|
CD4C
|
Bloc de saut des routines interceptées (CAS <--->DISC)
|
CDAF
|
Impression du message BAD COMMAND
|
CDDA
|
|A
|
CDDD
|
|B
|
CDE4
|
|DRIVE
|
CDFE
|
|USER
|
CE48
|
Copie du nom de fichier dans le bloc d'en-tête (OPENIN)
|
CE57
|
Copie du nom de fichier dans le bloc d'en-tête (OPENOUT)
|
CEAF
|
CAS IN OPEN (BC77)
|
CF37
|
CAS OUT OPEN (BC8C)
|
CF64
|
CAS IN CHAR (BC80)
|
CFF5
|
CAS IN DIRECT (BC83)
|
D065
|
CAS TEST EOF (BC89)
|
D069
|
CAS RETURN (BC86)
|
D08F
|
CAS OUT CHAR (BC95)
|
D0D8
|
CAS OUT DIRECT (BC98)
|
D1B6
|
CAS IN CLOSE (BC7A)
|
D1BC
|
CAS IN ABANDON (BC7D)
|
D1C2
|
CAS OUT ABANDON (BC92)
|
D1D8
|
CAS OUT CLOSE (BC8F)
|
D25C
|
Routine de codage/décodage des fichiers protégés
par OU EXCLUSIF
|
D281
|
Table de codage
|
D299
|
Table des extensions par défaut ($$$,BAS,BAK,BIN)
|
D42E
|
|DIR
|
D48A
|
|ERA
|
D4C4
|
|REN
|
D513
|
CATALOG
|
D676
|
Recherche d'un fichier dans le répertoire et détermination
de sa taille (nombre de blocs)
|
D6A2
|
Détermination du nombre de fichiers sur le disque
|
D7BB
|
Rechercher une entrée libre dans le répertoire
|
D7D8
|
Rechercher un nom indiqué dans le répertoire
|
D9E8
|
Lire l'enregistrement dont le numéro est dans DE
et le pousser dans le tampon d'enregistrement
|
D9F3
|
Ecrire l'enregistrement dont le numéro est dans
DE
|
DA06
|
Calculer le numéro de piste et le numéro
de secteur en fonction du numéro d'enregistrement
|
DA3F
|
Charge le contenu du DPH OFFSET A dans HL
|
DBB2
|
Table des caractères interdits dans les noms de
fichiers
|
DBDF
|
Transfert de 32 octets (taille d'une entrée du
répertoire de HL vers DE)
|
DBEB
|
Divise le contenu de HL par A exposant 2
|
DBF3
|
Compare HL et DE
|
DBF9
|
Charge le contenu de l'adresse pointée par HL dans
HL
|
DBFF
|
Fin de la partie gestion disque de la ROM
|
DC00
|
Espace libre jusqu'à DFFF
|
E000
|
Espace LOGO jusqu'à FFFF
|