mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 14:08:37 +00:00
Experimental RawSPU MMIO implementation
This commit is contained in:
parent
3d2aa622f1
commit
896097da0d
4 changed files with 194 additions and 28 deletions
|
|
@ -170,28 +170,29 @@ void MemoryBase::Close()
|
|||
MemoryBlocks.clear();
|
||||
}
|
||||
|
||||
bool MemoryBase::WriteMMIO32(u32 addr, const u32 data)
|
||||
void MemoryBase::WriteMMIO32(u32 addr, const u32 data)
|
||||
{
|
||||
LV2_LOCK(0);
|
||||
|
||||
if (RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET] && ((RawSPUThread*)RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET])->Write32(addr, data))
|
||||
{
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
|
||||
return false;
|
||||
throw fmt::Format("%s(addr=0x%x, data=0x%x) failed", __FUNCTION__, addr, data);
|
||||
}
|
||||
|
||||
bool MemoryBase::ReadMMIO32(u32 addr, u32& res)
|
||||
u32 MemoryBase::ReadMMIO32(u32 addr)
|
||||
{
|
||||
LV2_LOCK(0);
|
||||
|
||||
u32 res;
|
||||
if (RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET] && ((RawSPUThread*)RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET])->Read32(addr, &res))
|
||||
{
|
||||
return true;
|
||||
return res;
|
||||
}
|
||||
|
||||
return false;
|
||||
throw fmt::Format("%s(addr=0x%x) failed", __FUNCTION__, addr);
|
||||
}
|
||||
|
||||
bool MemoryBase::Map(const u64 addr, const u32 size)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue