fix some casting in logging and unneeded newlines. also quiet some debug warnings, please check if they are wrong (stm release eh and wiimote close)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2648 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman 2009-03-12 07:30:30 +00:00
parent c85b1b76cc
commit 37345a8199
6 changed files with 95 additions and 88 deletions

View File

@ -82,15 +82,15 @@ void PrintCallstack()
{ {
u32 addr = Memory::ReadUnchecked_U32(PowerPC::ppcState.gpr[1]); // SP u32 addr = Memory::ReadUnchecked_U32(PowerPC::ppcState.gpr[1]); // SP
printf("\n == STACK TRACE - SP = %08x ==\n", PowerPC::ppcState.gpr[1]); printf("== STACK TRACE - SP = %08x ==", PowerPC::ppcState.gpr[1]);
if (LR == 0) { if (LR == 0) {
printf(" LR = 0 - this is bad\n"); printf(" LR = 0 - this is bad");
} }
int count = 1; int count = 1;
if (g_symbolDB.GetDescription(PowerPC::ppcState.pc) != g_symbolDB.GetDescription(LR)) if (g_symbolDB.GetDescription(PowerPC::ppcState.pc) != g_symbolDB.GetDescription(LR))
{ {
printf(" * %s [ LR = %08x ]\n", g_symbolDB.GetDescription(LR), LR); printf(" * %s [ LR = %08x ]", g_symbolDB.GetDescription(LR), LR);
count++; count++;
} }
@ -101,7 +101,7 @@ void PrintCallstack()
const char *str = g_symbolDB.GetDescription(func); const char *str = g_symbolDB.GetDescription(func);
if (!str || strlen(str) == 0 || !strcmp(str, "Invalid")) if (!str || strlen(str) == 0 || !strcmp(str, "Invalid"))
str = "(unknown)"; str = "(unknown)";
printf( " * %s [ addr = %08x ]\n", str, func); printf( " * %s [ addr = %08x ]", str, func);
addr = Memory::ReadUnchecked_U32(addr); addr = Memory::ReadUnchecked_U32(addr);
} }
} }
@ -110,16 +110,16 @@ void PrintCallstack(LogTypes::LOG_TYPE type)
{ {
u32 addr = Memory::ReadUnchecked_U32(PowerPC::ppcState.gpr[1]); // SP u32 addr = Memory::ReadUnchecked_U32(PowerPC::ppcState.gpr[1]); // SP
GENERIC_LOG(type, LogTypes::LWARNING, "\n == STACK TRACE - SP = %08x ==\n", GENERIC_LOG(type, LogTypes::LWARNING, "== STACK TRACE - SP = %08x ==",
PowerPC::ppcState.gpr[1]); PowerPC::ppcState.gpr[1]);
if (LR == 0) { if (LR == 0) {
GENERIC_LOG(type, LogTypes::LWARNING, " LR = 0 - this is bad\n"); GENERIC_LOG(type, LogTypes::LWARNING, " LR = 0 - this is bad");
} }
int count = 1; int count = 1;
if (g_symbolDB.GetDescription(PowerPC::ppcState.pc) != g_symbolDB.GetDescription(LR)) if (g_symbolDB.GetDescription(PowerPC::ppcState.pc) != g_symbolDB.GetDescription(LR))
{ {
GENERIC_LOG(type, LogTypes::LINFO, " * %s [ LR = %08x ]\n", GENERIC_LOG(type, LogTypes::LINFO, " * %s [ LR = %08x ]",
g_symbolDB.GetDescription(LR), LR); g_symbolDB.GetDescription(LR), LR);
count++; count++;
} }
@ -131,7 +131,7 @@ void PrintCallstack(LogTypes::LOG_TYPE type)
const char *str = g_symbolDB.GetDescription(func); const char *str = g_symbolDB.GetDescription(func);
if (!str || strlen(str) == 0 || !strcmp(str, "Invalid")) if (!str || strlen(str) == 0 || !strcmp(str, "Invalid"))
str = "(unknown)"; str = "(unknown)";
GENERIC_LOG(type, LogTypes::LINFO, " * %s [ addr = %08x ]\n", str, func); GENERIC_LOG(type, LogTypes::LINFO, " * %s [ addr = %08x ]", str, func);
addr = Memory::ReadUnchecked_U32(addr); addr = Memory::ReadUnchecked_U32(addr);
} }
} }

