Tablica skoków: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Krótki (dyskusja | edycje)
m analogiczne jak w IRQ
m ... ale jednakowo
 
(Nie pokazano 11 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
Obszar w ROM-ie ośmiobitowych komputerów Atari zawierający początki procedur OS-u udostępnionych programom. Rozciąga się od $E450 do $E48C, zawiera 21 skoków JMP "przekierowujących" odwołania programów we właściwe miejsce w ROM-ie.
Obszar w ROM-ie ośmiobitowych komputerów Atari zawierający początki procedur OS-u udostępnionych programom. Rozciąga się od $E450 do $E48C, zawiera 21 skoków JMP "przekierowujących" odwołania programów we właściwe (dla konkretnej wersji systemu) miejsce w ROM-ie.


Ważniejsze adresy w tablicy skoków (dla Atari 400/800 oraz XL/XE):
Ważniejsze adresy w tablicy skoków:


* $E453 - sterownik dyskowy
<table border = 1 cellpadding = 5>
* $E456 - wejście do [[CIO]]
<tr><td><b>Adres</b></td><td><b>Etykieta przyjęta<br>w literaturze anglojęzycznej</b></td><td><b>Etykieta przyjęta w Polsce</b></td><td><b>Opis</b></td></tr>
* $E459 - wejście do [[SIO]]
<tr><td colspan = 4><center><b>[[400/800]], [[XL]] i [[XE]]</b></center></td></tr>
* $E45C - wejście do [[SETVBLV]]
<tr><td id="JDKSINT">$E453</td><td>DSKINV</td><td>JDSKINT</td><td><p>Wejście do tzw. [[sterownik dyskowy|sterownika dyskowego]].</p>
* $E45F - wejście do [[SYSVBL]]
</td></tr>
* $E462 - wejście do [[EXITVBL]]
<tr><td id="JCIOMAIN">$E456</td><td>CIOV</td><td>JCIOMAIN</td><td><p>Wejście do [[CIO]].</p>
* $E471 - wyjście z systemu (normalnie: uruchomienie SELF TEST-u)
</td></tr>
* $E474 - wywołanie ciepłego resetu
<tr><td id="JSIOINT">$E459</td><td>SIOV</td><td>JSIOINT</td><td><p>Wejście do [[SIO]].</p>
* $E477 - wywołanie zimnego resetu
</td></tr>
 
<tr><td id="JSETVBV">$E45C</td><td>SETVBV</td><td>JSETVBV</td><td><p>Wejście do [[SETVBLV]].</p>
Dodane w serii XL/XE:
</td></tr>
 
<tr><td id="JSYSVBL">$E45F</td><td>SYSVBV</td><td>JSYSVBL</td><td><p>Wejście do [[SYSVBL]].</p>
* $E486 - instalacja nowego handlera [[CIO]] w tablicy handlerów
</td></tr>
<tr><td id="JEXITVB"L>$E462</td><td>XITVBV</td><td>JEXITVBL</td><td><p>Wejście do [[EXITVBL]].</p>
</td></tr>
<tr><td id="JTESTROM">$E471</td><td>BLKBDV</td><td>JTESTROM</td><td><p>Wyjście z systemu (w 400/800: [[MEMO PAD]], w XL/XE [[SELF TEST]]).</p>
</td></tr>
<tr><td id="JESETWM">$E474</td><td>WARMSV</td><td>JRESETWM</td><td><p>Wywołanie procedury ciepłego [[RESET|resetu]].</p>
</td></tr>
<tr><td id="JRESETCD">$E477</td><td>COLDSV</td><td>JRESETCD</td><td><p>Wywołanie procedury zimnego [[RESET|resetu]].</p>
</td></tr>
<tr><td colspan = 4><center><b>Tylko [[XL]] i [[XE]]</b></center></td></tr>
<tr><td id="JNEWDEVC">$E486</td><td>PENTV</td><td>JNEWDEVC</td><td><p>Instalacja nowego handlera [[CIO]] w tablicy handlerów.</p>
</td></tr>
<tr><td colspan = 4><center><b>Tylko [[DracOS]]</b></center></td></tr>
<tr><td id="JLOADER">$E483</td><td>-</td><td>JLOADER</td><td><p>Wywołanie loadera relokowanych binariów XL OS ([[ACX]]). Ten skok jest dostępny, gdy OS identyfikuje się jako XL OS, a pod adresem $E485 znajduje się wartość różna od $50 i mieszcząca się w zakresie $C0-$CF lub $E4-$FF.</p>
</td></tr>
</table>


Gwarantuje się, że adresy poszczególnych skoków są takie same we wszystkich odmianach ROM-u ośmiobitowego Atari, natomiast samych procedur wywoływanych tą drogą taka gwarancja już nie dotyczy. W rzeczy samej, nawet systemy sygnowane przez Atari, a późniejsze od najbardziej rozpowszechnionego ROM-u BB 01.02, mają poszczególne procedury poprzesuwane o parę bajtów w tę czy we wtę, czyli oprogramowanie korzystające z procedur systemowych z pominięciem tablicy skoków nie będzie na nich działać.
Gwarantuje się, że adresy poszczególnych skoków są takie same we wszystkich odmianach ROM-u ośmiobitowego Atari, natomiast samych procedur wywoływanych tą drogą taka gwarancja już nie dotyczy. W rzeczy samej, nawet systemy sygnowane przez Atari, a późniejsze od najbardziej rozpowszechnionego ROM-u BB 01.02, mają poszczególne procedury poprzesuwane o parę bajtów w tę czy we wtę, czyli oprogramowanie korzystające z procedur systemowych z pominięciem tablicy skoków nie będzie na nich działać.


[[Kategoria:Menu Główne]]
[[Kategoria:Programowanie Atari 8-bit]]
[[Kategoria:Programowanie Atari 8-bit]]

Aktualna wersja z 6 wrz 2010, 20:28

Obszar w ROM-ie ośmiobitowych komputerów Atari zawierający początki procedur OS-u udostępnionych programom. Rozciąga się od $E450 do $E48C, zawiera 21 skoków JMP "przekierowujących" odwołania programów we właściwe (dla konkretnej wersji systemu) miejsce w ROM-ie.

Ważniejsze adresy w tablicy skoków:

AdresEtykieta przyjęta
w literaturze anglojęzycznej
Etykieta przyjęta w PolsceOpis
400/800, XL i XE
$E453DSKINVJDSKINT

Wejście do tzw. sterownika dyskowego.

$E456CIOVJCIOMAIN

Wejście do CIO.

$E459SIOVJSIOINT

Wejście do SIO.

$E45CSETVBVJSETVBV

Wejście do SETVBLV.

$E45FSYSVBVJSYSVBL

Wejście do SYSVBL.

$E462XITVBVJEXITVBL

Wejście do EXITVBL.

$E471BLKBDVJTESTROM

Wyjście z systemu (w 400/800: MEMO PAD, w XL/XE SELF TEST).

$E474WARMSVJRESETWM

Wywołanie procedury ciepłego resetu.

$E477COLDSVJRESETCD

Wywołanie procedury zimnego resetu.

Tylko XL i XE
$E486PENTVJNEWDEVC

Instalacja nowego handlera CIO w tablicy handlerów.

Tylko DracOS
$E483-JLOADER

Wywołanie loadera relokowanych binariów XL OS (ACX). Ten skok jest dostępny, gdy OS identyfikuje się jako XL OS, a pod adresem $E485 znajduje się wartość różna od $50 i mieszcząca się w zakresie $C0-$CF lub $E4-$FF.

Gwarantuje się, że adresy poszczególnych skoków są takie same we wszystkich odmianach ROM-u ośmiobitowego Atari, natomiast samych procedur wywoływanych tą drogą taka gwarancja już nie dotyczy. W rzeczy samej, nawet systemy sygnowane przez Atari, a późniejsze od najbardziej rozpowszechnionego ROM-u BB 01.02, mają poszczególne procedury poprzesuwane o parę bajtów w tę czy we wtę, czyli oprogramowanie korzystające z procedur systemowych z pominięciem tablicy skoków nie będzie na nich działać.