Stage1.continued: Introducing partial emulated MotionPlus+Nunchuk support, allowing us now for instance to get ingame on RedSteel2. However dont expect too much yet, since this is not completely finished. Wii Sports Resort with mp+nunchuk won't work yet and input from the nunchuk passed through the motionplus does not work properly either. Apart from that Stage1, is almost done.

Just minor stuff that needs to be finished: Dummy motionplus data needs to be kept dynamic(just like wiimote accel data), or it might cause disconnects after some time. Furthermore, there are 1-2 remaining register writes that have to be understood and emulated.(e.g. 0x00F3/F4). In the end just minor stuff. I'll address that in my next commit.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5476 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
snzgoo
2010-05-26 15:41:47 +00:00
parent 99d0bd7762
commit 619dc12349
9 changed files with 216 additions and 99 deletions

View File

@ -239,12 +239,18 @@ void SendReportCoreAccelIr10Ext(u16 _channelID)
FillReportInfo(pReport->c);
FillReportAcc(pReport->a);
FillReportIRBasic(pReport->ir[0], pReport->ir[1]);
if ((WiiMapping[g_ID].bMotionPlusConnected) && (( WiiMapping[g_ID].iExtensionConnected == EXT_NUNCHUK ) || (WiiMapping[g_ID].iExtensionConnected == EXT_NONE)) )
if ((WiiMapping[g_ID].bMotionPlusConnected) )
{
if(WiiMapping[g_ID].iExtensionConnected == EXT_NUNCHUK)
{
FillReportMotionPlus(pReport->ext, true);
if (g_RegExt[g_ID][0xFF] == 0x05) {
FillReportMotionPlus(pReport->ext, true);
}
else {
FillReportExtension(pReport->ext);
}
DEBUG_LOG(WIIMOTE, "Motionplus:Nunchuk data -> ext:%01x mp:%01x [ff:0x%02x]", (pReport->ext.az &0x01), (pReport->ext.bt &0x02),g_RegExt[g_ID][0xFF]);
}
else if (WiiMapping[g_ID].iExtensionConnected == EXT_NONE)
{