View File

@ -45,7 +45,7 @@ bool AckCommand(u32 _Address);
enum ECommandType enum ECommandType
{ {
COMMAND_OPEN_DEVICE = 1, COMMAND_OPEN_DEVICE = 1,
COMMAND_CLOSE_DEVICE = 2, COMMAND_CLOSE_DEVICE = 2,
COMMAND_READ = 3, COMMAND_READ = 3,
COMMAND_WRITE = 4, COMMAND_WRITE = 4,
COMMAND_SEEK = 5, COMMAND_SEEK = 5,
@ -53,7 +53,7 @@ enum ECommandType
COMMAND_IOCTLV = 7, COMMAND_IOCTLV = 7,
}; };
} // end of namespace AudioInterface } // end of namespace WII_IPC_HLE_Interface
#endif #endif

View File

@ -80,34 +80,34 @@ CWII_IPC_HLE_Device_es::CWII_IPC_HLE_Device_es(u32 _DeviceID, const std::string&
// scan for the title ids listed in TMDs within /title/ // scan for the title ids listed in TMDs within /title/
m_TitleIDs.clear(); m_TitleIDs.clear();
// std::string titleDir(FULL_WII_USER_DIR + std::string("title")); // std::string titleDir(FULL_WII_USER_DIR + std::string("title"));
// File::FSTEntry parentEntry; // File::FSTEntry parentEntry;
// u32 numEntries = ScanDirectoryTree(titleDir.c_str(), parentEntry); // u32 numEntries = ScanDirectoryTree(titleDir.c_str(), parentEntry);
// //
// for(std::vector<File::FSTEntry>::iterator level1 = parentEntry.children.begin(); level1 != parentEntry.children.end(); ++level1) // for(std::vector<File::FSTEntry>::iterator level1 = parentEntry.children.begin(); level1 != parentEntry.children.end(); ++level1)
// { // {
// if (level1->isDirectory) // if (level1->isDirectory)
// { // {
// for(std::vector<File::FSTEntry>::iterator level2 = level1->children.begin(); level2 != level1->children.end(); ++level2) // for(std::vector<File::FSTEntry>::iterator level2 = level1->children.begin(); level2 != level1->children.end(); ++level2)
// { // {
// if (level2->isDirectory) // if (level2->isDirectory)
// { // {
// // finally at /title/0011223344/55667788/ // // finally at /title/*/*/
// // ...get titleID from content/title.tmd // // ...get titleID from content/title.tmd
// std::string currentTMD(level2->physicalName + DIR_SEP + "content" + DIR_SEP + "title.tmd"); // std::string currentTMD(level2->physicalName + DIR_SEP + "content" + DIR_SEP + "title.tmd");
// if (File::Exists(currentTMD.c_str())) // if (File::Exists(currentTMD.c_str()))
// { // {
// FILE *tmd = fopen(currentTMD.c_str(), "rb"); // FILE *tmd = fopen(currentTMD.c_str(), "rb");
// u64 titleID = 0xDEADBEEFDEADBEEFULL; // u64 titleID = 0xDEADBEEFDEADBEEFULL;
// fseek(tmd, 0x18C, SEEK_SET); // fseek(tmd, 0x18C, SEEK_SET);
// fread(&titleID, 8, 1, tmd); // fread(&titleID, 8, 1, tmd);
// m_TitleIDs.push_back(Common::swap64(titleID)); // m_TitleIDs.push_back(Common::swap64(titleID));
// fclose(tmd); // fclose(tmd);
// } // }
// } // }
// } // }
// } // }
// } // }
INFO_LOG(WII_IPC_ES, "Set default title to %08x/%08x", m_TitleID>>32, m_TitleID); INFO_LOG(WII_IPC_ES, "Set default title to %08x/%08x", m_TitleID>>32, m_TitleID);
} }
@ -168,7 +168,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
Memory::Write_U32((u32)rNANDCOntent.GetContentSize(), Buffer.PayloadBuffer[0].m_Address); Memory::Write_U32((u32)rNANDCOntent.GetContentSize(), Buffer.PayloadBuffer[0].m_Address);
INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETTITLECONTENTSCNT: TitleID: %08x/%08x content count %i", INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETTITLECONTENTSCNT: TitleID: %08x/%08x content count %i",
TitleID>>32, TitleID, rNANDCOntent.GetContentSize()); (u32)(TitleID>>32), (u32)TitleID, rNANDCOntent.GetContentSize());
Memory::Write_U32(0, _CommandAddress + 0x4); Memory::Write_U32(0, _CommandAddress + 0x4);
return true; return true;
@ -185,7 +185,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
std::string TitleFilename = CreateTitleContentPath(TitleID); std::string TitleFilename = CreateTitleContentPath(TitleID);
DiscIO::CNANDContentLoader Loader(TitleFilename); DiscIO::CNANDContentLoader Loader(TitleFilename);
ERROR_LOG(WII_IPC_ES, "IOCTL_ES_GETTITLECONTENTS: title: %08x/%08x buffersize: %i", TitleID >> 32, TitleID, MaxCount); ERROR_LOG(WII_IPC_ES, "IOCTL_ES_GETTITLECONTENTS: title: %08x/%08x buffersize: %i", (u32)(TitleID >> 32), (u32)TitleID, MaxCount);
u32 Count = 0; u32 Count = 0;
if (Loader.IsValid()) if (Loader.IsValid())
@ -219,11 +219,11 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
u32 CFD = AccessIdentID++; u32 CFD = AccessIdentID++;
m_ContentAccessMap[CFD].m_Position = 0; m_ContentAccessMap[CFD].m_Position = 0;
m_ContentAccessMap[CFD].m_pContent = AccessContentDevice(TitleID).GetContentByIndex(Index); m_ContentAccessMap[CFD].m_pContent = AccessContentDevice(TitleID).GetContentByIndex(Index);
_dbg_assert_msg_(WII_IPC_ES, m_ContentAccessMap[CFD].m_pContent != NULL, "No Content for TitleID: %08x/%08x at Index %x", TitleID>>32, TitleID, Index); _dbg_assert_msg_(WII_IPC_ES, m_ContentAccessMap[CFD].m_pContent != NULL, "No Content for TitleID: %08x/%08x at Index %x", (u32)(TitleID>>32), (u32)TitleID, Index);
Memory::Write_U32(CFD, _CommandAddress + 0x4); Memory::Write_U32(CFD, _CommandAddress + 0x4);
INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_OPENTITLECONTENT: TitleID: %08x/%08x Index %i -> got CFD %x", TitleID>>32, TitleID, Index, CFD); INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_OPENTITLECONTENT: TitleID: %08x/%08x Index %i -> got CFD %x", (u32)(TitleID>>32), (u32)TitleID, Index, CFD);
return true; return true;
} }
break; break;
@ -342,7 +342,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
char* pTitleID = (char*)&TitleID; char* pTitleID = (char*)&TitleID;
char* Path = (char*)Memory::GetPointer(Buffer.PayloadBuffer[0].m_Address); char* Path = (char*)Memory::GetPointer(Buffer.PayloadBuffer[0].m_Address);
sprintf(Path, "/%08x/%08x/data", (u32)(TitleID >> 32) & 0xFFFFFFFF, (u32)TitleID & 0xFFFFFFFF); sprintf(Path, "/%08x/%08x/data", (u32)(TitleID >> 32), (u32)TitleID);
INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETTITLEDIR: %s)", Path); INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETTITLEDIR: %s)", Path);
} }
@ -354,7 +354,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
_dbg_assert_msg_(WII_IPC_ES, Buffer.NumberPayloadBuffer == 1, "CWII_IPC_HLE_Device_es: IOCTL_ES_GETTITLEID no out buffer"); _dbg_assert_msg_(WII_IPC_ES, Buffer.NumberPayloadBuffer == 1, "CWII_IPC_HLE_Device_es: IOCTL_ES_GETTITLEID no out buffer");
Memory::Write_U64(m_TitleID, Buffer.PayloadBuffer[0].m_Address); Memory::Write_U64(m_TitleID, Buffer.PayloadBuffer[0].m_Address);
INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETTITLEID: %08x/%08x", m_TitleID>>32, m_TitleID); INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETTITLEID: %08x/%08x", (u32)(m_TitleID>>32), (u32)m_TitleID);
} }
break; break;
@ -364,7 +364,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
_dbg_assert_(WII_IPC_ES, Buffer.NumberPayloadBuffer == 0); _dbg_assert_(WII_IPC_ES, Buffer.NumberPayloadBuffer == 0);
u64 TitleID = Memory::Read_U64(Buffer.InBuffer[0].m_Address); u64 TitleID = Memory::Read_U64(Buffer.InBuffer[0].m_Address);
INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_SETUID titleID: %08x/%08x", TitleID>>32, TitleID ); INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_SETUID titleID: %08x/%08x", (u32)(TitleID>>32), (u32)TitleID );
} }
break; break;
@ -395,7 +395,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
for (int i = 0; i < (int)m_TitleIDs.size(); i++) for (int i = 0; i < (int)m_TitleIDs.size(); i++)
{ {
Memory::Write_U64(m_TitleIDs[i], Buffer.PayloadBuffer[0].m_Address + i*8); Memory::Write_U64(m_TitleIDs[i], Buffer.PayloadBuffer[0].m_Address + i*8);
ERROR_LOG(WII_IPC_ES, "IOCTL_ES_GETTITLES: %08x/%08x", m_TitleIDs[i] >> 32, m_TitleIDs[i]); ERROR_LOG(WII_IPC_ES, "IOCTL_ES_GETTITLES: %08x/%08x", (u32)(m_TitleIDs[i] >> 32), (u32)m_TitleIDs[i]);
Count++; Count++;
if (Count >= MaxCount) if (Count >= MaxCount)
break; break;
@ -441,7 +441,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
ViewCount = 0; ViewCount = 0;
} }
INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETVIEWCNT for titleID: %08x/%08x (View Count = %i)", TitleID>>32, TitleID, ViewCount); INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETVIEWCNT for titleID: %08x/%08x (View Count = %i)", (u32)(TitleID>>32), (u32)TitleID, ViewCount);
Memory::Write_U32(ViewCount, Buffer.PayloadBuffer[0].m_Address); Memory::Write_U32(ViewCount, Buffer.PayloadBuffer[0].m_Address);
Memory::Write_U32(0, _CommandAddress + 0x4); Memory::Write_U32(0, _CommandAddress + 0x4);
@ -477,10 +477,10 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
} }
else else
{ {
PanicAlert("IOCTL_ES_GETVIEWS: Try to get data from an unknown ticket: %08x/%08x", TitleID >> 32, TitleID); PanicAlert("IOCTL_ES_GETVIEWS: Try to get data from an unknown ticket: %08x/%08x", (u32)(TitleID >> 32), (u32)TitleID);
} }
INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETVIEWS for titleID: %08x/%08x", TitleID>>32, TitleID ); INFO_LOG(WII_IPC_ES, "ES: IOCTL_ES_GETVIEWS for titleID: %08x/%08x", (u32)(TitleID>>32), (u32)TitleID );
Memory::Write_U32(0, _CommandAddress + 0x4); Memory::Write_U32(0, _CommandAddress + 0x4);
return true; return true;
@ -509,7 +509,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
Memory::Write_U32(0, _CommandAddress + 0x4); Memory::Write_U32(0, _CommandAddress + 0x4);
INFO_LOG(WII_IPC_ES, "IOCTL_ES_GETTMDVIEWCNT: title: %08x/%08x -> count %i", TitleID >> 32, TitleID, TMDViewCnt); INFO_LOG(WII_IPC_ES, "IOCTL_ES_GETTMDVIEWCNT: title: %08x/%08x -> count %i", (u32)(TitleID >> 32), (u32)TitleID, TMDViewCnt);
return true; return true;
} }
@ -525,7 +525,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
std::string TitleFilename = CreateTitleContentPath(TitleID); std::string TitleFilename = CreateTitleContentPath(TitleID);
DiscIO::CNANDContentLoader Loader(TitleFilename); DiscIO::CNANDContentLoader Loader(TitleFilename);
INFO_LOG(WII_IPC_ES, "IOCTL_ES_GETTMDVIEWCNT: title: %08x/%08x buffersize: %i", TitleID >> 32, TitleID, MaxCount); INFO_LOG(WII_IPC_ES, "IOCTL_ES_GETTMDVIEWCNT: title: %08x/%08x buffersize: %i", (u32)(TitleID >> 32), (u32)TitleID, MaxCount);
u32 Count = 0; u32 Count = 0;
u8* p = Memory::GetPointer(Buffer.PayloadBuffer[0].m_Address); u8* p = Memory::GetPointer(Buffer.PayloadBuffer[0].m_Address);
@ -576,11 +576,12 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress)
PanicAlert("IOCTL_ES_LAUNCH: src titleID %08x/%08x -> start %08x/%08x \n" PanicAlert("IOCTL_ES_LAUNCH: src titleID %08x/%08x -> start %08x/%08x \n"
"This means that dolphin tries to relaunch the WiiMenu or" "This means that dolphin tries to relaunch the WiiMenu or"
"launches code from the an URL. Both wont work and dolphin will prolly hang...", "launches code from the an URL. Both wont work and dolphin will prolly hang...",
TitleID>>32, TitleID, titleid>>32, titleid ); (u32)(TitleID>>32), (u32)TitleID, (u32)(titleid>>32), (u32)titleid );
Memory::Write_U32(0, _CommandAddress + 0x4); Memory::Write_U32(0, _CommandAddress + 0x4);
ERROR_LOG(WII_IPC_ES, "IOCTL_ES_LAUNCH"); ERROR_LOG(WII_IPC_ES, "IOCTL_ES_LAUNCH %016llx %08x %016llx %08x %016llx %04x", TitleID,view,ticketid,devicetype,titleid,access);
// IOCTL_ES_LAUNCH 0001000248414341 00000001 0001c0fef3df2cfa 00000000 0001000248414341 ffff
return true; return true;
} }

