Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Riivolution builds, but does not work on Console. #3

Open
IonicPixels opened this issue Dec 4, 2021 · 46 comments
Open

Riivolution builds, but does not work on Console. #3

IonicPixels opened this issue Dec 4, 2021 · 46 comments

Comments

@IonicPixels
Copy link

After the updates made, Riivolution builds just fine. I moved the boot.elf from the build and put it on my Wii SD Card. I tested on both the OG Wii and Wii U and neither booted Riivolution. What could I have done wrong in the build?

@IonicPixels
Copy link
Author

IonicPixels commented Dec 4, 2021

here is an image of the error:
Screenshot 2021-12-04 104705

@AerialX
Copy link
Owner

AerialX commented Dec 4, 2021

Heh, just because it compiles doesn't mean it will work! Comparing with the latest official release, does it behave the same or is this message unique to your built version? You might need to set up more logging...

@IonicPixels
Copy link
Author

IonicPixels commented Dec 4, 2021

this message is unique to the built version. I can give more details through Discord if you would like. If you do, message me at IonicPixels#3139

@AerialX
Copy link
Owner

AerialX commented Dec 4, 2021

comment out the define on this line to get more logging out of it. You're mostly on your own though, as I don't actually have a setup for testing anything now. I might suggest starting by tackling the relevant gcc warnings.

I wonder if it would be possible to set up more automated testing via dolphin or something... does it even include an ARM emulator for IOS or does it just simulate it with a HAL?

@IonicPixels
Copy link
Author

I will try that. I'll let you know if that works. I have been testing on console this entire time btw, making sure that the error is not Dolphin only

@IonicPixels
Copy link
Author

alright I got this:
Screenshot 2021-12-04 123007

@MasterofGalaxies
Copy link

I can confirm this issue exists.

I wonder if it would be possible to set up more automated testing via dolphin or something... does it even include an ARM emulator for IOS or does it just simulate it with a HAL?

Dolphin only simulates IOS.

@IonicPixels

This comment has been minimized.

@AerialX

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@AerialX

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@AerialX

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@MasterofGalaxies

This comment has been minimized.

@AerialX

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@AerialX

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@AerialX

This comment has been minimized.

@IonicPixels

This comment has been minimized.

@AerialX

This comment has been minimized.

@lilousky
Copy link

lilousky commented Dec 16, 2021

The smash version only changes menus for cosmetic reasons. It does not include any sort of relevant haxx or launcher logic changes AFAIK, so I would not suggest bothering with it.

Imma just pop in for a second and mention that the brawl build available on the riivolution archive produces the same error for me as the one in the first screenshot.
EDIT: Not asking for help/support idgaf about a reskin, but it might be useful to anyone who takes the time to fix it up, if anyone. The community (or at the very least the mkw community) still mostly uses riivo for now, but there is talk of riivolution replacements.

@AerialX
Copy link
Owner

AerialX commented Dec 16, 2021

Imma just pop in for a second and mention that the brawl build available on the riivolution archive produces the same error for me as the one in the first screenshot.

