Boot soubory

Z OldComp Wiki
Přejít na: navigace, hledání

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í.