Tablica skoków
From Atariki
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:
Adres | Etykieta | Opis |
400/800, XL i XE | ||
$E453 | JDSKINT | Sterownik dyskowy. |
$E456 | JCIOMAIN | Wejście do CIO. |
$E459 | JSIOINT | Wejście do SIO. |
$E45C | JSETVBV | Wejście do SETVBLV. |
$E45F | JSYSVBL | Wejście do SYSVBL. |
$E462 | JEXITVBL | Wejście do EXITVBL. |
$E471 | JTESTROM | Wyjście z systemu (normalnie: uruchomienie SELF TEST-u). |
$E474 | JRESETWM | Wywołanie procedury ciepłego resetu. |
$E477 | JRESETCD | Wywołanie procedury zimnego resetu. |
Tylko XL i 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ć.