PATCHED Nintendo Gamecube SDK [PORTABLE]
The from_nintendo.rar archive contains what looks like an email attachment dump of all the files that Nintendo sent to iQue(?). They are all split by folders depending on what date they were sent from Nintendo and overall it is quite a random bunch of files.
PATCHED Nintendo Gamecube SDK
The hid-nintendo kernel HID driver was mainlined in kernel 5.16. If you are using an earlier kernel, you will need to install the DKMS module named hid-nintendo-dkmsAUR. The driver provides support for rumble, battery level, and control of the player and home LEDs. It supports the Nintendo Switch Pro Controller over both USB and Bluetooth in addition to the Joy-Cons.
The hid-nintendo kernel driver does not handle the combination of two Joy-Cons into one virtual input device. That functionality has been left up to userspace. joycond-gitAUR is a userspace daemon that combines two kernel Joy-Con evdev devices into one virtual input device using uinput. An application can use two Joy-Cons as if they are a single controller. When the daemon is active, Switch controllers will be placed in a pseudo pairing mode, and the LEDs will start flashing. Holding the triggers can be used to pair controllers and make them usable. To pair two Joy-Cons together, press one trigger on each Joy-Con.
The hid-nintendo driver currently conflicts with Steam using hidraw to implement its own Pro Controller driver. If you wish to use the Steam implementation, the hid-nintendo driver can be blacklisted. Alternatively if you want to use hid-nintendo with a Steam game directly, Steam can be started without access to hidraw using firejail:
That alone is not enough though, since Steam will not recognize the Pro Controller when access to hidraw is blocked. To get around that issue, joycond supports creating a virtual Pro Controller with a different product ID. Steam will view this as a typical controller. This gives the best of both worlds, where hid-nintendo can be used both inside and outside of Steam simultaneously.
Using generic/clone Dualshock controllers is possible, however there is an issue that may require to install a patched package. The default Bluetooth protocol stack does not detect some of the clone controllers. The bluez-ps3AUR package is a version patched to be able to detect them.bluez-plugins-ps3AUR is another package that only patch the bluez-plugins may work for some controllers.
There are tools in the official SDK to make a GCM file.Use C:\NPDP\GDEV\bin\ddfEditor.exe to edit a DDF file. It has info such as: game details, filenames, priority, program loader.set BUILDTOOLS_ROOT=C:\DolphinSDK1.0\build\buildtoolsset DOLPHIN_PLATFORM=HW2C:\NPDP\GDEV\bin\OdemMakeDlf.exe MyGame.ddfdel MyGame.gcmC:\makegcm_v1004_9-10-01-with-patched-dll\makegcm MyGame.dlf MyGame.gcmYou'll probably want to rip a newer AppLoader.ldr from some other GCM and use that instead.MakeGcm.dll - Patched version of DLL to skip the unwanted 0x8000 byte header.Also worth a look: gcmtool (found at sourceforge)
Thanks to advancements in the Nintendo Switch hacking scene, it is easier than ever to install Android. Rather than needing to set up any particular software on your computer, pretty much everything can be done from inside Hekate. Hekate, by the way, is a GUI-based Nintendo Switch bootloader, and you can boot it on any unpatched Nintendo Switch. You can check here to see if your Nintendo Switch is hackable or not based on its serial number, though there are ways to get it working on some patched Switches, too, through the use of a modchip or other software-based exploit. Even then, you won't be able to run it on a Switch Lite or the Switch refresh that sports battery improvements, as Android won't boot on those devices.
To fully emulate this behavior, Dolphin would have to implement data cache emulation. Not only would this be a gargantuan task, it would also slow Dolphin's emulation performance considerably. However, these games aren't our first joust with problems like this. In the past, we've implemented patches to fix game bugs like these and bypass the need for a data cache entirely. In fact, this bug is almost exactly the same as Casper's Scare School: Spooky Sports Day's issue we patched years ago. Unfortunately, Resident Evil 2 and 3 couldn't be solved so easily. In testing, the method worked - nop'ing out the erroneous memset() does resolve the issue, no data cache emulation required. However, Resident Evil 2 and 3 both use multiple executables, so a patch that worked on one scenario in Resident Evil 2 would cause another to crash! This would force users to constantly juggle between which patch to have enabled and hope that the loader executable itself didn't crash due to the patch! What we needed wasn't just a patch, but a smarter patching system. 350c69d7ab