BOOT (format pliku)

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 21:50, 13 maj 2010
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 10:01, 30 kwi 2024
Mono (Dyskusja | wkład)
(źle opisany schemat inicjalizacji i oddania kontroli do programu)
Next diff →
Linia 11: Linia 11:
* bajty 4 (młodszy bajt) i 5 (starszy bajt) - adres ponownego inicjowania programu w przypadku wciśnięcia klawisza RESET (wpisywany przez system do rejestru DOSINI lub CASINI) * bajty 4 (młodszy bajt) i 5 (starszy bajt) - adres ponownego inicjowania programu w przypadku wciśnięcia klawisza RESET (wpisywany przez system do rejestru DOSINI lub CASINI)
-Program uruchamiany jest od adresu wczytywania, plus sześć bajtów.+Po wczytaniu programu jest on inicjalizowany przez wywołanie procedury ulokowanej od adresu wczytywania plus sześć bajtów. Powrót z ustawionym znacznikiem C powoduje wypisanie błędu BOOT ERROR oraz ponowienie procedury BOOT w przypadku dysku, a wejście do SELF TEST-u w przypadku magnetofonu.
 +Powrót z procedury inicjalizacyjnej ze skasowanym znacznikiem C powoduje kontynuowanie procedury RESET, w tym ustawienie poprawnej wartości zmiennej BOOT? ($0009) i przepisanie adresu uruchomienia programu z czwartego i piątego bajtu nagłówka do wektora CASINI ($0002) lub DOSINI ($000C), na końcu której następuje oddanie kontroli do programu przez skok pod ten właśnie adres.
{{stub}} {{stub}}
[[Kategoria:Formaty plików]] [[Kategoria:Formaty plików]]

Wersja z dnia 10:01, 30 kwi 2024

Format pliku wykorzystywany w małym Atari do wczytywania programów wykonywalnych z poziomu systemu operacyjnego bezpośrednio po uruchomieniu komputera, bez potrzeby uprzedniego wczytywania systemu DOS. Takim "plikiem" jest na ogół sam DOS.

Program typu "BOOT" może być wczytany zarówno z dyskietki jak i kasety. W przypadku uruchamiania programu typu BOOT z dyskietki należy po prostu włączyć komputer, system operacyjny będzie próbował odczytać program właśnie w formacie BOOT ze stacji dysków nr 1. Jeżeli chcemy przy tym wyłączyć wbudowany interpreter BASIC należy włączyć komputer z wciśniętym klawiszem OPTION. Natomiast jeżeli chcemy dokonać odczytu programu w formacie BOOT z magnetofonu należy włączyć komputer z wciśniętym klawiszem START. Odłączenie interpretera BASIC-a odbywa się identycznie jak w przypadku odczytu ze stacji dysków.

Opis formatu

Na początku znajduje się sześciobajtowy nagłówek, składający się kolejno z dwóch pojedynczych bajtów i dwóch dwubajtowych słów:

  • bajt 0 - wartość bez znaczenia dla systemu operacyjnego
  • bajt 1 - określa liczbę 128-bajtowych sektorów dyskietki lub rekordów z kasety jakie należy wczytać
  • bajty 2 (młodszy bajt) i 3 (starszy bajt) - adres, pod jaki system operacyjny wczyta całość danych
  • bajty 4 (młodszy bajt) i 5 (starszy bajt) - adres ponownego inicjowania programu w przypadku wciśnięcia klawisza RESET (wpisywany przez system do rejestru DOSINI lub CASINI)

Po wczytaniu programu jest on inicjalizowany przez wywołanie procedury ulokowanej od adresu wczytywania plus sześć bajtów. Powrót z ustawionym znacznikiem C powoduje wypisanie błędu BOOT ERROR oraz ponowienie procedury BOOT w przypadku dysku, a wejście do SELF TEST-u w przypadku magnetofonu. Powrót z procedury inicjalizacyjnej ze skasowanym znacznikiem C powoduje kontynuowanie procedury RESET, w tym ustawienie poprawnej wartości zmiennej BOOT? ($0009) i przepisanie adresu uruchomienia programu z czwartego i piątego bajtu nagłówka do wektora CASINI ($0002) lub DOSINI ($000C), na końcu której następuje oddanie kontroli do programu przez skok pod ten właśnie adres.


Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools