]> git.sur5r.net Git - cc65/blob - include/geos/gsym.h
errno/oserrno stuff is cleaned up, saved some bytes in dialog box functions
[cc65] / include / geos / gsym.h
1 /*
2   GEOS constants reassembled 4-2-99
3   ported to small C 26.8.99, 25-26.10.99
4   Maciej 'YTM/Elysium' Witkowiak
5   ytm@elysium.pl
6 */
7
8 #ifndef _GSYM_H
9 #define _GSYM_H
10
11 #ifndef _GSTRUCT_H
12 #include <geos/gstruct.h>
13 #endif
14
15 #define nameBuf         char[17]
16 #define blockBuf        char[256]
17
18 #define zpage           *(char*)0x0000
19
20 #define CPU_DDR         *(char*)0x00
21 #define CPU_DATA        *(char*)0x01
22
23 #define r0              *(unsigned int*)0x02
24 #define r0L             *(char*)0x02
25 #define r0H             *(char*)0x03
26 #define r1              *(unsigned int*)0x04
27 #define r1L             *(char*)0x04
28 #define r1H             *(char*)0x05
29 #define drawWindow      (*(struct window*)0x06)
30 #define r2              *(unsigned int*)0x06
31 #define r2L             *(char*)0x06
32 #define r2H             *(char*)0x07
33 #define r3              *(unsigned int*)0x08
34 #define r3L             *(char*)0x08
35 #define r3H             *(char*)0x09
36 #define r4              *(unsigned int*)0x0a
37 #define r4L             *(char*)0x0a
38 #define r4H             *(char*)0x0b
39 #define r5              *(unsigned int*)0x0c
40 #define r5L             *(char*)0x0c
41 #define r5H             *(char*)0x0d
42 #define r6              *(unsigned int*)0x0e
43 #define r6L             *(char*)0x0e
44 #define r6H             *(char*)0x0f
45 #define r7              *(unsigned int*)0x10
46 #define r7L             *(char*)0x10
47 #define r7H             *(char*)0x11
48 #define r8              *(unsigned int*)0x12
49 #define r8L             *(char*)0x12
50 #define r8H             *(char*)0x13
51 #define r9              *(unsigned int*)0x14
52 #define r9L             *(char*)0x14
53 #define r9H             *(char*)0x15
54 #define r10             *(unsigned int*)0x16
55 #define r10L            *(char*)0x16
56 #define r10H            *(char*)0x17
57 #define r11             *(unsigned int*)0x18
58 #define r11L            *(char*)0x18
59 #define r11H            *(char*)0x19
60 #define r12             *(unsigned int*)0x1a
61 #define r12L            *(char*)0x1a
62 #define r12H            *(char*)0x1b
63 #define r13             *(unsigned int*)0x1c
64 #define r13L            *(char*)0x1c
65 #define r13H            *(char*)0x1d
66 #define r14             *(unsigned int*)0x1e
67 #define r14L            *(char*)0x1e
68 #define r14H            *(char*)0x1f
69 #define r15             *(unsigned int*)0x20
70 #define r15L            *(char*)0x20
71 #define r15H            *(char*)0x21
72 /* WARNING - these are used by C as temporary registers! */
73 #define a0              *(unsigned int*)0xfb
74 #define a0L             *(char*)0xfb
75 #define a0H             *(char*)0xfc
76 #define a1              *(unsigned int*)0xfd
77 #define a1L             *(char*)0xfd
78 #define a1H             *(char*)0xfe
79 #define a2              *(unsigned int*)0x70
80 #define a2L             *(char*)0x70
81 #define a2H             *(char*)0x71
82 #define a3              *(unsigned int*)0x72
83 #define a3L             *(char*)0x72
84 #define a3H             *(char*)0x73
85 #define a4              *(unsigned int*)0x74
86 #define a4L             *(char*)0x74
87 #define a4H             *(char*)0x75
88 #define a5              *(unsigned int*)0x76
89 #define a5L             *(char*)0x76
90 #define a5H             *(char*)0x77
91 #define a6              *(unsigned int*)0x78
92 #define a6L             *(char*)0x78
93 #define a6H             *(char*)0x79
94 #define a7              *(unsigned int*)0x7a
95 #define a7L             *(char*)0x7a
96 #define a7H             *(char*)0x7b
97 #define a8              *(unsigned int*)0x7c
98 #define a8L             *(char*)0x7c
99 #define a8H             *(char*)0x7d
100 #define a9              *(unsigned int*)0x7e
101 #define a9L             *(char*)0x7e
102 #define a9H             *(char*)0x7f
103
104 #define curPattern      *(unsigned int*)0x22
105 #define string          *(unsigned int*)0x24
106 #define curFontDesc     (*(struct fontdesc*)0x26)
107 #define currentMode     *(char*)0x2e
108 #define dispBufferOn    *(char*)0x2f
109 #define mouseOn         *(char*)0x30
110 #define RAM_64K         *(char*)0x30
111 #define msePicPtr       *(unsigned int*)0x31
112 #define curWindow       (*(struct window*)0x33)
113 #define pressFlag       *(char*)0x39
114 #define mousePos        (*(struct pixel*)0x3a)
115 #define returnAddress   *(unsigned int*)0x3d
116 #define graphMode       *(char*)0x3f
117 /*#define       TURBO_DD00      *(char*)0x8e
118   #define       TURBO_DD00_CPY  *(char*)0x8f*/
119 #define STATUS          *(char*)0x90
120 #define curDevice       *(char*)0xba
121
122 #define irqvec          *(unsigned int*)0x0314
123 #define bkvec           *(unsigned int*)0x0316
124 #define nmivec          *(unsigned int*)0x0318
125
126 #define APP_RAM         *(char*)0x0400
127 #define BACK_SCR_BASE   *(char*)0x6000
128 #define PRINTBASE       *(char*)0x7900
129 #define OS_VARS         *(char*)0x8000
130
131 #define diskBlkBuf      ((blockBuf)0x8000)
132 #define fileHeader      (*(struct fileheader*)0x8100)
133 #define curDirHead      ((blockBuf)0x8200)
134 #define fileTrScTab     ((struct tr_se[128])0x8300)
135 #define dirEntryBuf     (*(struct filehandle*)0x8400)
136
137 #define DrACurDkNm      ((nameBuf)0x841e)
138 #define DrBCurDkNm      ((nameBuf)0x8430)
139 #define dataFileName    ((nameBuf)0x8442)
140 #define dataDiskName    ((nameBuf)0x8453)
141 #define PrntFileName    ((nameBuf)0x8465)
142 #define PrntDiskName    ((nameBuf)0x8476)
143
144 #define curDrive        *(char*)0x8489
145 #define diskOpenFlg     *(char*)0x848a
146 #define isGEOS          *(char*)0x848b
147 #define interleave      *(char*)0x848c
148 #define NUMDRV          *(char*)0x848d
149
150 #define driveType       ((char[4])0x848e)
151 #define turboFlags      ((char[4])0x8492)
152
153 #define VLIRInfo        (*(struct VLIR_info*)0x8496)
154
155 #define appMain         *(unsigned int*)0x849b
156 #define intTopVector    *(unsigned int*)0x849d
157 #define intBotVector    *(unsigned int*)0x849f
158 #define mouseVector     *(unsigned int*)0x84a1
159 #define keyVector       *(unsigned int*)0x84a3
160 #define inputVector     *(unsigned int*)0x84a5
161 #define mouseFaultVec   *(unsigned int*)0x84a7
162 #define otherPressVec   *(unsigned int*)0x84a9
163 #define StringFaultVec  *(unsigned int*)0x84ab
164 #define alarmTmtVector  *(unsigned int*)0x84ad
165 #define BRKVector       *(unsigned int*)0x84af
166 #define RecoverVector   *(unsigned int*)0x84b1
167 #define selectionFlash  *(char*)0x84b3
168 #define alphaFlag       *(char*)0x84b4
169 #define iconSelFlg      *(char*)0x84b5
170 #define faultData       *(char*)0x84b6
171 #define menuNumber      *(char*)0x84b7
172 #define mouseWindow     (*(struct window*)0x84b8)
173 #define stringXY        (*(struct pixel*)0x84be)
174 #define mousePicData    *(char*)0x84c1
175
176 #define maxMouseSpeed   *(char*)0x8501
177 #define minMouseSpeed   *(char*)0x8502
178 #define mouseAccel      *(char*)0x8503
179 #define keyData         *(char*)0x8504
180 #define mouseData       *(char*)0x8505
181 #define inputData       *(char*)0x8506
182 #define mouseSpeed      *(char*)0x8507
183 #define random          *(char*)0x850a
184 #define saveFontTab     (*(struct fontdesc*)0x850c)
185
186 #define dblClickCount   *(char*)0x8515
187 #define system_date     (*(struct s_date*)0x8516)
188 #define alarmSetFlag    *(char*)0x851c
189 #define sysDBData       *(char*)0x851d
190 #define screencolors    *(char*)0x851e
191 #define dlgBoxRamBuf    *(char*)0x851f
192
193 #define savedmoby2      *(char*)0x88bb
194 #define scr80polar      *(char*)0x88bc
195 #define scr80colors     *(char*)0x88bd
196 #define vdcClrMode      *(char*)0x88be
197 #define driveData       ((char[4])0x88bf)
198 #define ramExpSize      *(char*)0x88c3
199 #define sysRAMFlg       *(char*)0x88c4
200 #define firstBoot       *(char*)0x88c5
201 #define curType         *(char*)0x88c6
202 #define ramBase         *(char*)0x88c7
203 /*Original:
204   #define       inputDevName    *(char*)0x88cb
205   #define       memBase         *(char*)0x88cf*/
206 #define inputDevName    ((nameBuf)0x88cb)
207 #define DrCCurDkNm      ((nameBuf)0x88dc)
208 #define DrDCurDkNm      ((nameBuf)0x88ee)
209 #define dir2Head        ((blockBuf)0x8900)
210 #define SPRITE_PICS     *(char*)0x8a00
211 #define sprpic          ((char[8][64])0x8a00)
212 #define COLOR_MATRIX    ((char[1000])0x8c00)
213 #define objPointer      ((char[8])0x8ff8)
214
215 #define DISK_BASE       *(char*)0x9000
216 #define SCREEN_BASE     *(char*)0xa000
217 #define OS_ROM          *(char*)0xc000
218 #define OS_JUMPTAB      *(char*)0xc100
219 #define RAMC_BASE       *(char*)0xde00
220 #define RAMC_WINDOW     *(char*)0xdf00
221 #define EXP_BASE        *(char*)0xdf00
222 #define MOUSE_BASE_128  *(char*)0xfd00
223 #define MOUSE_JMP_128   *(char*)0xfd00
224 #define END_MOUSE_128   *(char*)0xfe80
225 #define MOUSE_BASE      *(char*)0xfe80
226 #define MOUSE_JMP       *(char*)0xfe80
227
228 #define config          *(char*)0xff00
229 #define END_MOUSE       *(char*)0xfffa
230 #define NMI_VECTOR      *(unsigned int*)0xfffa
231 #define RESET_VECTOR    *(unsigned int*)0xfffc
232 #define IRQ_VECTOR      *(unsigned int*)0xfffe
233
234 #define vicbase         *(char*)0xd000
235 #define sidbase         *(char*)0xd400
236 #define mmu             *(char*)0xd500
237 #define VDC             *(char*)0xd600
238 #define ctab            *(char*)0xd800
239 #define cia1base        *(char*)0xdc00
240 #define cia2base        *(char*)0xdd00
241
242 #define mob0xpos        *(char*)0xd000
243 #define mob0ypos        *(char*)0xd001
244 #define mob1xpos        *(char*)0xd002
245 #define mob1ypos        *(char*)0xd003
246 #define mob2xpos        *(char*)0xd004
247 #define mob2ypos        *(char*)0xd005
248 #define mob3xpos        *(char*)0xd006
249 #define mob3ypos        *(char*)0xd007
250 #define mob4xpos        *(char*)0xd008
251 #define mob4ypos        *(char*)0xd009
252 #define mob5xpos        *(char*)0xd00a
253 #define mob5ypos        *(char*)0xd00b
254 #define mob6xpos        *(char*)0xd00c
255 #define mob6ypos        *(char*)0xd00d
256 #define mob7xpos        *(char*)0xd00e
257 #define mob7ypos        *(char*)0xd00f
258 #define msbxpos         *(char*)0xd010
259 #define grcntrl1        *(char*)0xd011
260 #define rasreg          *(char*)0xd012
261 #define lpxpos          *(char*)0xd013
262 #define lpypos          *(char*)0xd014
263 #define mobenble        *(char*)0xd015
264 #define grcntrl2        *(char*)0xd016
265 #define grmemptr        *(char*)0xd018
266 #define grirq           *(char*)0xd019
267 #define grirqen         *(char*)0xd01a
268 #define moby2           *(char*)0xd017
269 #define mobprior        *(char*)0xd01b
270 #define mobmcm          *(char*)0xd01c
271 #define mobx2           *(char*)0xd01d
272 #define mobmobcol       *(char*)0xd01e
273 #define mobbakcol       *(char*)0xd01f
274 #define extclr          *(char*)0xd020
275 #define bakclr0         *(char*)0xd021
276 #define bakclr1         *(char*)0xd022
277 #define bakclr2         *(char*)0xd023
278 #define bakclr3         *(char*)0xd024
279 #define mcmclr0         *(char*)0xd025
280 #define mcmclr1         *(char*)0xd026
281 #define mob0clr         *(char*)0xd027
282 #define mob1clr         *(char*)0xd028
283 #define mob2clr         *(char*)0xd029
284 #define mob3clr         *(char*)0xd02a
285 #define mob4clr         *(char*)0xd02b
286 #define mob5clr         *(char*)0xd02c
287 #define mob6clr         *(char*)0xd02d
288 #define mob7clr         *(char*)0xd02e
289 #define keyreg          *(char*)0xd02f
290 #define clkreg          *(char*)0xd030
291
292 #define vdcreg          *(char*)0xd600
293 #define vdcdata         *(char*)0xd601
294
295 #endif