VBL
From Atariki
(Różnice między wersjami)
Wersja z dnia 14:39, 8 wrz 2005 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 15:03, 8 wrz 2005 KMK (Dyskusja | wkład) Next diff → |
||
Linia 1: | Linia 1: | ||
- | Przerwanie VBL (Vertical Blank Interrupt) generowane jest przez układ ANTIC po zakończeniu kreślenia obrazu, w momencie wygaszenia plamki. Występuje 50 razy na sekundę (właściwie 49,86 raza na sekundę) w sysemie PAL oraz 60 razy na sekundę w systemie NTSC. | + | == Atari XL/XE == |
- | Procedura obsługi tego przerwania dzieli sie na dwie fazy (I i II) z których druga wykonywana jest tylko wtedy, kiedy w systemie nie zachodzą żadne krytyczne czasowo zdarzenia (sygnalizowane przez system flagą CRITIC), oraz nie trwa właśnie procedura obsługi [[IRQ]] (co sygnalizowane jest ustawioną flagą I zapisanego na stosie rejestru znaczników). | + | Przerwanie VBL (Vertical Blank Interrupt) generowane jest przez układ ANTIC po zakończeniu kreślenia obrazu, w momencie wygaszenia plamki. Występuje 50 razy na sekundę (właściwie 49,86 raza na sekundę) w sysemie PAL oraz 60 razy na sekundę w systemie NTSC. Procedura obsługi tego przewania to [[SYSVBL]]. |
- | + | ||
- | Faza I. | + | |
- | + | ||
- | 1. Wartość liczników czasu rzeczywistego [$0012-$0014] jest zwiększana o jeden. | + | |
- | + | ||
- | 2. Sprawdzany jest stan zmiennych obsługujących tzw. tryb przyciągania uwagi (attract mode). | + | |
- | + | ||
- | 3. Timer1 jest zmniejszany o jeden, a po dojściu do zera wywoływana jest procedura jego obsługi. | + | |
- | + | ||
- | Faza II. | + | |
- | + | ||
- | 1. Rejestry sprzętowe zapisywane są wartościami ze swoich cieni. | + | |
- | + | ||
- | 2. Timer2 jest zmniejszany o jeden. | + | |
- | + | ||
- | 3. Timer3,4 i 5 są zmniejszane o jeden. | + | |
- | + | ||
- | 4. Licznik autorepetycji klawiszy zostaje zmodyfikowany. | + | |
- | + | ||
- | 5. Licznik czasu następnego odczytu z klawiatury jest zmniejszany o jeden. | + | |
- | + | ||
- | 6. Następuje odczyt stanu dżojstików i umieszczenie odczytanych wartości w odpowiednich komórkach pamięci RAM. | + | |
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] | ||
[[Kategoria:Programowanie Atari 8-bit]] | [[Kategoria:Programowanie Atari 8-bit]] |
Wersja z dnia 15:03, 8 wrz 2005
Atari XL/XE
Przerwanie VBL (Vertical Blank Interrupt) generowane jest przez układ ANTIC po zakończeniu kreślenia obrazu, w momencie wygaszenia plamki. Występuje 50 razy na sekundę (właściwie 49,86 raza na sekundę) w sysemie PAL oraz 60 razy na sekundę w systemie NTSC. Procedura obsługi tego przewania to SYSVBL.