]> git.sur5r.net Git - cc65/blob - asminc/em-kernel.inc
Added new return code for get_ostype().
[cc65] / asminc / em-kernel.inc
1 ;/*****************************************************************************/
2 ;/*                                                                           */
3 ;/*                              em-kernel.inc                                */
4 ;/*                                                                           */
5 ;/*                           EM kernel interface                             */
6 ;/*                                                                           */
7 ;/*                                                                           */
8 ;/*                                                                           */
9 ;/* (C) 2002-2003 Ullrich von Bassewitz                                       */
10 ;/*               Römerstrasse 52                                             */
11 ;/*               D-70794 Filderstadt                                         */
12 ;/* EMail:        uz@cc65.org                                                 */
13 ;/*                                                                           */
14 ;/*                                                                           */
15 ;/* This software is provided 'as-is', without any expressed or implied       */
16 ;/* warranty.  In no event will the authors be held liable for any damages    */
17 ;/* arising from the use of this software.                                    */
18 ;/*                                                                           */
19 ;/* Permission is granted to anyone to use this software for any purpose,     */
20 ;/* including commercial applications, and to alter it and redistribute it    */
21 ;/* freely, subject to the following restrictions:                            */
22 ;/*                                                                           */
23 ;/* 1. The origin of this software must not be misrepresented; you must not   */
24 ;/*    claim that you wrote the original software. If you use this software   */
25 ;/*    in a product, an acknowledgment in the product documentation would be  */
26 ;/*    appreciated but is not required.                                       */
27 ;/* 2. Altered source versions must be plainly marked as such, and must not   */
28 ;/*    be misrepresented as being the original software.                      */
29 ;/* 3. This notice may not be removed or altered from any source              */
30 ;/*    distribution.                                                          */
31 ;/*                                                                           */
32 ;/*****************************************************************************/
33
34
35
36 ;------------------------------------------------------------------------------
37 ; The driver header
38
39 .struct EMD_HDR
40         ID      .byte   3       ; Contains 0x65, 0x6d, 0x64 ("emd")
41         VERSION .byte   1       ; Interface version
42         JUMPTAB .struct
43             INSTALL     .word   ; INSTALL routine
44             UNINSTALL   .word   ; UNINSTALL routine
45             PAGECOUNT   .word   ; PAGECOUNT routine
46             MAP .word   ; MAP routine
47             USE .word   ; USE routine
48             MAPCLEAN    .word   ; MAPCLEAN routine
49             COPYFROM    .word   ; COPYFROM routine
50             COPYTO      .word   ; COPYTO routine
51         .endstruct
52 .endstruct
53
54 ;------------------------------------------------------------------------------
55 ; The EMD API version, stored in EMD_HDR::VERSION
56
57 EMD_API_VERSION         = $00
58
59 ;------------------------------------------------------------------------------
60 ; The asm equivalent to the C em_copy structure
61
62 .struct EM_COPY
63         BUF     .word           ; Memory buffer to copy from or to
64         OFFS    .byte           ; Offset into page
65         PAGE    .word           ; Starting page to copy from or to
66         COUNT   .word           ; Number of bytes to copy
67         UNUSED  .byte           ; Make the size 8 bytes
68 .endstruct
69
70 ;------------------------------------------------------------------------------
71 ; Variables
72
73         .global _em_drv                         ; Pointer to driver
74
75 ;------------------------------------------------------------------------------
76 ; Driver entry points
77
78         .global emd_install
79         .global emd_uninstall
80         .global emd_pagecount
81         .global emd_map
82         .global emd_use
83         .global emd_commit
84         .global emd_copyfrom
85         .global emd_copyto
86
87 ;------------------------------------------------------------------------------
88 ; ASM functions
89
90         .global _em_unload
91         .global _em_install
92         .global _em_uninstall
93         .global _em_pagecount
94         .global _em_map
95         .global _em_use
96         .global _em_commit
97         .global _em_copyfrom
98         .global _em_copyto
99
100