View File

@ -74,13 +74,18 @@ public:
switch(Parameter) switch(Parameter)
{ {
case IOCTL_STM_RELEASE_EH:
INFO_LOG(WII_IPC_SD, "%s - IOCtl:", GetDeviceName().c_str());
INFO_LOG(WII_IPC_SD, " IOCTL_STM_RELEASE_EH");
break;
case IOCTL_STM_HOTRESET: case IOCTL_STM_HOTRESET:
INFO_LOG(WII_IPC_SD, "%s - IOCtl: \n", GetDeviceName().c_str()); INFO_LOG(WII_IPC_SD, "%s - IOCtl:", GetDeviceName().c_str());
INFO_LOG(WII_IPC_SD, " IOCTL_STM_HOTRESET"); INFO_LOG(WII_IPC_SD, " IOCTL_STM_HOTRESET");
break; break;
case IOCTL_STM_VIDIMMING: // (Input: 20 bytes, Output: 20 bytes) case IOCTL_STM_VIDIMMING: // (Input: 20 bytes, Output: 20 bytes)
INFO_LOG(WII_IPC_SD, "%s - IOCtl: \n", GetDeviceName().c_str()); INFO_LOG(WII_IPC_SD, "%s - IOCtl:", GetDeviceName().c_str());
INFO_LOG(WII_IPC_SD, " IOCTL_STM_VIDIMMING"); INFO_LOG(WII_IPC_SD, " IOCTL_STM_VIDIMMING");
//DumpCommands(BufferIn, BufferInSize / 4, LogTypes::WII_IPC_SD); //DumpCommands(BufferIn, BufferInSize / 4, LogTypes::WII_IPC_SD);
//Memory::Write_U32(1, BufferOut); //Memory::Write_U32(1, BufferOut);
@ -88,7 +93,7 @@ public:
break; break;
case IOCTL_STM_LEDMODE: // (Input: 20 bytes, Output: 20 bytes) case IOCTL_STM_LEDMODE: // (Input: 20 bytes, Output: 20 bytes)
INFO_LOG(WII_IPC_SD, "%s - IOCtl: \n", GetDeviceName().c_str()); INFO_LOG(WII_IPC_SD, "%s - IOCtl:", GetDeviceName().c_str());
INFO_LOG(WII_IPC_SD, " IOCTL_STM_LEDMODE"); INFO_LOG(WII_IPC_SD, " IOCTL_STM_LEDMODE");
break; break;
@ -96,12 +101,12 @@ public:
{ {
_dbg_assert_msg_(WII_IPC_SD, 0, "CWII_IPC_HLE_Device_stm_immediate: 0x%x", Parameter); _dbg_assert_msg_(WII_IPC_SD, 0, "CWII_IPC_HLE_Device_stm_immediate: 0x%x", Parameter);
INFO_LOG(WII_IPC_SD, "%s - IOCtl: \n", GetDeviceName().c_str()); INFO_LOG(WII_IPC_SD, "%s - IOCtl:", GetDeviceName().c_str());
DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x\n", Parameter); DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x", Parameter);
DEBUG_LOG(WII_IPC_SD, " InBuffer: 0x%08x\n", BufferIn); DEBUG_LOG(WII_IPC_SD, " InBuffer: 0x%08x", BufferIn);
DEBUG_LOG(WII_IPC_SD, " InBufferSize: 0x%08x\n", BufferInSize); DEBUG_LOG(WII_IPC_SD, " InBufferSize: 0x%08x", BufferInSize);
DEBUG_LOG(WII_IPC_SD, " OutBuffer: 0x%08x\n", BufferOut); DEBUG_LOG(WII_IPC_SD, " OutBuffer: 0x%08x", BufferOut);
DEBUG_LOG(WII_IPC_SD, " OutBufferSize: 0x%08x\n", BufferOutSize); DEBUG_LOG(WII_IPC_SD, " OutBufferSize: 0x%08x", BufferOutSize);
} }
break; break;
} }
@ -156,12 +161,12 @@ public:
{ {
m_EventHookAddress = _CommandAddress; m_EventHookAddress = _CommandAddress;
INFO_LOG(WII_IPC_SD, "%s registers event hook:\n", GetDeviceName().c_str()); INFO_LOG(WII_IPC_SD, "%s registers event hook:", GetDeviceName().c_str());
DEBUG_LOG(WII_IPC_SD, " 0x1000 - IOCTL_STM_EVENTHOOK\n", Parameter); DEBUG_LOG(WII_IPC_SD, " 0x1000 - IOCTL_STM_EVENTHOOK", Parameter);
DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x\n", BufferIn); DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x", BufferIn);
DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x\n", BufferInSize); DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x", BufferInSize);
DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x\n", BufferOut); DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x", BufferOut);
DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x\n", BufferOutSize); DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x", BufferOutSize);
DumpCommands(BufferIn, BufferInSize/4, LogTypes::WII_IPC_SD); DumpCommands(BufferIn, BufferInSize/4, LogTypes::WII_IPC_SD);
@ -172,12 +177,12 @@ public:
default: default:
{ {
_dbg_assert_msg_(WII_IPC_SD, 0, "CWII_IPC_HLE_Device_stm_eventhook: 0x%x", Parameter); _dbg_assert_msg_(WII_IPC_SD, 0, "CWII_IPC_HLE_Device_stm_eventhook: 0x%x", Parameter);
INFO_LOG(WII_IPC_SD, "%s registers event hook:\n", GetDeviceName().c_str()); INFO_LOG(WII_IPC_SD, "%s registers event hook:", GetDeviceName().c_str());
DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x\n", Parameter); DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x", Parameter);
DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x\n", BufferIn); DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x", BufferIn);
DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x\n", BufferInSize); DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x", BufferInSize);
DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x\n", BufferOut); DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x", BufferOut);
DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x\n", BufferOutSize); DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x", BufferOutSize);
} }
break; break;
} }

