VBL

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 14:00, 13 sie 2005
Mikey (Dyskusja | wkład)
(próba opisu VBLANK)
← Previous diff
Wersja z dnia 14:15, 13 sie 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. Przerwanie VBL (Vertical Blank Interrupt) generowane jest przez układ ANTIC po zakończeniu kreślenia obrazu, w momencie wygaszenia plamki.
-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+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).
-krytyczne czasowo zdarzenia. (sygnalizowane przez system flagą CRITIC)+
Faza I. Faza I.
 +1. Wartość liczników czasu rzeczywistego [0012-0014] jest zwiększana o jeden.
-1. Wartosc czasu w komórkach [0012-0014] jest inkrementowana.+2. Sprawdzany jest stan zmiennych obsługujących tzw. tryb przyciągania uwagi (attract mode).
-2. Sprawdzany jest stan zmiennych obsługujących tryb ATTRACT+3. Timer1 jest zmniejszany o jeden, a po dojściu do zera wywoływana jest procedura jego obsługi.
- +
-3. Timer1 jest dekrementowany.+
Linia 19: Linia 17:
1. Rejestry sprzętowe zapisywane są wartościami ze swoich cieni. 1. Rejestry sprzętowe zapisywane są wartościami ze swoich cieni.
-2. Timer2 jest dekrementowany.+2. Timer2 jest zmniejszany o jeden.
 + 
 +3. Timer3,4 i 5 są zmniejszane o jeden.
-3. Timer3,4 i 5 są dekrementowane.+4. Licznik autorepetycji klawiszy zostaje zmodyfikowany.
-4. Licznik autorepetycji klawisza zostaje zmodyfikowany.+5. Licznik czasu następnego odczytu z klawiatury jest zmniejszany o jeden.
-5. Licznik czasu następnego odczytu z klawiatury jest dekrementowany.+6. Następuje odczyt stanu dżojstików i umieszczenie w odpowiednich rejestrach odczytanych wartości.
-6. Następuje odczyt dzojstików i umieszczenie w odpowiednich rejestrach odczytanych wartości.+[[Kategoria:Atari 8-bit]]

Wersja z dnia 14:15, 13 sie 2005

Przerwanie VBL (Vertical Blank Interrupt) generowane jest przez układ ANTIC po zakończeniu kreślenia obrazu, w momencie wygaszenia plamki.

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).

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 w odpowiednich rejestrach odczytanych wartości.

Personal tools