Programowanie: Czekanie na vblank przy wyłączonym systemie

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 09:15, 19 wrz 2022
Jhusak (Dyskusja | wkład)
(Dodany wariant)
← Previous diff
Wersja z dnia 22:40, 24 sie 2023
KMK (Dyskusja | wkład)

Next diff →
Linia 1: Linia 1:
 +{{SDU}}
Oczekiwanie na vblank przy wyłączonym systemie nie jest takie trywialne. Systemowe przerwania są wyłączane, aby np. nie przeszkadzały np. w odgrywaniu sampli, lub innych zadań o nadzwyczajnym rygorze czasowym. Oczekiwanie na vblank przy wyłączonym systemie nie jest takie trywialne. Systemowe przerwania są wyłączane, aby np. nie przeszkadzały np. w odgrywaniu sampli, lub innych zadań o nadzwyczajnym rygorze czasowym.
Zaradzić może poniższe rozwiązanie składającie się z dwóch pętli i używa licznika linii obrazu VCOUNT ($D40B). Zaradzić może poniższe rozwiązanie składającie się z dwóch pętli i używa licznika linii obrazu VCOUNT ($D40B).

Wersja z dnia 22:40, 24 sie 2023

Oczekiwanie na vblank przy wyłączonym systemie nie jest takie trywialne. Systemowe przerwania są wyłączane, aby np. nie przeszkadzały np. w odgrywaniu sampli, lub innych zadań o nadzwyczajnym rygorze czasowym. Zaradzić może poniższe rozwiązanie składającie się z dwóch pętli i używa licznika linii obrazu VCOUNT ($D40B).

 lda VCOUNT
 bmi *-3
 lda VCOUNT
 bpl *-3

Ma ono tę zaletę, że można je wpleść w główną pętlę kodu tak, aby wyeliminować aktywne czekanie.

Można użyć wersji bez użycia akumulatora:

 bit VCOUNT
 bmi *-3
 bit VCOUNT
 bpl *-3
Personal tools