2 GEOS constants reassembled 4-2-99
3 ported to small C 26.8.99, 25-26.10.99
4 Maciej 'YTM/Elysium' Witkowiak
12 #include <geos/gstruct.h>
15 #define nameBuf char[17]
16 #define blockBuf char[256]
18 #define zpage *(char*)0x0000
20 #define CPU_DDR *(char*)0x00
21 #define CPU_DATA *(char*)0x01
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
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
122 /* Here's my own errno location, I hope this won't confilct with anything... */
123 #define errno *(char*)0x91
125 #define irqvec *(unsigned int*)0x0314
126 #define bkvec *(unsigned int*)0x0316
127 #define nmivec *(unsigned int*)0x0318
129 #define APP_RAM *(char*)0x0400
130 #define BACK_SCR_BASE *(char*)0x6000
131 #define PRINTBASE *(char*)0x7900
132 #define OS_VARS *(char*)0x8000
134 #define diskBlkBuf ((blockBuf)0x8000)
135 #define fileHeader (*(struct fileheader*)0x8100)
136 #define curDirHead ((blockBuf)0x8200)
137 #define fileTrScTab ((struct tr_se[128])0x8300)
138 #define dirEntryBuf (*(struct filehandle*)0x8400)
140 #define DrACurDkNm ((nameBuf)0x841e)
141 #define DrBCurDkNm ((nameBuf)0x8430)
142 #define dataFileName ((nameBuf)0x8442)
143 #define dataDiskName ((nameBuf)0x8453)
144 #define PrntFileName ((nameBuf)0x8465)
145 #define PrntDiskName ((nameBuf)0x8476)
147 #define curDrive *(char*)0x8489
148 #define diskOpenFlg *(char*)0x848a
149 #define isGEOS *(char*)0x848b
150 #define interleave *(char*)0x848c
151 #define NUMDRV *(char*)0x848d
153 #define driveType ((char[4])0x848e)
154 #define turboFlags ((char[4])0x8492)
156 #define VLIRInfo (*(struct VLIR_info*)0x8496)
158 #define appMain *(unsigned int*)0x849b
159 #define intTopVector *(unsigned int*)0x849d
160 #define intBotVector *(unsigned int*)0x849f
161 #define mouseVector *(unsigned int*)0x84a1
162 #define keyVector *(unsigned int*)0x84a3
163 #define inputVector *(unsigned int*)0x84a5
164 #define mouseFaultVec *(unsigned int*)0x84a7
165 #define otherPressVec *(unsigned int*)0x84a9
166 #define StringFaultVec *(unsigned int*)0x84ab
167 #define alarmTmtVector *(unsigned int*)0x84ad
168 #define BRKVector *(unsigned int*)0x84af
169 #define RecoverVector *(unsigned int*)0x84b1
170 #define selectionFlash *(char*)0x84b3
171 #define alphaFlag *(char*)0x84b4
172 #define iconSelFlg *(char*)0x84b5
173 #define faultData *(char*)0x84b6
174 #define menuNumber *(char*)0x84b7
175 #define mouseWindow (*(struct window*)0x84b8)
176 #define stringXY (*(struct pixel*)0x84be)
177 #define mousePicData *(char*)0x84c1
179 #define maxMouseSpeed *(char*)0x8501
180 #define minMouseSpeed *(char*)0x8502
181 #define mouseAccel *(char*)0x8503
182 #define keyData *(char*)0x8504
183 #define mouseData *(char*)0x8505
184 #define inputData *(char*)0x8506
185 #define mouseSpeed *(char*)0x8507
186 #define random *(char*)0x850a
187 #define saveFontTab (*(struct fontdesc*)0x850c)
189 #define dblClickCount *(char*)0x8515
190 #define system_date (*(struct s_date*)0x8516)
191 #define alarmSetFlag *(char*)0x851c
192 #define sysDBData *(char*)0x851d
193 #define screencolors *(char*)0x851e
194 #define dlgBoxRamBuf *(char*)0x851f
196 #define savedmoby2 *(char*)0x88bb
197 #define scr80polar *(char*)0x88bc
198 #define scr80colors *(char*)0x88bd
199 #define vdcClrMode *(char*)0x88be
200 #define driveData ((char[4])0x88bf)
201 #define ramExpSize *(char*)0x88c3
202 #define sysRAMFlg *(char*)0x88c4
203 #define firstBoot *(char*)0x88c5
204 #define curType *(char*)0x88c6
205 #define ramBase *(char*)0x88c7
207 #define inputDevName *(char*)0x88cb
208 #define memBase *(char*)0x88cf*/
209 #define inputDevName ((nameBuf)0x88cb)
210 #define DrCCurDkNm ((nameBuf)0x88dc)
211 #define DrDCurDkNm ((nameBuf)0x88ee)
212 #define dir2Head ((blockBuf)0x8900)
213 #define SPRITE_PICS *(char*)0x8a00
214 #define sprpic ((char[8][64])0x8a00)
215 #define COLOR_MATRIX ((char[1000])0x8c00)
216 #define objPointer ((char[8])0x8ff8)
218 #define DISK_BASE *(char*)0x9000
219 #define SCREEN_BASE *(char*)0xa000
220 #define OS_ROM *(char*)0xc000
221 #define OS_JUMPTAB *(char*)0xc100
222 #define RAMC_BASE *(char*)0xde00
223 #define RAMC_WINDOW *(char*)0xdf00
224 #define EXP_BASE *(char*)0xdf00
225 #define MOUSE_BASE_128 *(char*)0xfd00
226 #define MOUSE_JMP_128 *(char*)0xfd00
227 #define END_MOUSE_128 *(char*)0xfe80
228 #define MOUSE_BASE *(char*)0xfe80
229 #define MOUSE_JMP *(char*)0xfe80
231 #define config *(char*)0xff00
232 #define END_MOUSE *(char*)0xfffa
233 #define NMI_VECTOR *(unsigned int*)0xfffa
234 #define RESET_VECTOR *(unsigned int*)0xfffc
235 #define IRQ_VECTOR *(unsigned int*)0xfffe
237 #define vicbase *(char*)0xd000
238 #define sidbase *(char*)0xd400
239 #define mmu *(char*)0xd500
240 #define VDC *(char*)0xd600
241 #define ctab *(char*)0xd800
242 #define cia1base *(char*)0xdc00
243 #define cia2base *(char*)0xdd00
245 #define mob0xpos *(char*)0xd000
246 #define mob0ypos *(char*)0xd001
247 #define mob1xpos *(char*)0xd002
248 #define mob1ypos *(char*)0xd003
249 #define mob2xpos *(char*)0xd004
250 #define mob2ypos *(char*)0xd005
251 #define mob3xpos *(char*)0xd006
252 #define mob3ypos *(char*)0xd007
253 #define mob4xpos *(char*)0xd008
254 #define mob4ypos *(char*)0xd009
255 #define mob5xpos *(char*)0xd00a
256 #define mob5ypos *(char*)0xd00b
257 #define mob6xpos *(char*)0xd00c
258 #define mob6ypos *(char*)0xd00d
259 #define mob7xpos *(char*)0xd00e
260 #define mob7ypos *(char*)0xd00f
261 #define msbxpos *(char*)0xd010
262 #define grcntrl1 *(char*)0xd011
263 #define rasreg *(char*)0xd012
264 #define lpxpos *(char*)0xd013
265 #define lpypos *(char*)0xd014
266 #define mobenble *(char*)0xd015
267 #define grcntrl2 *(char*)0xd016
268 #define grmemptr *(char*)0xd018
269 #define grirq *(char*)0xd019
270 #define grirqen *(char*)0xd01a
271 #define moby2 *(char*)0xd017
272 #define mobprior *(char*)0xd01b
273 #define mobmcm *(char*)0xd01c
274 #define mobx2 *(char*)0xd01d
275 #define mobmobcol *(char*)0xd01e
276 #define mobbakcol *(char*)0xd01f
277 #define extclr *(char*)0xd020
278 #define bakclr0 *(char*)0xd021
279 #define bakclr1 *(char*)0xd022
280 #define bakclr2 *(char*)0xd023
281 #define bakclr3 *(char*)0xd024
282 #define mcmclr0 *(char*)0xd025
283 #define mcmclr1 *(char*)0xd026
284 #define mob0clr *(char*)0xd027
285 #define mob1clr *(char*)0xd028
286 #define mob2clr *(char*)0xd029
287 #define mob3clr *(char*)0xd02a
288 #define mob4clr *(char*)0xd02b
289 #define mob5clr *(char*)0xd02c
290 #define mob6clr *(char*)0xd02d
291 #define mob7clr *(char*)0xd02e
292 #define keyreg *(char*)0xd02f
293 #define clkreg *(char*)0xd030
295 #define vdcreg *(char*)0xd600
296 #define vdcdata *(char*)0xd601