Closed Leseratte10 closed 4 years ago
this looks great ! i have a few remarks, but im loving this ! :)
i know about the hacks thing and i still need to fix it. its on my to do list (let me quickly make an issue about it)
Currently trying these out with non-MKW games (since I know Leseratte doesnt have any to hand) - it seems currently that once I've saved my hacks and returned to System Menu, the wii menu will gladly load the disc with a patch, but once I go back to the main wii menu it crashes once a disc is inserted/the disc loads up to show banner.
as I did an upgrade install, I'm gonna try uninstalling and reinstalling to see if this persists. For reference, I have Wiimmfi Patch v1, Block Disc Updates, Block Online Updates (though a bit unnecessary nowadays), Move Disc Channel, Region-free EVERYTHING, Remove Diagnostic Disc Check, and disable no-copy hacks enabled (also, it seems exit to loader code is broken)
Yeah, I can confirm that. Dammit. There must be yet another difference between directly loading the system menu, and returning to the system menu from elsewhere.
Huh, it even breaks when I restart the Wii and the disc loads again - looks more like yet another issue with the new hacks system, not with my patch ... @DacoTaco it looks like the hack - again - only works when loaded from the Priiloader menu, and not when loaded through autoboot. at least sometimes.
Is it possible that the HBC loading stub - which apparently is also loaded at 80001800 when needed - is loaded into memory when you click "return to Wii menu" in any game? If that is loaded by Priiloader instead of the system menu hacks that are supposed to be loaded, then that stub would overwrite my patch that starts at 800018a8 ... Do I need to find another unused space for the Wiimmfi patch? 80001800 - 80003000 is all apparently used by the stub - but when exactly is it loaded?
I tried on Dolphin (and I had an older version of Priiloader installed in Dolphin) and saw the "STUBHAXX" code at 80001804, that's why I started looking into the stub ...
very odd. the stub only loads on priiloader's startup and doesn't care after that (check LoadHBCStub in HomebrewChannel.cpp). priiloader is loaded when you press return to system menu , and it will overwrite your code in that region when starting up. however, when it boots system menu , after having detected a return to, it should reapply the patch. the loader also invalidates cache, so thats not a problem :/
i believe the stub area is a good area , and is proved by the gecko patch to be working , but something odd is wrong, ye
have you checked the memory in dolphin ? (if possible)
I did check the memory in Dolphin, but I only have an old version of Priiloader in Dolphin, and as far as I know you can't install it in Dolphin so I would need to install grab a new NAND backup from my Wii, and load it in Dolphin which messes up some custom stuff I did to my Dolphin NAND.
But I already found a potential workaround which seems to work more reliable. Wii games on non-devkit consoles are only allowed to have their DOL use the space between 80004000 and 80900000. The Wii system menu starts somewhere at 81xxxxxx. So I should be able to just load my patch to 80900000, and then when the game is booted and reuses that memory for something else then it doesn't matter anymore as the game will already be patched. It looks like this is more reliable than the 80001800 offset, so I'll re-compile all the patches for that offset and try again.
why can't you install it? if you replace the app you get from the build on your nand backup in dolphin it should work afaik. (the app to replace on a 4.3E system menu is \title\00000001\00000002\content\0000009b.app)
Found another solution (hopefully) and pushed it into this merge request branch. At least on 4.3E it now seems to work reliably.
Can I also test this, since I have a NTSC-U Wii and some Wiimmfi-patchable games?
Sure you can! use the updated installer from http://upload.dacotaco.com/boot_hacks_rework.dol and put the hacks_hash.ini from the PR in sd:/apps/priiloader/ and enable "Wiimmfi Patch v1" in System Menu Hacks c:
Thanks!
I have a problem. Right now I'm trying to load the alternate DOL, but when I do, I get a message saying.
cIOSPAGHETTI(Cios infected) IOS detected; Press A to exit back to loader...
Yet I can't remember installing any cIOS outside of the d2x cios installer, and if I did I reverted those changes,
@DacoTaco I think Priiloader might not know of an update to IOS36? idk. @fancythedeveloper download the priiloader regular installer, and just replace boot.dol and the hacks_hash.ini with the one from the PR and above URL.
Wouldn't that give the same results? I'll try anyways.
It probably will. I'd suggest you take a Syscheck of the Wii and check for any "weird" patched IOS. Or post a link to the syscheck here.
I copied the meta.xml from the 0.8.2 installer to the priiloader folder and it worked. But now when I load the Priiloader menu, it just freezes, or at least seems frozen since I can't move using either GameCube or WiiMote.
The meta.xml has AHBPROT disabled, so Priiloader doesnt try to load into IOS36. Seems my IOS36 was also modified (maybe by USBLGX or something else at some point?) - reinstalled the latest from NUS, and it works fine it seems.
I'll try reinstalling 36 with a clean WAD and doing the setup again.
Uhh..., this is an issue..., my Wii is turning on but now isn't sending any video signal.
I got it to show something but the Priiloader menu is still frozen.
Can you use a keyboard to control it? Keyboard support has been added very recently, maybe that broke something (although it still works for me). Also you should be able to use the power button to move and the reset button to confirm. Does neither of these options work?
I'll try.
Ok, Power button does work.
Probably something in the Keyboard PR broke normal WiiMote & GCC support.
Maybe just for NTSC-U - using a Wiimote on my PAL wii and japanese wii and korean wii all worked with the latest copy from the upload site.
I just downgraded to 0.8.2 and WiiMote & GCC controlling works. So definitely somewhere in the Keyboard PR broke those.
Thank god for 0.8.3 beta 1 adding Power/Reset control like BootMii.
maybe the debug log contains anything helpful? Can you go back to this non-working version, then go into the settings and enable gecko to SD using the power and reset button, then restart and try wiimote and GC, and then take the SD out and look at the prii.log on the SD.
??? Normal controllers work again and System Menu boots
0.8.3b1's controllers start working again once you enable gecko to sd?
No, the 0.9 b1 version, last time I could only use BootMii controls and System Menu crashes but now it works just fine
djesus christ, i go to work and come back to this massive comment list lol
anyway, did you change anything between switching versions? disconnected a usb drive, connected a drive? did something to the gc memcard connections?
Like those? No. Anyways here's my results for the Wiimmfi Patch v1 hack:
Mario Kart Wii: Blackscreen Super Smash Bros. Brawl: Blackscreen Fortune Street Wii: Booted and Connected
RVL-001 Wii with 4.3
Blackscreen .. interesting. What game region (PAL, USA, ...) and what system menu version did you use?
My Wii and games are NTSC-U and my System Menu is 4.3, as said.
Can you confirm you have the newest version of the hacks_hash.ini where (for the Wiimmfi patch) it says 0x80900000 for the second offset, and not 800018a8?
It is 0x80900000
Dammit. I'll go grab a NTSC-U wii and do some tests. thanks for reporting.
Can confirm PAL SSBB doesn't load on NTSC-U Wii, but PAL ACCF does. PAL Wii can load SSBB fine
I just got the blackscreen when booting issue again.
Here's what is in the log.
3:16:41 : BootState:255 3:16:41 : Bootstate 255 detected. DiscState 2 ,ReturnTo 0 & Flags 0 & checksum 16712192 3:16:41 : Input_Init():1
Seems it only happens when I have a USB plugged in during boot.
I think it's because Priiloader thinks the USB device is a USB Keyboard (when it is not) and tries to initialize it, but crashes because it actually can't because it's not a USB Keyboard, causing a Crash
Seems that also the Wiimmfi Patch v1 fixes System Menu crashing and SM crashes when it is disabled.
System menu crashes when the hack is disabled? That's ... interesting.
Currently preparing a bunch of test hacks to test, and if these are all going to cause problems with different games again, I'm going to have to make another PR with some more changes to the Priiloader hacks system. Not looking forward to that one (that was complicated enough for ISOs, now I gotta make that work with the system menu ...) but it might be necessary, so it could take a couple more days until we finally have a working version of this.
we got all the time in the world man.
when possible ill look into the usb thing
Just pushed a new update for all regions. Tested on 4.3E with PAL MKWii, was able to start game, return to wii menu, restart game, start other channels, and so on without the console crashing. Hopefully this version is more stable.
Oops, yet another bug that makes this crash with non-PAL games. Will prepare another update tomorrow.
I just got the blackscreen when booting issue again. Here's what is in the log.
3:16:41 : BootState:255 3:16:41 : Bootstate 255 detected. DiscState 2 ,ReturnTo 0 & Flags 0 & checksum 16712192 3:16:41 : Input_Init():1
Shit, that's probably because of r |= KEYBOARD_Init(HandleKBDEvent);
in Input_Init
, it's probably better to only care about the error from KEYBOARD_Init
when deciding to launch the keyboard thread. I'll make a pull request to fix.
I just got the blackscreen when booting issue again. Here's what is in the log.
3:16:41 : BootState:255 3:16:41 : Bootstate 255 detected. DiscState 2 ,ReturnTo 0 & Flags 0 & checksum 16712192 3:16:41 : Input_Init():1
Shit, that's probably because of
r |= KEYBOARD_Init(HandleKBDEvent);
inInput_Init
, it's probably better to only care about the error fromKEYBOARD_Init
when deciding to launch the keyboard thread. I'll make a pull request to fix.
how so? ye ok, the thread shouldn't start if KB couldn't init, but it shouldn't cause a random crash, shouldn't it? imo that sounds like a crash always or never crash scenario? (depending on hardware setup)
Here are the necessary changes to the hacks_hash.ini for Wiimmfi patcher support.
This includes patches for 4.1, 4.2 and 4.3, in all four regions (PAL, USA, JAP, KOR) each, plus patches for the PAL and NTSC versions of the Wii Mini 4.3. I didn't bother porting it to the four vWii versions because Priiloader doesn't run on there anyways; if Priiloader will ever run on vWii in the future I'll add these ports. Also I didn't bother porting it to 4.0 or below. If people still have a 4.0 or lower Wii in 2020, they should just update to 4.1 or newer.
This has been tested for PAL and USA discs, still needs some testers with JAP and KOR discs / consoles.
A couple things:
Hacks_rework
branch to be merged into master first before this will work.~ (already merged)~Also, with that patch added the layout of the "Hacks" screen looks pretty bad, the "confirm" button overlays the last two hacks. I'd recommend either adding a way to scroll through that list, or to drop two of the rarely-used hacks from the hacks_hash.ini for the next release.~ (already fixed in master)