;Joystick Assembly Language Module for C64 JYSTKS EQU $02 ;Number of Joysticks ;Joystick Bit Masks JOYUP EQU $01 ;Bit 0 - Up JOYDN EQU $02 ;Bit 1 - Down JOYLF EQU $04 ;Bit 2 - Left JOYRT EQU $08 ;Bit 3 - Right JOYB0 EQU $10 ;Bit 4 - Button ;Read Joystick JOYSTK: CMP #JYSTKS ;If Invalid Joystick# BCS JOYSTZ ; Return Error EOR #1 ;Invert Joystick # TAX ;Copy Joystick # to X LDA $DC00,X ;Read Joystick Shadow Register EOR #$FF ;Invert and AND #$1F ;Mask Bits JOYSTX: RTS JOYSTZ: LDA #$FF ;Return Error RTS