mirror of https://github.com/bsnes-emu/bsnes.git
257 lines
4.6 KiB
C++
Executable File
257 lines
4.6 KiB
C++
Executable File
uint8 mmio_read(unsigned addr);
|
|
void mmio_write(unsigned addr, uint8 data);
|
|
Memory& mmio_access(unsigned &addr);
|
|
|
|
struct MMIO {
|
|
//$2200 CCNT
|
|
bool sa1_irq;
|
|
bool sa1_rdyb;
|
|
bool sa1_resb;
|
|
bool sa1_nmi;
|
|
uint8 smeg;
|
|
|
|
//$2201 SIE
|
|
bool cpu_irqen;
|
|
bool chdma_irqen;
|
|
|
|
//$2202 SIC
|
|
bool cpu_irqcl;
|
|
bool chdma_irqcl;
|
|
|
|
//$2203,$2204 CRV
|
|
uint16 crv;
|
|
|
|
//$2205,$2206 CNV
|
|
uint16 cnv;
|
|
|
|
//$2207,$2208 CIV
|
|
uint16 civ;
|
|
|
|
//$2209 SCNT
|
|
bool cpu_irq;
|
|
bool cpu_ivsw;
|
|
bool cpu_nvsw;
|
|
uint8 cmeg;
|
|
|
|
//$220a CIE
|
|
bool sa1_irqen;
|
|
bool timer_irqen;
|
|
bool dma_irqen;
|
|
bool sa1_nmien;
|
|
|
|
//$220b CIC
|
|
bool sa1_irqcl;
|
|
bool timer_irqcl;
|
|
bool dma_irqcl;
|
|
bool sa1_nmicl;
|
|
|
|
//$220c,$220d SNV
|
|
uint16 snv;
|
|
|
|
//$220e,$220f SIV
|
|
uint16 siv;
|
|
|
|
//$2210 TMC
|
|
bool hvselb;
|
|
bool ven;
|
|
bool hen;
|
|
|
|
//$2212,$2213
|
|
uint16 hcnt;
|
|
|
|
//$2214,$2215
|
|
uint16 vcnt;
|
|
|
|
//$2220 CXB
|
|
bool cbmode;
|
|
uint8 cb;
|
|
|
|
//$2221 DXB
|
|
bool dbmode;
|
|
uint8 db;
|
|
|
|
//$2222 EXB
|
|
bool ebmode;
|
|
uint8 eb;
|
|
|
|
//$2223 FXB
|
|
bool fbmode;
|
|
uint8 fb;
|
|
|
|
//$2224 BMAPS
|
|
uint8 sbm;
|
|
|
|
//$2225 BMAP
|
|
bool sw46;
|
|
uint8 cbm;
|
|
|
|
//$2226 SBWE
|
|
bool swen;
|
|
|
|
//$2227 CBWE
|
|
bool cwen;
|
|
|
|
//$2228 BWPA
|
|
uint8 bwp;
|
|
|
|
//$2229 SIWP
|
|
uint8 siwp;
|
|
|
|
//$222a CIWP
|
|
uint8 ciwp;
|
|
|
|
//$2230 DCNT
|
|
bool dmaen;
|
|
bool dprio;
|
|
bool cden;
|
|
bool cdsel;
|
|
bool dd;
|
|
uint8 sd;
|
|
|
|
//$2231 CDMA
|
|
bool chdend;
|
|
uint8 dmasize;
|
|
uint8 dmacb;
|
|
|
|
//$2232-$2234 SDA
|
|
uint32 dsa;
|
|
|
|
//$2235-$2237 DDA
|
|
uint32 dda;
|
|
|
|
//$2238,$2239 DTC
|
|
uint16 dtc;
|
|
|
|
//$223f BBF
|
|
bool bbf;
|
|
|
|
//$2240-224f BRF
|
|
uint8 brf[16];
|
|
|
|
//$2250 MCNT
|
|
bool acm;
|
|
bool md;
|
|
|
|
//$2251,$2252 MA
|
|
uint16 ma;
|
|
|
|
//$2253,$2254 MB
|
|
uint16 mb;
|
|
|
|
//$2258 VBD
|
|
bool hl;
|
|
uint8 vb;
|
|
|
|
//$2259-$225b VDA
|
|
uint32 va;
|
|
uint8 vbit;
|
|
|
|
//$2300 SFR
|
|
bool cpu_irqfl;
|
|
bool chdma_irqfl;
|
|
|
|
//$2301 CFR
|
|
bool sa1_irqfl;
|
|
bool timer_irqfl;
|
|
bool dma_irqfl;
|
|
bool sa1_nmifl;
|
|
|
|
//$2302,$2303 HCR
|
|
uint16 hcr;
|
|
|
|
//$2304,$2305 VCR
|
|
uint16 vcr;
|
|
|
|
//$2306-230a MR
|
|
uint64 mr;
|
|
|
|
//$230b OF
|
|
bool overflow;
|
|
} mmio;
|
|
|
|
void mmio_w2200(uint8); //CCNT
|
|
void mmio_w2201(uint8); //SIE
|
|
void mmio_w2202(uint8); //SIC
|
|
void mmio_w2203(uint8); //CRVL
|
|
void mmio_w2204(uint8); //CRVH
|
|
void mmio_w2205(uint8); //CNVL
|
|
void mmio_w2206(uint8); //CNVH
|
|
void mmio_w2207(uint8); //CIVL
|
|
void mmio_w2208(uint8); //CIVH
|
|
void mmio_w2209(uint8); //SCNT
|
|
void mmio_w220a(uint8); //CIE
|
|
void mmio_w220b(uint8); //CIC
|
|
void mmio_w220c(uint8); //SNVL
|
|
void mmio_w220d(uint8); //SNVH
|
|
void mmio_w220e(uint8); //SIVL
|
|
void mmio_w220f(uint8); //SIVH
|
|
void mmio_w2210(uint8); //TMC
|
|
void mmio_w2211(uint8); //CTR
|
|
void mmio_w2212(uint8); //HCNTL
|
|
void mmio_w2213(uint8); //HCNTH
|
|
void mmio_w2214(uint8); //VCNTL
|
|
void mmio_w2215(uint8); //VCNTH
|
|
void mmio_w2220(uint8); //CXB
|
|
void mmio_w2221(uint8); //DXB
|
|
void mmio_w2222(uint8); //EXB
|
|
void mmio_w2223(uint8); //FXB
|
|
void mmio_w2224(uint8); //BMAPS
|
|
void mmio_w2225(uint8); //BMAP
|
|
void mmio_w2226(uint8); //SBWE
|
|
void mmio_w2227(uint8); //CBWE
|
|
void mmio_w2228(uint8); //BWPA
|
|
void mmio_w2229(uint8); //SIWP
|
|
void mmio_w222a(uint8); //CIWP
|
|
void mmio_w2230(uint8); //DCNT
|
|
void mmio_w2231(uint8); //CDMA
|
|
void mmio_w2232(uint8); //SDAL
|
|
void mmio_w2233(uint8); //SDAH
|
|
void mmio_w2234(uint8); //SDAB
|
|
void mmio_w2235(uint8); //DDAL
|
|
void mmio_w2236(uint8); //DDAH
|
|
void mmio_w2237(uint8); //DDAB
|
|
void mmio_w2238(uint8); //DTCL
|
|
void mmio_w2239(uint8); //DTCH
|
|
void mmio_w223f(uint8); //BBF
|
|
void mmio_w2240(uint8); //BRF0
|
|
void mmio_w2241(uint8); //BRF1
|
|
void mmio_w2242(uint8); //BRF2
|
|
void mmio_w2243(uint8); //BRF3
|
|
void mmio_w2244(uint8); //BRF4
|
|
void mmio_w2245(uint8); //BRF5
|
|
void mmio_w2246(uint8); //BRF6
|
|
void mmio_w2247(uint8); //BRF7
|
|
void mmio_w2248(uint8); //BRF8
|
|
void mmio_w2249(uint8); //BRF9
|
|
void mmio_w224a(uint8); //BRFA
|
|
void mmio_w224b(uint8); //BRFB
|
|
void mmio_w224c(uint8); //BRFC
|
|
void mmio_w224d(uint8); //BRFD
|
|
void mmio_w224e(uint8); //BRFE
|
|
void mmio_w224f(uint8); //BRFF
|
|
void mmio_w2250(uint8); //MCNT
|
|
void mmio_w2251(uint8); //MAL
|
|
void mmio_w2252(uint8); //MAH
|
|
void mmio_w2253(uint8); //MBL
|
|
void mmio_w2254(uint8); //MBH
|
|
void mmio_w2258(uint8); //VBD
|
|
void mmio_w2259(uint8); //VDAL
|
|
void mmio_w225a(uint8); //VDAH
|
|
void mmio_w225b(uint8); //VDAB
|
|
|
|
uint8 mmio_r2300(); //SFR
|
|
uint8 mmio_r2301(); //CFR
|
|
uint8 mmio_r2302(); //HCRL
|
|
uint8 mmio_r2303(); //HCRH
|
|
uint8 mmio_r2304(); //VCRL
|
|
uint8 mmio_r2305(); //VCRH
|
|
uint8 mmio_r2306(); //MR [00-07]
|
|
uint8 mmio_r2307(); //MR [08-15]
|
|
uint8 mmio_r2308(); //MR [16-23]
|
|
uint8 mmio_r2309(); //MR [24-31]
|
|
uint8 mmio_r230a(); //MR [32-40]
|
|
uint8 mmio_r230b(); //OF
|
|
uint8 mmio_r230c(); //VDPL
|
|
uint8 mmio_r230d(); //VDPH
|
|
uint8 mmio_r230e(); //VC
|