1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-06 15:06:07 +00:00
cc65/libsrc/mouse/mouse_unload.s
cuz 3bfbaee6a6 Working on loadable mouse drivers
git-svn-id: svn://svn.cc65.org/cc65/trunk@2953 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-21 22:12:06 +00:00

36 lines
678 B
ArmAsm

;
; Ullrich von Bassewitz, 2004-03-21
;
; unsigned char __fastcall__ mouse_unload (void);
; /* Uninstall, then unload the currently loaded driver. */
.import mouse_clear_ptr
.include "mouse-kernel.inc"
.include "modload.inc"
_mouse_unload:
lda _mouse_drv
ora _mouse_drv+1
beq no_driver ; No driver
lda _mouse_drv
pha
lda _mouse_drv+1
pha ; Save pointer to driver
jsr _mouse_uninstall ; Uninstall the driver
pla
tax
pla ; Get pointer to driver
jmp _mod_free ; Free the driver
no_driver:
tax ; X = 0
lda #<MOUSE_ERR_NO_DRIVER
rts