;/* */
;/* */
;/* */
-;/* (C) 2003-2006 Ullrich von Bassewitz */
-;/* Römerstraße 52 */
-;/* D-70794 Filderstadt */
-;/* EMail: uz@cc65.org */
+;/* (C) 2003-2009, Ullrich von Bassewitz */
+;/* Roemerstrasse 52 */
+;/* D-70794 Filderstadt */
+;/* EMail: uz@cc65.org */
;/* */
;/* */
;/* */
UNINSTALL .addr
HIDE .addr
SHOW .addr
- BOX .addr
+ SETBOX .addr
+ GETBOX .addr
MOVE .addr
BUTTONS .addr
POS .addr
;------------------------------------------------------------------------------
; The mouse API version, stored in MOUSE_HDR::VERSION
-MOUSE_API_VERSION = $01
+MOUSE_API_VERSION = $02
;------------------------------------------------------------------------------
; Bitmapped mouse driver flags, stored in MOUSE_HDR::FLAGS.
; Note: If neither of MOUSE_FLAG_XXX_IRQ is set, no interrupts are supplied
; to the driver. If one of the bits is set, the interrupt vector MUST be
; valid.
+; Beware: Some of the bits are tested using the BIT instruction, so do not
+; change the values without checking the code!
MOUSE_FLAG_EARLY_IRQ = $40 ; Enable IRQ *before* calling INSTALL
MOUSE_FLAG_LATE_IRQ = $80 ; Enable IRQ *after* calling INSTALL
BUTTONS .byte
.endstruct
+.struct MOUSE_BOX
+ MINX .word
+ MINY .word
+ MAXX .word
+ MAXY .word
+.endstruct
;------------------------------------------------------------------------------
; Variables
.global _mouse_geterrormsg
.global _mouse_hide
.global _mouse_show
- .global _mouse_box
+ .global _mouse_setbox
+ .global _mouse_getbox
.global _mouse_move
.global _mouse_buttons
.global _mouse_pos
.global _mouse_info
.global _mouse_ioctl
+ .global _mouse_clear_ptr
+
;------------------------------------------------------------------------------
-; Driver entry points
+; Driver entry points (asm callable)
.global mouse_install
.global mouse_uninstall
.global mouse_hide
.global mouse_show
- .global mouse_box
+ .global mouse_setbox
+ .global mouse_getbox
.global mouse_move
.global mouse_buttons
.global mouse_pos