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 -