]> git.sur5r.net Git - cc65/commitdiff
Some fine tuning of the mouse driver interface harmonization.
authorOliver Schmidt <ol.sc@web.de>
Fri, 17 Jan 2014 20:09:15 +0000 (21:09 +0100)
committerOliver Schmidt <ol.sc@web.de>
Fri, 17 Jan 2014 20:09:15 +0000 (21:09 +0100)
18 files changed:
asminc/mouse-kernel.inc
include/mouse.h
libsrc/apple2/mcbdefault.s
libsrc/apple2/mou/a2.stdmou.s
libsrc/c128/mcbdefault.s
libsrc/c128/mou/c128-1351.s
libsrc/c128/mou/c128-inkwell.s
libsrc/c128/mou/c128-joy.s
libsrc/c128/mou/c128-pot.s
libsrc/c64/mcbdefault.s
libsrc/c64/mou/c64-1351.s
libsrc/c64/mou/c64-inkwell.s
libsrc/c64/mou/c64-joy.s
libsrc/c64/mou/c64-pot.s
libsrc/cbm510/mcbdefault.s
libsrc/cbm510/mou/cbm510-inkwl.s
libsrc/cbm510/mou/cbm510-joy.s
libsrc/geos-common/drivers/mcbdefault.s

index 4ad9a733e0b9c8394699ef032e78c2a664e767cd..3eebca244d201cbb74a1783204ea1043dd96bf2a 100644 (file)
@@ -78,9 +78,9 @@
                         .byte
             CSHOW       .addr
                         .byte
-            CDRAW       .addr
+            CPREP       .addr
                         .byte
-            CMOVE       .addr
+            CDRAW       .addr
                         .byte
             CMOVEX      .addr
                         .byte
@@ -94,8 +94,8 @@
 .struct MOUSE_CALLBACKS
         HIDE    .addr                   ; Hide the mouse cursor
         SHOW    .addr                   ; Show the mouse cursor
+        PREP    .addr                   ; Prepare to move the mouse cursor
         DRAW    .addr                   ; Draw the mouse cursor
-        MOVE    .addr                   ; Prepare to move the mouse cursor
         MOVEX   .addr                   ; Move the mouse cursor to X coord
         MOVEY   .addr                   ; Move the mouse cursor to Y coord
 .endstruct
