DacoTaco / priiloader

A Wii homebrew application that can prevent and fix some user level bricks
GNU General Public License v2.0
544 stars 101 forks source link

vWii support #317

Closed GaryOderNichts closed 1 year ago

GaryOderNichts commented 1 year ago

This draft tries to add vWii support to Priiloader. 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:

Closes #268.

VehicularVortex commented 1 year ago

Quick question: Will the evWii plugin for Aroma (specifically the 4-second power down function) cause conflict with shutting the console down with WC24 patches enabled? Or does it act as its own thing? Just curious.

wdym conflict?

Will evWii be compatible with vWii Priiloader, specifically when shutting down the console with WC24 enabled? I understand that it’s been kinda hit or miss.

GaryOderNichts commented 1 year ago

Will evWii be compatible with vWii Priiloader, specifically when shutting down the console with WC24 enabled? I understand that it’s been kinda hit or miss.

The ways evWii and Priiloader work are completely unrelated. They won't affect each other. Priiloader patches the shutdown functions in the System Menu binary, while evWii sets a bit in the RTC to allow force power off before booting into vWii.

Luna-64 commented 1 year ago

How come when using Priiloader on a PAL vWii you get lines at the bottom of your screen if your resolution is set to 1080p?

Here is footage of it in 1080p. With 720p it is less noticeable and in 480p, you can't see it. I think it may be something to do with the Wii u upscaling or the fact that pal has different video formats but I do not know for sure. https://youtu.be/2LmSjMSS4xo The clip on YouTube is very compressed so I have attached a shorter version below.

https://github.com/DacoTaco/priiloader/assets/133281123/35a07abb-cacd-4f5c-825f-cc41b23211a6

GaryOderNichts commented 1 year ago

How come when using Priiloader on a PAL vWii you get lines at the bottom of your screen if your resolution is set to 1080p?

Here is footage of it in 1080p. With 720p it is less noticeable and in 480p, you can't see it. I think it may be something to do with the Wii u upscaling or the fact that pal has different video formats but I do not know for sure. https://youtu.be/2LmSjMSS4xo The clip on YouTube is very compressed so I have attached a shorter version below. 20230513_131801.mp4

Yeah, there are currently some video mode issues which need to get fixed. Which build revision was this tested on?

DacoTaco commented 1 year ago

feature/vwii on this repo, or @GaryOderNichts's fork? (i need to rename or delete my testing branch haha)

Luna-64 commented 1 year ago

How come when using Priiloader on a PAL vWii you get lines at the bottom of your screen if your resolution is set to 1080p?

Here is footage of it in 1080p. With 720p it is less noticeable and in 480p, you can't see it. I think it may be something to do with the Wii u upscaling or the fact that pal has different video formats but I do not know for sure. https://youtu.be/2LmSjMSS4xo The clip on YouTube is very compressed so I have attached a shorter version below. 20230513_131801.mp4

Yeah, there are currently some video mode issues which need to get fixed. Which build revision was this tested on?

I think the build was released on 13/05/23. I have attached the version that we used below. vwiipriiloader.zip

Ingunar commented 1 year ago

Is that one shown on TV only? If yes, those have been fixed in the newer test builds.

obaguila commented 1 year ago

No, it showed on gamepad and TV. The lines were a TV-only thing though.

Could you try using the test build here? https://hackmd.io/@Ingunar/PriiloaderHacksTesting

I tried the one @ZuperMC posted and was getting those lines at the bottom of the screen on a US NTSC Wii U/ vWii. Then I tried the one above and it works fine. Ran into a black screen on first boot but havent ran into it again since.

I am not sure how that differs from what is here, if that is what you meant though.

Question for the @Ingunar , I saw your article regarding installing the missing vWii assets to fully restore functionality (which I am looking forward to whenever that comes along). I was wondering, if we add the GameCube Memory Card to the Data Management screen, how feasible would it be to create a System Menu hack that directs the calls from the memory card slots to virtual memory cards used in Nintendon't? Would be amazing to have that work as well, if possible. :)

