]> git.sur5r.net Git - cc65/blobdiff - libsrc/pet/joy/pet-stdjoy.s
Updated to use the new VIA register names
[cc65] / libsrc / pet / joy / pet-stdjoy.s
index d14f3e408f566d7a59850ede08785f83e224a6cb..75b9f74658724a3012114c75817be1c8c96d5734 100644 (file)
@@ -4,46 +4,40 @@
 ; Marco van den Heuvel, 2010-01-23
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
-       .include        "joy-error.inc"
-        .include       "pet.inc"
+        .include        "joy-kernel.inc"
+        .include        "joy-error.inc"
+        .include        "pet.inc"
+
+        .macpack        module
 
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-       .segment "JUMPTABLE"
+        module_header   _pet_stdjoy_joy
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79           ; "joy"
-       .byte   JOY_API_VERSION         ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .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.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   COUNT
-       .addr   READ
-       .addr   0               ; IRQ entry unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READ
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 2             ; Number of joysticks we support
+JOY_COUNT       = 2             ; Number of joysticks we support
 
 
 .code
@@ -56,9 +50,9 @@ JOY_COUNT     = 2             ; Number of joysticks we support
 ;
 
 INSTALL:
-       lda     #<JOY_ERR_OK
-       ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+        lda     #<JOY_ERR_OK
+        ldx     #>JOY_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -66,7 +60,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -74,52 +68,52 @@ UNINSTALL:
 ;
 
 COUNT:
-       lda     #<JOY_COUNT
-       ldx     #>JOY_COUNT
-       rts
+        lda     #<JOY_COUNT
+        ldx     #>JOY_COUNT
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
 READ:
-       tax                     ; Joystick number into X
-       bne     joy2
+        tax                     ; Joystick number into X
+        bne     joy2
 
 ; Read joystick 1
 
 joy1:
-       lda     #0
-       sta     VIA_DDRA
-       lda     VIA_PRA
-       and     #$0f
-       cmp     #$0c
-       bne     @notc1
-       lda     #$0f
-       bne     @end1
+        lda     #0
+        sta     VIA_DDRA
+        lda     VIA_PA1
+        and     #$0f
+        cmp     #$0c
+        bne     @notc1
+        lda     #$0f
+        bne     @end1
 @notc1:
-       ora     #$10
+        ora     #$10
 @end1:
-       eor     #$1f
-       rts
+        eor     #$1f
+        rts
 
 ; Read joystick 2
 
 joy2:
-       lda     #0
-       sta     VIA_DDRA
-       lda     VIA_PRA
-       lsr
-       lsr
-       lsr
-       lsr
-       cmp     #$0c
-       bne     @notc2
-       lda     #$0f
-       bne     @end2
+        lda     #0
+        sta     VIA_DDRA
+        lda     VIA_PA1
+        lsr
+        lsr
+        lsr
+        lsr
+        cmp     #$0c
+        bne     @notc2
+        lda     #$0f
+        bne     @end2
 @notc2:
-       ora     #$10
+        ora     #$10
 @end2:
-       eor     #$1f
-       ldx     #0
-       rts
+        eor     #$1f
+        ldx     #0
+        rts