Dziwny problem z odczytem joysticka

Szukasz drobnej pomocy przy kodowaniu, albo chcesz przedstawić światu swoją gotową lub w trakcie realizacji produkcję? To właściwy dział.
Wiadomość
Autor
Awatar użytkownika
Operator Teleksu
Posty: 59
Rejestracja: 27 lis 2020, 21:31

Dziwny problem z odczytem joysticka

#1 Post autor: Operator Teleksu »

Witajcie,
Na początek sorry że znowu zawracam tyłek ale w google nie mogłem znaleźć odp na
mój dosyć dziwny problem.

Piszę ostatnio edytor sprite'ów na C64 i utknąłem na prostej niby rzeczy czyli obsłudze
klawiatury i joysticka tzn. problem jest z obsługą przekątnych joysticka albo fire+kierunek
jednocześnie.

Najpierw kod (fragment tak poglądowo):

Kod: Zaznacz cały

readjoy
    lda #$00
    sta $dc02
    
    lda $dc00
    and #$10
    bne *+5
    jsr handlefire
    
    lda $dc00
    and #$01
    bne *+5
    jsr handleup
    
    lda $dc00
    and #$02
    bne *+5
    jsr handledown
    
    lda $dc00
    and #$04
    bne *+5
    jsr handleleft
    
    lda $dc00
    and #$08
    bne *+5
    jsr handleright
    
    rts
I ta procedura jest uruchamiana w głównej pętli programu. Moim okiem powinno działać
wciśnięcie np. fire+prawo ale w rzeczywistości jakby blokuje się na procedurze handlefire.
Z przekątnymi taki sam problem.

Próbowałem dla spr wykomentować to i tamto, czy też podmienić handlefire na inna procedure.
Z moich "eksperymentów" wynika że jak zamienię te funkcje na mniej procesoroczasożerne to
WSZYSTKO DZIAŁA JAK MOIM ZDANIEM POWINNO. Nie wiem na czym problem polega. Spr na
innym emulatorze i to samo.

Jakby ktoś mógł mi wytłumaczyć dlaczego to tak działa albo pokierować co i gdzie powinienem
przeczytać to byłbym wdzięczny. Z góry dziękuję.
Have a nice day!

Awatar użytkownika
Operator Teleksu
Posty: 59
Rejestracja: 27 lis 2020, 21:31

Re: Dziwny problem z odczytem joysticka

#2 Post autor: Operator Teleksu »

:oops: :oops: :oops:
Chciałbym napisać że już się zorientowałem, jaką jeszcze prostą głupotę zrobiłem
(w dodatku w innym miejscu) że mi to nie działało. Czasami ze zmęczenia (chyba)
kombinuję jak koń pod górę zamiast pomyśleć trochę.

Jeżeli jest jakaś kara za zaśmiecanie forum takimi pytaniami to chciałbym się jej
poddać.
Have a nice day!

ODPOWIEDZ