mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-25 16:22:47 +01:00
added hack physical memory reads with Memory::GetPointer
This commit is contained in:
parent
aa3ae1af49
commit
aae52e3f8f
1 changed files with 9 additions and 2 deletions
|
@ -137,14 +137,21 @@ u8 *GetPointer(const u32 addr) {
|
||||||
// TODO(bunnei): Just a stub for now... ImplementMe!
|
// TODO(bunnei): Just a stub for now... ImplementMe!
|
||||||
if ((addr & 0x3E000000) == 0x08000000) {
|
if ((addr & 0x3E000000) == 0x08000000) {
|
||||||
return g_fcram + (addr & MEM_FCRAM_MASK);
|
return g_fcram + (addr & MEM_FCRAM_MASK);
|
||||||
}
|
|
||||||
|
// HACK(bunnei): There is no layer yet to translate virtual addresses to physical addresses.
|
||||||
|
// Until we progress far enough along, we'll accept all physical address reads here. I think
|
||||||
|
// that this is typically a corner-case from usermode software unless they are trying to do
|
||||||
|
// bare-metal things (e.g. early 3DS homebrew writes directly to the FB @ 0x20184E60, etc.
|
||||||
|
} else if (((addr & 0xF0000000) == MEM_FCRAM_PADDR) && (addr < (MEM_FCRAM_PADDR_END))) {
|
||||||
|
return g_fcram + (addr & MEM_FCRAM_MASK);
|
||||||
|
|
||||||
//else if ((addr & 0x3F800000) == 0x04000000) {
|
//else if ((addr & 0x3F800000) == 0x04000000) {
|
||||||
// return g_vram + (addr & MEM_VRAM_MASK);
|
// return g_vram + (addr & MEM_VRAM_MASK);
|
||||||
//}
|
//}
|
||||||
//else if ((addr & 0x3F000000) >= 0x08000000 && (addr & 0x3F000000) < 0x08000000 + g_MemorySize) {
|
//else if ((addr & 0x3F000000) >= 0x08000000 && (addr & 0x3F000000) < 0x08000000 + g_MemorySize) {
|
||||||
// return m_pRAM + (addr & g_MemoryMask);
|
// return m_pRAM + (addr & g_MemoryMask);
|
||||||
//}
|
//}
|
||||||
else {
|
} else {
|
||||||
//ERROR_LOG(MEMMAP, "Unknown GetPointer %08x PC %08x LR %08x", addr, currentMIPS->pc, currentMIPS->r[MIPS_REG_RA]);
|
//ERROR_LOG(MEMMAP, "Unknown GetPointer %08x PC %08x LR %08x", addr, currentMIPS->pc, currentMIPS->r[MIPS_REG_RA]);
|
||||||
ERROR_LOG(MEMMAP, "Unknown GetPointer %08x", addr);
|
ERROR_LOG(MEMMAP, "Unknown GetPointer %08x", addr);
|
||||||
static bool reported = false;
|
static bool reported = false;
|
||||||
|
|
Loading…
Reference in a new issue