Added puts() HLE, WIIMOTE logging section and experimental virtual connection request.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@427 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
masken 2008-09-01 21:29:27 +00:00
parent b1cd01819b
commit 012041bab5
8 changed files with 828 additions and 807 deletions

Binary file not shown.

View File

@ -193,6 +193,7 @@ class LogTypes
WII_IOB,
WII_IPC,
WII_IPC_HLE,
WIIMOTE,
NUMBER_OF_LOGS
};
};
@ -224,8 +225,10 @@ void Host_UpdateLogDisplay();
#define LOG(_t_, ...)
#define _dbg_clear_()
#ifndef _dbg_assert_
#define _dbg_assert_(_t_, _a_) ;
#define _dbg_assert_msg_(_t_, _a_, _desc_, ...) ;
#endif
#define _dbg_update_() ;
#endif

View File

@ -60,6 +60,7 @@ static const SPatch OSPatches[] =
{ "OSPanic", HLE_OS::HLE_OSPanic },
{ "vprintf", HLE_OS::HLE_vprintf },
{ "printf", HLE_OS::HLE_printf },
{ "puts", HLE_OS::HLE_printf }, //gcc-optimized printf?
// wii only
{ "SCCheckStatus", HLE_Misc::UnimplementedFunctionFalse },

View File

@ -125,6 +125,8 @@ void GetStringVA(std::string& _rOutBuffer)
pString++;
}
}
if(_rOutBuffer[_rOutBuffer.length() - 1] == '\n')
_rOutBuffer.resize(_rOutBuffer.length() - 1);
}
}

View File

