1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00

Use structs

git-svn-id: svn://svn.cc65.org/cc65/trunk@2774 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2003-12-16 21:08:24 +00:00
parent 5010b8be45
commit 5e3a3eaed1

View File

@ -34,30 +34,38 @@
;------------------------------------------------------------------------------
; Driver header stuff
EMD_HDR_ID = 0 ; 0x65, 0x6d, 0x64 ("emd")
EMD_HDR_VERSION = 3 ; Interface version
EMD_HDR_JUMPTAB = 4
EMD_HDR_INSTALL = EMD_HDR_JUMPTAB+0 ; INSTALL routine
EMD_HDR_UNINSTALL = EMD_HDR_JUMPTAB+2 ; UNINSTALL routine
EMD_HDR_PAGECOUNT = EMD_HDR_JUMPTAB+4 ; PAGECOUNT routine
EMD_HDR_MAP = EMD_HDR_JUMPTAB+6 ; MAP routine
EMD_HDR_USE = EMD_HDR_JUMPTAB+8 ; USE routine
EMD_HDR_MAPCLEAN = EMD_HDR_JUMPTAB+10 ; MAPCLEAN routine
EMD_HDR_COPYFROM = EMD_HDR_JUMPTAB+12 ; COPYFROM routine
EMD_HDR_COPYTO = EMD_HDR_JUMPTAB+14 ; COPYTO routine
EMD_HDR_JUMPCOUNT = 8 ; Number of jump vectors
; The driver header
.struct EMD_HDR
ID .byte 3 ; Contains 0x65, 0x6d, 0x64 ("emd")
VERSION .byte 1 ; Interface version
JUMPTAB .struct
INSTALL .word ; INSTALL routine
UNINSTALL .word ; UNINSTALL routine
PAGECOUNT .word ; PAGECOUNT routine
MAP .word ; MAP routine
USE .word ; USE routine
MAPCLEAN .word ; MAPCLEAN routine
COPYFROM .word ; COPYFROM routine
COPYTO .word ; COPYTO routine
.endstruct
.endstruct
;------------------------------------------------------------------------------
; Offsets into the em_copy structure
; The AMD API version, stored in EMD_HDR::VERSION
EM_COPY_BUF = 0
EM_COPY_OFFS = 2
EM_COPY_PAGE = 3
EM_COPY_COUNT = 5
EMD_API_VERSION = $00
;------------------------------------------------------------------------------
; The asm equivalent to the C em_copy structure
.struct EM_COPY
BUF .word ; Memory buffer to copy from or to
OFFS .byte ; Offset into page
PAGE .word ; Starting page to copy from or to
COUNT .word ; Number of bytes to copy
UNUSED .byte ; Make the size 8 bytes
.endstruct
;------------------------------------------------------------------------------
; Variables
@ -84,7 +92,7 @@ EM_COPY_COUNT = 5
.global _em_uninstall
.global _em_pagecount
.global _em_map
.global _em_use
.global _em_use
.global _em_commit
.global _em_copyfrom
.global _em_copyto