From 37345a8199c943a09595feae219c8c1b33692b8b Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Thu, 12 Mar 2009 07:30:30 +0000 Subject: [PATCH] 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 --- .../Core/Src/Debugger/Debugger_SymbolMap.cpp | 16 ++-- Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.h | 4 +- .../Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp | 89 ++++++++++--------- .../Core/Src/IPC_HLE/WII_IPC_HLE_Device_stm.h | 47 +++++----- .../Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp | 26 +++--- .../Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.h | 1 + 6 files changed, 95 insertions(+), 88 deletions(-) diff --git a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp index ef76180d91..f97dfdc5d6 100644 --- a/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp +++ b/Source/Core/Core/Src/Debugger/Debugger_SymbolMap.cpp @@ -82,15 +82,15 @@ void PrintCallstack() { 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) { - printf(" LR = 0 - this is bad\n"); + printf(" LR = 0 - this is bad"); } int count = 1; 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++; } @@ -101,7 +101,7 @@ void PrintCallstack() const char *str = g_symbolDB.GetDescription(func); if (!str || strlen(str) == 0 || !strcmp(str, "Invalid")) str = "(unknown)"; - printf( " * %s [ addr = %08x ]\n", str, func); + printf( " * %s [ addr = %08x ]", str, func); 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 - GENERIC_LOG(type, LogTypes::LWARNING, "\n == STACK TRACE - SP = %08x ==\n", + GENERIC_LOG(type, LogTypes::LWARNING, "== STACK TRACE - SP = %08x ==", PowerPC::ppcState.gpr[1]); 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; 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); count++; } @@ -131,7 +131,7 @@ void PrintCallstack(LogTypes::LOG_TYPE type) const char *str = g_symbolDB.GetDescription(func); if (!str || strlen(str) == 0 || !strcmp(str, "Invalid")) 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); } } diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.h b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.h index 617e47840a..e9c6538dbd 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.h +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.h @@ -45,7 +45,7 @@ bool AckCommand(u32 _Address); enum ECommandType { COMMAND_OPEN_DEVICE = 1, - COMMAND_CLOSE_DEVICE = 2, + COMMAND_CLOSE_DEVICE = 2, COMMAND_READ = 3, COMMAND_WRITE = 4, COMMAND_SEEK = 5, @@ -53,7 +53,7 @@ enum ECommandType COMMAND_IOCTLV = 7, }; -} // end of namespace AudioInterface +} // end of namespace WII_IPC_HLE_Interface #endif diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp index 756b9a592d..58dc61a63d 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp @@ -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/ m_TitleIDs.clear(); -// std::string titleDir(FULL_WII_USER_DIR + std::string("title")); -// File::FSTEntry parentEntry; -// u32 numEntries = ScanDirectoryTree(titleDir.c_str(), parentEntry); -// -// for(std::vector::iterator level1 = parentEntry.children.begin(); level1 != parentEntry.children.end(); ++level1) -// { -// if (level1->isDirectory) -// { -// for(std::vector::iterator level2 = level1->children.begin(); level2 != level1->children.end(); ++level2) -// { -// if (level2->isDirectory) -// { -// // finally at /title/0011223344/55667788/ -// // ...get titleID from content/title.tmd -// std::string currentTMD(level2->physicalName + DIR_SEP + "content" + DIR_SEP + "title.tmd"); -// if (File::Exists(currentTMD.c_str())) -// { -// FILE *tmd = fopen(currentTMD.c_str(), "rb"); -// u64 titleID = 0xDEADBEEFDEADBEEFULL; -// fseek(tmd, 0x18C, SEEK_SET); -// fread(&titleID, 8, 1, tmd); -// m_TitleIDs.push_back(Common::swap64(titleID)); -// fclose(tmd); -// } -// } -// } -// } -// } +// std::string titleDir(FULL_WII_USER_DIR + std::string("title")); +// File::FSTEntry parentEntry; +// u32 numEntries = ScanDirectoryTree(titleDir.c_str(), parentEntry); +// +// for(std::vector::iterator level1 = parentEntry.children.begin(); level1 != parentEntry.children.end(); ++level1) +// { +// if (level1->isDirectory) +// { +// for(std::vector::iterator level2 = level1->children.begin(); level2 != level1->children.end(); ++level2) +// { +// if (level2->isDirectory) +// { +// // finally at /title/*/*/ +// // ...get titleID from content/title.tmd +// std::string currentTMD(level2->physicalName + DIR_SEP + "content" + DIR_SEP + "title.tmd"); +// if (File::Exists(currentTMD.c_str())) +// { +// FILE *tmd = fopen(currentTMD.c_str(), "rb"); +// u64 titleID = 0xDEADBEEFDEADBEEFULL; +// fseek(tmd, 0x18C, SEEK_SET); +// fread(&titleID, 8, 1, tmd); +// m_TitleIDs.push_back(Common::swap64(titleID)); +// fclose(tmd); +// } +// } +// } +// } +// } 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); 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); return true; @@ -185,7 +185,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) std::string TitleFilename = CreateTitleContentPath(TitleID); 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; if (Loader.IsValid()) @@ -219,11 +219,11 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) u32 CFD = AccessIdentID++; m_ContentAccessMap[CFD].m_Position = 0; 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); - 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; } break; @@ -342,7 +342,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) char* pTitleID = (char*)&TitleID; 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); } @@ -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"); 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; @@ -364,7 +364,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) _dbg_assert_(WII_IPC_ES, Buffer.NumberPayloadBuffer == 0); 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; @@ -395,7 +395,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) for (int i = 0; i < (int)m_TitleIDs.size(); i++) { 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++; if (Count >= MaxCount) break; @@ -441,7 +441,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) 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(0, _CommandAddress + 0x4); @@ -477,10 +477,10 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) } 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); return true; @@ -509,7 +509,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) 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; } @@ -525,7 +525,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) std::string TitleFilename = CreateTitleContentPath(TitleID); 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; 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" "This means that dolphin tries to relaunch the WiiMenu or" "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; } diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_stm.h b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_stm.h index 8bc4a66756..d14fbd78bd 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_stm.h +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_stm.h @@ -74,13 +74,18 @@ public: 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: - 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"); break; 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"); //DumpCommands(BufferIn, BufferInSize / 4, LogTypes::WII_IPC_SD); //Memory::Write_U32(1, BufferOut); @@ -88,7 +93,7 @@ public: break; 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"); break; @@ -96,12 +101,12 @@ public: { _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()); - DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x\n", Parameter); - DEBUG_LOG(WII_IPC_SD, " InBuffer: 0x%08x\n", BufferIn); - DEBUG_LOG(WII_IPC_SD, " InBufferSize: 0x%08x\n", BufferInSize); - DEBUG_LOG(WII_IPC_SD, " OutBuffer: 0x%08x\n", BufferOut); - DEBUG_LOG(WII_IPC_SD, " OutBufferSize: 0x%08x\n", BufferOutSize); + INFO_LOG(WII_IPC_SD, "%s - IOCtl:", GetDeviceName().c_str()); + DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x", Parameter); + DEBUG_LOG(WII_IPC_SD, " InBuffer: 0x%08x", BufferIn); + DEBUG_LOG(WII_IPC_SD, " InBufferSize: 0x%08x", BufferInSize); + DEBUG_LOG(WII_IPC_SD, " OutBuffer: 0x%08x", BufferOut); + DEBUG_LOG(WII_IPC_SD, " OutBufferSize: 0x%08x", BufferOutSize); } break; } @@ -156,12 +161,12 @@ public: { m_EventHookAddress = _CommandAddress; - INFO_LOG(WII_IPC_SD, "%s registers event hook:\n", GetDeviceName().c_str()); - DEBUG_LOG(WII_IPC_SD, " 0x1000 - IOCTL_STM_EVENTHOOK\n", Parameter); - DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x\n", BufferIn); - DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x\n", BufferInSize); - DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x\n", BufferOut); - DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x\n", BufferOutSize); + INFO_LOG(WII_IPC_SD, "%s registers event hook:", GetDeviceName().c_str()); + DEBUG_LOG(WII_IPC_SD, " 0x1000 - IOCTL_STM_EVENTHOOK", Parameter); + DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x", BufferIn); + DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x", BufferInSize); + DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x", BufferOut); + DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x", BufferOutSize); DumpCommands(BufferIn, BufferInSize/4, LogTypes::WII_IPC_SD); @@ -172,12 +177,12 @@ public: default: { _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()); - DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x\n", Parameter); - DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x\n", BufferIn); - DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x\n", BufferInSize); - DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x\n", BufferOut); - DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x\n", BufferOutSize); + INFO_LOG(WII_IPC_SD, "%s registers event hook:", GetDeviceName().c_str()); + DEBUG_LOG(WII_IPC_SD, " Parameter: 0x%x", Parameter); + DEBUG_LOG(WII_IPC_SD, " BufferIn: 0x%08x", BufferIn); + DEBUG_LOG(WII_IPC_SD, " BufferInSize: 0x%08x", BufferInSize); + DEBUG_LOG(WII_IPC_SD, " BufferOut: 0x%08x", BufferOut); + DEBUG_LOG(WII_IPC_SD, " BufferOutSize: 0x%08x", BufferOutSize); } break; } diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp index ff55716a7f..eeeba7e9d5 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp @@ -16,9 +16,8 @@ // http://code.google.com/p/dolphin-emu/ -////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// // Include -// ŻŻŻŻŻŻŻŻŻŻŻŻŻ #include "ConsoleWindow.h" // Common #include "../Core.h" // Local core functions @@ -26,7 +25,6 @@ #include "../Host.h" #include "../PluginManager.h" #include "WII_IPC_HLE_Device_usb.h" -/////////////////////// // Ugly hacks for "SendEventNumberOfCompletedPackets" @@ -34,9 +32,8 @@ int g_HCICount = 0; int g_GlobalHandle = 0; -////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// // 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) : IWII_IPC_HLE_Device(_DeviceID, _rDeviceName) , 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() {} -/////////////////////////// - // =================================================== -/* Open */ -// ---------------- +// Open bool CWII_IPC_HLE_Device_usb_oh1_57e_305::Open(u32 _CommandAddress, u32 _Mode) { Memory::Write_U32(GetDeviceID(), _CommandAddress+4); 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) { 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) { /* diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.h b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.h index a9e1d2a9cb..baf0079357 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.h +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.h @@ -72,6 +72,7 @@ public: virtual ~CWII_IPC_HLE_Device_usb_oh1_57e_305(); virtual bool Open(u32 _CommandAddress, u32 _Mode); + virtual bool Close(u32 _CommandAddress); virtual bool IOCtlV(u32 _CommandAddress); virtual bool IOCtl(u32 _CommandAddress);