View File

@ -16,9 +16,8 @@
// http://code.google.com/p/dolphin-emu/ // http://code.google.com/p/dolphin-emu/
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Include // Include
// ¯¯¯¯¯¯¯¯¯¯¯¯¯
#include "ConsoleWindow.h" // Common #include "ConsoleWindow.h" // Common
#include "../Core.h" // Local core functions #include "../Core.h" // Local core functions
@ -26,7 +25,6 @@
#include "../Host.h" #include "../Host.h"
#include "../PluginManager.h" #include "../PluginManager.h"
#include "WII_IPC_HLE_Device_usb.h" #include "WII_IPC_HLE_Device_usb.h"
///////////////////////
// Ugly hacks for "SendEventNumberOfCompletedPackets" // Ugly hacks for "SendEventNumberOfCompletedPackets"
@ -34,9 +32,8 @@ int g_HCICount = 0;
int g_GlobalHandle = 0; int g_GlobalHandle = 0;
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// The device class // The device class
// ¯¯¯¯¯¯¯¯¯¯¯¯¯
CWII_IPC_HLE_Device_usb_oh1_57e_305::CWII_IPC_HLE_Device_usb_oh1_57e_305(u32 _DeviceID, const std::string& _rDeviceName) CWII_IPC_HLE_Device_usb_oh1_57e_305::CWII_IPC_HLE_Device_usb_oh1_57e_305(u32 _DeviceID, const std::string& _rDeviceName)
: IWII_IPC_HLE_Device(_DeviceID, _rDeviceName) : IWII_IPC_HLE_Device(_DeviceID, _rDeviceName)
, m_PINType(0) , m_PINType(0)
@ -70,22 +67,26 @@ CWII_IPC_HLE_Device_usb_oh1_57e_305::CWII_IPC_HLE_Device_usb_oh1_57e_305(u32 _De
CWII_IPC_HLE_Device_usb_oh1_57e_305::~CWII_IPC_HLE_Device_usb_oh1_57e_305() CWII_IPC_HLE_Device_usb_oh1_57e_305::~CWII_IPC_HLE_Device_usb_oh1_57e_305()
{} {}
///////////////////////////
// =================================================== // ===================================================
/* Open */ // Open
// ----------------
bool CWII_IPC_HLE_Device_usb_oh1_57e_305::Open(u32 _CommandAddress, u32 _Mode) bool CWII_IPC_HLE_Device_usb_oh1_57e_305::Open(u32 _CommandAddress, u32 _Mode)
{ {
Memory::Write_U32(GetDeviceID(), _CommandAddress+4); Memory::Write_U32(GetDeviceID(), _CommandAddress+4);
return true; return true;
} }
// ===================================================
// Close
bool CWII_IPC_HLE_Device_usb_oh1_57e_305::Close(u32 _CommandAddress)
{
Memory::Write_U32(0, _CommandAddress + 4);
return true;
}
// =================================================== // ===================================================
/* IOCtl */ // IOCtl
// ----------------
bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtl(u32 _CommandAddress) bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtl(u32 _CommandAddress)
{ {
return IOCtlV(_CommandAddress); //hack return IOCtlV(_CommandAddress); //hack
@ -93,8 +94,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtl(u32 _CommandAddress)
// =================================================== // ===================================================
/* IOCtlV */ // IOCtlV
// ----------------
bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress) bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
{ {
/* /*

View File

@ -72,6 +72,7 @@ public:
virtual ~CWII_IPC_HLE_Device_usb_oh1_57e_305(); virtual ~CWII_IPC_HLE_Device_usb_oh1_57e_305();
virtual bool Open(u32 _CommandAddress, u32 _Mode); virtual bool Open(u32 _CommandAddress, u32 _Mode);
virtual bool Close(u32 _CommandAddress);
virtual bool IOCtlV(u32 _CommandAddress); virtual bool IOCtlV(u32 _CommandAddress);
virtual bool IOCtl(u32 _CommandAddress); virtual bool IOCtl(u32 _CommandAddress);