SYSVBL

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
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.

Personal tools