[WIP] Priiloader for vWii by GaryOderNichts
GaryOderNichts, a well known hacker and programmer in the Wii and Wii U Homebrew scene, with apps like Bloopair, Shipwright, Moonlight for Wii U and many others, has started work on Priiloader compatibility for vWii on Wii U.
For those unaware, vWii is the nomenclature given to the Wii enviroment found on the Wii U, also known as Virtual Wii. This specific version of the Wii's operating system for Wii U has modification to a lot of the system's IOS, which make original Wii hacks that rely on them somewhat unreliable and sometimes even risk a brick if ran on vWii. Priiloader itself is a modification of a previously developed software called "Preloader", and this application runs before the system menu of the Wii, which allows for a way to restore the system in case of an accidental brick (to a certain extend).
Currently, the code for Priiloader to run on vWii is on early stages, and Gary made a PoC video on his YouTube channel showcasing Priiloader running on a Wii U under its vWii. There's currently a pull request for this feature on DacoTaco's GitHub repository for Priiloader, in which Gary lists all of the things needed for the
GaryOderNichts comments on the vWii PR said:This works by replacing the SM boot index with the BC-NAND Nand Loader, which is also a signed Ancast Image.
BC-NAND will then boot content 1, which will be replaced with Priiloader. The original content 1 will be placed at the end of the contents.
To boot the vWii SM Priiloader decrypts the ancast image and patches it to redirect content 1 to the end. It then boots the decrypted SM.
I've also added 2 vWii specific hacks. One always enables NET.WCFG, which usually gets disabled by SM, and the other one makes the Wii Options button open Wii System settings. All of the other hacks need to be verified and ported over.
This is still very experimental and hasn't been properly tested. There is also still some work left to do which is listed below.
TO-DO:
- Port over all of the SM hacks and verify that existing ones work
- Testing, especially make sure the installer works properly
- Verify that this doesn't break anything on an original Wii
- Test on a JP vWii
- Unfortunately BC-NAND clears the boot state, which causes some issues. As a workaround I tried guessing the state based on the Y-component of the HW_VISOLID register which vWii SM also seems to check and then set.
- Edit: The above doesn't work in case standby mode is enabled, since the system returns to Priiloader on shutdown in that case.
- Make the installer check that BC-NAND is actually installed properly and parse its TMD.
GitHub Pull Request