]> git.sur5r.net Git - cc65/blob - asminc/em-kernel.inc
Fixed _textcolor definition.
[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         LIBREF  .addr           ; Library reference
43         JUMPTAB .struct
44             INSTALL     .addr   ; INSTALL routine
45             UNINSTALL   .addr   ; UNINSTALL routine
46             PAGECOUNT   .addr   ; PAGECOUNT routine
47             MAP         .addr   ; MAP routine
48             USE         .addr   ; USE routine
49             MAPCLEAN    .addr   ; MAPCLEAN routine
50             COPYFROM    .addr   ; COPYFROM routine
51             COPYTO      .addr   ; COPYTO routine
52         .endstruct
53 .endstruct
54
55 ;------------------------------------------------------------------------------
56 ; The EMD API version, stored in EMD_HDR::VERSION
57
58 EMD_API_VERSION         = $02
59
60 ;------------------------------------------------------------------------------
61 ; The asm equivalent to the C em_copy structure
62
63 .struct EM_COPY
64         BUF     .addr           ; Memory buffer to copy from or to
65         OFFS    .byte           ; Offset into page
66         PAGE    .word           ; Starting page to copy from or to
67         COUNT   .word           ; Number of bytes to copy
68         UNUSED  .byte           ; Make the size 8 bytes
69 .endstruct
70
71 ;------------------------------------------------------------------------------
72 ; Variables
73
74         .global _em_drv                         ; Pointer to driver
75
76 ;------------------------------------------------------------------------------
77 ; Driver entry points
78              
79         .global emd_install
80         .global emd_uninstall
81         .global emd_pagecount
82         .global emd_map
83         .global emd_use
84         .global emd_commit
85         .global emd_copyfrom
86         .global emd_copyto
87
88 ;------------------------------------------------------------------------------
89 ; ASM functions
90
91         .global em_clear_ptr
92
93 ;------------------------------------------------------------------------------
94 ; C callable functions
95
96         .global _em_load_driver
97         .global _em_unload
98         .global _em_install
99         .global _em_uninstall
100         .global _em_pagecount
101         .global _em_map
102         .global _em_use
103         .global _em_commit
104         .global _em_copyfrom
105         .global _em_copyto
106