Hej!
mimo usilnych prób nie udaje mi się osiągnąć wartości 1 na emulatorze :( nie wiem skąd nam wynika różnica w wynikach.
Biorąc pod uwagę twój przypadek występowania wartości 1, jeżeli zastosujesz " BMI stereo_present", problem jedynki pozostaje pomijalny.
sprawdzę jeszcze metodę zaproponowaną przez MacGyvera, na emulatorze zauważyłem dziwne zachowanie drugiego POKEY'a:
lda #$00
sta $d20f
sta $d21f
tax
loop
lda $d20a
sta $bc40,x
lda $d21a
sta $bd40,x
sta $d40a
inx
bne loop
lda #$03
sta $d20f
sta $d21f
jmp *
pierwszy Pokey zwraca wartości 0xFF w stanie init, drugi natomiast wartości 0x00. Sprawdzę jeszcze na real atari w domu, obecnie to wynik z emulatora.
UPDATE:
Foxie jak zwykle miałeś rację :D Zapuściłem coś takiego:
ldy #0
loop
jsr detect
sta $BC40,y
iny
jmp loop
na emulatorze mamy co drugie wywołanie jedynkę, na real Atari oczywiście też jedynki się zdarzają tyle że bardziej przypadkowo, poniżej screen shoty:
real atari:

emulator:

co ciekawe udaje mi się raz na kilka uruchomień w emulatorze tej procedury spowodać zwraca ona same zera :)
pozdrawiam
Seban