diff --git a/Source/iop/Iop_Dmac.cpp b/Source/iop/Iop_Dmac.cpp index 39b65d54..ee398d04 100644 --- a/Source/iop/Iop_Dmac.cpp +++ b/Source/iop/Iop_Dmac.cpp @@ -108,6 +108,7 @@ uint32 CDmac::ReadRegister(uint32 address) return channel->ReadRegister(address); } } + break; } return 0; } @@ -156,6 +157,9 @@ void CDmac::LogRead(uint32 address) unsigned int registerId = address & 0xF; switch(registerId) { + case CChannel::REG_MADR: + CLog::GetInstance().Print(LOG_NAME, "ch%0.2d: = MADR.\r\n", channelId); + break; case CChannel::REG_CHCR: CLog::GetInstance().Print(LOG_NAME, "ch%0.2d: = CHCR.\r\n", channelId); break; diff --git a/Source/iop/Iop_Loadcore.cpp b/Source/iop/Iop_Loadcore.cpp index 26b6e000..5e8174ab 100644 --- a/Source/iop/Iop_Loadcore.cpp +++ b/Source/iop/Iop_Loadcore.cpp @@ -8,6 +8,7 @@ using namespace std; #define LOG_NAME "iop_loadcore" +#define FUNCTION_FLUSHDCACHE "FlushDcache" #define FUNCTION_REGISTERLIBRARYENTRIES "RegisterLibraryEntries" CLoadcore::CLoadcore(CIopBios& bios, uint8* ram, CSifMan& sifMan) : @@ -31,6 +32,9 @@ string CLoadcore::GetFunctionName(unsigned int functionId) const { switch(functionId) { + case 5: + return FUNCTION_FLUSHDCACHE; + break; case 6: return FUNCTION_REGISTERLIBRARYENTRIES; break; @@ -44,6 +48,9 @@ void CLoadcore::Invoke(CMIPS& context, unsigned int functionId) { switch(functionId) { + case 5: + //FlushDCache + break; case 6: context.m_State.nGPR[CMIPS::V0].nD0 = static_cast(RegisterLibraryEntries( reinterpret_cast(&m_ram[context.m_State.nGPR[CMIPS::A0].nV0])