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:
parent
97e7ce86ae
commit
ca71d94e00
@ -4,8 +4,7 @@
|
|||||||
; Common functions of the extended memory API.
|
; Common functions of the extended memory API.
|
||||||
;
|
;
|
||||||
|
|
||||||
.export _em_install, _em_deinstall
|
.export em_clear_ptr
|
||||||
|
|
||||||
.import return0
|
.import return0
|
||||||
.importzp ptr1
|
.importzp ptr1
|
||||||
|
|
||||||
@ -24,7 +23,7 @@ _em_drv: .res 2 ; Pointer to driver
|
|||||||
.data
|
.data
|
||||||
emd_vectors:
|
emd_vectors:
|
||||||
emd_install: jmp return0
|
emd_install: jmp return0
|
||||||
emd_deinstall: jmp return0
|
emd_uninstall: jmp return0
|
||||||
emd_pagecount: jmp return0
|
emd_pagecount: jmp return0
|
||||||
emd_map: jmp return0
|
emd_map: jmp return0
|
||||||
emd_use: jmp return0
|
emd_use: jmp return0
|
||||||
@ -86,23 +85,19 @@ set: sta emd_vectors,x
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
;----------------------------------------------------------------------------
|
;----------------------------------------------------------------------------
|
||||||
; void __fastcall__ em_deinstall (void);
|
; unsigned char __fastcall__ em_uninstall (void);
|
||||||
; /* Deinstall the driver before unloading it */
|
; /* Uninstall the currently loaded driver and return an error code.
|
||||||
|
; * Note: This call does not free allocated memory.
|
||||||
|
; */
|
||||||
|
|
||||||
_em_deinstall:
|
_em_uninstall:
|
||||||
jsr emd_deinstall ; Call driver routine
|
jsr emd_uninstall ; Call driver routine
|
||||||
|
|
||||||
; Point all jump vectors to return0
|
em_clear_ptr: ; External entry point
|
||||||
|
lda #0
|
||||||
ldx #0
|
sta _em_drv
|
||||||
@L1: inx ; Skip JMP opcode
|
sta _em_drv+1 ; Clear the driver pointer
|
||||||
lda #<return0
|
|
||||||
jsr set
|
|
||||||
lda #>return0
|
|
||||||
jsr set
|
|
||||||
cpx #(EMD_HDR_JUMPCOUNT*3)
|
|
||||||
bne @L1
|
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
tax
|
||||||
|
rts ; Return zero
|
||||||
|
|
||||||
|
@ -6,10 +6,10 @@
|
|||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* (C) 2002 Ullrich von Bassewitz */
|
/* (C) 2002-2003 Ullrich von Bassewitz */
|
||||||
/* Wacholderweg 14 */
|
/* Römerstrasse 52 */
|
||||||
/* D-70597 Stuttgart */
|
/* D-70794 Filderstadt */
|
||||||
/* EMail: uz@musoftware.de */
|
/* EMail: uz@cc65.org */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* This software is provided 'as-is', without any expressed or implied */
|
/* 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. */
|
/* Check if we do already have a driver loaded. If so, remove it. */
|
||||||
if (em_drv != 0) {
|
if (em_drv != 0) {
|
||||||
em_deinstall ();
|
em_uninstall ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now open the file */
|
/* Now open the file */
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
; /* Unload the currently loaded driver. */
|
; /* Unload the currently loaded driver. */
|
||||||
|
|
||||||
|
|
||||||
|
.import em_clear_ptr
|
||||||
|
|
||||||
.include "em-kernel.inc"
|
.include "em-kernel.inc"
|
||||||
.include "em-error.inc"
|
.include "em-error.inc"
|
||||||
.include "modload.inc"
|
.include "modload.inc"
|
||||||
@ -14,18 +16,13 @@ _em_unload:
|
|||||||
ora _em_drv+1
|
ora _em_drv+1
|
||||||
beq no_driver ; No driver
|
beq no_driver ; No driver
|
||||||
|
|
||||||
jsr _em_deinstall ; Deinstall the driver
|
jsr emd_uninstall ; Deinstall the driver
|
||||||
|
|
||||||
lda _em_drv
|
lda _em_drv
|
||||||
ldx _em_drv+1
|
ldx _em_drv+1
|
||||||
jsr _mod_free ; Free the driver
|
jsr _mod_free ; Free the driver
|
||||||
|
|
||||||
lda #0
|
jmp em_clear_ptr ; Clear the driver pointer, return zero
|
||||||
sta _em_drv
|
|
||||||
sta _em_drv+1 ; Clear the driver pointer
|
|
||||||
|
|
||||||
tax
|
|
||||||
rts ; Return zero
|
|
||||||
|
|
||||||
no_driver:
|
no_driver:
|
||||||
tax ; X = 0
|
tax ; X = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user