1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-09 01:28:58 +00:00
cc65/libsrc/joystick/joy_unload.s
cuz dc569cad49 Unloading the joystick driver didn't reset the interrupts, so the program may
crash later.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3751 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-06-04 10:14:30 +00:00

37 lines
725 B
ArmAsm

;
; Ullrich von Bassewitz, 2002-11-29
;
; unsigned char __fastcall__ joy_unload (void);
; /* Unload the currently loaded driver. */
.import joy_clear_ptr
.include "joy-kernel.inc"
.include "joy-error.inc"
.include "modload.inc"
_joy_unload:
lda _joy_drv
ora _joy_drv+1
beq no_driver ; No driver
lda _joy_drv
pha
lda _joy_drv+1
pha ; Save pointer to driver
jsr _joy_uninstall ; Uninstall the driver
pla
tax
pla ; Get pointer to driver
jmp _mod_free ; Free the driver
no_driver:
tax ; X = 0
lda #JOY_ERR_NO_DRIVER
rts