Envoyer un e-mail à Collection ThomsonCollection Thomson
EditoForum 2002Liens
Nanoreseau
Docs
Logiciels
Matériel
Imprimer le document
Retour à la liste

ExtraMoniteur économique

L'ExtraMoniteur offre beaucoup de facilités au développement d'un système d'exploitation. Mais dans un tel programme, le plus coûteux en mémoire sont les déclarations des espaces réservés aux buffers de FCB, FAT et secteur. Pour limiter la dépense, il est toutefois possible de recourir à certaines astuces.

La fonction FCBINI est censée exiger la déclaration d'un buffer de secteur, autant de FCB que de fichiers ouvrables et autant de FAT que de lecteurs demandés.

Lors de chaque appel à l'ExtraMoniteur, le pointeur de FAT recherchée est calculé en rapport au numéro de lecteur. Il suffit donc de ne déclarer qu'un seul FCB, une seule FAT et de calculer systématiquement l’offset afin de positionner le pointeur de FAT de telle façon que l'ExtraMoniteur opère toujours avec le même buffer de FAT, ce qui, en fin de compte, revient à ne déclarer que 256+166+283 soit 705 octets pour gérer le lecteur que l'on veut (mais un et un seul à la fois, bien sûr). L'initialisation se fera donc ainsi:

         ...
  * Initialisation ExtraMoniteur
         LDB    #$00    ColdReset
         JSR    $EC0C   ExtraMoniteur
  * Initialisation FCBINI
         LDX    #SECBUF | Initialise
         STX    $6197   | SECBUF
         CLR    $6049   Initialise DK.DRV
         LDX    #FATBUF | Initialise
         STX    $6199   | FATPTR
         LDD    #$0102  1 fichier/code d'appel de FCBINI
         LDX    #FCBBUF Pointeur FCB Thomson
         LDY    #$0001  1 lecteur
         JSR    $EC0C   ExtraMoniteur
         ...

Ne pas oublier évidemment de calculer l'offset de la FAT à chaque changement de lecteur:

         ...
         LDA    $6049   Numéro de lecteur
         LDB    #166    | Calcule
         MUL            | offset
         COMA           | pour
         COMB           | FATPTR
         LDX    #FATBUF+1  Pointeur FAT
         LEAX   D,X     Ajuste pointeur
         STX    $6199   Sauve FATPTR
         CLR    FATBUF  | Effacement des codes d'ouverture =
         CLR    FCBBUF  | chargement systématique de la FAT
         ...

Si vous désirez opérer avec plusieurs fichiers simultanément, il faudra déclarer le nombre de fichiers ouvrables et le nombre de FCB en conséquence mais, pour notre affaire, les déclarations mémoires suivantes suffiront:

         ...
  FATBUF RMB    166     Buffer pour FAT
  FCBBUF RMB    283     Buffer pour FCB
  SECBUF RMB    256     Buffer pour secteur
         ...
Site
Plus
Forums
Code
Créations

*Site en favoris
*Page en favoris
*Site en démarrage
*Page en démarrage


Haut de page

Collection Thomson 2015 © Ghislain Fournier & François Mouret