You are here, vous êtes ici:
Atari Pages/Support and FAQ/Technical documentation page

Philippe PVBest's Atari 8bit Web Site

Atari 8bit Technical Documentation
Documentation Technique Atari 8bit

 

Fichier Boot
Fichiers 'BOOT' au format DOS

Ces fichiers se rencontrent parfois sur des disques DOS. On peut les identifier comme des fichiers DOS contenant les octets d'information de chainage de secteur (Byte per Sector et Next Sector), ils ne possèdent cependant pas de blocs ou segment de données et ils ne possèdent pas d'entête classique débutant par $FF $FF, mais ils ont un entête de programme BOOT.

1. Premier secteur:

Dans le premier secteur nous retrouvons la structure du premier secteur de BOOT avec les octets de chainage de secteurs.

BYT#>00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
CHAR>
0123456789ABCDEF
00 : 00 54 00 3E 70 3F 00 00 00 00 00 00 00 00 00 00
10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 04 93 7D
  ................
................
................
................
................
................
................
...............}
Checksum = $22, Next sector = $093, Bytes per sector = $7D

Les 6 premiers octets du secteurs donne les informations suivantes:

00 54 : 2 octets qui indique que ce n'est pas un fichier DOS Atari, car différent de $FF $FF. C'est donc un programme boot converti en fichier. La procédure de lecture est la suivante.

Toutes les données seront stockées à partir de l'adresse mémoire $3E00 (octets #2 et #3), comme pour un fichier boot. Les 3 derniers octets ne sont pas considéré comme des données à stocker en mémoire, car il correspondent aux données de chainage de secteurs: prochain secteur et nombre d'octets par secteur. Mais les 6 premiers octets sont à stocker, et donc doivent être mis en mémoire à l'adresse de chargement.

2. Secteurs suivants:

Identique aux secteur des fichiers Atari DOS exécutables standard (binary file).

L'arrêt de la lecture du fichier boot est effective lorsque le secteur suivant (Next Sector) est nul et que le nombre d'octet du secteur à lire est atteint.

3. Exécution du programme du fichier binaire BOOT:

Les 2 premiers octets sont ignorés, ils ne servent pas pour le programme de chargement de fichier (octet #0 et #1).

Les octets #4 et #5, soit $3F70 dans notre exemple, initialisent les vecteurs mémoires DOSINI et CASINI de l'Atari.

Une fois chargé en mémoire, le programme de chargement de fichier lance l'exécution par un JSR (valeur de l'adresse de stockage + 6) soit JSR $3E06 dans notre cas d'exemple.

Si un RTS est rencontré, alors le programme de chargement de fichier lance un JSR (DOSINI), soit un JSR $3F70 dans notre cas.

Si un RTS est rencontré de nouveau, alors le programme de chargement de fichier lance un JMP (DOSVEC). Le vecteur mémoire Atari DOSVEC doit donc être initialisé par le programme du fichier Atari exécuté (cela est réalisé dans le code du fichier exécutable, dans les instructions qui suivent $3E06 en général).

 

[Page Top]

To contact me:/Pour me contacter: M'envoyer un EMail

[ Retour Sommaire Documentation Technique/Back to the Technical Issues Index]

[ Back to My Atari Site Index/Retour vers Mon Index Site Atari]

[Site Philippe Index Principal]

PVBest's Atari 8bit website

This page © PVBest 2002
Atari is a registered trademark / Atari est une marque déposée.
MS-DOS and Windows are registered trademarks of Microsoft Corp / MS-DOS et Windows sont des marques déposées de Microsoft Corp.
All Software names are registered by their owner / Les noms de logiciel appartiennent à leur auteur
.
If you have any comments or anything to tell me about the content of this page please contact me Webmaster [PVBest@free.fr]
Pour tous commentaires ou suggestions sur le contenu de cette page contactez-moi Webmaster [PVBest@free.fr]