Dyskusja:Programowanie: Czekanie na vblank przy wyłączonym systemie: Różnice pomiędzy wersjami
ale jakie sa z tego korzysci |
Trzecia wersja i porównanie |
||
| Linia 8: | Linia 8: | ||
Chyba że Twój ma czekać na okolice VBLK kiedy IRQ są jednak włączone (inaczej dałbym SEI/CLI). A może skoro już, to rozszerzyć artykuł jeszcze o czekanie na początek rysowania ramki obrazu? | Chyba że Twój ma czekać na okolice VBLK kiedy IRQ są jednak włączone (inaczej dałbym SEI/CLI). A może skoro już, to rozszerzyć artykuł jeszcze o czekanie na początek rysowania ramki obrazu? | ||
No nie umiem sobie wyobrazić korzyści z Twojego kodu :D [[Użytkownik:Mono|Mono]] 13:01, 26 lis 2021 (CET) | No nie umiem sobie wyobrazić korzyści z Twojego kodu :D [[Użytkownik:Mono|Mono]] 13:01, 26 lis 2021 (CET) | ||
:BIT jest wskazany. BNE niestety powoduje, że w szybkiej pętli jesteśmy ciągle w tej samej ramce, a nie czekamy na następną. Moja propozycja: | |||
<pre> | |||
sta NMIRES | |||
bit:rvc NMIST | |||
</pre> | |||
- dwa bajty krócej od Kuby i czeka do początku VBLANK, a nie osiem skanlinii dalej. Wada to: nie działa, gdy mamy włączone VBLKI i w nim "sta NMIRES". Kod Kuby też ma wadę: nie działa z VBLKI kończącym się w skanlinii 0 lub niżej, o co łatwo w NTSC. --[[Użytkownik:0xF|0xF]] 11:58, 3 gru 2021 (CET) | |||
Wersja z 3 gru 2021, 12:58
A nie można
lda #[248/2] cmp VCOUNT bne *-3
? Twoje czeka na 256 linię skanningową - skoro już i tak czekamy to może lepiej precyzyjniej. Ewentualnie w Twoim kodzie to bym użył BIT zamiast LDA - była by korzyść że nie używa rejestrów. Chyba że Twój ma czekać na okolice VBLK kiedy IRQ są jednak włączone (inaczej dałbym SEI/CLI). A może skoro już, to rozszerzyć artykuł jeszcze o czekanie na początek rysowania ramki obrazu? No nie umiem sobie wyobrazić korzyści z Twojego kodu :D Mono 13:01, 26 lis 2021 (CET)
- BIT jest wskazany. BNE niestety powoduje, że w szybkiej pętli jesteśmy ciągle w tej samej ramce, a nie czekamy na następną. Moja propozycja:
sta NMIRES bit:rvc NMIST
- dwa bajty krócej od Kuby i czeka do początku VBLANK, a nie osiem skanlinii dalej. Wada to: nie działa, gdy mamy włączone VBLKI i w nim "sta NMIRES". Kod Kuby też ma wadę: nie działa z VBLKI kończącym się w skanlinii 0 lub niżej, o co łatwo w NTSC. --0xF 11:58, 3 gru 2021 (CET)