mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-12-23 10:21:55 +01:00
db6517256e
Some menus or buttons might not work. (Thanks Airline38) L3+R3 to shutdown the pad. * Added PS3 controller support over USB, requires loader's IOS set to IOS58. Button mapped as Classic Controller. * Added a WiiU Auto aspect fixer based on current WiiU setting. * Added a WiiU Widescreen switcher in Features menu. Nintendont: * Fixed detection for nintendont v2.263+ issue 2294 * Added a WiiU Widescreen setting. issue 2296 Default value based on current WiiU aspect ratio settings. * Added a setting to choose Nincfg.bin behavior at launch issue 2297 Always delete; Always create; No change. * Removed unused game specific settings section (MGS2) * Renamed MCEmu ON setting to Multi * Added Disc launching feature * Added user prompt to select where MCEmu should be located when using Disc launching. The device is auto-detected if Gamecube source setting is set to SD or Main(USB) only. * Changed prompt type to warning if Nintendont version detection fails. Thanks to Airline38 for the WiiU pro base patch.
148 lines
5.3 KiB
C
148 lines
5.3 KiB
C
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, version 2.0.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
// Copyright (C) 2010 Joseph Jordan <joe.ftpii@psychlaw.com.au>
|
|
// Copyright (C) 2012-2013 damysteryman
|
|
// Copyright (C) 2012-2013 Christopher Bratusek <nano@tuxfamily.org>
|
|
// Copyright (C) 2013 DarkMatterCore
|
|
// Copyright (C) 2014 megazig
|
|
|
|
#ifndef __RUNTIMEIOSPATCH_H__
|
|
#define __RUNTIMEIOSPATCH_H__
|
|
|
|
/**
|
|
* Version information for Libruntimeiospatch.
|
|
*/
|
|
#define LIB_RUNTIMEIOSPATCH_VERSION "1.5.1"
|
|
|
|
//==============================================================================
|
|
// HW_RVL header
|
|
//==============================================================================
|
|
#if defined(HW_RVL) /* defined(HW_RVL) */
|
|
|
|
/**
|
|
*Returns true when HW_AHBPROT access can be applied
|
|
*/
|
|
#define AHBPROT_DISABLED (*(vu32*)0xcd800064 == 0xFFFFFFFF)
|
|
|
|
//==============================================================================
|
|
// Error code definitions:
|
|
//==============================================================================
|
|
#define ERROR_AHBPROT -5
|
|
#define ERROR_PATCH -7
|
|
|
|
//==============================================================================
|
|
// C++ header
|
|
//==============================================================================
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
/* __cplusplus */
|
|
|
|
//==============================================================================
|
|
// Extra standard declarations
|
|
//==============================================================================
|
|
typedef signed int s32;
|
|
//==============================================================================
|
|
|
|
//==============================================================================
|
|
// Patchsets:
|
|
//==============================================================================
|
|
/*
|
|
Wii:
|
|
* DI Readlimit
|
|
* ISFS Permissions
|
|
* ES SetUID
|
|
* ES SetIdentify
|
|
* Hash Check (aka Trucha)
|
|
* New Hash Check (aka New Trucha)
|
|
|
|
Sciifii:
|
|
* MEM2 Prot
|
|
* ES OpenTitleContent 1 & 2
|
|
* ES ReadContent Prot
|
|
* ES CloseContent
|
|
* ES TitleVersionCheck
|
|
* ES TitleDeleteCheck
|
|
|
|
vWii:
|
|
* Kill Anti-SystemTitle-Install 1, 2, 3, 4 & 5
|
|
*/
|
|
|
|
|
|
//==============================================================================
|
|
// Functions:
|
|
//==============================================================================
|
|
|
|
/**
|
|
* This function can be used to keep HW_AHBPROT access when going to reload IOS
|
|
* @param verbose Flag determing whether or not to print messages on-screen
|
|
* @example
|
|
* if(AHBPROT_DISABLED) {
|
|
* s32 ret;
|
|
* ret = IosPatch_AHBPROT(false);
|
|
* if (ret) {
|
|
* IOS_ReloadIOS(36);
|
|
* } else {
|
|
* printf("IosPatch_AHBPROT failed.");
|
|
* }
|
|
* }
|
|
* @return Signed 32bit integer representing code
|
|
* > 0 : Success - return equals to number of applied patches
|
|
* ERROR_AHBPROT : Error - No HW_AHBPROT access
|
|
*/
|
|
s32 IosPatch_AHBPROT(bool verbose);
|
|
|
|
|
|
/**
|
|
* This function applies patches on current IOS
|
|
* @see Patchsets
|
|
* @param wii Flag determing whether or not to apply Wii patches.
|
|
* @param sciifii Flag determing whether or not to apply extra Sciifii patches.
|
|
* @param vwii Flag determing whether or not to apply extra vWii patches.
|
|
* @param verbose Flag determing whether or not to print messages on-screen.
|
|
* @example if(AHBPROT_DISABLED) IosPatch_FULL(true, false, false, false);
|
|
* @return Signed 32bit integer representing code
|
|
* > 0 : Success - return equals to number of applied patches
|
|
* ERROR_AHBPROT : Error - No HW_AHBPROT access
|
|
* ERROR_PATCH : Error - Patching HW_AHBPROT access failed
|
|
*/
|
|
s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose);
|
|
|
|
|
|
/**
|
|
* This function combines IosPatch_AHBPROT + IOS_ReloadIOS + IosPatch_RUNTIME
|
|
* @see Patchsets
|
|
* @param wii Flag determing whether or not to apply Wii patches.
|
|
* @param sciifii Flag determing whether or not to apply extra Sciifii patches.
|
|
* @param vwii Flag determing whether or not to apply extra vWii patches.
|
|
* @param verbose Flag determing whether or not to print messages on-screen.
|
|
* @param IOS Which IOS to reload into.
|
|
* @example if(AHBPROT_DISABLED) IosPatch_FULL(true, false, false, false, 58);
|
|
* @return Signed 32bit integer representing code
|
|
* > 0 : Success - return equals to number of applied patches
|
|
* ERROR_AHBPROT : Error - No HW_AHBPROT access
|
|
* ERROR_PATCH : Error - Patching HW_AHBPROT access failed
|
|
*/
|
|
s32 IosPatch_FULL(bool wii, bool sciifii, bool vwii, bool verbose, int IOS);
|
|
|
|
//==============================================================================
|
|
// C++ footer
|
|
//==============================================================================
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
//==============================================================================
|
|
// HW_RVL footer
|
|
//==============================================================================
|
|
#endif /* defined(HW_RVL) */
|
|
|
|
#endif
|