Interesting, thanks for the note. IIRC it should be equivalent to Riiv 1.02, though I might've expected you to see a "downgrade" message instead of a "reinstall"? The requirement for a specific IOS37 version does make things a bit tricky, but it doesn't tell you all that much without the extra logging enabled. It could be worth testing with 1.05/1.04 and manually checking/installing IOS37 versions (don't do this on a Wii U) - but really we still need to do a little in-depth debugging.

@lilousky
Copy link

though I might've expected you to see a "downgrade" message instead of a "reinstall"?

After testing it again, you're right. Was basing off of memory of a few years ago when I had tried to install it.

@lilousky
Copy link

lilousky commented Dec 17, 2021

After having commented out the define line in haxx, the log was not the same. Weirdly it does not give the message saying that AHBPROT was already disabled, even though I was launching from HBC
PXL_20211217_225117023.jpg

Edit: After pressing A to reinstall IOS37 the output was the same, apart from the values following the message stating AHBPROT was already disabled (it is c1010000 000619ef)

PXL_20211217_230041352.jpg

@MasterofGalaxies
Copy link

I compiled Riivolution with devkitPro and libraries from when v1.06 was released. It doesn't work entirely; the console still powered off shortly after the GUI appeared (just like in builds with modern DKP and libs, as was reported here earlier).

However, the haxx.cpp issues did not occur. To fix those, I'd suggest bindiffing haxx.o from my build with haxx.o as built with modern DKP (as I was going to do myself, however I have not had time to work on this lately).

haxx.o.zip

@IonicPixels
Copy link
Author

When I changed the errors to return as if they were working properly, I was able to get Riivo to reboot the console instead of power off. I was using modern devkitPro. I then set all returns back to -1 and added some prints to where the errors occur, which happens to be at do_exploit (where it breaks, and forces the exit to HBC)

@Fynn93
Copy link

Fynn93 commented Jan 30, 2022

Does anyone know how to fix this?

@AerialX
Copy link
Owner

AerialX commented Jan 30, 2022

I do have a Wii to test with now, will probably get to it within a few weeks fwiw.

@lilousky
Copy link

I found this repository which has some work done, notably to the problematic haxx.cpp. I haven't tried to compile it yet so I don't know if it was successful but it might be.

@MasterofGalaxies
Copy link

The system shutting down or rebooting, as I and others have mentioned here, is caused by CheckShutdown() at

void CheckShutdown()

This function is presumably supposed to shutdown the system when the power button has been pressed, but for some reason instead shuts down the system every time it's called. Didn't look into that; just disabled that function.

After doing that, I compiled Riivolution with old versions of devkitPPC and the libraries it uses, and got a build that was able to launch a game with patches on a USB drive. (It did not work with an SD card.)

@Fynn93
Copy link

Fynn93 commented Jan 31, 2022

So I replaced haxx.cpp with this haxx.cpp It compiled successfully, but it still doesnt work.

@AerialX
Copy link
Owner

AerialX commented Apr 5, 2022

So there have been a bunch of distinct issues being reported, I'm kind of tracking them here:

I encountered the issue reported by Lami-Lemmy, so I fixed that first. I can at least confirm that builds made with modern dkP work well enough now; I launched Newer as a test via SD card and it seemed alright. RiiFS seemed to work as expected too.

My assumption is that the remaining error is unique to iOS37 v5663 - I'm currently testing on a slightly outdated Wii with v5662 but I'll try updating it soon (dop-mii seems like a convenient way to upgrade/downgrade for testing, but do not use it on a vWii, heed the warnings, etc).

Have we confirmed that the do_patch 0 failed message also appears on the Wii U / vWii when you comment out the printf for the extra debugging messages? I also haven't tested installing the Riiv channel yet, it would be nice to know if that works now?

EDIT: I updated iOS37 and still don't encounter the original do_patch error, seems to work just fine here.

@Fynn93
Copy link

Fynn93 commented Apr 5, 2022

So, after I compiled Riivolution and ran it, Riivolution got stuck in an endless loop of "Loading...".

That is another bug (maybe?)

@AerialX
Copy link
Owner

AerialX commented Apr 5, 2022

So, after I compiled Riivolution and ran it, Riivolution got stuck in an endless loop of "Loading...".

Try downloading from the CI build, and test with different combinations of SD card, no SD card, DVD, no DVD, no USB, etc. That riivolution.zip's boot.elf launches properly like my local builds here. I've only tested SD and WiFi - not sure if USB works but I'd expect it to.

Also what hardware version of Wii, system menu version, etc. are you on?

@IonicPixels
Copy link
Author

So there have been a bunch of distinct issues being reported, I'm kind of tracking them here:

what I am getting from this is that do_patch is the only thing preventing Riivo from working perfectly. If I understand this right, is do_patch failing sometimes, most of the time, or randomly?

@AerialX
Copy link
Owner

AerialX commented Apr 5, 2022

Sorry I have no idea, I never saw it on the Wii I have here so can't reproduce it at all. It might be worth laying out:

  • Wii hardware variant/region/version/etc
  • Version of IOS37 currently installed on the system
  • Method of launching Riiv (HBC? version? SD? USB? Wiiload?)
  • Do you have bootmii or some other pervasive mods installed? Anything strange about your system menu or have some sort of cIOS or something?
  • Get full logs instead of letting the IOS37 reinstall clobber half the screen

Also maybe try modifying do_patch by changing the check to if (true) { and see if it works anyway without the safety check?

@IonicPixels
Copy link
Author

IonicPixels commented Apr 6, 2022

oh that is a good idea, I'll mention now my Wii is the first revision (RVL 001), version 4.3U, region being US. IOS37 is currently installed, (Riivolution 1.6 works fine) the method of loading the CI builds and my own builds with HBC, on an SD. I do have Bootmii and Priiloader on my Wii. I'll change the check to if (true) { and test the CI build on my Wii when I get home from school. I'll report back any new information as soon as I can

@Fynn93
Copy link

Fynn93 commented Apr 6, 2022

The CI Build works for me, but self-compiling still doesn't work.

@lilousky
Copy link

lilousky commented Apr 6, 2022

The CI Build works for me, but self-compiling still doesn't work.

That's most likely an issue in your setup, what's your OS/revision of dkp?

@Fynn93
Copy link

Fynn93 commented Apr 6, 2022

That's most likely an issue in your setup, what's your OS/revision of dkp?

OS: Manjaro Linux 21.2.5 (based on Arch Linux)
DKP: devkitPPC r40
devkitARM r57

Also installing the Channel works.

@IonicPixels
Copy link
Author

The CI Build works for me, but self-compiling still doesn't work.

I can confirm this, its only self-compiling that fails.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants