Programowanie: Czekanie na vblank przy wyłączonym systemie: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 1: | Linia 1: | ||
Gdy przerwania systemowe lub system są wyłączone, oczekiwanie na VBLANK nie może polegać na odczytywaniu najmłodszego bajtu RTCLOK ($14), gdyż ten nie jest wtedy aktualizowany. | |||
W takim przypadku można użyć rejestru VCOUNT który bez względu na obecność systemu zawiera wartość wskazującą na aktualnie kreśloną linię ekranu (modulo 2). | |||
Kiedy linia ta wynosi 0, oznacza to że jesteśmy zaraz po 'powrocie plamki' | |||
Przykład: | |||
<pre> | <pre> | ||
| Linia 10: | Linia 12: | ||
</pre> | </pre> | ||
Przykład bez użycia akumulatora: | |||
<pre> | <pre> | ||
| Linia 20: | Linia 20: | ||
bpl *-3 | bpl *-3 | ||
</pre> | </pre> | ||
[[Kategoria: Niezbędnik kodera]] | |||
Wersja z 30 sie 2023, 19:00
Gdy przerwania systemowe lub system są wyłączone, oczekiwanie na VBLANK nie może polegać na odczytywaniu najmłodszego bajtu RTCLOK ($14), gdyż ten nie jest wtedy aktualizowany. W takim przypadku można użyć rejestru VCOUNT który bez względu na obecność systemu zawiera wartość wskazującą na aktualnie kreśloną linię ekranu (modulo 2). Kiedy linia ta wynosi 0, oznacza to że jesteśmy zaraz po 'powrocie plamki'
Przykład:
lda VCOUNT bmi *-3 lda VCOUNT bpl *-3
Przykład bez użycia akumulatora:
bit VCOUNT bmi *-3 bit VCOUNT bpl *-3