Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/chip/sa1/mmio/mmio.hpp
2 views
1
uint8 mmio_read(unsigned addr);
2
void mmio_write(unsigned addr, uint8 data);
3
4
struct MMIO {
5
//$2200 CCNT
6
bool sa1_irq;
7
bool sa1_rdyb;
8
bool sa1_resb;
9
bool sa1_nmi;
10
uint8 smeg;
11
12
//$2201 SIE
13
bool cpu_irqen;
14
bool chdma_irqen;
15
16
//$2202 SIC
17
bool cpu_irqcl;
18
bool chdma_irqcl;
19
20
//$2203,$2204 CRV
21
uint16 crv;
22
23
//$2205,$2206 CNV
24
uint16 cnv;
25
26
//$2207,$2208 CIV
27
uint16 civ;
28
29
//$2209 SCNT
30
bool cpu_irq;
31
bool cpu_ivsw;
32
bool cpu_nvsw;
33
uint8 cmeg;
34
35
//$220a CIE
36
bool sa1_irqen;
37
bool timer_irqen;
38
bool dma_irqen;
39
bool sa1_nmien;
40
41
//$220b CIC
42
bool sa1_irqcl;
43
bool timer_irqcl;
44
bool dma_irqcl;
45
bool sa1_nmicl;
46
47
//$220c,$220d SNV
48
uint16 snv;
49
50
//$220e,$220f SIV
51
uint16 siv;
52
53
//$2210 TMC
54
bool hvselb;
55
bool ven;
56
bool hen;
57
58
//$2212,$2213
59
uint16 hcnt;
60
61
//$2214,$2215
62
uint16 vcnt;
63
64
//$2220 CXB
65
bool cbmode;
66
unsigned cb;
67
68
//$2221 DXB
69
bool dbmode;
70
unsigned db;
71
72
//$2222 EXB
73
bool ebmode;
74
unsigned eb;
75
76
//$2223 FXB
77
bool fbmode;
78
unsigned fb;
79
80
//$2224 BMAPS
81
uint8 sbm;
82
83
//$2225 BMAP
84
bool sw46;
85
uint8 cbm;
86
87
//$2226 SBWE
88
bool swen;
89
90
//$2227 CBWE
91
bool cwen;
92
93
//$2228 BWPA
94
uint8 bwp;
95
96
//$2229 SIWP
97
uint8 siwp;
98
99
//$222a CIWP
100
uint8 ciwp;
101
102
//$2230 DCNT
103
bool dmaen;
104
bool dprio;
105
bool cden;
106
bool cdsel;
107
bool dd;
108
uint8 sd;
109
110
//$2231 CDMA
111
bool chdend;
112
uint8 dmasize;
113
uint8 dmacb;
114
115
//$2232-$2234 SDA
116
uint32 dsa;
117
118
//$2235-$2237 DDA
119
uint32 dda;
120
121
//$2238,$2239 DTC
122
uint16 dtc;
123
124
//$223f BBF
125
bool bbf;
126
127
//$2240-224f BRF
128
uint8 brf[16];
129
130
//$2250 MCNT
131
bool acm;
132
bool md;
133
134
//$2251,$2252 MA
135
uint16 ma;
136
137
//$2253,$2254 MB
138
uint16 mb;
139
140
//$2258 VBD
141
bool hl;
142
uint8 vb;
143
144
//$2259-$225b VDA
145
uint32 va;
146
uint8 vbit;
147
148
//$2300 SFR
149
bool cpu_irqfl;
150
bool chdma_irqfl;
151
152
//$2301 CFR
153
bool sa1_irqfl;
154
bool timer_irqfl;
155
bool dma_irqfl;
156
bool sa1_nmifl;
157
158
//$2302,$2303 HCR
159
uint16 hcr;
160
161
//$2304,$2305 VCR
162
uint16 vcr;
163
164
//$2306-230a MR
165
uint64 mr;
166
167
//$230b OF
168
bool overflow;
169
} mmio;
170
171
void mmio_w2200(uint8); //CCNT
172
void mmio_w2201(uint8); //SIE
173
void mmio_w2202(uint8); //SIC
174
void mmio_w2203(uint8); //CRVL
175
void mmio_w2204(uint8); //CRVH
176
void mmio_w2205(uint8); //CNVL
177
void mmio_w2206(uint8); //CNVH
178
void mmio_w2207(uint8); //CIVL
179
void mmio_w2208(uint8); //CIVH
180
void mmio_w2209(uint8); //SCNT
181
void mmio_w220a(uint8); //CIE
182
void mmio_w220b(uint8); //CIC
183
void mmio_w220c(uint8); //SNVL
184
void mmio_w220d(uint8); //SNVH
185
void mmio_w220e(uint8); //SIVL
186
void mmio_w220f(uint8); //SIVH
187
void mmio_w2210(uint8); //TMC
188
void mmio_w2211(uint8); //CTR
189
void mmio_w2212(uint8); //HCNTL
190
void mmio_w2213(uint8); //HCNTH
191
void mmio_w2214(uint8); //VCNTL
192
void mmio_w2215(uint8); //VCNTH
193
void mmio_w2220(uint8); //CXB
194
void mmio_w2221(uint8); //DXB
195
void mmio_w2222(uint8); //EXB
196
void mmio_w2223(uint8); //FXB
197
void mmio_w2224(uint8); //BMAPS
198
void mmio_w2225(uint8); //BMAP
199
void mmio_w2226(uint8); //SBWE
200
void mmio_w2227(uint8); //CBWE
201
void mmio_w2228(uint8); //BWPA
202
void mmio_w2229(uint8); //SIWP
203
void mmio_w222a(uint8); //CIWP
204
void mmio_w2230(uint8); //DCNT
205
void mmio_w2231(uint8); //CDMA
206
void mmio_w2232(uint8); //SDAL
207
void mmio_w2233(uint8); //SDAH
208
void mmio_w2234(uint8); //SDAB
209
void mmio_w2235(uint8); //DDAL
210
void mmio_w2236(uint8); //DDAH
211
void mmio_w2237(uint8); //DDAB
212
void mmio_w2238(uint8); //DTCL
213
void mmio_w2239(uint8); //DTCH
214
void mmio_w223f(uint8); //BBF
215
void mmio_w2240(uint8); //BRF0
216
void mmio_w2241(uint8); //BRF1
217
void mmio_w2242(uint8); //BRF2
218
void mmio_w2243(uint8); //BRF3
219
void mmio_w2244(uint8); //BRF4
220
void mmio_w2245(uint8); //BRF5
221
void mmio_w2246(uint8); //BRF6
222
void mmio_w2247(uint8); //BRF7
223
void mmio_w2248(uint8); //BRF8
224
void mmio_w2249(uint8); //BRF9
225
void mmio_w224a(uint8); //BRFA
226
void mmio_w224b(uint8); //BRFB
227
void mmio_w224c(uint8); //BRFC
228
void mmio_w224d(uint8); //BRFD
229
void mmio_w224e(uint8); //BRFE
230
void mmio_w224f(uint8); //BRFF
231
void mmio_w2250(uint8); //MCNT
232
void mmio_w2251(uint8); //MAL
233
void mmio_w2252(uint8); //MAH
234
void mmio_w2253(uint8); //MBL
235
void mmio_w2254(uint8); //MBH
236
void mmio_w2258(uint8); //VBD
237
void mmio_w2259(uint8); //VDAL
238
void mmio_w225a(uint8); //VDAH
239
void mmio_w225b(uint8); //VDAB
240
241
uint8 mmio_r2300(); //SFR
242
uint8 mmio_r2301(); //CFR
243
uint8 mmio_r2302(); //HCRL
244
uint8 mmio_r2303(); //HCRH
245
uint8 mmio_r2304(); //VCRL
246
uint8 mmio_r2305(); //VCRH
247
uint8 mmio_r2306(); //MR [00-07]
248
uint8 mmio_r2307(); //MR [08-15]
249
uint8 mmio_r2308(); //MR [16-23]
250
uint8 mmio_r2309(); //MR [24-31]
251
uint8 mmio_r230a(); //MR [32-40]
252
uint8 mmio_r230b(); //OF
253
uint8 mmio_r230c(); //VDPL
254
uint8 mmio_r230d(); //VDPH
255
uint8 mmio_r230e(); //VC
256
257