@ -18,9 +18,6 @@
#include "WII_IPC_HLE_Device_usb.h"
#include <vector>
#define USB_HLE_LOG DSPHLE
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_ACLAnswer(false)
@ -58,10 +55,12 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
// wpadsampled.elf - patch so the USB_LOG will print somehting
// even it it wasn't very useful yet...
// Memory::Write_U8(1, 0x801514A8); // USB_LOG
Memory::Write_U8(1, 0x801514D8); // WUD_DEBUGPrint
//Memory::Write_U8(1, 0x801514D8); // WUD_DEBUGPrint
SIOCtlVBuffer CommandBuffer(_CommandAddress);
LOG(WIIMOTE, "USB_IOCTL_CTRLMSG(0x%x)", CommandBuffer.Parameter);
// DumpAsync(CommandBuffer.BufferVector, _CommandAddress, CommandBuffer.NumberInBuffer, CommandBuffer.NumberPayloadBuffer);
switch(CommandBuffer.Parameter)
@ -83,15 +82,17 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
CtrlSetup.m_PayLoadAddr = CommandBuffer.PayloadBuffer[0].m_Address;
CtrlSetup.m_PayLoadSize = CommandBuffer.PayloadBuffer[0].m_Size;
_dbg_assert_msg_(USB_HLE_LOG, Termination == 0, "USB_HLE_LOG: Termination != 0");
_dbg_assert_msg_(WIIMOTE, Termination == 0, "WIIMOTE: Termination != 0");
LOG(USB_HLE_LOG, "USB_IOCTL_CTRLMSG (0x%08x) - add to queue and send ack only", _CommandAddress);
#if 0
LOG(WIIMOTE, "USB_IOCTL_CTRLMSG (0x%08x) - add to queue and send ack only", _CommandAddress);
/* LOG(USB_HLE_LOG, " bRequestType: 0x%x", CtrlSetup.bRequestType);
LOG(USB_HLE_LOG, " bRequest: 0x%x", CtrlSetup.bRequest);
LOG(USB_HLE_LOG, " wValue: 0x%x", CtrlSetup.wValue);
LOG(USB_HLE_LOG, " wIndex: 0x%x", CtrlSetup.wIndex);
LOG(USB_HLE_LOG, " wLength: 0x%x", CtrlSetup.wLength); */
LOG(WIIMOTE, " bRequestType: 0x%x", CtrlSetup.bRequestType);
LOG(WIIMOTE, " bRequest: 0x%x", CtrlSetup.bRequest);
LOG(WIIMOTE, " wValue: 0x%x", CtrlSetup.wValue);
LOG(WIIMOTE, " wIndex: 0x%x", CtrlSetup.wIndex);
LOG(WIIMOTE, " wLength: 0x%x", CtrlSetup.wLength);
#endif
m_HCICommandMessageQueue.push(CtrlSetup);
@ -114,8 +115,8 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
SIOCtlVBuffer pBulkBuffer(_CommandAddress);
UACLHeader* pACLHeader = (UACLHeader*)Memory::GetPointer(pBulkBuffer.PayloadBuffer[0].m_Address);
_dbg_assert_(USB_HLE_LOG, pACLHeader->BCFlag == 0);
_dbg_assert_(USB_HLE_LOG, pACLHeader->PBFlag == 2);
_dbg_assert_(WIIMOTE, pACLHeader->BCFlag == 0);
_dbg_assert_(WIIMOTE, pACLHeader->PBFlag == 2);
SendToDevice(pACLHeader->ConnectionHandle, Memory::GetPointer(pBulkBuffer.PayloadBuffer[0].m_Address + 4), pACLHeader->Size);
}
@ -127,14 +128,14 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
delete m_pACLBuffer;
m_pACLBuffer = new SIOCtlVBuffer(_CommandAddress);
LOG(USB_HLE_LOG, "ACL_DATA_ENDPOINT: 0x%08x ", _CommandAddress);
LOG(WIIMOTE, "ACL_DATA_ENDPOINT: 0x%08x ", _CommandAddress);
return false;
}
break;
default:
{
_dbg_assert_msg_(USB_HLE_LOG, 0, "Unknown USB_IOCTL_BLKMSG: %x", Command);
_dbg_assert_msg_(WIIMOTE, 0, "Unknown USB_IOCTL_BLKMSG: %x", Command);
}
break;
}
@ -153,14 +154,14 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
delete m_pHCIBuffer;
m_pHCIBuffer = new SIOCtlVBuffer(_CommandAddress);
LOG(USB_HLE_LOG, "HCI_EVENT_ENDPOINT: 0x%08x", _CommandAddress);
LOG(WIIMOTE, "HCI_EVENT_ENDPOINT: 0x%08x", _CommandAddress);
return false;
}
break;
default:
{
_dbg_assert_msg_(USB_HLE_LOG, 0, "Unknown USB_IOCTL_INTRMSG: %x", Command);
_dbg_assert_msg_(WIIMOTE, 0, "Unknown USB_IOCTL_INTRMSG: %x", Command);
}
break;
}
@ -169,14 +170,14 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
default:
{
_dbg_assert_msg_(USB_HLE_LOG, 0, "Unknown CWII_IPC_HLE_Device_usb_oh1_57e_305: %x", CommandBuffer.Parameter);
_dbg_assert_msg_(WIIMOTE, 0, "Unknown CWII_IPC_HLE_Device_usb_oh1_57e_305: %x", CommandBuffer.Parameter);
LOG(USB_HLE_LOG, "%s - IOCtlV:", GetDeviceName().c_str());
LOG(USB_HLE_LOG, " Parameter: 0x%x", CommandBuffer.Parameter);
LOG(USB_HLE_LOG, " NumberIn: 0x%08x", CommandBuffer.NumberInBuffer);
LOG(USB_HLE_LOG, " NumberOut: 0x%08x", CommandBuffer.NumberPayloadBuffer);
LOG(USB_HLE_LOG, " BufferVector: 0x%08x", CommandBuffer.BufferVector);
LOG(USB_HLE_LOG, " BufferSize: 0x%08x", CommandBuffer.BufferSize);
LOG(WIIMOTE, "%s - IOCtlV:", GetDeviceName().c_str());
LOG(WIIMOTE, " Parameter: 0x%x", CommandBuffer.Parameter);
LOG(WIIMOTE, " NumberIn: 0x%08x", CommandBuffer.NumberInBuffer);
LOG(WIIMOTE, " NumberOut: 0x%08x", CommandBuffer.NumberPayloadBuffer);
LOG(WIIMOTE, " BufferVector: 0x%08x", CommandBuffer.BufferVector);
LOG(WIIMOTE, " BufferSize: 0x%08x", CommandBuffer.BufferSize);
DumpAsync(CommandBuffer.BufferVector, _CommandAddress, CommandBuffer.NumberInBuffer, CommandBuffer.NumberPayloadBuffer);
}
break;
@ -220,6 +221,8 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::SendACLFrame(u16 _ConnectionHandle, u8
u32 CWII_IPC_HLE_Device_usb_oh1_57e_305::Update()
{
LOG(WIIMOTE, "Update() %i 0x%08x",
m_HCICommandMessageQueue.size(), m_pHCIBuffer);
// check state machine
if (m_pHCIBuffer)
{
@ -310,6 +313,18 @@ u32 CWII_IPC_HLE_Device_usb_oh1_57e_305::Update()
return Addr;
}
if(scan_enable && m_pHCIBuffer) {
//by now, the emulatee should be listening for incoming L2CAP packets.
//let's send a few.
SendEventRequestConnection();
scan_enable = 0;
u32 Addr = m_pHCIBuffer->m_Address;
delete m_pHCIBuffer;
m_pHCIBuffer = NULL;
return Addr;
}
return 0;
}
@ -374,8 +389,8 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventInquiryResponse()
pResponse->page_scan_mode = 0;
pResponse->clock_offset = 0x3818;
LOG(USB_HLE_LOG, "Event: Send Fake Inquriy of one controller");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Event: Send Fake Inquriy of one controller");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
pResponse->bdaddr.b[0], pResponse->bdaddr.b[1], pResponse->bdaddr.b[2],
pResponse->bdaddr.b[3], pResponse->bdaddr.b[4], pResponse->bdaddr.b[5]);
}
@ -396,7 +411,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventInquiryComplete()
// control message has been sent...
Memory::Write_U32(sizeof(SHCIEventInquiryComplete), m_pHCIBuffer->m_Address + 0x4);
LOG(USB_HLE_LOG, "Event: Inquiry complete");
LOG(WIIMOTE, "Event: Inquiry complete");
return true;
}
@ -424,25 +439,25 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRemoteNameReq()
// return reply buffer size
Memory::Write_U32(sizeof(SHCIEventRemoteNameReq), m_pHCIBuffer->m_Address + 0x4);
LOG(USB_HLE_LOG, "Event: SendEventRemoteNameReq");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Event: SendEventRemoteNameReq");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
pRemoteNameReq->bdaddr.b[0], pRemoteNameReq->bdaddr.b[1], pRemoteNameReq->bdaddr.b[2],
pRemoteNameReq->bdaddr.b[3], pRemoteNameReq->bdaddr.b[4], pRemoteNameReq->bdaddr.b[5]);
LOG(USB_HLE_LOG, " remotename: %s", pRemoteNameReq->RemoteName);
LOG(WIIMOTE, " remotename: %s", pRemoteNameReq->RemoteName);
return true;
}
bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRequestConnection()
{
PanicAlert("unused");
/*
//PanicAlert("unused");
SHCIEventRequestConnection* pEventRequestConnection = (SHCIEventRequestConnection*)Memory::GetPointer(m_pHCIBuffer->PayloadBuffer[0].m_Address);
pEventRequestConnection->EventType = 0x04;
pEventRequestConnection->PayloadLength = 13;
pEventRequestConnection->bdaddr = XXXXX; // BD_ADDR of the device that requests the connection
pEventRequestConnection->bdaddr = m_WiiMotes[0].GetBD(); // BD_ADDR of the device that requests the connection
pEventRequestConnection->uclass[0] = 0x04; // thanks to shagkur
pEventRequestConnection->uclass[1] = 0x25;
pEventRequestConnection->uclass[2] = 0x00;
@ -451,15 +466,15 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventRequestConnection()
// return reply buffer size
Memory::Write_U32(sizeof(SHCIEventRequestConnection), m_pHCIBuffer->m_Address + 0x4);
LOG(USB_HLE_LOG, "Event: SendEventRequestConnection");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Event: SendEventRequestConnection");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
pEventRequestConnection->bdaddr.b[0], pEventRequestConnection->bdaddr.b[1], pEventRequestConnection->bdaddr.b[2],
pEventRequestConnection->bdaddr.b[3], pEventRequestConnection->bdaddr.b[4], pEventRequestConnection->bdaddr.b[5]);
LOG(USB_HLE_LOG, " COD[0]: 0x%02x", pEventRequestConnection->uclass[0]);
LOG(USB_HLE_LOG, " COD[1]: 0x%02x", pEventRequestConnection->uclass[1]);
LOG(USB_HLE_LOG, " COD[2]: 0x%02x", pEventRequestConnection->uclass[2]);
LOG(USB_HLE_LOG, " LinkType: %i", pEventRequestConnection->LinkType);
*/
LOG(WIIMOTE, " COD[0]: 0x%02x", pEventRequestConnection->uclass[0]);
LOG(WIIMOTE, " COD[1]: 0x%02x", pEventRequestConnection->uclass[1]);
LOG(WIIMOTE, " COD[2]: 0x%02x", pEventRequestConnection->uclass[2]);
LOG(WIIMOTE, " LinkType: %i", pEventRequestConnection->LinkType);
return true;
};
@ -488,13 +503,13 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventConnectionComplete()
// return reply buffer size
Memory::Write_U32(sizeof(SHCIEventConnectionComplete), m_pHCIBuffer->m_Address + 0x4);
LOG(USB_HLE_LOG, "Event: SendEventConnectionComplete");
LOG(USB_HLE_LOG, " Connection_Handle: 0x%04x", pConnectionComplete->Connection_Handle);
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Event: SendEventConnectionComplete");
LOG(WIIMOTE, " Connection_Handle: 0x%04x", pConnectionComplete->Connection_Handle);
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
pConnectionComplete->bdaddr.b[0], pConnectionComplete->bdaddr.b[1], pConnectionComplete->bdaddr.b[2],
pConnectionComplete->bdaddr.b[3], pConnectionComplete->bdaddr.b[4], pConnectionComplete->bdaddr.b[5]);
LOG(USB_HLE_LOG, " LinkType: %i", pConnectionComplete->LinkType);
LOG(USB_HLE_LOG, " EncryptionEnabled: %i", pConnectionComplete->EncryptionEnabled);
LOG(WIIMOTE, " LinkType: %i", pConnectionComplete->LinkType);
LOG(WIIMOTE, " EncryptionEnabled: %i", pConnectionComplete->EncryptionEnabled);
return true;
}
@ -519,9 +534,9 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadClockOffsetComplete()
// return reply buffer size
Memory::Write_U32(sizeof(SHCIEventReadClockOffsetComplete), m_pHCIBuffer->m_Address + 0x4);
LOG(USB_HLE_LOG, "Event: SendEventConnectionComplete");
LOG(USB_HLE_LOG, " Connection_Handle: 0x%04x", pReadClockOffsetComplete->ConnectionHandle);
LOG(USB_HLE_LOG, " ClockOffset: 0x%04x", pReadClockOffsetComplete->ClockOffset);
LOG(WIIMOTE, "Event: SendEventConnectionComplete");
LOG(WIIMOTE, " Connection_Handle: 0x%04x", pReadClockOffsetComplete->ConnectionHandle);
LOG(WIIMOTE, " ClockOffset: 0x%04x", pReadClockOffsetComplete->ClockOffset);
return true;
}
@ -548,11 +563,11 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadRemoteVerInfo()
// control message has been sent...
Memory::Write_U32(sizeof(SHCIEventReadRemoteVerInfo), m_pHCIBuffer->m_Address + 0x4);
LOG(USB_HLE_LOG, "Event: SendEventReadReadRemoteVerInfo");
LOG(USB_HLE_LOG, " Connection_Handle: 0x%04x", pReadRemoteVerInfo->ConnectionHandle);
LOG(USB_HLE_LOG, " lmp_version: 0x%02x", pReadRemoteVerInfo->lmp_version);
LOG(USB_HLE_LOG, " manufacturer: 0x%04x", pReadRemoteVerInfo->manufacturer);
LOG(USB_HLE_LOG, " lmp_subversion: 0x%04x", pReadRemoteVerInfo->lmp_subversion);
LOG(WIIMOTE, "Event: SendEventReadReadRemoteVerInfo");
LOG(WIIMOTE, " Connection_Handle: 0x%04x", pReadRemoteVerInfo->ConnectionHandle);
LOG(WIIMOTE, " lmp_version: 0x%02x", pReadRemoteVerInfo->lmp_version);
LOG(WIIMOTE, " manufacturer: 0x%04x", pReadRemoteVerInfo->manufacturer);
LOG(WIIMOTE, " lmp_subversion: 0x%04x", pReadRemoteVerInfo->lmp_subversion);
return true;
}
@ -584,9 +599,9 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventReadRemoteFeatures()
// control message has been sent...
Memory::Write_U32(sizeof(SHCIEventReadRemoteFeatures), m_pHCIBuffer->m_Address + 0x4);
LOG(USB_HLE_LOG, "Event: SendEventReadReadRemoteVerInfo");
LOG(USB_HLE_LOG, " Connection_Handle: 0x%04x", pReadRemoteFeatures->ConnectionHandle);
LOG(USB_HLE_LOG, " features: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Event: SendEventReadReadRemoteVerInfo");
LOG(WIIMOTE, " Connection_Handle: 0x%04x", pReadRemoteFeatures->ConnectionHandle);
LOG(WIIMOTE, " features: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
pReadRemoteFeatures->features[0], pReadRemoteFeatures->features[1], pReadRemoteFeatures->features[2],
pReadRemoteFeatures->features[3], pReadRemoteFeatures->features[4], pReadRemoteFeatures->features[5],
pReadRemoteFeatures->features[6], pReadRemoteFeatures->features[7]);
@ -601,6 +616,8 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::ExecuteHCICommandMessage(const SHCICom
u8* pInput = Memory::GetPointer(_rHCICommandMessage.m_PayLoadAddr + 3);
SCommandMessage* pMsg = (SCommandMessage*)Memory::GetPointer(_rHCICommandMessage.m_PayLoadAddr);
LOG(WIIMOTE, "ExecuteHCICommandMessage(0x%04x)", pMsg->Opcode);
switch(pMsg->Opcode)
{
//
@ -721,7 +738,7 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::ExecuteHCICommandMessage(const SHCICom
u16 ogf = HCI_OGF(pMsg->Opcode);
#endif
_dbg_assert_msg_(USB_HLE_LOG, 0, "Unknown USB_IOCTL_CTRLMSG: 0x%04X (ocf: 0x%x ogf 0x%x)", pMsg->Opcode, ocf, ogf);
_dbg_assert_msg_(WIIMOTE, 0, "Unknown USB_IOCTL_CTRLMSG: 0x%04X (ocf: 0x%x ogf 0x%x)", pMsg->Opcode, ocf, ogf);
// send fake all is okay msg...
SendEventCommandComplete(pMsg->Opcode, NULL, 0);
@ -738,7 +755,7 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReset(u8* _Input)
SendEventCommandComplete(HCI_CMD_RESET, &Reply, sizeof(hci_status_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_RESET");
LOG(WIIMOTE, "Command: HCI_CMD_RESET");
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadBufferSize(u8* _Input)
@ -753,12 +770,12 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadBufferSize(u8* _Input)
SendEventCommandComplete(HCI_CMD_READ_BUFFER_SIZE, &Reply, sizeof(hci_read_buffer_size_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_BUFFER_SIZE:");
LOG(USB_HLE_LOG, "return:");
LOG(USB_HLE_LOG, " max_acl_size: %i", Reply.max_acl_size);
LOG(USB_HLE_LOG, " num_acl_pkts: %i", Reply.num_acl_pkts);
LOG(USB_HLE_LOG, " max_sco_size: %i", Reply.max_sco_size);
LOG(USB_HLE_LOG, " num_sco_pkts: %i", Reply.num_sco_pkts);
LOG(WIIMOTE, "Command: HCI_CMD_READ_BUFFER_SIZE:");
LOG(WIIMOTE, "return:");
LOG(WIIMOTE, " max_acl_size: %i", Reply.max_acl_size);
LOG(WIIMOTE, " num_acl_pkts: %i", Reply.num_acl_pkts);
LOG(WIIMOTE, " max_sco_size: %i", Reply.max_sco_size);
LOG(WIIMOTE, " num_sco_pkts: %i", Reply.num_sco_pkts);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadLocalVer(u8* _Input)
@ -774,13 +791,13 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadLocalVer(u8* _Input)
SendEventCommandComplete(HCI_CMD_READ_LOCAL_VER, &Reply, sizeof(hci_read_local_ver_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_LOCAL_VER:");
LOG(USB_HLE_LOG, "return:");
LOG(USB_HLE_LOG, " status: %i", Reply.status);
LOG(USB_HLE_LOG, " hci_revision: %i", Reply.hci_revision);
LOG(USB_HLE_LOG, " lmp_version: %i", Reply.lmp_version);
LOG(USB_HLE_LOG, " manufacturer: %i", Reply.manufacturer);
LOG(USB_HLE_LOG, " lmp_subversion: %i", Reply.lmp_subversion);
LOG(WIIMOTE, "Command: HCI_CMD_READ_LOCAL_VER:");
LOG(WIIMOTE, "return:");
LOG(WIIMOTE, " status: %i", Reply.status);
LOG(WIIMOTE, " hci_revision: %i", Reply.hci_revision);
LOG(WIIMOTE, " lmp_version: %i", Reply.lmp_version);
LOG(WIIMOTE, " manufacturer: %i", Reply.manufacturer);
LOG(WIIMOTE, " lmp_subversion: %i", Reply.lmp_subversion);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadBDAdrr(u8* _Input)
@ -792,9 +809,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadBDAdrr(u8* _Input)
SendEventCommandComplete(HCI_CMD_READ_BDADDR, &Reply, sizeof(hci_read_bdaddr_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_BDADDR:");
LOG(USB_HLE_LOG, "return:");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Command: HCI_CMD_READ_BDADDR:");
LOG(WIIMOTE, "return:");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
Reply.bdaddr.b[0], Reply.bdaddr.b[1], Reply.bdaddr.b[2],
Reply.bdaddr.b[3], Reply.bdaddr.b[4], Reply.bdaddr.b[5]);
}
@ -815,9 +832,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadLocalFeatures(u8* _Input)
SendEventCommandComplete(HCI_CMD_READ_LOCAL_FEATURES, &Reply, sizeof(hci_read_local_features_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_LOCAL_FEATURES:");
LOG(USB_HLE_LOG, "return:");
LOG(USB_HLE_LOG, " features: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Command: HCI_CMD_READ_LOCAL_FEATURES:");
LOG(WIIMOTE, "return:");
LOG(WIIMOTE, " features: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
Reply.features[0], Reply.features[1], Reply.features[2],
Reply.features[3], Reply.features[4], Reply.features[5],
Reply.features[6], Reply.features[7]);
@ -835,14 +852,14 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadStoredLinkKey(u8* _Input)
SendEventCommandComplete(HCI_CMD_READ_STORED_LINK_KEY, &Reply, sizeof(hci_read_stored_link_key_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_STORED_LINK_KEY:");
LOG(USB_HLE_LOG, "input:");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Command: HCI_CMD_READ_STORED_LINK_KEY:");
LOG(WIIMOTE, "input:");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
ReadStoredLinkKey->bdaddr.b[0], ReadStoredLinkKey->bdaddr.b[1], ReadStoredLinkKey->bdaddr.b[2],
ReadStoredLinkKey->bdaddr.b[3], ReadStoredLinkKey->bdaddr.b[4], ReadStoredLinkKey->bdaddr.b[5]);
LOG(USB_HLE_LOG, " read_all_ %i", ReadStoredLinkKey->read_all);
LOG(USB_HLE_LOG, "return:");
LOG(USB_HLE_LOG, " no idea what i should answer :)");
LOG(WIIMOTE, " read_all_ %i", ReadStoredLinkKey->read_all);
LOG(WIIMOTE, "return:");
LOG(WIIMOTE, " no idea what i should answer :)");
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteUnitClass(u8* _Input)
@ -859,11 +876,11 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteUnitClass(u8* _Input)
SendEventCommandComplete(HCI_CMD_WRITE_UNIT_CLASS, &Reply, sizeof(hci_write_unit_class_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_UNIT_CLASS:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " COD[0]: 0x%02x", pWriteUnitClass->uclass[0]);
LOG(USB_HLE_LOG, " COD[1]: 0x%02x", pWriteUnitClass->uclass[1]);
LOG(USB_HLE_LOG, " COD[2]: 0x%02x", pWriteUnitClass->uclass[2]);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_UNIT_CLASS:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " COD[0]: 0x%02x", pWriteUnitClass->uclass[0]);
LOG(WIIMOTE, " COD[1]: 0x%02x", pWriteUnitClass->uclass[1]);
LOG(WIIMOTE, " COD[2]: 0x%02x", pWriteUnitClass->uclass[2]);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteLocalName(u8* _Input)
@ -878,9 +895,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteLocalName(u8* _Input)
SendEventCommandComplete(HCI_CMD_WRITE_LOCAL_NAME, &Reply, sizeof(hci_write_local_name_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_LOCAL_NAME:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " local_name: %s", pWriteLocalName->name);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_LOCAL_NAME:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " local_name: %s", pWriteLocalName->name);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWritePinType(u8* _Input)
@ -895,9 +912,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWritePinType(u8* _Input)
SendEventCommandComplete(HCI_CMD_WRITE_PIN_TYPE, &Reply, sizeof(hci_write_pin_type_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_PIN_TYPE:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " pin_type: %x", pWritePinType->pin_type);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_PIN_TYPE:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " pin_type: %x", pWritePinType->pin_type);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandHostBufferSize(u8* _Input)
@ -915,12 +932,12 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandHostBufferSize(u8* _Input)
SendEventCommandComplete(HCI_CMD_HOST_BUFFER_SIZE, &Reply, sizeof(hci_host_buffer_size_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_HOST_BUFFER_SIZE:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " max_acl_size: %i", pHostBufferSize->max_acl_size);
LOG(USB_HLE_LOG, " max_sco_size: %i", pHostBufferSize->max_sco_size);
LOG(USB_HLE_LOG, " num_acl_pkts: %i", pHostBufferSize->num_acl_pkts);
LOG(USB_HLE_LOG, " num_sco_pkts: %i", pHostBufferSize->num_sco_pkts);
LOG(WIIMOTE, "Command: HCI_CMD_HOST_BUFFER_SIZE:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " max_acl_size: %i", pHostBufferSize->max_acl_size);
LOG(WIIMOTE, " max_sco_size: %i", pHostBufferSize->max_sco_size);
LOG(WIIMOTE, " num_acl_pkts: %i", pHostBufferSize->num_acl_pkts);
LOG(WIIMOTE, " num_sco_pkts: %i", pHostBufferSize->num_sco_pkts);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWritePageTimeOut(u8* _Input)
@ -936,9 +953,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWritePageTimeOut(u8* _Input)
SendEventCommandComplete(HCI_CMD_WRITE_PAGE_TIMEOUT, &Reply, sizeof(hci_host_buffer_size_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_PAGE_TIMEOUT:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " timeout: %i", pWritePageTimeOut->timeout);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_PAGE_TIMEOUT:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " timeout: %i", pWritePageTimeOut->timeout);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteScanEnable(u8* _Input)
@ -963,9 +980,10 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteScanEnable(u8* _Input)
};
#endif
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_SCAN_ENABLE:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " scan_enable: %s", Scanning[pWriteScanEnable->scan_enable]);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_SCAN_ENABLE:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " scan_enable: %s", Scanning[pWriteScanEnable->scan_enable]);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteInquiryMode(u8* _Input)
@ -989,9 +1007,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteInquiryMode(u8* _Input)
{ "Inquiry Result with RSSI format or Extended Inquiry Result format" }
};
#endif
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_INQUIRY_MODE:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " mode: %s", InquiryMode[pInquiryMode->mode]);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_INQUIRY_MODE:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " mode: %s", InquiryMode[pInquiryMode->mode]);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWritePageScanType(u8* _Input)
@ -1015,9 +1033,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWritePageScanType(u8* _Input)
};
#endif
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_PAGE_SCAN_TYPE:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " type: %s", PageScanType[pWritePageScanType->type]);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_PAGE_SCAN_TYPE:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " type: %s", PageScanType[pWritePageScanType->type]);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandSetEventFilter(u8* _Input)
@ -1033,10 +1051,10 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandSetEventFilter(u8* _Input)
SendEventCommandComplete(HCI_CMD_SET_EVENT_FILTER, &Reply, sizeof(hci_set_event_filter_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_SET_EVENT_FILTER:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " filter_type: %i", pSetEventFilter->filter_type);
LOG(USB_HLE_LOG, " filter_condition_type: %i", pSetEventFilter->filter_condition_type);
LOG(WIIMOTE, "Command: HCI_CMD_SET_EVENT_FILTER:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " filter_type: %i", pSetEventFilter->filter_type);
LOG(WIIMOTE, " filter_condition_type: %i", pSetEventFilter->filter_condition_type);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandInquiry(u8* _Input)
@ -1047,17 +1065,17 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandInquiry(u8* _Input)
memcpy(lap, pInquiry->lap, HCI_LAP_SIZE);
_dbg_assert_msg_(USB_HLE_LOG, m_State == STATE_NONE, "m_State != NONE");
_dbg_assert_msg_(WIIMOTE, m_State == STATE_NONE, "m_State != NONE");
m_State = STATE_INQUIRY_RESPONSE;
SendEventCommandStatus(HCI_CMD_INQUIRY);
LOG(USB_HLE_LOG, "Command: HCI_CMD_INQUIRY:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " LAP[0]: 0x%02x", pInquiry->lap[0]);
LOG(USB_HLE_LOG, " LAP[1]: 0x%02x", pInquiry->lap[1]);
LOG(USB_HLE_LOG, " LAP[2]: 0x%02x", pInquiry->lap[2]);
LOG(USB_HLE_LOG, " inquiry_length: %i (N x 1.28) sec", pInquiry->inquiry_length);
LOG(USB_HLE_LOG, " num_responses: %i (N x 1.28) sec", pInquiry->num_responses);
LOG(WIIMOTE, "Command: HCI_CMD_INQUIRY:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " LAP[0]: 0x%02x", pInquiry->lap[0]);
LOG(WIIMOTE, " LAP[1]: 0x%02x", pInquiry->lap[1]);
LOG(WIIMOTE, " LAP[2]: 0x%02x", pInquiry->lap[2]);
LOG(WIIMOTE, " inquiry_length: %i (N x 1.28) sec", pInquiry->inquiry_length);
LOG(WIIMOTE, " num_responses: %i (N x 1.28) sec", pInquiry->num_responses);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteInquiryScanType(u8* _Input)
@ -1072,9 +1090,9 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandWriteInquiryScanType(u8* _Input
SendEventCommandComplete(HCI_CMD_WRITE_INQUIRY_SCAN_TYPE, &Reply, sizeof(hci_write_inquiry_scan_type_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_WRITE_INQUIRY_SCAN_TYPE:");
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " type: %i", pSetEventFilter->type);
LOG(WIIMOTE, "Command: HCI_CMD_WRITE_INQUIRY_SCAN_TYPE:");
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " type: %i", pSetEventFilter->type);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandVendorSpecific_FC4F(u8* _Input, u32 _Size)
@ -1092,12 +1110,12 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandVendorSpecific_FC4F(u8* _Input,
SendEventCommandComplete(0xFC4F, &Reply, sizeof(hci_status_rp));
LOG(USB_HLE_LOG, "Command: CommandVendorSpecific_FC4F:");
LOG(USB_HLE_LOG, "input (size 0x%x):", _Size);
LOG(WIIMOTE, "Command: CommandVendorSpecific_FC4F:");
LOG(WIIMOTE, "input (size 0x%x):", _Size);
for (u32 i=0; i<_Size; i++)
LOG(USB_HLE_LOG, " Data: 0x%02x", _Input[i]);
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " callstack WUDiRemovePatch");
LOG(WIIMOTE, " Data: 0x%02x", _Input[i]);
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " callstack WUDiRemovePatch");
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandVendorSpecific_FC4C(u8* _Input, u32 _Size)
@ -1108,12 +1126,12 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandVendorSpecific_FC4C(u8* _Input,
SendEventCommandComplete(0xFC4C, &Reply, sizeof(hci_status_rp));
LOG(USB_HLE_LOG, "Command: CommandVendorSpecific_FC4C:");
LOG(USB_HLE_LOG, "input (size 0x%x):", _Size);
LOG(WIIMOTE, "Command: CommandVendorSpecific_FC4C:");
LOG(WIIMOTE, "input (size 0x%x):", _Size);
for (u32 i=0; i<_Size; i++)
LOG(USB_HLE_LOG, " Data: 0x%02x", _Input[i]);
LOG(USB_HLE_LOG, "write:");
LOG(USB_HLE_LOG, " perhaps append patch?");
LOG(WIIMOTE, " Data: 0x%02x", _Input[i]);
LOG(WIIMOTE, "write:");
LOG(WIIMOTE, " perhaps append patch?");
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandInquiryCancel(u8* _Input)
@ -1124,7 +1142,7 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandInquiryCancel(u8* _Input)
SendEventCommandComplete(HCI_CMD_INQUIRY_CANCEL, &Reply, sizeof(hci_inquiry_cancel_rp));
LOG(USB_HLE_LOG, "Command: HCI_CMD_INQUIRY_CANCEL");
LOG(WIIMOTE, "Command: HCI_CMD_INQUIRY_CANCEL");
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandRemoteNameReq(u8* _Input)
@ -1132,19 +1150,19 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandRemoteNameReq(u8* _Input)
// command parameters
hci_remote_name_req_cp* pRemoteNameReq = (hci_remote_name_req_cp*)_Input;
_dbg_assert_msg_(USB_HLE_LOG, m_State == STATE_NONE, "m_State != NONE");
_dbg_assert_msg_(WIIMOTE, m_State == STATE_NONE, "m_State != NONE");
SendEventCommandStatus(HCI_CMD_REMOTE_NAME_REQ);
m_StateTempBD = pRemoteNameReq->bdaddr;
m_State = STATE_REMOTE_NAME_REQ;
LOG(USB_HLE_LOG, "Command: HCI_CMD_REMOTE_NAME_REQ");
LOG(USB_HLE_LOG, "Input:");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Command: HCI_CMD_REMOTE_NAME_REQ");
LOG(WIIMOTE, "Input:");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
pRemoteNameReq->bdaddr.b[0], pRemoteNameReq->bdaddr.b[1], pRemoteNameReq->bdaddr.b[2],
pRemoteNameReq->bdaddr.b[3], pRemoteNameReq->bdaddr.b[4], pRemoteNameReq->bdaddr.b[5]);
LOG(USB_HLE_LOG, " page_scan_rep_mode: %i", pRemoteNameReq->page_scan_rep_mode);
LOG(USB_HLE_LOG, " page_scan_mode: %i", pRemoteNameReq->page_scan_mode);
LOG(USB_HLE_LOG, " clock_offset: %i", pRemoteNameReq->clock_offset)
LOG(WIIMOTE, " page_scan_rep_mode: %i", pRemoteNameReq->page_scan_rep_mode);
LOG(WIIMOTE, " page_scan_mode: %i", pRemoteNameReq->page_scan_mode);
LOG(WIIMOTE, " clock_offset: %i", pRemoteNameReq->clock_offset)
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandCreateCon(u8* _Input)
@ -1152,22 +1170,22 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandCreateCon(u8* _Input)
// command parameters
hci_create_con_cp* pCreateCon = (hci_create_con_cp*)_Input;
_dbg_assert_msg_(USB_HLE_LOG, m_State == STATE_NONE, "m_State != NONE");
_dbg_assert_msg_(WIIMOTE, m_State == STATE_NONE, "m_State != NONE");
m_State = STATE_CONNECTION_COMPLETE_EVENT;
m_StateTempBD = pCreateCon->bdaddr;
SendEventCommandStatus(HCI_CMD_CREATE_CON);
LOG(USB_HLE_LOG, "Command: HCI_CMD_CREATE_CON");
LOG(USB_HLE_LOG, "Input:");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Command: HCI_CMD_CREATE_CON");
LOG(WIIMOTE, "Input:");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
pCreateCon->bdaddr.b[0], pCreateCon->bdaddr.b[1], pCreateCon->bdaddr.b[2],
pCreateCon->bdaddr.b[3], pCreateCon->bdaddr.b[4], pCreateCon->bdaddr.b[5]);
LOG(USB_HLE_LOG, " pkt_type: %i", pCreateCon->pkt_type);
LOG(USB_HLE_LOG, " page_scan_rep_mode: %i", pCreateCon->page_scan_rep_mode);
LOG(USB_HLE_LOG, " page_scan_mode: %i", pCreateCon->page_scan_mode);
LOG(USB_HLE_LOG, " clock_offset: %i", pCreateCon->clock_offset);
LOG(USB_HLE_LOG, " accept_role_switch: %i", pCreateCon->accept_role_switch);
LOG(WIIMOTE, " pkt_type: %i", pCreateCon->pkt_type);
LOG(WIIMOTE, " page_scan_rep_mode: %i", pCreateCon->page_scan_rep_mode);
LOG(WIIMOTE, " page_scan_mode: %i", pCreateCon->page_scan_mode);
LOG(WIIMOTE, " clock_offset: %i", pCreateCon->clock_offset);
LOG(WIIMOTE, " accept_role_switch: %i", pCreateCon->accept_role_switch);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandAcceptCon(u8* _Input)
@ -1177,12 +1195,12 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandAcceptCon(u8* _Input)
hci_accept_con_cp* pAcceptCon = (hci_accept_con_cp*)_Input;
#endif
LOG(USB_HLE_LOG, "Command: HCI_CMD_ACCEPT_CON");
LOG(USB_HLE_LOG, "Input:");
LOG(USB_HLE_LOG, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
LOG(WIIMOTE, "Command: HCI_CMD_ACCEPT_CON");
LOG(WIIMOTE, "Input:");
LOG(WIIMOTE, " bd: %02x:%02x:%02x:%02x:%02x:%02x",
pAcceptCon->bdaddr.b[0], pAcceptCon->bdaddr.b[1], pAcceptCon->bdaddr.b[2],
pAcceptCon->bdaddr.b[3], pAcceptCon->bdaddr.b[4], pAcceptCon->bdaddr.b[5]);
LOG(USB_HLE_LOG, " role: %i", pAcceptCon->role);
LOG(WIIMOTE, " role: %i", pAcceptCon->role);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadClockOffset(u8* _Input)
@ -1190,14 +1208,14 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadClockOffset(u8* _Input)
// command parameters
hci_read_clock_offset_cp* pReadClockOffset = (hci_read_clock_offset_cp*)_Input;
_dbg_assert_msg_(USB_HLE_LOG, m_State == STATE_NONE, "m_State != NONE");
_dbg_assert_msg_(WIIMOTE, m_State == STATE_NONE, "m_State != NONE");
m_State = STATE_READ_CLOCK_OFFSET;
m_StateTempConnectionHandle = pReadClockOffset->con_handle;
SendEventCommandStatus(HCI_CMD_READ_CLOCK_OFFSET);
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_CLOCK_OFFSET");
LOG(USB_HLE_LOG, "Input:");
LOG(USB_HLE_LOG, " ConnectionHandle: 0x%02x", pReadClockOffset->con_handle);
LOG(WIIMOTE, "Command: HCI_CMD_READ_CLOCK_OFFSET");
LOG(WIIMOTE, "Input:");
LOG(WIIMOTE, " ConnectionHandle: 0x%02x", pReadClockOffset->con_handle);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadRemoteVerInfo(u8* _Input)
@ -1205,14 +1223,14 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadRemoteVerInfo(u8* _Input)
// command parameters
hci_read_remote_ver_info_cp* pReadRemoteVerInfo = (hci_read_remote_ver_info_cp*)_Input;
_dbg_assert_msg_(USB_HLE_LOG, m_State == STATE_NONE, "m_State != NONE (%i)", m_State);
_dbg_assert_msg_(WIIMOTE, m_State == STATE_NONE, "m_State != NONE (%i)", m_State);
m_State = STATE_READ_REMOTE_VER_INFO;
m_StateTempConnectionHandle = pReadRemoteVerInfo->con_handle;
SendEventCommandStatus(HCI_CMD_READ_REMOTE_VER_INFO);
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_REMOTE_VER_INFO");
LOG(USB_HLE_LOG, "Input:");
LOG(USB_HLE_LOG, " ConnectionHandle: 0x%02x", pReadRemoteVerInfo->con_handle);
LOG(WIIMOTE, "Command: HCI_CMD_READ_REMOTE_VER_INFO");
LOG(WIIMOTE, "Input:");
LOG(WIIMOTE, " ConnectionHandle: 0x%02x", pReadRemoteVerInfo->con_handle);
}
void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadRemoteFeatures(u8* _Input)
@ -1220,14 +1238,14 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::CommandReadRemoteFeatures(u8* _Input)
// command parameters
hci_read_remote_features_cp* pReadRemoteFeatures = (hci_read_remote_features_cp*)_Input;
_dbg_assert_msg_(USB_HLE_LOG, m_State == STATE_NONE, "m_State != NONE");
_dbg_assert_msg_(WIIMOTE, m_State == STATE_NONE, "m_State != NONE");
m_State = STATE_READ_REMOTE_FEATURES;
m_StateTempConnectionHandle = pReadRemoteFeatures->con_handle;
SendEventCommandStatus(HCI_CMD_READ_REMOTE_FEATURES);
LOG(USB_HLE_LOG, "Command: HCI_CMD_READ_REMOTE_FEATURES");
LOG(USB_HLE_LOG, "Input:");
LOG(USB_HLE_LOG, " ConnectionHandle: 0x%02x", pReadRemoteFeatures->con_handle);
LOG(WIIMOTE, "Command: HCI_CMD_READ_REMOTE_FEATURES");
LOG(WIIMOTE, "Input:");
LOG(WIIMOTE, " ConnectionHandle: 0x%02x", pReadRemoteFeatures->con_handle);
}
CWII_IPC_HLE_WiiMote* CWII_IPC_HLE_Device_usb_oh1_57e_305::AccessWiiMote(const bdaddr_t& _rAddr)

View File

@ -113,9 +113,6 @@ struct SL2CAP_CommandConfigurationResponse // 0x05
#endif
#define USB_HLE_LOG DSPHLE
CWII_IPC_HLE_WiiMote::CWII_IPC_HLE_WiiMote(CWII_IPC_HLE_Device_usb_oh1_57e_305* _pHost, int _Number)
: m_Name("Nintendo RVL-CNT-01")
, m_pHost(_pHost)
@ -147,7 +144,7 @@ void CWII_IPC_HLE_WiiMote::SendACLFrame(u8* _pData, u32 _Size)
{
// dump raw data
{
LOG(USB_HLE_LOG, "SendToDevice: 0x%x", GetConnectionHandle());
LOG(WIIMOTE, "SendToDevice: 0x%x", GetConnectionHandle());
std::string Temp;
for (u32 j=0; j<_Size; j++)
{
@ -155,7 +152,7 @@ void CWII_IPC_HLE_WiiMote::SendACLFrame(u8* _pData, u32 _Size)
sprintf(Buffer, "%02x ", _pData[j]);
Temp.append(Buffer);
}
LOG(USB_HLE_LOG, " Data: %s", Temp.c_str());
LOG(WIIMOTE, " Data: %s", Temp.c_str());
}
// parse the command
@ -166,7 +163,7 @@ void CWII_IPC_HLE_WiiMote::SendACLFrame(u8* _pData, u32 _Size)
switch (pHeader->CID)
{
case 0x0001:
LOG(USB_HLE_LOG, "L2Cap-SendFrame: SignalChannel (0x%04x)", pHeader->CID);
LOG(WIIMOTE, "L2Cap-SendFrame: SignalChannel (0x%04x)", pHeader->CID);
SignalChannel(pData, DataSize);
break;
@ -192,9 +189,9 @@ void CWII_IPC_HLE_WiiMote::SendCommandToACL(u8 _Ident, u8 _Code, u8 _CommandLeng
memcpy(&DataFrame[Offset], _pCommandData, _CommandLength);
LOG(USB_HLE_LOG, " SendCommandToACL (answer)");
LOG(USB_HLE_LOG, " Ident: 0x%02x", _Ident);
LOG(USB_HLE_LOG, " Code: 0x%02x", _Code);
LOG(WIIMOTE, " SendCommandToACL (answer)");
LOG(WIIMOTE, " Ident: 0x%02x", _Ident);
LOG(WIIMOTE, " Code: 0x%02x", _Code);
// send ....
m_pHost->SendACLFrame(GetConnectionHandle(), DataFrame, pHeader->Length + sizeof(SL2CAP_Header));
@ -227,7 +224,7 @@ void CWII_IPC_HLE_WiiMote::SignalChannel(u8* _pData, u32 _Size)
default:
PanicAlert("SignalChannel %x",pCommand->code);
LOG(USB_HLE_LOG, " Unknown Command-Code (0x%02x)", pCommand->code);
LOG(WIIMOTE, " Unknown Command-Code (0x%02x)", pCommand->code);
return;
}
@ -245,11 +242,11 @@ void CWII_IPC_HLE_WiiMote::CommandConnectionReq(u8 _Ident, u8* _pData, u32 _Size
rChannel.SCID = pCommandConnectionReq->scid;
rChannel.DCID = pCommandConnectionReq->scid;
LOG(USB_HLE_LOG, " CommandConnectionReq");
LOG(USB_HLE_LOG, " Ident: 0x%02x", _Ident);
LOG(USB_HLE_LOG, " PSM: 0x%04x", rChannel.PSM);
LOG(USB_HLE_LOG, " SCID: 0x%04x", rChannel.SCID);
LOG(USB_HLE_LOG, " DCID: 0x%04x", rChannel.DCID);
LOG(WIIMOTE, " CommandConnectionReq");
LOG(WIIMOTE, " Ident: 0x%02x", _Ident);
LOG(WIIMOTE, " PSM: 0x%04x", rChannel.PSM);
LOG(WIIMOTE, " SCID: 0x%04x", rChannel.SCID);
LOG(WIIMOTE, " DCID: 0x%04x", rChannel.DCID);
// response
SL2CAP_ConnectionResponse Rsp;
@ -266,15 +263,15 @@ void CWII_IPC_HLE_WiiMote::CommandCofigurationReq(u8 _Ident, u8* _pData, u32 _Si
u32 Offset = 0;
SL2CAP_CommandConfigurationReq* pCommandConfigReq = (SL2CAP_CommandConfigurationReq*)_pData;
_dbg_assert_(USB_HLE_LOG, pCommandConfigReq->flags == 0x00); // 1 means that the options are send in multi-packets
_dbg_assert_(WIIMOTE, pCommandConfigReq->flags == 0x00); // 1 means that the options are send in multi-packets
_dbg_assert_(USB_HLE_LOG, DoesChannelExist(pCommandConfigReq->dcid));
_dbg_assert_(WIIMOTE, DoesChannelExist(pCommandConfigReq->dcid));
SChannel& rChanel = m_Channel[pCommandConfigReq->dcid];
LOG(USB_HLE_LOG, " CommandCofigurationReq");
LOG(USB_HLE_LOG, " Ident: 0x%02x", _Ident);
LOG(USB_HLE_LOG, " DCID: 0x%04x", pCommandConfigReq->dcid);
LOG(USB_HLE_LOG, " Flags: 0x%04x", pCommandConfigReq->flags);
LOG(WIIMOTE, " CommandCofigurationReq");
LOG(WIIMOTE, " Ident: 0x%02x", _Ident);
LOG(WIIMOTE, " DCID: 0x%04x", pCommandConfigReq->dcid);
LOG(WIIMOTE, " Flags: 0x%04x", pCommandConfigReq->flags);
Offset += sizeof(SL2CAP_CommandConfigurationReq);
@ -301,24 +298,24 @@ void CWII_IPC_HLE_WiiMote::CommandCofigurationReq(u8 _Ident, u8* _pData, u32 _Si
{
case 0x01:
{
_dbg_assert_(USB_HLE_LOG, pOptions->length == 2);
_dbg_assert_(WIIMOTE, pOptions->length == 2);
SL2CAP_OptionsMTU* pMTU = (SL2CAP_OptionsMTU*)&_pData[Offset];
rChanel.MTU = pMTU->MTU;
LOG(USB_HLE_LOG, " Config MTU: 0x%04x", pMTU->MTU);
LOG(WIIMOTE, " Config MTU: 0x%04x", pMTU->MTU);
}
break;
case 0x02:
{
_dbg_assert_(USB_HLE_LOG, pOptions->length == 2);
_dbg_assert_(WIIMOTE, pOptions->length == 2);
SL2CAP_OptionsFlushTimeOut* pFlushTimeOut = (SL2CAP_OptionsFlushTimeOut*)&_pData[Offset];
rChanel.FlushTimeOut = pFlushTimeOut->TimeOut;
LOG(USB_HLE_LOG, " Config FlushTimeOut: 0x%04x", pFlushTimeOut->TimeOut);
LOG(WIIMOTE, " Config FlushTimeOut: 0x%04x", pFlushTimeOut->TimeOut);
}
break;
default:
_dbg_assert_msg_(USB_HLE_LOG, 0, "Unknown Option: 0x%02x", pOptions->type);
_dbg_assert_msg_(WIIMOTE, 0, "Unknown Option: 0x%02x", pOptions->type);
break;
}

View File

@ -109,7 +109,7 @@ void LogManager::Init()
m_Log[LogTypes::WII_IOB] = new CDebugger_Log("WII_IOB", "WII IO Bridge");
m_Log[LogTypes::WII_IPC] = new CDebugger_Log("WII_IPC", "WII IPC");
m_Log[LogTypes::WII_IPC_HLE] = new CDebugger_Log("WII_IPC_HLE", "WII IPC HLE");
m_Log[LogTypes::WIIMOTE] = new CDebugger_Log("WIIMOTE", "WIIMOTE");
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; i++)
{

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Version="8,00"
Name="VideoCommon"
ProjectGUID="{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}"
RootNamespace="VideoCommon"
@ -44,7 +44,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -82,6 +82,130 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0"
BufferSecurityCheck="false"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="DebugFast|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0"
BufferSecurityCheck="false"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -147,68 +271,6 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="0"
BufferSecurityCheck="false"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -272,68 +334,6 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="DebugFast|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="0"
BufferSecurityCheck="false"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="DebugFast|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"