[Project64] Add Load32SerialInterface

This commit is contained in:
zilmar 2015-12-22 06:59:17 +11:00
parent e3caeb8b07
commit f8619bb6e4
2 changed files with 24 additions and 14 deletions

View File

@ -2543,13 +2543,8 @@ bool CMipsMemoryVM::LW_NonMemory(uint32_t PAddr, uint32_t* Value)
*Value = m_MemLookupValue.UW[0]; *Value = m_MemLookupValue.UW[0];
break; break;
case 0x04800000: case 0x04800000:
switch (PAddr) Load32SerialInterface();
{ *Value = m_MemLookupValue.UW[0];
case 0x04800018: *Value = g_Reg->SI_STATUS_REG; break;
default:
*Value = 0;
return false;
}
break; break;
case 0x05000000: case 0x05000000:
*Value = PAddr & 0xFFFF; *Value = PAddr & 0xFFFF;
@ -2644,7 +2639,7 @@ bool CMipsMemoryVM::SB_NonMemory(uint32_t PAddr, uint8_t Value)
} }
return true; return true;
} }
bool CMipsMemoryVM::SH_NonMemory(uint32_t PAddr, uint16_t Value) bool CMipsMemoryVM::SH_NonMemory(uint32_t PAddr, uint16_t Value)
{ {
@ -2684,7 +2679,7 @@ bool CMipsMemoryVM::SH_NonMemory(uint32_t PAddr, uint16_t Value)
} }
return true; return true;
} }
bool CMipsMemoryVM::SW_NonMemory(uint32_t PAddr, uint32_t Value) bool CMipsMemoryVM::SW_NonMemory(uint32_t PAddr, uint32_t Value)
{ {
@ -3301,7 +3296,7 @@ bool CMipsMemoryVM::SW_NonMemory(uint32_t PAddr, uint32_t Value)
} }
return true; return true;
} }
void CMipsMemoryVM::UpdateHalfLine() void CMipsMemoryVM::UpdateHalfLine()
{ {
@ -5699,3 +5694,17 @@ void CMipsMemoryVM::Load32RDRAMInterface(void)
} }
} }
} }
void CMipsMemoryVM::Load32SerialInterface(void)
{
switch (m_MemLookupAddress & 0x1FFFFFFF)
{
case 0x04800018: m_MemLookupValue.UW[0] = g_Reg->SI_STATUS_REG; break;
default:
m_MemLookupValue.UW[0] = 0;
if (bHaveDebugger())
{
g_Notify->BreakPoint(__FILE__, __LINE__);
}
}
}

View File

@ -190,6 +190,7 @@ private:
static void Load32AudioInterface(void); static void Load32AudioInterface(void);
static void Load32PeripheralInterface(void); static void Load32PeripheralInterface(void);
static void Load32RDRAMInterface(void); static void Load32RDRAMInterface(void);
static void Load32SerialInterface(void);
CMipsMemory_CallBack * const m_CBClass; CMipsMemory_CallBack * const m_CBClass;