.include "c64.inc"
.macpack generic
+ .macpack module
+
; ------------------------------------------------------------------------
; Header. Includes jump table
- .segment "JUMPTABLE"
+ module_header _c64_ptvjoy_joy
; Driver signature
.byte $6A, $6F, $79 ; "joy"
- .byte JOY_API_VERSION ; Driver API version number
+ .byte JOY_API_VERSION ; Driver API version number
-; Button state masks (8 values)
+; Library reference
- .byte $01 ; JOY_UP
- .byte $02 ; JOY_DOWN
- .byte $04 ; JOY_LEFT
- .byte $08 ; JOY_RIGHT
- .byte $10 ; JOY_FIRE
- .byte $00 ; JOY_FIRE2 unavailable
- .byte $00 ; Future expansion
- .byte $00 ; Future expansion
+ .addr $0000
; Jump table.
INSTALL:
lda #<JOY_ERR_OK
ldx #>JOY_ERR_OK
-; rts ; Run into UNINSTALL instead
+; rts ; Run into UNINSTALL instead
; ------------------------------------------------------------------------
; UNINSTALL routine. Is called before the driver is removed from memory.
; READ: Read a particular joystick passed in A.
;
-READ: tax ; Joystick number into X
+READ: tax ; Joystick number into X
bne joy2
; Read joystick 1
-joy1: lda #$7F
+joy1: lda #$7F
sei
- sta CIA1_PRA
- lda CIA1_PRB
+ sta CIA1_PRA
+ lda CIA1_PRB
cli
- and #$1F
- eor #$1F
+ and #$1F
+ eor #$1F
rts
; Read joystick 2
joy2: dex
bne joy3
- lda #$E0
- ldy #$FF
+ lda #$E0
+ ldy #$FF
sei
- sta CIA1_DDRA
- lda CIA1_PRA
- sty CIA1_DDRA
+ sta CIA1_DDRA
+ lda CIA1_PRA
+ sty CIA1_DDRA
cli
- and #$1F
- eor #$1F
+ and #$1F
+ eor #$1F
rts
; Read joystick 3