★ APPLICATIONS ★ DISQUE ★ DISQUETTE SYSTEME AU FORMAT DATA ... ou comment réssusciter 9 Ko ★ |
Disquette Systeme Au Format Data ... ou comment réssusciter 9 Ko (Amstar&CPC) | Applications Disque |
Alors toujours à la recherche du moindre octet sur vos disquettes ?Voici un programme qui va vous permettre de grapiller les précieux éléments de mémoire. Rappels : en CPM2.2. le système d'exploitation est contenu dans les deux premières pistes d'une disquette Système, occupant ainsi 9 Ko (2 fois 9 secteurs de 512 octets). Le répertoire occupant 2 Ko, il reste pour les données 169 Ko (180 Ko-9 Ko-2 Ko). Dans le cas d'une disquette Data, ces deux pistes sont disponibles et les données peuvent donc occuper 178 Ko (180 Ko - 2 Ko pour le répertoire). En CPM+, le format des disquettes Système est le même qu'en CPM2.2 (deux pistes réservées), mais le système d'exploitation n'occupe pas ces deux pistes : il est contenu dans un fichier standard de 25 Ko, nommé C10CPM3.EMS (où seule compte en fait l'extension). Seul le premier secteur de la première piste (piste 0, secteur &41) est occupé par le chargeur (BOOT). Le reste, soit 8,5 Ko, est Inoccupé mais n'est absolument pas accessible aux données. A moins que... LA COMMANDE |CPM Examinons ce qui se passe à l'appel de la commande |CPM. Une routine située dans la ROM disque (point d'entrée : &C1DC) Initialise les tables de saut et les paramètres disque, charge à l'adresse &100 le premier secteur de la première piste (BOOT), et lui transfère le contrôle après vérification de la conformité. Le chargeur à son tour recherche sur le disque le fichier contenant le système (*.EMS), le charge, et lui donne le contrôle : le CPM+ est installé. L'IDEE Puisque le système occupe un fichier standard, l'Idée consiste à le charger non pas par l'appel de la commande |CPM, mais par un programme binaire classique (au format AMSDOS), les deux fichiers étant stockés sur une disquette Data. Plutôt que de réécrire complètement un tel chargeur binaire, Il suffit de charger en mémoire le BOOT d'une disquette Système (CPM+) et de le sauvegarder sur une disquette Data, grâce à l'option B de la commande SAVE. Il est nécessaire de lui adjoindre auparavant un module permettant l'initialisation des tables, et de modifier les paramètres dépendant du format (numérotation des secteurs et position du répertoire). LE PROGRAMME Tapez le programme Basic, sauvegardez-le sur votre disquette d'utilitaires (sous le nom SYSTEME.BAS, par exemple), puis lancez-le : il se charge de tout; conformez-vous simplement à ses indications. N'oubliez pas de recopier sur la disquette Data le fichier système en utilisant la commande PIP de CPM par exemple. Vous disposerez alors d'une disquette Système ayant 9 Ko de plus pour les données. Pour lancer le système, faites : RUN"CPM". INTERET La nécessité d'utiliser une disquette Système en CPM2.2 tient au fait qu'après exécution d'un programme et retour au système d'exploitation, celui-ci doit être rechargé depuis la disquette. Cette contrainte disparaît avec CPM+ qui réside dans le premier banc de 64 Ko de mémoire vive, les programmes s'exécutant dans l'autre banc de mémoire de 64 Ko. Il n'est donc pas nécessaire d'utiliser une disquette Système pour lancer un programme d'application : celui-ci peut résider, avec ses données, sur une disquette Data. C'est un des avantages de CPM+ par rapport à CPM2.2. On peut donc se demander quel intérêt 11 y a à implanter le système d'exploitation sur une disquette d'application. Outre le fait que l'on-gagne une manipulation de disquette, l'espace-disque supplémentaire peut se révéler nécessaire si on veut rendre une application autochargeable. Un programme autochargeable est lancé automatiquement dès que l'installation du système d'exploitation est achevée. Le système teste alors la présence sur le disque du fichier de commandes PROFILE.SUB et, à la condition que le fichier SUBMIT.COM soit également présent, l'exécute. EXEMPLE Prenons l'exemple d'une gestion de fichier écrite sous Dbasell, appelée GESTION.CMD, d'une vingtaine de Ko. Pour rendre l'application autochargeable, la disquette devra au minimum contenir les fichiers suivants :
soit un total de 111 Ko. Reste pour les données: 169 - 111 = 58 Ko sur une disquette Le gain de 8 Ko représente environ une centaine d'enregistrements supplémentaires dans les fichiers données. Une remarque : rien n'empêche de renommer le chargeur binaire, par exemple GESTION.BIN ; * l'application se lancera alors par : RUN «GESTION», ce qui est très bien, surtout si l'application est compilée et destinée à un autre utilisateur.
|