Masamune3210 commented 1 year ago

The problem with that is that its less of a hack and more of adding entirely new functionality. The patches in priiloader are more either re-enabling something that was removed but is still in the code for the most part or bypassing something that is unwanted.

Ingunar commented 1 year ago

Could you try using the test build here? https://hackmd.io/@Ingunar/PriiloaderHacksTesting

@lolpacmann Try this one. The current most stable test version: 0.10.0.beta2_0xg7cea6f0 Not sure if everything was merged. But should have the lines removed.

Also, 0.10.0.beta2_r0x2227cfe from there is the latest test build, but you can ignore it.

Ingunar commented 1 year ago

Question for the @Ingunar , I saw your article regarding installing the missing vWii assets to fully restore functionality (which I am looking forward to whenever that comes along). I was wondering, if we add the GameCube Memory Card to the Data Management screen, how feasible would it be to create a System Menu hack that directs the calls from the memory card slots to virtual memory cards used in Nintendon't? Would be amazing to have that work as well, if possible. :)

I don't know if the GameCube Memory Card screen code is there. Assets are there for sure, but not sure how much of the binary is left. IIRC when Gary looked at the chunk of vWii SM's binary, he confirmed that some lines did get removed...

Not even sure we looked for the GameCube Memory Card screen tho, but the thing you are asking for was never done on a regular Wii, right?

It surely is not something Priiloader can do.

obaguila commented 1 year ago

Question for the @Ingunar , I saw your article regarding installing the missing vWii assets to fully restore functionality (which I am looking forward to whenever that comes along). I was wondering, if we add the GameCube Memory Card to the Data Management screen, how feasible would it be to create a System Menu hack that directs the calls from the memory card slots to virtual memory cards used in Nintendon't? Would be amazing to have that work as well, if possible. :)

I don't know if the GameCube Memory Card screen code is there. Assets are there for sure, but not sure how much of the binary is left. IIRC when Gary looked at the chunk of vWii SM's binary, he confirmed that some lines did get removed...

Not even sure we looked for the GameCube Memory Card screen tho, but the thing you are asking for was never done on a regular Wii, right?

It surely is not something Priiloader can do.

Thank you @Ingunar and @Masamune3210 for responding. I don't believe it has been done before at all, at least as far as I am aware. I just thought it would be a good idea and was wondering if it was possible to implement through a System Menu hack, but from what you both have said it looks like it is not possible via Priiloader at least.

I hope that is something that can be considered in the effort (beyond Priiloader) to make vWii as fully featured as a regular Wii as possible, and I suppose it could also be something regular Wiis could take advantage of too. Happy to help in any way when that effort gets some steam going.

The other thing I had in mind should be possible, but this may not be the best place for this. If not, please let me know where the proper avenue should be: I was thinking about a System Menu hack to bypass the game rating check the System Menu does when booting a game (Like WiiWare). Reason: I have parental controls enabled to prevent anybody from (easily) nuking my entire Wii U, but this causes games that have ratings from other regions to ask for the PIN instead of just launching since the rating is not compatible.

DraconicNEO commented 1 year ago

Question for the @Ingunar , I saw your article regarding installing the missing vWii assets to fully restore functionality (which I am looking forward to whenever that comes along). I was wondering, if we add the GameCube Memory Card to the Data Management screen, how feasible would it be to create a System Menu hack that directs the calls from the memory card slots to virtual memory cards used in Nintendon't? Would be amazing to have that work as well, if possible. :)

I don't know if the GameCube Memory Card screen code is there. Assets are there for sure, but not sure how much of the binary is left. IIRC when Gary looked at the chunk of vWii SM's binary, he confirmed that some lines did get removed...

Not even sure we looked for the GameCube Memory Card screen tho, but the thing you are asking for was never done on a regular Wii, right?

It surely is not something Priiloader can do.

I know the assets and screen are there because it appeared when used a theme not compatible with vWii system menu however upon entering the screen it crashed immediately so like you said it's likely missing data that makes it work, or it has compatibility problems with the vWii hardware.

omerien commented 1 year ago

