mirror of
https://github.com/DerKoun/bsnes-hd.git
synced 2025-04-02 10:52:49 -04:00
36 lines
1,009 B
C++
36 lines
1,009 B
C++
auto SA1::IRAM::conflict() const -> bool {
|
|
if(configuration.hacks.coprocessor.delayedSync) return false;
|
|
|
|
if((cpu.r.mar & 0x40f800) == 0x003000) return cpu.refresh() == 0; //00-3f,80-bf:3000-37ff
|
|
return false;
|
|
}
|
|
|
|
auto SA1::IRAM::read(uint address, uint8 data) -> uint8 {
|
|
if(!size()) return data;
|
|
address = bus.mirror(address, size());
|
|
return WritableMemory::read(address, data);
|
|
}
|
|
|
|
auto SA1::IRAM::write(uint address, uint8 data) -> void {
|
|
if(!size()) return;
|
|
address = bus.mirror(address, size());
|
|
return WritableMemory::write(address, data);
|
|
}
|
|
|
|
auto SA1::IRAM::readCPU(uint address, uint8 data) -> uint8 {
|
|
cpu.synchronizeCoprocessors();
|
|
return read(address, data);
|
|
}
|
|
|
|
auto SA1::IRAM::writeCPU(uint address, uint8 data) -> void {
|
|
cpu.synchronizeCoprocessors();
|
|
return write(address, data);
|
|
}
|
|
|
|
auto SA1::IRAM::readSA1(uint address, uint8 data) -> uint8 {
|
|
return read(address, data);
|
|
}
|
|
|
|
auto SA1::IRAM::writeSA1(uint address, uint8 data) -> void {
|
|
return write(address, data);
|
|
}
|