From: izydorst Date: Fri, 20 Dec 2002 22:54:56 +0000 (+0000) Subject: fixed bug on C64 GEOS (I/O was not enabled when reading joystick) X-Git-Tag: V2.12.0~1868 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3dc9b06127ed81e780ce0169676f9c471ddf041f;p=cc65 fixed bug on C64 GEOS (I/O was not enabled when reading joystick) git-svn-id: svn://svn.cc65.org/cc65/trunk@1803 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/libsrc/geos/mousesprite/readjoy.s b/libsrc/geos/mousesprite/readjoy.s index e96a0e58d..85948739e 100644 --- a/libsrc/geos/mousesprite/readjoy.s +++ b/libsrc/geos/mousesprite/readjoy.s @@ -10,31 +10,39 @@ .proc _readjoy + php + sei ; disable IRQ + lda $01 + pha + lda #$35 + sta $01 ; enable I/O + tax ; Joystick number into X bne joy2 ; Read joystick 1 -joy1: lda #$7F - sei +joy1: + lda #$7F sta cia1base lda cia1base+1 - cli +back: tax + pla + sta $01 + plp + txa and #$1F eor #$1F + ldx #0 rts ; Read joystick 2 -joy2: ldx #0 - lda #$E0 +joy2: lda #$E0 ldy #$FF sta cia1base+2 lda cia1base+1 sty cia1base+2 - and #$1F - eor #$1F - rts + jmp back .endproc -