mirror of https://github.com/bsnes-emu/bsnes.git
34 lines
856 B
C++
34 lines
856 B
C++
|
auto SA1::IRAM::conflict() const -> bool {
|
||
|
if(!cpu.r.rwb) return false;
|
||
|
if((cpu.r.mar & 0x40f800) == 0x003000) return true; //00-3f,80-bf:3000-37ff
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
auto SA1::IRAM::read(uint24 address, uint8 data) -> uint8 {
|
||
|
if(!size()) return data;
|
||
|
return _data[address & size() - 1];
|
||
|
}
|
||
|
|
||
|
auto SA1::IRAM::write(uint24 address, uint8 data) -> void {
|
||
|
if(!size()) return;
|
||
|
_data[address & size() - 1] = data;
|
||
|
}
|
||
|
|
||
|
auto SA1::IRAM::readCPU(uint24 address, uint8 data) -> uint8 {
|
||
|
cpu.synchronize(sa1);
|
||
|
return read(address, data);
|
||
|
}
|
||
|
|
||
|
auto SA1::IRAM::writeCPU(uint24 address, uint8 data) -> void {
|
||
|
cpu.synchronize(sa1);
|
||
|
return write(address, data);
|
||
|
}
|
||
|
|
||
|
auto SA1::IRAM::readSA1(uint24 address, uint8 data) -> uint8 {
|
||
|
return read(address, data);
|
||
|
}
|
||
|
|
||
|
auto SA1::IRAM::writeSA1(uint24 address, uint8 data) -> void {
|
||
|
return write(address, data);
|
||
|
}
|