BOOT (format pliku)
From Atariki
Wersja z dnia 10:12, 30 kwi 2024 Mono (Dyskusja | wkład) (dodatkowa sekcja) ← Previous diff |
Wersja z dnia 19:26, 1 maj 2024 Mono (Dyskusja | wkład) (→Przebieg procedury uruchomienia programu - 256 rekordów) Next diff → |
||
Linia 13: | Linia 13: | ||
== Przebieg procedury uruchomienia programu == | == Przebieg procedury uruchomienia programu == | ||
- | Po wczytaniu programu jest on inicjalizowany przez wywołanie procedury ulokowanej od adresu wczytywania plus sześć bajtów. Ponieważ maksymalna liczba rekordów z jakich może się składać program wynosi 255, to jest to dobry punkt do umieszczenia procedury ładującej pozostałe rekordy w przypadku gdy program jest dłuższy. | + | Po wczytaniu programu jest on inicjalizowany przez wywołanie procedury ulokowanej od adresu wczytywania plus sześć bajtów. Ponieważ maksymalna liczba rekordów z jakich może się składać program wynosi 256 (0 podane jako ilość rekordów), to jest to dobry punkt do umieszczenia procedury ładującej pozostałe rekordy w przypadku gdy program jest dłuższy. |
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 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. |
Wersja z dnia 19:26, 1 maj 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)
Przebieg procedury uruchomienia programu
Po wczytaniu programu jest on inicjalizowany przez wywołanie procedury ulokowanej od adresu wczytywania plus sześć bajtów. Ponieważ maksymalna liczba rekordów z jakich może się składać program wynosi 256 (0 podane jako ilość rekordów), to jest to dobry punkt do umieszczenia procedury ładującej pozostałe rekordy w przypadku gdy program jest dłuższy.
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.