1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-07 19:29:18 +00:00
cc65/libsrc/mouse/mouse_unload.s

35 lines
956 B
ArmAsm
Raw Normal View History

;
; Ullrich von Bassewitz, 2004-03-21
;
; unsigned char mouse_unload (void);
; /* Uninstall, then unload the currently loaded driver. */
.include "mouse-kernel.inc"
.include "modload.inc"
2023-02-26 19:03:41 +00:00
.import return0, return1
_mouse_unload:
lda _mouse_drv
pha ; Save pointer to driver
ora _mouse_drv+1
beq no_driver ; No driver
lda _mouse_drv+1
pha
jsr _mouse_uninstall ; Uninstall the driver
pla
tax
pla ; Get pointer to driver
jsr _mod_free ; Free the driver
jmp return0 ; Return MOUSE_ERR_OK
no_driver:
pla ; Remove pushed junk
2023-02-26 19:03:41 +00:00
.assert MOUSE_ERR_NO_DRIVER = 1, error
jmp return1 ; Return MOUSE_ERR_NO_DRIVER