From: cuz Date: Sun, 4 Jun 2006 10:14:30 +0000 (+0000) Subject: Unloading the joystick driver didn't reset the interrupts, so the program may X-Git-Tag: V2.12.0~104 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=dc569cad49e401ea99de041d74c521665e9822d9;p=cc65 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 --- diff --git a/libsrc/joystick/joy_unload.s b/libsrc/joystick/joy_unload.s index e5077703e..021cf5c1e 100644 --- a/libsrc/joystick/joy_unload.s +++ b/libsrc/joystick/joy_unload.s @@ -6,7 +6,7 @@ .import joy_clear_ptr - + .include "joy-kernel.inc" .include "joy-error.inc" .include "modload.inc" @@ -14,18 +14,22 @@ _joy_unload: lda _joy_drv ora _joy_drv+1 - beq no_driver ; No driver + beq no_driver ; No driver - jsr joy_uninstall ; Uninstall the driver + lda _joy_drv + pha + lda _joy_drv+1 + pha ; Save pointer to driver - lda _joy_drv - ldx _joy_drv+1 - jsr _mod_free ; Free the driver + jsr _joy_uninstall ; Uninstall the driver - jmp joy_clear_ptr ; Clear driver pointer, return zero + pla + tax + pla ; Get pointer to driver + jmp _mod_free ; Free the driver no_driver: - tax ; X = 0 + tax ; X = 0 lda #JOY_ERR_NO_DRIVER rts