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
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);
}
}

View File

@ -53,7 +53,7 @@ enum ECommandType
COMMAND_IOCTLV = 7,
};
} // end of namespace AudioInterface
} // end of namespace WII_IPC_HLE_Interface
#endif

View File

@ -92,7 +92,7 @@ CWII_IPC_HLE_Device_es::CWII_IPC_HLE_Device_es(u32 _DeviceID, const std::string&
// {
// if (level2->isDirectory)
// {
// // finally at /title/0011223344/55667788/
// // 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()))
@ -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);
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;
}

View File

@ -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;
}

View File

@ -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)
{
/*

View File

@ -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);