Le fantôme SCRATCH.DOS
Il y a les entrées du moniteur disque, juste après l'identificateur de ROM, à partir de l'adresse $E004
($A004 pour les MO):
DKCON $E004/$A004 Entrée pour les fonctions standard
DKBOOT $E007/$A007 Entrée pour les lancements de boots
DKFMT $E00A/$A00A Entrée pour les formatages de disques
...mais il existe d'autres entrées, à la suite, qui sont, elles aussi, des indirections standard communes
à toute la gamme TO, à partir de $E00D ($A00D pour les MO). Pour savoir à quoi elles peuvent bien correspondre,
il faut commuter la banque ROM. On découvre, après désassemblage, une liste de fonctions primaires facilitant
l'exploitation logique des disquettes:
LECFA $E00D/$A00D Lecture de la FAT
RECFI $E010/$A010 Recherche d'un fichier sur le catalogue
RECUP $E013/$A013 Récupération de la place occupée par un fichier
ECRSE $E016/$A016 Ecriture d'un secteur
ALLOD $E019/$A019 Allocation de départ
ALLOB $E01C/$A01C Allocation dun bloc
MAJCL $E01F/$A01F Mise à jour du cluster
FINTR $E022/$A022 Fin du transfert
Cet embryon de système d'exploitation a été utilisé par toute une gamme de logiciels (ColorPaint,
Polyphonia,...) lorsque l'ExtraMoniteur n'existait pas encore, et donc lorsque le système n'assurait
pas l'exploitation logique des lecteurs de disquette (sur TO7 ET MO5, par exemple). Il comporte de pratiques
raccourcis de fonctions (recherche de fichier, effacement,...) mais le programme de gestion principal
reste tout de même assez lourd et bien qu'il permette d'élaborer des programmes compatibles avec la
majorité des systèmes Thomson, il n'égale en rien la souplesse d'utilisation et la richesse de l'ExtraMoniteur.
Quoique...
Et c'est là où il fallait en venir.
Si l'on parcourt la banque, on vient à tomber nez à nez avec une bien étrange
inscription: « SCRATCH DOS ». Cette onomatopée n'est rien de moins qu'un nom de fichier, que
les concepteurs ont bien espéré être le dernier nom de fichier qui viendrait à l'esprit des utilisateurs
que nous sommes.
Le système mis au point dans la banque moniteur permet, par la programmation
de certains registres, de choisir entre une sauvegarde avec écrasement ou sans écrasement de fichier.
Dans la sauvegarde sans écrasement, le fichier est sauvé s'il n'existe pas sur le disque mais si le
fichier existe déjà, le programme retourne une erreur sans avoir sauvé le fichier. Le nom de fichier
« SCRATCH.DOS » n'intervient en fait que dans la sauvegarde avec écrasement.
Dans ce cas, le système logique moniteur sauve d'abord le fichier sous le nom
« SCRATCH.DOS », quel que soit le nom de fichier officiel. Si le fichier a été sauvé sans
incidents (sans I/O Error!), l'entrée de la sauvegarde précédente officielle est effacée - si elle existe
- et le fichier « SCRATCH.DOS » est renommé avec le nom de fichier officiel.
Cet ingénieux procédé assure d'avoir toujours sur le disque une version valide
du fichier si la sauvegarde n'a pu s'effectuer correctement. Le nom de « SCRATCH.DOS » doit
donc devenir familier pour tous, puisque le système moniteur en crée sans arrêt à la barbe de l'utilisateur.
Il va sans dire, en tout cas, que si la sauvegarde a rencontré des problèmes,
vous n'aurez en héritage que la version précédemment sauvée de votre fichier et vous vous retrouverez
fatalement avec un fichier « SCRATCH.DOS » sur les bras... Et la question de savoir désormais
ce qu'un tel fichier peut bien faire sur votre disquette, je l'espère, ne vous torturera plus.
|