SYSVBL
From Atariki
Wersja z dnia 20:04, 7 wrz 2005 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 14:37, 8 wrz 2005 KMK (Dyskusja | wkład) Next diff → |
||
Linia 12: | Linia 12: | ||
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] | ||
- | [[Kategoria:Programowanie]] | + | [[Kategoria:Programowanie 8-bit]] |
Wersja z dnia 14:37, 8 wrz 2005
SYSVBL
SYSVBL jest to systemowa procedura obsługi przerwania synchronizacji pionowej (VBL). Znajduje się w pamięci ROM, punkt wejścia jest pod $E45F. Normalnie uruchamiana jest przez procedurę wstępną obsługi NMI, która w tym celu wykonuje skok pośredni przez wektor VVBLKI znajdujący się pod adresem $0222.
SYSVBL dzieli się na dwie fazy, pierwszą, krótką, wykonywaną zawsze (gdy przerwania NMI w ogóle są włączone, a wektor VVBLKI nie zmieniony), oraz drugą, dłuższą, wyłączaną automatycznie przez OS przy operacjach "krytycznych czasowo" (czyli podczas komunikacji przez port szeregowy albo równoległy, patrz SIO).
Zakończenie procedury SYSVBL następuje przez skok do EXITVBL.
EXITVBL
Systemowa procedura powrotu z przerwania synchronizacji pionowej (VBL). Znajduje się w pamięci ROM, punkt wejścia jest pod $E462, wskazuje ją też wektor VVBLKD $0224. Skok przez ten wektor następuje tylko wtedy, kiedy włączona jest druga faza SYSVBL (czyli przeważnie). Kiedy jest wyłączona, EXITVBL jest wywoływana bezpośrednio, z pominięciem wektorów.