Added library reference em_libref to EMD interface.
Occasionally dynamically drivers suffer from not being to refer to content in the C library. Therefore I added a mechanism to allow a C library for a certian target to define a symbol that will be handed over to dynamic drivers for that target. Then the drivers can use their refernce to that symbol to access content in the C library.
This commit is contained in:
@@ -39,28 +39,29 @@
|
|||||||
.struct EMD_HDR
|
.struct EMD_HDR
|
||||||
ID .byte 3 ; Contains 0x65, 0x6d, 0x64 ("emd")
|
ID .byte 3 ; Contains 0x65, 0x6d, 0x64 ("emd")
|
||||||
VERSION .byte 1 ; Interface version
|
VERSION .byte 1 ; Interface version
|
||||||
|
LIBREF .addr ; Library reference
|
||||||
JUMPTAB .struct
|
JUMPTAB .struct
|
||||||
INSTALL .word ; INSTALL routine
|
INSTALL .addr ; INSTALL routine
|
||||||
UNINSTALL .word ; UNINSTALL routine
|
UNINSTALL .addr ; UNINSTALL routine
|
||||||
PAGECOUNT .word ; PAGECOUNT routine
|
PAGECOUNT .addr ; PAGECOUNT routine
|
||||||
MAP .word ; MAP routine
|
MAP .addr ; MAP routine
|
||||||
USE .word ; USE routine
|
USE .addr ; USE routine
|
||||||
MAPCLEAN .word ; MAPCLEAN routine
|
MAPCLEAN .addr ; MAPCLEAN routine
|
||||||
COPYFROM .word ; COPYFROM routine
|
COPYFROM .addr ; COPYFROM routine
|
||||||
COPYTO .word ; COPYTO routine
|
COPYTO .addr ; COPYTO routine
|
||||||
.endstruct
|
.endstruct
|
||||||
.endstruct
|
.endstruct
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; The EMD API version, stored in EMD_HDR::VERSION
|
; The EMD API version, stored in EMD_HDR::VERSION
|
||||||
|
|
||||||
EMD_API_VERSION = $00
|
EMD_API_VERSION = $01
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; The asm equivalent to the C em_copy structure
|
; The asm equivalent to the C em_copy structure
|
||||||
|
|
||||||
.struct EM_COPY
|
.struct EM_COPY
|
||||||
BUF .word ; Memory buffer to copy from or to
|
BUF .addr ; Memory buffer to copy from or to
|
||||||
OFFS .byte ; Offset into page
|
OFFS .byte ; Offset into page
|
||||||
PAGE .word ; Starting page to copy from or to
|
PAGE .word ; Starting page to copy from or to
|
||||||
COUNT .word ; Number of bytes to copy
|
COUNT .word ; Number of bytes to copy
|
||||||
|
|||||||
@@ -20,16 +20,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word DEINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
@@ -69,11 +73,11 @@ INSTALL:
|
|||||||
; rts
|
; rts
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; DEINSTALL routine. Is called before the driver is removed from memory.
|
; UNINSTALL routine. Is called before the driver is removed from memory.
|
||||||
; Can do cleanup or whatever. Must not return anything.
|
; Can do cleanup or whatever. Must not return anything.
|
||||||
;
|
;
|
||||||
|
|
||||||
DEINSTALL:
|
UNINSTALL:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
8
libsrc/apple2/libref.s
Normal file
8
libsrc/apple2/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
@@ -43,16 +43,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word DEINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
@@ -191,11 +195,11 @@ INSTALL:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; DEINSTALL routine. Is called before the driver is removed from memory.
|
; UNINSTALL routine. Is called before the driver is removed from memory.
|
||||||
; Can do cleanup or whatever. Must not return anything.
|
; Can do cleanup or whatever. Must not return anything.
|
||||||
;
|
;
|
||||||
|
|
||||||
DEINSTALL:
|
UNINSTALL:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
8
libsrc/atari/libref.s
Normal file
8
libsrc/atari/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
@@ -27,16 +27,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -25,16 +25,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -28,16 +28,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -26,16 +26,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -25,16 +25,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -23,16 +23,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word DEINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
@@ -141,11 +145,11 @@ settestadr2:
|
|||||||
jmp vdcsetsrcaddr
|
jmp vdcsetsrcaddr
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; DEINSTALL routine. Is called before the driver is removed from memory.
|
; UNINSTALL routine. Is called before the driver is removed from memory.
|
||||||
; Can do cleanup or whatever. Must not return anything.
|
; Can do cleanup or whatever. Must not return anything.
|
||||||
;
|
;
|
||||||
|
|
||||||
DEINSTALL:
|
UNINSTALL:
|
||||||
;on C128 restore font and clear the screen?
|
;on C128 restore font and clear the screen?
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|||||||
8
libsrc/c128/libref.s
Normal file
8
libsrc/c128/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
@@ -24,16 +24,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
8
libsrc/c16/libref.s
Normal file
8
libsrc/c16/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
@@ -22,16 +22,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -22,16 +22,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -27,16 +27,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -22,16 +22,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -24,16 +24,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -26,16 +26,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -24,16 +24,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -27,16 +27,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
@@ -26,16 +26,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
8
libsrc/c64/libref.s
Normal file
8
libsrc/c64/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
@@ -24,16 +24,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
8
libsrc/cbm510/libref.s
Normal file
8
libsrc/cbm510/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
@@ -24,16 +24,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
8
libsrc/cbm610/libref.s
Normal file
8
libsrc/cbm610/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
; Common functions of the extended memory API.
|
; Common functions of the extended memory API.
|
||||||
;
|
;
|
||||||
|
|
||||||
.import return0
|
.import return0, em_libref
|
||||||
.importzp ptr1
|
.importzp ptr1
|
||||||
|
|
||||||
.include "em-kernel.inc"
|
.include "em-kernel.inc"
|
||||||
@@ -55,6 +55,15 @@ _em_install:
|
|||||||
dey
|
dey
|
||||||
bpl @L0
|
bpl @L0
|
||||||
|
|
||||||
|
; Set the library reference
|
||||||
|
|
||||||
|
ldy #EMD_HDR::LIBREF
|
||||||
|
lda #<em_libref
|
||||||
|
sta (ptr1),y
|
||||||
|
iny
|
||||||
|
lda #>em_libref
|
||||||
|
sta (ptr1),y
|
||||||
|
|
||||||
; Copy the jump vectors
|
; Copy the jump vectors
|
||||||
|
|
||||||
ldy #EMD_HDR::JUMPTAB
|
ldy #EMD_HDR::JUMPTAB
|
||||||
|
|||||||
@@ -21,16 +21,20 @@
|
|||||||
.byte $65, $6d, $64 ; "emd"
|
.byte $65, $6d, $64 ; "emd"
|
||||||
.byte EMD_API_VERSION ; EM API version number
|
.byte EMD_API_VERSION ; EM API version number
|
||||||
|
|
||||||
; Jump table.
|
; Library reference
|
||||||
|
|
||||||
.word INSTALL
|
.addr $0000
|
||||||
.word UNINSTALL
|
|
||||||
.word PAGECOUNT
|
; Jump table
|
||||||
.word MAP
|
|
||||||
.word USE
|
.addr INSTALL
|
||||||
.word COMMIT
|
.addr UNINSTALL
|
||||||
.word COPYFROM
|
.addr PAGECOUNT
|
||||||
.word COPYTO
|
.addr MAP
|
||||||
|
.addr USE
|
||||||
|
.addr COMMIT
|
||||||
|
.addr COPYFROM
|
||||||
|
.addr COPYTO
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Constants
|
; Constants
|
||||||
|
|||||||
8
libsrc/geos-cbm/system/libref.s
Normal file
8
libsrc/geos-cbm/system/libref.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
;
|
||||||
|
; Oliver Schmidt, 2013-05-31
|
||||||
|
;
|
||||||
|
|
||||||
|
.export em_libref
|
||||||
|
.import _exit
|
||||||
|
|
||||||
|
em_libref := _exit
|
||||||
Reference in New Issue
Block a user