mirror of
https://github.com/cc65/cc65.git
synced 2024-12-29 13:31:59 +00:00
61 lines
1.5 KiB
ArmAsm
61 lines
1.5 KiB
ArmAsm
;
|
|
; 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
|