Programowanie: Czekanie na vblank przy wyłączonym systemie: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Jhusak (dyskusja | edycje)
Dodano nowy artykuł
 
Jhusak (dyskusja | edycje)
Dodany wariant
Linia 10: Linia 10:


Ma ono tę zaletę, że można je wpleść w główną pętlę kodu tak, aby wyeliminować aktywne czekanie.
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:
<pre>
bit VCOUNT
bmi *-3
bit VCOUNT
bpl *-3
</pre>

Wersja z 19 wrz 2022, 11:15

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