void Wpad_Disconnect(void) { u32 cnt; /* Disconnect Wiimotes */ for (cnt = 0; cnt < MAX_WIIMOTES; cnt++) WPAD_Disconnect(cnt); /* Shutdown Wiimote subsystem */ WUPC_Shutdown(); WPAD_Shutdown(); }
void KeepAccessRightsAndReload(s32 ios, bool verbose) { s32 ret; if (AHBPROT_DISABLED) { /* There should be nothing to worry about if this fails, as long as the new IOS is patched */ if (verbose) printf("\t- Patching IOS%ld to keep hardware access rights... ", IOS_GetVersion()); ret = IosPatch_AHBPROT(false); if (verbose) printf("%s.\n", (ret < 0 ? "FAILED" : "OK")); } if (verbose) printf("\t- Reloading to IOS%ld... ", ios); WUPC_Shutdown(); WPAD_Shutdown(); IOS_ReloadIOS(ios); //sleep(2); PAD_Init(); WUPC_Init(); WPAD_Init(); WPAD_SetDataFormat(WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR); if (verbose) printf("done."); if (AHBPROT_DISABLED) { if (verbose) printf("\n\t- Applying runtime patches to IOS%ld... ", IOS_GetVersion()); ret = IosPatch_RUNTIME(true, false, vwii, false); if (verbose) printf("%s.\n", (ret < 0 ? "FAILED" : "OK")); } if (IsHermesIOS(ios)) { mload_Init(); if (verbose) printf("\n\t- Hermes cIOS detected! ehcmodule loaded through mload."); } }