Dyskusja:Programowanie: Detekcja stereo: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 7: | Linia 7: | ||
lda #$03 | lda #$03 | ||
sta $d21f ;release pokey 1 | sta $d21f ;release pokey 1 | ||
lda $d20a ;see if pokey 0 is halted ($d20a = $ff) | lda $d20a ;see if pokey 0 is halted ($d20a = $ff) | ||
| Linia 14: | Linia 12: | ||
inx | inx | ||
bne ?loop | bne ?loop | ||
ldy #$03 | |||
sty $d20f | |||
cmp #$ff | cmp #$ff | ||
bne ?mono | bne ?mono | ||
inx | |||
?mono | ?mono ... ;X=0 - mono | ||
;X=1 - stereo | |||
; | |||
</pre> | </pre> | ||
? Procedura jest prostsza i krótsza niż u Sebana, oraz nie używa przerwań, ale nie bardzo mam na czym sprawdzić, czy to działa. [[Użytkownik:KMK|KMK]] 16:43, 19 paź 2011 (CEST) | ? Procedura jest prostsza i krótsza niż u Sebana, oraz nie używa przerwań, ale nie bardzo mam na czym sprawdzić, czy to działa. [[Użytkownik:KMK|KMK]] 16:43, 19 paź 2011 (CEST) | ||
:EDIT: dalsze skrócenie, do 32 bajtów. Na emulatorze działa. [[Użytkownik:KMK|KMK]] 17:15, 19 paź 2011 (CEST) | |||
Wersja z 19 paź 2011, 17:15
A może dałoby się zrobić to inaczej:
ldx #$00
stx $d20f ;halt pokey 0
stx $d21f ;halt pokey 1
lda #$03
sta $d21f ;release pokey 1
lda $d20a ;see if pokey 0 is halted ($d20a = $ff)
?loop and $d20a
inx
bne ?loop
ldy #$03
sty $d20f
cmp #$ff
bne ?mono
inx
?mono ... ;X=0 - mono
;X=1 - stereo
? Procedura jest prostsza i krótsza niż u Sebana, oraz nie używa przerwań, ale nie bardzo mam na czym sprawdzić, czy to działa. KMK 16:43, 19 paź 2011 (CEST)
- EDIT: dalsze skrócenie, do 32 bajtów. Na emulatorze działa. KMK 17:15, 19 paź 2011 (CEST)