1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
;
; Default mouse callbacks for the CX16
;
; 2020-01-10, Greg King
;
.export _mouse_def_callbacks
.import MOUSE_GET, SPRITE_SET_POSITION
.include "cx16.inc"
; --------------------------------------------------------------------------
; Hide the mouse pointer.
hide: ldx #%10000000
stx gREG::r0H
bra mse
; --------------------------------------------------------------------------
; Show the mouse pointer.
show: ldx #gREG::r0
jsr MOUSE_GET
mse: lda #$00 ; mouse sprite
jmp SPRITE_SET_POSITION
; --------------------------------------------------------------------------
; Prepare to move the mouse pointer.
prep: ; Fall through
; --------------------------------------------------------------------------
; Draw the mouse pointer.
draw: ; Fall through
; --------------------------------------------------------------------------
; Move the mouse pointer X position to the value in .XA .
movex: ; Already done by Kernal
; Fall through
; --------------------------------------------------------------------------
; Move the mouse pointer Y position to the value in .XA .
movey: rts ; Already done by Kernal
; --------------------------------------------------------------------------
; Callback structure
.rodata
_mouse_def_callbacks:
.addr hide
.addr show
.addr prep
.addr draw
.addr movex
.addr movey
|