From dc569cad49e401ea99de041d74c521665e9822d9 Mon Sep 17 00:00:00 2001 From: cuz Date: Sun, 4 Jun 2006 10:14:30 +0000 Subject: [PATCH] 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 --- libsrc/joystick/joy_unload.s | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) 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 -- 2.39.5