hey there! just installed this to my vwii, and it seemed to work fine! minor suggestion: maybe the "BootMii IOS" button should be removed, as the vwii doesnt support bootmii image

I think it still might be of use since you can still use IOS254 (BootMii IOS) to boot Wii Linux Installs on vWii

There’s a separate project already done to boot Linux on a Wii U, and this one is on an even more recent kernel version (Link)

omerien commented 1 year ago

Though the option to boot on BootMii’s IOS might still be used for other stuff

DraconicNEO commented 1 year ago

Though the option to boot on BootMii’s IOS might still be used for other stuff

Yeah I think there's also an Ancast image Decrypter tool that uses it.

Ingunar commented 1 year ago

Hey people, we opened a discussion for Testing Priiloader 0.10.0 Beta 2. Anyone willing to help us test the hacks and prerelease version of priiloader can join us there.

Currently, We need some help with testing Priiloader hacks on JAP Wiis and JAP vWiis, and Wii Minis from all of the regions.

nousernameideas commented 1 year ago

I installed priiloader on my vWii, but now i still can’t use WiiConnect24 features (with the option to always enable it On) and when i check on the wii settings it says i have to perform a system update (even if the vWii it’s on 4.3) what do i do?

GaryOderNichts commented 1 year ago

I installed priiloader on my vWii, but now i still can’t use WiiConnect24 features (with the option to always enable it On) and when i check on the wii settings it says i have to perform a system update (even if the vWii it’s on 4.3) what do i do?

Which hacks_hash.ini are you using and what hacks do you have enabled?

Keeper-CP1 commented 1 year ago

I'm gonna try this on my european Wii U and alert you if it's working or not

nousernameideas commented 1 year ago

I installed priiloader on my vWii, but now i still can’t use WiiConnect24 features (with the option to always enable it On) and when i check on the wii settings it says i have to perform a system update (even if the vWii it’s on 4.3) what do i do?

Which hacks_hash.ini are you using and what hacks do you have enabled?

Update: So i found out that if you use Pretendo Network on the Wii U system it’s going to affect the vWii in this way.

DacoTaco commented 1 year ago

I'm gonna try this on my european Wii U and alert you if it's working or not

just like priiloader, it should be a easy case of clone & build with make.

GaryOderNichts commented 1 year ago

Now that this has been merged, I just wanted to say thanks to everyone who helped with vWii support testing, troubleshooting and other contributions: @DacoTaco @Ingunar @vaguerant @Nightkingale and many more who I probably forgot to mention here! Thanks a lot :tada:

DacoTaco commented 1 year ago

ye, this has been a major thing and huge work by all of us! thanks everyone!

Tatsh commented 1 year ago

Will a new release get made?

Ingunar commented 1 year ago

Hey people, we opened a discussion for Testing Priiloader 0.10.0 Beta 2. Anyone willing to help us test the hacks and prerelease version of priiloader can join us there.

Currently, We need some help with testing Priiloader hacks on JAP Wiis and JAP vWiis, and Wii Minis from all of the regions.

@Tatsh We still need to finish some hacks and make it all compatible with every region.

@nousernameideas Please let's move your problem to the testing discussion.

haha-goodone-lol commented 1 year ago

None of the hacks that i tried worked for me. I'm on a PAL Wii U, using Priiloader 0.10.0.beta2 Stable Test 03 (r0x194c613) These are the ones I tried: Replace Health Screen with Backmenu Move Disc Channel Enable Wii System Settings for vWii Message board write for vWii Always enable WiiConnect24 for vWii

Ingunar commented 1 year ago

Please use this page to report any issues you have with the hacks and test versions: Testing Priiloader 0.10.0 Beta 2

TheTechRobo commented 1 year ago

@Ingunar Wouldn't it be nicer to make issues for bugs now that the PR is merged?

Ingunar commented 1 year ago

@Ingunar Wouldn't it be nicer to make issues for bugs now that the PR is merged?

However The only other thing worth mentioning is that maybe someone should report the banner bug to the current USB Loader GX developer...