2
3
4
5
6
7
8
9
10
11
12
13
14
16#ifndef EVMU_ADDRESS_SPACE_H
17#define EVMU_ADDRESS_SPACE_H
24
25
29
30
31
32#define EVMU_ADDRESS_SEGMENT_RAM_BASE 0x00
33#define EVMU_ADDRESS_SEGMENT_RAM_END 0xff
34#define EVMU_ADDRESS_SEGMENT_RAM_SIZE 256
35#define EVMU_ADDRESS_SEGMENT_RAM_BANKS 2
39#define EVMU_ADDRESS_SEGMENT_STACK_BASE 0x80
40#define EVMU_ADDRESS_SEGMENT_STACK_END 0xff
41#define EVMU_ADDRESS_SEGMENT_STACK_SIZE 128
42#define EVMU_ADDRESS_SEGMENT_STACK_BANKS 1
44#define EVMU_STACK_ADDRESS(o) (EVMU_ADDRESS_SEGMENT_STACK_BEGIN + o)
46#define EVMU_ADDRESS_SEGMENT_SFR_BASE 0x100
47#define EVMU_ADDRESS_SEGMENT_SFR_END 0x17f
48#define EVMU_ADDRESS_SEGMENT_SFR_SIZE 128
49#define EVMU_ADDRESS_SEGMENT_SFR_BANKS 1
51#define EVMU_SFR_ADDRESS(o) (EVMU_ADDRESS_SEGMENT_SFR_BEGIN + o)
53#define EVMU_XRAM_ROW_BYTES 6
54#define EVMU_XRAM_ROW_COUNT 16
55#define EVMU_ADDRESS_SEGMENT_XRAM_BASE 0x180
56#define EVMU_ADDRESS_SEGMENT_XRAM_END 0x1fb
57#define EVMU_ADDRESS_SEGMENT_XRAM_SIZE 0x80
58#define EVMU_ADDRESS_SEGMENT_XRAM_BANKS 3
65
66
67
68
69
72
73
74
75
77#define EVMU_ADDRESS_SYSTEM_YEAR_MSB_BCD 0x10
78#define EVMU_ADDRESS_SYSTEM_YEAR_LSB_BCD 0x11
79#define EVMU_ADDRESS_SYSTEM_MONTH_BCD 0x12
80#define EVMU_ADDRESS_SYSTEM_DAY_BCD 0x13
81#define EVMU_ADDRESS_SYSTEM_HOUR_BCD 0x14
82#define EVMU_ADDRESS_SYSTEM_MINUTE_BCD 0x15
83#define EVMU_ADDRESS_SYSTEM_SEC_BCD 0x16
84#define EVMU_ADDRESS_SYSTEM_YEAR_MSB 0x17
85#define EVMU_ADDRESS_SYSTEM_YEAR_LSB 0x18
86#define EVMU_ADDRESS_SYSTEM_MONTH 0x19
87#define EVMU_ADDRESS_SYSTEM_DAY 0x1a
88#define EVMU_ADDRESS_SYSTEM_HOUR 0x1b
89#define EVMU_ADDRESS_SYSTEM_MINUTE 0x1c
90#define EVMU_ADDRESS_SYSTEM_SEC 0x1d
91#define EVMU_ADDRESS_SYSTEM_HALF_SEC 0x1e
92#define EVMU_ADDRESS_SYSTEM_LEAP_YEAR 0x1f
96
97
98
99
101#define EVMU_ADDRESS_SYSTEM_MODE 0x30
102#define EVMU_ADDRESS_SYSTEM_DATE_SET 0x31
105#define EVMU_ADDRESS_SYSTEM_QUART_YEAR_MSB 0x50
106#define EVMU_ADDRESS_SYSTEM_QUART_YEAR_LSB 0x51
107#define EVMU_ADDRESS_SYSTEM_CURSOR_POS_COL 0x60
108#define EVMU_ADDRESS_SYSTEM_CURSOR_POS_ROW 0x61
109#define EVMU_ADDRESS_SYSTEM_GAME_LAST_BLK 0x6d
110#define EVMU_ADDRESS_SYSTEM_BATTERY_CHECK 0x6e
113#define EVMU_ADDRESS_SYSTEM_STACK_BASE 0x80
115#define EVMU_ADDRESS_SYSTEM_STACK_END 0xff
119
120
121
122
123
124
125#define EVMU_ADDRESS_USER_FMBANK 0x7d
126#define EVMU_ADDRESS_USER_FMADD_H 0x7e
127#define EVMU_ADDRESS_USER_FMADD_L 0x7f
128#define EVMU_ADDRESS_USER_FM_RET_BASE 0x80
129#define EVMU_ADDRESS_USER_FM_RET_SIZE 128
130#define EVMU_ADDRESS_USER_FM_RET_END 0xff
134
135
136
137
138
139
140
142#define EVMU_ADDRESS_SFR_ACC 0x100
143#define EVMU_ADDRESS_SFR_PSW 0x101
144#define EVMU_ADDRESS_SFR_B 0x102
145#define EVMU_ADDRESS_SFR_C 0x103
146#define EVMU_ADDRESS_SFR_TRL 0x104
147#define EVMU_ADDRESS_SFR_TRH 0x105
148#define EVMU_ADDRESS_SFR_SP 0x106
149#define EVMU_ADDRESS_SFR_PCON 0x107
150#define EVMU_ADDRESS_SFR_IE 0x108
151#define EVMU_ADDRESS_SFR_IP 0x109
153#define EVMU_ADDRESS_SFR_EXT 0x10d
154#define EVMU_ADDRESS_SFR_OCR 0x10e
157#define EVMU_ADDRESS_SFR_T0CNT 0x110
158#define EVMU_ADDRESS_SFR_T0PRR 0x111
159#define EVMU_ADDRESS_SFR_T0L 0x112
160#define EVMU_ADDRESS_SFR_T0LR 0x113
161#define EVMU_ADDRESS_SFR_T0H 0x114
162#define EVMU_ADDRESS_SFR_T0HR 0x115
166#define EVMU_ADDRESS_SFR_T1CNT 0x118
168#define EVMU_ADDRESS_SFR_T1LC 0x11a
169#define EVMU_ADDRESS_SFR_T1L 0x11b
170#define EVMU_ADDRESS_SFR_T1LR 0x11b
171#define EVMU_ADDRESS_SFR_T1HC 0x11c
172#define EVMU_ADDRESS_SFR_T1H 0x11d
173#define EVMU_ADDRESS_SFR_T1HR 0x11d
176#define EVMU_ADDRESS_SFR_MCR 0x120
178#define EVMU_ADDRESS_SFR_STAD 0x122
179#define EVMU_ADDRESS_SFR_CNR 0x123
180#define EVMU_ADDRESS_SFR_TDR 0x124
181#define EVMU_ADDRESS_SFR_XBNK 0x125
183#define EVMU_ADDRESS_SFR_VCCR 0x127
186#define EVMU_ADDRESS_SFR_SCON0 0x130
187#define EVMU_ADDRESS_SFR_SBUF0 0x131
188#define EVMU_ADDRESS_SFR_SBR 0x132
191#define EVMU_ADDRESS_SFR_SCON1 0x134
192#define EVMU_ADDRESS_SFR_SBUF1 0x135
195#define EVMU_ADDRESS_SFR_P1 0x144
196#define EVMU_ADDRESS_SFR_P1DDR 0x145
197#define EVMU_ADDRESS_SFR_P1FCR 0x146
202#define EVMU_ADDRESS_SFR_P3 0x14c
203#define EVMU_ADDRESS_SFR_P3DDR 0x14d
204#define EVMU_ADDRESS_SFR_P3INT 0x14e
209#define EVMU_ADDRESS_SFR_FPR 0x154
213#define EVMU_ADDRESS_SFR_P7 0x15c
214#define EVMU_ADDRESS_SFR_I01CR 0x15d
215#define EVMU_ADDRESS_SFR_I23CR 0x15e
216#define EVMU_ADDRESS_SFR_ISL 0x15f
218#define EVMU_ADDRESS_SFR_MPLESW 0x160
219#define EVMU_ADDRESS_SFR_MPLESTA 0x161
220#define EVMU_ADDRESS_SFR_MPLERST 0x162
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
243#define EVMU_ADDRESS_SFR_VSEL 0x163
244#define EVMU_ADDRESS_SFR_VRMAD1 0x164
245#define EVMU_ADDRESS_SFR_VRMAD2 0x165
246#define EVMU_ADDRESS_SFR_VTRBF 0x166
247#define EVMU_ADDRESS_SFR_VLREG 0x167
249
250
251
252
253
254
257#define EVMU_ADDRESS_SFR_BTCR 0x17f
262
263
264
265
266
267
268
271#define EVMU_ADDRESS_XRAM_BYTE(x, y)
276#define EVMU_ADDRESS_XRAM_ICN_FILE 0x181
277#define EVMU_ADDRESS_XRAM_ICN_GAME 0x182
278#define EVMU_ADDRESS_XRAM_ICN_CLOCK 0x183
279#define EVMU_ADDRESS_XRAM_ICN_FLASH 0x184
#define EVMU_ADDRESS_SEGMENT_RAM_BASE
Start address of RAM.
#define EVMU_ADDRESS_SEGMENT_STACK_BASE
Start address of stack.
#define EVMU_XRAM_ROW_BYTES
Number of bytes per row in XRAM.
#define EVMU_ADDRESS_SEGMENT_XRAM_BASE
Start address of XRAM.
#define EVMU_ADDRESS_SEGMENT_SFR_BASE
Start address of SFR segment.