From 5e3a3eaed11c77b0416666f16c3239b65c5602da Mon Sep 17 00:00:00 2001 From: cuz Date: Tue, 16 Dec 2003 21:08:24 +0000 Subject: [PATCH] Use structs git-svn-id: svn://svn.cc65.org/cc65/trunk@2774 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- asminc/em-kernel.inc | 48 ++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/asminc/em-kernel.inc b/asminc/em-kernel.inc index c5c21421b..a4fa7733c 100644 --- a/asminc/em-kernel.inc +++ b/asminc/em-kernel.inc @@ -34,30 +34,38 @@ ;------------------------------------------------------------------------------ -; Driver header stuff +; 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 -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 +;------------------------------------------------------------------------------ +; The AMD API version, stored in EMD_HDR::VERSION -EMD_HDR_JUMPCOUNT = 8 ; Number of jump vectors +EMD_API_VERSION = $00 ;------------------------------------------------------------------------------ -; Offsets into the em_copy structure +; The asm equivalent to the C em_copy structure -EM_COPY_BUF = 0 -EM_COPY_OFFS = 2 -EM_COPY_PAGE = 3 -EM_COPY_COUNT = 5 +.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 -- 2.39.5