1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-22 12:30:41 +00:00

Renamed _em_deinstall -> _em_uninstall, emd_deinstall -> emd_uninstall.

Make _em_install and _em_uninstall user callable.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1962 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2003-02-10 23:01:13 +00:00
parent 97e7ce86ae
commit ca71d94e00
3 changed files with 23 additions and 31 deletions

View File

@ -4,8 +4,7 @@
; Common functions of the extended memory API.
;
.export _em_install, _em_deinstall
.export em_clear_ptr
.import return0
.importzp ptr1
@ -24,7 +23,7 @@ _em_drv: .res 2 ; Pointer to driver
.data
emd_vectors:
emd_install: jmp return0
emd_deinstall: jmp return0
emd_uninstall: jmp return0
emd_pagecount: jmp return0
emd_map: jmp return0
emd_use: jmp return0
@ -86,23 +85,19 @@ set: sta emd_vectors,x
rts
;----------------------------------------------------------------------------
; void __fastcall__ em_deinstall (void);
; /* Deinstall the driver before unloading it */
; unsigned char __fastcall__ em_uninstall (void);
; /* Uninstall the currently loaded driver and return an error code.
; * Note: This call does not free allocated memory.
; */
_em_deinstall:
jsr emd_deinstall ; Call driver routine
_em_uninstall:
jsr emd_uninstall ; Call driver routine
; Point all jump vectors to return0
ldx #0
@L1: inx ; Skip JMP opcode
lda #<return0
jsr set
lda #>return0
jsr set
cpx #(EMD_HDR_JUMPCOUNT*3)
bne @L1
rts
em_clear_ptr: ; External entry point
lda #0
sta _em_drv
sta _em_drv+1 ; Clear the driver pointer
tax
rts ; Return zero

View File

@ -6,10 +6,10 @@
/* */
/* */
/* */
/* (C) 2002 Ullrich von Bassewitz */
/* Wacholderweg 14 */
/* D-70597 Stuttgart */
/* EMail: uz@musoftware.de */
/* (C) 2002-2003 Ullrich von Bassewitz */
/* Römerstrasse 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
@ -51,7 +51,7 @@ unsigned char __fastcall__ em_load_driver (const char* name)
/* Check if we do already have a driver loaded. If so, remove it. */
if (em_drv != 0) {
em_deinstall ();
em_uninstall ();
}
/* Now open the file */

View File

@ -5,6 +5,8 @@
; /* Unload the currently loaded driver. */
.import em_clear_ptr
.include "em-kernel.inc"
.include "em-error.inc"
.include "modload.inc"
@ -14,18 +16,13 @@ _em_unload:
ora _em_drv+1
beq no_driver ; No driver
jsr _em_deinstall ; Deinstall the driver
jsr emd_uninstall ; Deinstall the driver
lda _em_drv
ldx _em_drv+1
jsr _mod_free ; Free the driver
lda #0
sta _em_drv
sta _em_drv+1 ; Clear the driver pointer
tax
rts ; Return zero
jmp em_clear_ptr ; Clear the driver pointer, return zero
no_driver:
tax ; X = 0