2 GEOS system addresses and locations
4 reassembled by Maciej 'YTM/Elysium' Witkowiak
11 #include <geos/gstruct.h>
14 #define nameBuf char[17]
15 #define blockBuf char[256]
17 #define zpage ((blockBuf)0x0000)
19 #define CPU_DDR *(char*)0x00
20 #define CPU_DATA *(char*)0x01
22 #define r0 *(unsigned int*)0x02
23 #define r0L *(char*)0x02
24 #define r0H *(char*)0x03
25 #define r1 *(unsigned int*)0x04
26 #define r1L *(char*)0x04
27 #define r1H *(char*)0x05
28 #define drawWindow (*(struct window*)0x06)
29 #define r2 *(unsigned int*)0x06
30 #define r2L *(char*)0x06
31 #define r2H *(char*)0x07
32 #define r3 *(unsigned int*)0x08
33 #define r3L *(char*)0x08
34 #define r3H *(char*)0x09
35 #define r4 *(unsigned int*)0x0a
36 #define r4L *(char*)0x0a
37 #define r4H *(char*)0x0b
38 #define r5 *(unsigned int*)0x0c
39 #define r5L *(char*)0x0c
40 #define r5H *(char*)0x0d
41 #define r6 *(unsigned int*)0x0e
42 #define r6L *(char*)0x0e
43 #define r6H *(char*)0x0f
44 #define r7 *(unsigned int*)0x10
45 #define r7L *(char*)0x10
46 #define r7H *(char*)0x11
47 #define r8 *(unsigned int*)0x12
48 #define r8L *(char*)0x12
49 #define r8H *(char*)0x13
50 #define r9 *(unsigned int*)0x14
51 #define r9L *(char*)0x14
52 #define r9H *(char*)0x15
53 #define r10 *(unsigned int*)0x16
54 #define r10L *(char*)0x16
55 #define r10H *(char*)0x17
56 #define r11 *(unsigned int*)0x18
57 #define r11L *(char*)0x18
58 #define r11H *(char*)0x19
59 #define r12 *(unsigned int*)0x1a
60 #define r12L *(char*)0x1a
61 #define r12H *(char*)0x1b
62 #define r13 *(unsigned int*)0x1c
63 #define r13L *(char*)0x1c
64 #define r13H *(char*)0x1d
65 #define r14 *(unsigned int*)0x1e
66 #define r14L *(char*)0x1e
67 #define r14H *(char*)0x1f
68 #define r15 *(unsigned int*)0x20
69 #define r15L *(char*)0x20
70 #define r15H *(char*)0x21
72 #define curPattern *(unsigned int*)0x22
73 #define string *(unsigned int*)0x24
74 #define curFontDesc (*(struct fontdesc*)0x26)
75 #define currentMode *(char*)0x2e
76 #define dispBufferOn *(char*)0x2f
77 #define mouseOn *(char*)0x30
78 #define msePicPtr *(unsigned int*)0x31
79 #define curWindow (*(struct window*)0x33)
80 #define pressFlag *(char*)0x39
81 #define mousePos (*(struct pixel*)0x3a)
82 #define returnAddress *(unsigned int*)0x3d
83 #define graphMode *(char*)0x3f
84 #define STATUS *(char*)0x90
85 #define curDevice *(char*)0xba
87 #define irqvec (*(void_func*)0x0314)
88 #define bkvec (*(void_func*)0x0316)
89 #define nmivec (*(void_func*)0x0318)
91 #define APP_RAM (char*)0x0400
92 #define BACK_SCR_BASE (char*)0x6000
93 #define PRINTBASE (char*)0x7900
94 #define OS_VARS (char*)0x8000
96 #define diskBlkBuf ((blockBuf)0x8000)
97 #define fileHeader (*(struct fileheader*)0x8100)
98 #define curDirHead ((blockBuf)0x8200)
99 #define fileTrScTab ((struct tr_se[128])0x8300)
100 #define dirEntryBuf (*(struct filehandle*)0x8400)
102 #define DrACurDkNm ((nameBuf)0x841e)
103 #define DrBCurDkNm ((nameBuf)0x8430)
104 #define dataFileName ((nameBuf)0x8442)
105 #define dataDiskName ((nameBuf)0x8453)
106 #define PrntFileName ((nameBuf)0x8465)
107 #define PrntDiskName ((nameBuf)0x8476)
109 #define curDrive *(char*)0x8489
110 #define diskOpenFlg *(char*)0x848a
111 #define isGEOS *(char*)0x848b
112 #define interleave *(char*)0x848c
113 #define NUMDRV *(char*)0x848d
115 #define driveType ((char[4])0x848e)
116 #define turboFlags ((char[4])0x8492)
118 #define VLIRInfo (*(struct VLIR_info*)0x8496)
120 #define appMain (*(void_func*)0x849b)
121 #define intTopVector (*(void_func*)0x849d)
122 #define intBotVector (*(void_func*)0x849f)
123 #define mouseVector (*(void_func*)0x84a1)
124 #define keyVector (*(void_func*)0x84a3)
125 #define inputVector (*(void_func*)0x84a5)
126 #define mouseFaultVec (*(void_func*)0x84a7)
127 #define otherPressVec (*(void_func*)0x84a9)
128 #define StringFaultVec (*(void_func*)0x84ab)
129 #define alarmTmtVector (*(void_func*)0x84ad)
130 #define BRKVector (*(void_func*)0x84af)
131 #define RecoverVector (*(void_func*)0x84b1)
133 #define selectionFlash *(char*)0x84b3
134 #define alphaFlag *(char*)0x84b4
135 #define iconSelFlg *(char*)0x84b5
136 #define faultData *(char*)0x84b6
137 #define menuNumber *(char*)0x84b7
138 #define mouseWindow (*(struct window*)0x84b8)
139 #define stringXY (*(struct pixel*)0x84be)
140 #define mousePicData *(char*)0x84c1
142 #define maxMouseSpeed *(char*)0x8501
143 #define minMouseSpeed *(char*)0x8502
144 #define mouseAccel *(char*)0x8503
145 #define keyData *(char*)0x8504
146 #define mouseData *(char*)0x8505
147 #define inputData *(char*)0x8506
148 #define mouseSpeed *(char*)0x8507
149 #define random *(char*)0x850a
150 #define saveFontTab (*(struct fontdesc*)0x850c)
152 #define dblClickCount *(char*)0x8515
153 #define system_date (*(struct s_date*)0x8516)
154 #define alarmSetFlag *(char*)0x851c
155 #define sysDBData *(char*)0x851d
156 #define screencolors *(char*)0x851e
157 #define dlgBoxRamBuf *(char*)0x851f
159 #define savedmoby2 *(char*)0x88bb
160 #define scr80polar *(char*)0x88bc
161 #define scr80colors *(char*)0x88bd
162 #define vdcClrMode *(char*)0x88be
163 #define driveData ((char[4])0x88bf)
164 #define ramExpSize *(char*)0x88c3
165 #define sysRAMFlg *(char*)0x88c4
166 #define firstBoot *(char*)0x88c5
167 #define curType *(char*)0x88c6
168 #define ramBase *(char*)0x88c7
169 #define inputDevName ((nameBuf)0x88cb)
170 #define DrCCurDkNm ((nameBuf)0x88dc)
171 #define DrDCurDkNm ((nameBuf)0x88ee)
172 #define dir2Head ((blockBuf)0x8900)
173 #define SPRITE_PICS (char*)0x8a00
174 #define sprpic ((char[8][64])0x8a00)
175 #define COLOR_MATRIX ((char[1000])0x8c00)
176 #define objPointer ((char[8])0x8ff8)
178 #define DISK_BASE (char*)0x9000
179 #define SCREEN_BASE (char*)0xa000
180 #define OS_ROM (char*)0xc000
181 #define OS_JUMPTAB (char*)0xc100
182 #define EXP_BASE (char*)0xdf00
183 #define MOUSE_BASE_128 (char*)0xfd00
184 #define MOUSE_JMP_128 (char*)0xfd00
185 #define END_MOUSE_128 (char*)0xfe80
186 #define MOUSE_BASE (char*)0xfe80
187 #define MOUSE_JMP (char*)0xfe80
189 #define config *(char*)0xff00
190 #define END_MOUSE (char*)0xfffa
192 #define NMI_VECTOR (*(void_func*)0xfffa)
193 #define RESET_VECTOR (*(void_func*)0xfffc)
194 #define IRQ_VECTOR (*(void_func*)0xfffe)
196 #define vicbase (char*)0xd000
197 #define sidbase (char*)0xd400
198 #define mmu (char*)0xd500
199 #define VDC (char*)0xd600
200 #define ctab (char*)0xd800
201 #define cia1base (char*)0xdc00
202 #define cia2base (char*)0xdd00
204 #define mob0xpos *(char*)0xd000
205 #define mob0ypos *(char*)0xd001
206 #define mob1xpos *(char*)0xd002
207 #define mob1ypos *(char*)0xd003
208 #define mob2xpos *(char*)0xd004
209 #define mob2ypos *(char*)0xd005
210 #define mob3xpos *(char*)0xd006
211 #define mob3ypos *(char*)0xd007
212 #define mob4xpos *(char*)0xd008
213 #define mob4ypos *(char*)0xd009
214 #define mob5xpos *(char*)0xd00a
215 #define mob5ypos *(char*)0xd00b
216 #define mob6xpos *(char*)0xd00c
217 #define mob6ypos *(char*)0xd00d
218 #define mob7xpos *(char*)0xd00e
219 #define mob7ypos *(char*)0xd00f
220 #define msbxpos *(char*)0xd010
221 #define grcntrl1 *(char*)0xd011
222 #define rasreg *(char*)0xd012
223 #define lpxpos *(char*)0xd013
224 #define lpypos *(char*)0xd014
225 #define mobenble *(char*)0xd015
226 #define grcntrl2 *(char*)0xd016
227 #define grmemptr *(char*)0xd018
228 #define grirq *(char*)0xd019
229 #define grirqen *(char*)0xd01a
230 #define moby2 *(char*)0xd017
231 #define mobprior *(char*)0xd01b
232 #define mobmcm *(char*)0xd01c
233 #define mobx2 *(char*)0xd01d
234 #define mobmobcol *(char*)0xd01e
235 #define mobbakcol *(char*)0xd01f
236 #define extclr *(char*)0xd020
237 #define bakclr0 *(char*)0xd021
238 #define bakclr1 *(char*)0xd022
239 #define bakclr2 *(char*)0xd023
240 #define bakclr3 *(char*)0xd024
241 #define mcmclr0 *(char*)0xd025
242 #define mcmclr1 *(char*)0xd026
243 #define mob0clr *(char*)0xd027
244 #define mob1clr *(char*)0xd028
245 #define mob2clr *(char*)0xd029
246 #define mob3clr *(char*)0xd02a
247 #define mob4clr *(char*)0xd02b
248 #define mob5clr *(char*)0xd02c
249 #define mob6clr *(char*)0xd02d
250 #define mob7clr *(char*)0xd02e
251 #define keyreg *(char*)0xd02f
252 #define clkreg *(char*)0xd030
254 #define vdcreg *(char*)0xd600
255 #define vdcdata *(char*)0xd601