Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/chip/superfx/bus/bus.cpp
2 views
1
#ifdef SUPERFX_CPP
2
3
//ROM / RAM access from the S-CPU
4
5
unsigned SuperFX::ROM::size() const {
6
return cartridge.rom.size();
7
}
8
9
uint8 SuperFX::ROM::read(unsigned addr) {
10
if(superfx.regs.sfr.g && superfx.regs.scmr.ron) {
11
static const uint8_t data[16] = {
12
0x00, 0x01, 0x00, 0x01, 0x04, 0x01, 0x00, 0x01,
13
0x00, 0x01, 0x08, 0x01, 0x00, 0x01, 0x0c, 0x01,
14
};
15
return data[addr & 15];
16
}
17
return cartridge.rom.read(addr);
18
}
19
20
void SuperFX::ROM::write(unsigned addr, uint8 data) {
21
cartridge.rom.write(addr, data);
22
}
23
24
unsigned SuperFX::RAM::size() const {
25
return cartridge.ram.size();
26
}
27
28
uint8 SuperFX::RAM::read(unsigned addr) {
29
if(superfx.regs.sfr.g && superfx.regs.scmr.ran) return cpu.regs.mdr;
30
return cartridge.ram.read(addr);
31
}
32
33
void SuperFX::RAM::write(unsigned addr, uint8 data) {
34
cartridge.ram.write(addr, data);
35
}
36
37
#endif
38
39