Tablica skoków
From Atariki
Wersja z dnia 15:49, 12 lis 2007 KMK (Dyskusja | wkład) (+ jmp loader) ← Previous diff |
Wersja z dnia 22:35, 28 sie 2009 KMK (Dyskusja | wkład) Next diff → |
||
Linia 6: | Linia 6: | ||
<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><center><b>[[400/800]], [[XL]] i [[XE]]</b></center></td></tr> | <tr><td colspan = 3><center><b>[[400/800]], [[XL]] i [[XE]]</b></center></td></tr> | ||
- | <tr><td>$E453</td><td>JDSKINT</td><td><p>Wejście do tzw. [[sterownik dyskowy|sterownika dyskowego]].</p> | + | <tr><td id="JDKSINT">$E453</td><td>JDSKINT</td><td><p>Wejście do tzw. [[sterownik dyskowy|sterownika dyskowego]].</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E456</td><td>JCIOMAIN</td><td><p>Wejście do [[CIO]].</p> | + | <tr><td id="JCIOMAIN">$E456</td><td>JCIOMAIN</td><td><p>Wejście do [[CIO]].</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E459</td><td>JSIOINT</td><td><p>Wejście do [[SIO]].</p> | + | <tr><td id="JSIOINT">$E459</td><td>JSIOINT</td><td><p>Wejście do [[SIO]].</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E45C</td><td>JSETVBV</td><td><p>Wejście do [[SETVBLV]].</p> | + | <tr><td id="JSETVBV">$E45C</td><td>JSETVBV</td><td><p>Wejście do [[SETVBLV]].</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E45F</td><td>JSYSVBL</td><td><p>Wejście do [[SYSVBL]].</p> | + | <tr><td id="JSYSVBL">$E45F</td><td>JSYSVBL</td><td><p>Wejście do [[SYSVBL]].</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E462</td><td>JEXITVBL</td><td><p>Wejście do [[EXITVBL]].</p> | + | <tr><td id="JEXITVB"L>$E462</td><td>JEXITVBL</td><td><p>Wejście do [[EXITVBL]].</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E471</td><td>JTESTROM</td><td><p>Wyjście z systemu (normalnie: uruchomienie SELF TEST-u).</p> | + | <tr><td id="JTESTROM">$E471</td><td>JTESTROM</td><td><p>Wyjście z systemu (normalnie: uruchomienie SELF TEST-u).</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E474</td><td>JRESETWM</td><td><p>Wywołanie procedury ciepłego [[RESET|resetu]].</p> | + | <tr><td id="JESETWM">$E474</td><td>JRESETWM</td><td><p>Wywołanie procedury ciepłego [[RESET|resetu]].</p> |
</td></tr> | </td></tr> | ||
- | <tr><td>$E477</td><td>JRESETCD</td><td><p>Wywołanie procedury zimnego [[RESET|resetu]].</p> | + | <tr><td id="JRESETCD">$E477</td><td>JRESETCD</td><td><p>Wywołanie procedury zimnego [[RESET|resetu]].</p> |
</td></tr> | </td></tr> | ||
<tr><td colspan = 3><center><b>Tylko [[XL]] i [[XE]]</b></center></td></tr> | <tr><td colspan = 3><center><b>Tylko [[XL]] i [[XE]]</b></center></td></tr> | ||
- | <tr><td>$E486</td><td>JNEWDEVC</td><td><p>Instalacja nowego handlera [[CIO]] w tablicy handlerów.</p> | + | <tr><td id="JNEWDEVC">$E486</td><td>JNEWDEVC</td><td><p>Instalacja nowego handlera [[CIO]] w tablicy handlerów.</p> |
</td></tr> | </td></tr> | ||
<tr><td colspan = 3><center><b>Tylko [[DracOS]]</b></center></td></tr> | <tr><td colspan = 3><center><b>Tylko [[DracOS]]</b></center></td></tr> | ||
- | <tr><td>$E483</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-$CC lub $E4-$FF.</p> | + | <tr><td id="JLOADER">$E483</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-$CC lub $E4-$FF.</p> |
</td></tr> | </td></tr> | ||
</table> | </table> |
Wersja z dnia 22:35, 28 sie 2009
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:
Adres | Etykieta | Opis |
$E453 | JDSKINT | Wejście do tzw. sterownika dyskowego. |
$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. |
$E486 | JNEWDEVC | 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-$CC 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ć.