Boot soubory
Boot soubory jsou soubory, které je operační systém počítače Atari (OS) schopen zavést při startu počítače (boot) z diskety nebo z kazety.
Formát boot souboru
Boot soubor se skládá z 6bytové hlavičky a programového kódu. Hlavička udává jak je soubor dlouhý, na jakou adresu se má zavést a jak se má nastavit vektor CASINI či DOSINI.
Ofset | Délka | Význam |
---|---|---|
0x00 | 0x01 | Příznakový byte. Operační systém jej nepoužívá. Doporučuje se nastavit na 0x00. Byte je uložen do registru DFLAGS. |
0x01 | 0x01 | Velikost boot sektoru ve 128bytových blocích. Speciální hodnota 0x00 znamená 256 bloků (32 KB). Uloženo do registru DBSECT. |
0x02 | 0x02 | Zaváděcí adresa. Udává adresu na kterou se boot soubor zavede. Zapsána do vektoru BOOTAD. |
0x04 | 0x02 | Inicializační adresa. Je zapsána do vektorů DOSINI či CASINI. |
0x06 | ? | Začátek programového kódu. |
Zavádění
Operační systém načte první sektor do kazetového nebo diskového bufferu. Prohlédne hlavičku a obsah bufferu zkopíruje na zaváděcí adresu. Dále pak zavede zbytek boot souboru. Bezprostředně po úspěšném zavedení provede odskok do podprogramu (JSR) na začátek programového kódu. Programový kód se pak začne provádět.
Programový kód má možnost vrátit řízení OS prostým návratem z podprogramu (RTS). V takovém případě indikuje úspěšný boot vynulováním příznaku přenosu (CARRY FLAG). Operační systém pak provede odskok do podprogramu na adrese určenou vektory CASINI nebo DOSINI. Po vykonání podprogramu se provede odskok na adresu určenou vektorem DOSVEC.
Poznámky
- Není povinností bootovaného programu vracet řízení OS. Zejména herní programy návrat do OS většinou nepotřebují.
- Při bootovaní z kazety je vhodné program začít sekvencí pro vypnutí motoru magnetofonu. Některé verze OS motor nevypínají.