Tablica skoków

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 07:44, 11 mar 2006
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 07:46, 11 mar 2006
KMK (Dyskusja | wkład)

Next diff →
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 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:
<table border = 1 cellpadding = 5> <table border = 1 cellpadding = 5>
<tr><td><b>Adres</b></td><td><b>Etykieta</b></td><td><b>Opis</b></td></tr> <tr><td><b>Adres</b></td><td><b>Etykieta</b></td><td><b>Opis</b></td></tr>
 +<tr><td colspan = 3>[[400/800]], [[XL]] i [[XE]]</td></tr>
<tr><td>$E453</td><td>JDSKINT</td><td><p>Sterownik dyskowy.</p> <tr><td>$E453</td><td>JDSKINT</td><td><p>Sterownik dyskowy.</p>
</td></tr> </td></tr>
Linia 22: Linia 23:
</td></tr> </td></tr>
<tr><td>$E477</td><td>JRESETCD</td><td><p>Wywołanie procedury zimnego [[RESET|resetu]].</p> <tr><td>$E477</td><td>JRESETCD</td><td><p>Wywołanie procedury zimnego [[RESET|resetu]].</p>
 +</td></tr>
 +<tr><td colspan = 3>Tylko [[XL]] i [[XE]]</td></tr>
 +<tr><td>$E486</td><td>JNEWDEVC</td><td><p>Instalacja nowego handlera [[CIO]] w tablicy handlerów.</p>
</td></tr> </td></tr>
</table> </table>
- 
-Dodane w serii XL/XE: 
- 
-* $E486 - JNEWDEVC - instalacja nowego handlera [[CIO]] w tablicy handlerów 
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ć.

Wersja z dnia 07:46, 11 mar 2006

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.

Ważniejsze adresy w tablicy skoków:

AdresEtykietaOpis
400/800, XL i XE
$E453JDSKINT

Sterownik dyskowy.

$E456JCIOMAIN

Wejście do CIO.

$E459JSIOINT

Wejście do SIO.

$E45CJSETVBV

Wejście do SETVBLV.

$E45FJSYSVBL

Wejście do SYSVBL.

$E462JEXITVBL

Wejście do EXITVBL.

$E471JTESTROM

Wyjście z systemu (normalnie: uruchomienie SELF TEST-u).

$E474JRESETWM

Wywołanie procedury ciepłego resetu.

$E477JRESETCD

Wywołanie procedury zimnego resetu.

Tylko XL i XE
$E486JNEWDEVC

Instalacja nowego handlera CIO w tablicy handlerów.

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

Personal tools