mirror of
https://github.com/FIX94/libwiidrc.git
synced 2024-11-22 09:39:20 +01:00
-added WiiDRC_Connected that can be used to detect if the wii vc was started with drc on or off when using a r570 or r590 fw.img
This commit is contained in:
parent
516ee534cb
commit
0572b2d93d
@ -44,6 +44,7 @@ bool WiiDRC_Init();
|
||||
bool WiiDRC_Inited();
|
||||
bool WiiDRC_Recalibrate();
|
||||
bool WiiDRC_ScanPads();
|
||||
bool WiiDRC_Connected();
|
||||
const u8 *WiiDRC_GetRawI2CAddr();
|
||||
const struct WiiDRCData *WiiDRC_Data();
|
||||
u32 WiiDRC_ButtonsUp();
|
||||
|
@ -16,6 +16,7 @@ static struct WiiDRCButtons __WiiDRC_PadButtons;
|
||||
|
||||
static u32 __WiiDRC_Inited = 0;
|
||||
static u8 *__WiiDRC_I2CBuf = NULL;
|
||||
static u8 *__WiiDRC_DRCStateBuf = NULL;
|
||||
|
||||
static bool __WiiDRC_SetI2CBuf()
|
||||
{
|
||||
@ -39,12 +40,32 @@ static bool __WiiDRC_SetI2CBuf()
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool __WiiDRC_SetDRCStateBuf()
|
||||
{
|
||||
//TODO r569
|
||||
DCInvalidateRange((void*)0x938B563C, 4);
|
||||
if(*(vu32*)0x938B563C == 0x138BE770) //r570
|
||||
{
|
||||
__WiiDRC_DRCStateBuf = (u8*)0x938BE770;
|
||||
return true;
|
||||
}
|
||||
DCInvalidateRange((void*)0x938B5724, 4);
|
||||
if(*(vu32*)0x938B5724 == 0x138BD770) //r590
|
||||
{
|
||||
__WiiDRC_DRCStateBuf = (u8*)0x938BD770;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool WiiDRC_Init()
|
||||
{
|
||||
if(__WiiDRC_Inited == 1)
|
||||
return false;
|
||||
if(!__WiiDRC_SetI2CBuf())
|
||||
return false;
|
||||
//can fail on r569 for now
|
||||
__WiiDRC_SetDRCStateBuf();
|
||||
|
||||
__WiiDRC_Inited = 1;
|
||||
|
||||
@ -98,6 +119,16 @@ bool WiiDRC_ScanPads()
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WiiDRC_Connected()
|
||||
{
|
||||
if(__WiiDRC_DRCStateBuf)
|
||||
{
|
||||
DCInvalidateRange(__WiiDRC_DRCStateBuf, 4);
|
||||
return !!(*(vu32*)__WiiDRC_DRCStateBuf);
|
||||
}
|
||||
return true; //default connect
|
||||
}
|
||||
|
||||
const u8 *WiiDRC_GetRawI2CAddr()
|
||||
{
|
||||
return __WiiDRC_I2CBuf;
|
||||
|
Loading…
Reference in New Issue
Block a user