index 5e69c7ff6960844d291fcc72a1c3aa3eb1d7cca9..64581eda73fa422fe2cb4192da591b3b8edc9f18 100644 (file)
@@ -88,7 +88,17 @@ struct mouse_callbacks {
     /* Hide the mouse cursor. */
 
     void (*show) (void);
-    /* Show the mouse cursor */
+    /* Show the mouse cursor. */
+
+    void (*prep) (void);
+    /* Prepare to move the mouse cursor. This function is called,
+     * even when the cursor is currently invisible.
+     */
+
+    void (*draw) (void);
+    /* Draw the mouse cursor. This function is called,
+     * even when the cursor is currently invisible.
+     */
 
     void __fastcall__ (*movex) (int x);
     /* Move the mouse cursor to the new X coordinate. This function is called,
index 892e387e03bd919c5a53cb18bf6edaf7dba0da8f..cada4173a1f160c721624a37c11fe0690a588cc2 100644 (file)
@@ -26,8 +26,8 @@ visible:.res    1
 _mouse_def_callbacks:
         .addr   hide
         .addr   show
+        .addr   prep
         .addr   draw
-        .addr   move
         .addr   movex
         .addr   movey
 
@@ -76,7 +76,7 @@ hide:
         ; Fall through
 
 ; Prepare to move the mouse cursor.
-move:
+prep:
         jsr     getcursor       ; Cursor visible at current position?
         bne     done            ; No, we're done
         lda     backup          ; Get character at cursor position
index ecfb7da58e88b6689ca851dec3eac465a2f06f4b..66869916a6f15c27a7613d40f66fbea19cdfbf99 100644 (file)
@@ -57,8 +57,8 @@ status          := $0778
         ; Callback table, set by the kernel before INSTALL is called
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X coord
 CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
@@ -411,7 +411,7 @@ done:   rts
         beq     :+
 
         ; Remove the cursor at the old position
-update: jsr     CMOVE
+update: jsr     CPREP
 
         ; Get and set the new X position
         ldy     slot
index fcf742d14cb4dc044d816ef4bf57e8312c950216..01c54efcab2ec98c2daa467e067cc5100db2da70 100644 (file)
@@ -22,55 +22,41 @@ MOUSE_SPR_NMASK = .lobyte(.not MOUSE_SPR_MASK)  ; Negative mask
 VIC_SPR_X       = (VIC_SPR0_X + 2*MOUSE_SPR)    ; Sprite X register
 VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 
-.code
-
 ; --------------------------------------------------------------------------
 ; Hide the mouse pointer. Always called with interrupts disabled.
 
-.proc   hide
-
+hide:
         lda     #MOUSE_SPR_NMASK
         and     VIC_SPR_ENA
         sta     VIC_SPR_ENA
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Show the mouse pointer. Always called with interrupts disabled.
 
-.proc   show
-
+show:
         lda     #MOUSE_SPR_MASK
         ora     VIC_SPR_ENA
         sta     VIC_SPR_ENA
-        rts
-
-.endproc
+        ; Fall through
 
 ; --------------------------------------------------------------------------
-; Draw the mouse pointer. Always called with interrupts disabled.
-
-.proc   draw
-
-        rts
+; Prepare to move the mouse pointer. Always called with interrupts disabled.
 
-.endproc
+prep:
+        ; Fall through
 
 ; --------------------------------------------------------------------------
-; Prepare to move the mouse pointer. Always called with interrupts disabled.
-
-.proc   move
+; Draw the mouse pointer. Always called with interrupts disabled.
 
+draw:
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Move the mouse pointer X position to the value in a/x. Always called with
 ; interrupts disabled.
 
-.proc   movex
+movex:
 
 ; Add the X correction and set the low byte. This frees A.
 
@@ -92,27 +78,22 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
         sta     VIC_SPR_HI_X
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Move the mouse pointer Y position to the value in a/x. Always called with
 ; interrupts disabled.
 
-.proc   movey
-
+movey:
         clc
         ldx     PALFLAG
-        bne     @L1
+        bne     @L2
         adc     #50                     ; FIXME: Should be NTSC, is PAL value
         sta     VIC_SPR_Y               ; Set Y position
         rts
 
-@L1:    adc     #50                     ; Add PAL correction
+@L2:    adc     #50                     ; Add PAL correction
         sta     VIC_SPR_Y               ; Set Y position
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Callback structure
 
@@ -121,7 +102,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 _mouse_def_callbacks:
         .addr   hide
         .addr   show
+        .addr   prep
         .addr   draw
-        .addr   move
         .addr   movex
         .addr   movey
index 881605d2dd9a1e980f7a52c5bfb1510da4a4da42..b4d950cda9d22efd8a1d03aa5aa3f6d5c6564cbd 100644 (file)
@@ -50,8 +50,8 @@ HEADER:
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X coord
 CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
@@ -304,7 +304,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; MUST return carry clear.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
         lda     SID_ADConv1             ; Get mouse X movement
         ldy     OldPotX
         jsr     MoveCheck               ; Calculate movement vector
index bed490d662c2666b9e1c6b7c3a65060ff086b71c..e74cacfc3e3fa1b9d7a3245dd4b4557b58913a3e 100644 (file)
@@ -49,8 +49,8 @@ LIBREF: .addr   $0000
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X co-ord.
 CMOVEY: jmp     $0000                   ; Move the cursor to Y co-ord.
 
@@ -345,7 +345,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioctls, for now
 ; MUST return carry clear.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
 
 ; Record the state of the buttons.
 ; Try to avoid crosstalk between the keyboard and the lightpen.
index bc5f812cdb35614836af0c79ad7f09eb5197a7c1..2bbb4c79bcc7a4e6c628cbec3454536327c1ba13 100644 (file)
@@ -49,8 +49,8 @@ HEADER:
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X coord
 CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
@@ -304,7 +304,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; MUST return carry clear.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
         lda     #$7F
         sta     CIA1_PRA
         lda     CIA1_PRB                ; Read joystick #0
index 48562e96d9aeebbd45038acfe42197d4e7f96f80..2568445f1b5d9ec3f4c05b4ffba3f3a3ad5c9400 100644 (file)
@@ -46,8 +46,8 @@ HEADER:
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X coord
 CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
@@ -299,7 +299,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; (so be careful).
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
         lda     #$7F
         sta     CIA1_PRA
         lda     CIA1_PRB                ; Read port #1
index ae61330d9af48b8ee94c8f074d62fa1b066b3dad..ffeed45b349b086137119297556bfbcae2bb1370 100644 (file)
@@ -22,55 +22,41 @@ MOUSE_SPR_NMASK = .lobyte(.not MOUSE_SPR_MASK)  ; Negative mask
 VIC_SPR_X       = (VIC_SPR0_X + 2*MOUSE_SPR)    ; Sprite X register
 VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 
-.code
-
 ; --------------------------------------------------------------------------
 ; Hide the mouse pointer. Always called with interrupts disabled.
 
-.proc   hide
-
+hide:
         lda     #MOUSE_SPR_NMASK
         and     VIC_SPR_ENA
         sta     VIC_SPR_ENA
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Show the mouse pointer. Always called with interrupts disabled.
 
-.proc   show
-
+show:
         lda     #MOUSE_SPR_MASK
         ora     VIC_SPR_ENA
         sta     VIC_SPR_ENA
-        rts
-
-.endproc
+        ; Fall through
 
 ; --------------------------------------------------------------------------
-; Draw the mouse pointer. Always called with interrupts disabled.
-
-.proc   draw
-
-        rts
+; Prepare to move the mouse pointer. Always called with interrupts disabled.
 
-.endproc
+prep:
+        ; Fall through
 
 ; --------------------------------------------------------------------------
-; Prepare to move the mouse pointer. Always called with interrupts disabled.
-
-.proc   move
+; Draw the mouse pointer. Always called with interrupts disabled.
 
+draw:
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Move the mouse pointer X position to the value in a/x. Always called with
 ; interrupts disabled.
 
-.proc   movex
+movex:
 
 ; Add the X correction and set the low byte. This frees A.
 
@@ -92,20 +78,15 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
         sta     VIC_SPR_HI_X
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Move the mouse pointer Y position to the value in a/x. Always called with
 ; interrupts disabled.
 
-.proc   movey
-
+movey:
         add     #50                     ; Y correction (first visible line)
         sta     VIC_SPR_Y               ; Set Y position
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Callback structure
 
@@ -114,7 +95,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 _mouse_def_callbacks:
         .addr   hide
         .addr   show
+        .addr   prep
         .addr   draw
-        .addr   move
         .addr   movex
         .addr   movey
index dbe8cc4d3e4b6becae975a250eb4b68a7c116a21..3805e23dd34ab9ca83aded80f759a67a505a4d18 100644 (file)
@@ -69,8 +69,8 @@ HEADER:
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X coord
 CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
@@ -316,7 +316,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; MUST return carry clear.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
 
 ; Record the state of the buttons.
 ; Avoid crosstalk between the keyboard and the mouse.
index a0c1182c9ef7098fa98aa14ee3b4fc73bef6fc52..222499ce7ee57c6eda482f8dac39dd0cc0c2ad57 100644 (file)
@@ -49,8 +49,8 @@ LIBREF: .addr   $0000
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X co-ord.
 CMOVEY: jmp     $0000                   ; Move the cursor to Y co-ord.
 
@@ -326,7 +326,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioctls, for now
 ; MUST return carry clear.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
 
 ; Record the state of the buttons.
 ; Try to avoid crosstalk between the keyboard and the lightpen.
index ba22a0c95ee84fd70fafd3ae1e7d9acb2648186f..57e5bebf12478a98acaf2ee62224ffc9ee30755e 100644 (file)
@@ -68,8 +68,8 @@ HEADER:
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X coord
 CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
@@ -321,7 +321,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; MUST return carry clear.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
 
 ; Avoid crosstalk between the keyboard and a joystick.
 
index e7990b1174f8a17720ddc4fe92afa2c60708a98a..d57feeeae749c11ae4fbe3fb5ad7e11cf4d0ce68 100644 (file)
@@ -46,8 +46,8 @@ HEADER:
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X coord
 CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
@@ -299,7 +299,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; (so be careful).
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
         lda     #$7F
         sta     CIA1_PRA
         lda     CIA1_PRB                ; Read port #1
index b156fdf2f359c6a7efc53906b979c0203ec998a8..028fb4ec19a701ccb594e99bf0fda6852ed293ca 100644 (file)
@@ -27,8 +27,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 ; --------------------------------------------------------------------------
 ; Hide the mouse pointer. Always called with interrupts disabled.
 
-.proc   hide
-
+hide:
         ldy     #15
         sty     IndReg
 
@@ -41,13 +40,10 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
         sty     IndReg
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Show the mouse pointer. Always called with interrupts disabled.
 
-.proc   show
-
+show:
         ldy     #15
         sty     IndReg
 
@@ -58,34 +54,25 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 
         ldy     ExecReg
         sty     IndReg
-        rts
-
-.endproc
+        ; Fall through
 
 ; --------------------------------------------------------------------------
-; Draw the mouse pointer. Always called with interrupts disabled.
-
-.proc   draw
-
-        rts
+; Prepare to move the mouse pointer. Always called with interrupts disabled.
 
-.endproc
+prep:
+        ; Fall through
 
 ; --------------------------------------------------------------------------
-; Prepare to move the mouse pointer. Always called with interrupts disabled.
-
-.proc   move
+; Draw the mouse pointer. Always called with interrupts disabled.
 
+draw:
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Move the mouse pointer x position to the value in .XA. Always called with
 ; interrupts disabled.
 
-.proc   movex
-
+movex:
         ldy     #15
         sty     IndReg
 
@@ -112,16 +99,13 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 @L1:    lda     (vic),y                 ; Get high x bits of all sprites
         ora     #MOUSE_SPR_MASK         ; Set high bit for sprite
         sta     (vic),y
-        bnz     @L0                     ; branch always
-
-.endproc
+        bnz     @L0                     ; Branch always
 
 ; --------------------------------------------------------------------------
 ; Move the mouse pointer y position to the value in .XA. Always called with
 ; interrupts disabled.
 
-.proc   movey
-
+movey:
         ldy     #15
         sty     IndReg
 
@@ -133,8 +117,6 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
         sty     IndReg
         rts
 
-.endproc
-
 ; --------------------------------------------------------------------------
 ; Callback structure
 
@@ -143,7 +125,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 _mouse_def_callbacks:
         .addr   hide
         .addr   show
+        .addr   prep
         .addr   draw
-        .addr   move
         .addr   movex
         .addr   movey
index 3885dcba92cc7ac0b69fe32d2320ea98d46e764b..f52ba0dcf9ed59c28cd91dae25f5f7413423eeb5 100644 (file)
@@ -53,8 +53,8 @@ LIBREF: .addr   $0000
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to X co-ord.
 CMOVEY: jmp     $0000                   ; Move the cursor to Y co-ord.
 
@@ -338,7 +338,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioctls, for now
 ; MUST return carry clear.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
         ldx     #15                     ; To system bank
         stx     IndReg
 
index 51bf6f42ce1e41761e1e11753a9d63173fbf03ad..4cb9f079311ca7b1cb86e8e194fb7be8b6fdb847 100644 (file)
@@ -52,8 +52,8 @@ HEADER:
 
 CHIDE:  jmp     $0000                   ; Hide the cursor
 CSHOW:  jmp     $0000                   ; Show the cursor
+CPREP:  jmp     $0000                   ; Prepare to move the cursor
 CDRAW:  jmp     $0000                   ; Draw the cursor
-CMOVE:  jmp     $0000                   ; Prepare to move the cursor
 CMOVEX: jmp     $0000                   ; Move the cursor to x co-ord.
 CMOVEY: jmp     $0000                   ; Move the cursor to y co-ord.
 
@@ -325,7 +325,7 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL   ; We don't support ioctls, for now
 ; Reads joystick 2.
 ;
 
-IRQ:    jsr     CMOVE
+IRQ:    jsr     CPREP
         ldy     #15                     ; Switch to the system bank
         sty     IndReg
 
index 5b58066852dd28c53d3bb3f070238d7264cfcda8..2576f6aadde002e76e4c09302957a0da8dd93251 100644 (file)
@@ -33,24 +33,30 @@ hide := MouseOff
 show := MouseUp
 
 ; --------------------------------------------------------------------------
-; Move the mouse pointer X position to the value in .XA. Always called with
-; interrupts disabled.
+; Prepare to move the mouse pointer. Always called with interrupts disabled.
 
-.proc   movex
+prep:
+        ; Fall through
 
-        rts
+; --------------------------------------------------------------------------
+; Draw the mouse pointer. Always called with interrupts disabled.
 
-.endproc
+draw:
+        ; Fall through
 
 ; --------------------------------------------------------------------------
-; Move the mouse pointer Y position to the value in .XA. Always called with
+; Move the mouse pointer X position to the value in .XA. Always called with
 ; interrupts disabled.
 
-.proc   movey
+movex:
+        ; Fall through
 
-        rts
+; --------------------------------------------------------------------------
+; Move the mouse pointer Y position to the value in .XA. Always called with
+; interrupts disabled.
 
-.endproc
+movey:
+        rts
 
 ; --------------------------------------------------------------------------
 ; Callback structure
@@ -60,7 +66,7 @@ show := MouseUp
 _mouse_def_callbacks:
         .addr   hide
         .addr   show
+        .addr   prep
+        .addr   draw
         .addr   movex
         .addr   movey
-
-