Added an option "Enable Loop Audio Hack" in DSP config.

I know hack is not good but before we find a better way to detect different games, at least this option allows some games to output normal sound without breaking other games.

Besides, this commit will hopefully fix the "Unknown device: /dev/usb/hid" issue, but not sure as I have no game to test on this issue.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4623 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
ayuanx
2009-11-28 11:40:04 +00:00
parent 60352d92eb
commit 0f7b1a2f95
7 changed files with 42 additions and 15 deletions

View File

@ -98,7 +98,7 @@ void Init()
g_DeviceMap[i] = new CWII_IPC_HLE_Device_usb_oh0(i, std::string("/dev/usb/oh0")); i++;
g_DeviceMap[i] = new CWII_IPC_HLE_Device_usb_kbd(i, std::string("/dev/usb/kbd")); i++;
g_DeviceMap[i] = new CWII_IPC_HLE_Device_sdio_slot0(i, std::string("/dev/sdio/slot0")); i++;
//g_DeviceMap[i] = new CWII_IPC_HLE_Device_Error(i, std::string("_Unknown_Device_")); i++;
g_DeviceMap[i] = new CWII_IPC_HLE_Device_Error(i, std::string("_Unknown_Device_")); i++;
g_LastDeviceID = IPC_FIRST_FILEIO_ID;
}
@ -287,7 +287,10 @@ void ExecuteCommand(u32 _Address)
if (DeviceName.find("/dev/") != std::string::npos)
{
ERROR_LOG(WII_IPC_FILEIO, "Unknown device: %s", DeviceName.c_str());
PanicAlert("Unknown device: %s", DeviceName.c_str());
PanicAlert("Unknown device: %s\n\nMaybe you can continue to play or maybe the game will freeze.", DeviceName.c_str());
pDevice = AccessDeviceByID(GetDeviceIDByName(std::string("_Unknown_Device_")));
CmdSuccess = pDevice->Open(_Address, Mode);
}
else
{

View File

@ -33,8 +33,9 @@ public:
virtual bool Open(u32 _CommandAddress, u32 _Mode)
{
PanicAlert("CWII_IPC_HLE_Device_Error");
Memory::Write_U32(GetDeviceID(), _CommandAddress+4);
//PanicAlert("CWII_IPC_HLE_Device_Error");
//Memory::Write_U32(GetDeviceID(), _CommandAddress+4);
Memory::Write_U32(0, _CommandAddress+4);
m_Active = true;
return true;
}