GeckoOS 1.07a With Rebooter Released

Started by Nuke, September 17, 2008, 06:14:45 AM

Previous topic - Next topic

Nuke

The Wii recovery mode patch is very simple, here is code to help you understand:

81374BDC A0 01 00 AC          lhz     %r0, 0x130+var_84(%sp) # Load Half Word and Zero
81374BE0 54 00 07 3E          clrlwi  %r0, %r0, 28    # Clear Left Immediate
1374BE4 2C 00 00 0F           cmpwi   %r0, 0xF        # Compare Word Immediate
81374BE8 40 82 00 0C          bne     loc_81374BF4    # Branch if not equal
81374BEC
81374BEC             loc_81374BEC:                           # CODE XREF: main+FCCj
81374BEC 4B FF EA 99          bl      BS2BootIRD      # Branch
81374BF0 48 00 00 08          b       loc_81374BF8    # Branch
81374BF4             # ---------------------------------------------------------------------------
81374BF4
81374BF4             loc_81374BF4:                           # CODE XREF: main+FD8j
81374BF4                                                     # main+FE8j
81374BF4 4B FF E9 55          bl      BS2Entry        # Branch

The recovery mode is BS2BootIRD, so you need to change bl BS2Entry(normal boot) to BS2BootIRD so it jumps to recovery instead of normal boot.

I think the hardware method will be better though as the dongle must be checked more early on in execution where as the apploader maybe much later. I can not say the order of execution.

i hope this helps, you don't need to change any exi code if do it in this way.
 

Quote from: WiiCrazy;12294Firstly, I have a modchip and 3.2 system menu (trucha not fixed) hence I can run modified disks in my sytem. The problem is my modchip doesn't support autoboot. It seems that modchips that are working for boards D2C and onwards all doesn't support it. It's just an estimation.

My strategy is, patch the code in the system menu that checks the 32 bit value read from the exi bus and jump to the recovery menu. It is most possibly checked before apploader runs so I need another patch for the system menu to restart it with the press of the A button on the wiimote.Then I'll remove the disk and hope that It boots to the recovery menu :) Then I can possibly boot homebrew disks to fix my problem.

Do you think it's doable?
By the way, by flushing do you mean the instruction cache of the cpu? And apart from knowing where the system menu is in the memory do I need to do extra stuff to patch the memory in the apploader code? I know c very well yet I haven't done anything low-level for a long time.

About the recovery dongle by twiizers, well there is no word from it for a long time. I hope it got released too and someone produce it so the end users have another option for brick recovery.
0xFFFFFFuuuuuuu

WiiCrazy

Quote from: Nuke;12325The Wii recovery mode patch is very simple, here is code to help you understand:

The recovery mode is BS2BootIRD, so you need to change bl BS2Entry(normal boot) to BS2BootIRD so it jumps to recovery instead of normal boot.

I think the hardware method will be better though as the dongle must be checked more early on in execution where as the apploader maybe much later. I can not say the order of execution.

i hope this helps, you don't need to change any exi code if do it in this way.

Thanks for the code, I was planning to change the value compared with the data read from exi.. Your method is simpler and nice.
I also need to restart the system menu, which I should put that patch just after or below the loop that checks wiimote A button.

It seems hardest part will be the restart patch, especially with the bricked wii :)

Nuke

well for sure its a challenge. Best of luck with the hack :)
0xFFFFFFuuuuuuu

RupeeClock

This master hook is useful, I'm sure the VC/Wii Ware release scene will appreciate this, because it provides high quality screens of the software.






Anyway, if you're not careful, you can produce an error in your system using this.

This is how I got an error:

1: Load Gecko OS, reboot with save check off, region free on, skip button, GCT codes for Brawl (JP) loaded.
2: Open up the Mii Channel (I was trying to take screenshots of miis, if possible)
3: Return to system menu, and wait for foreign disc to load

When it fails to load, it brings up an error that says something along the lines of "An error has occured, please turn off the wii and remove the disc"

The error seems to persist on the system, until you load another game or whatever, I'm not sure.

dottor_male


sean.aaron

Quote from: RupeeClock;12341Anyway, if you're not careful, you can produce an error in your system using this.

This is how I got an error:

1: Load Gecko OS, reboot with save check off, region free on, skip button, GCT codes for Brawl (JP) loaded.
2: Open up the Mii Channel (I was trying to take screenshots of miis, if possible)
3: Return to system menu, and wait for foreign disc to load

When it fails to load, it brings up an error that says something along the lines of "An error has occured, please turn off the wii and remove the disc"

The error seems to persist on the system, until you load another game or whatever, I'm not sure.

Sorry, I thought GeckoOS was only making changes in RAM -- how would it do  anything that lasts beyond a reboot?

Naraku2000

Quote from: sean.aaron;12361Sorry, I thought GeckoOS was only making changes in RAM -- how would it do  anything that lasts beyond a reboot?

this doesn't have anything to do with permanent changes or anything, it's just that the rebooter unapplies as soon as you return to the Wii Menu from any game or channel on. That means the rebooter can't freeload anymore either as it is turned off, and because the Wii does not like accepting discs it can't accept it makes an error.

sean.aaron

Quote from: Naraku2000;12362this doesn't have anything to do with permanent changes or anything, it's just that the rebooter unapplies as soon as you return to the Wii Menu from any game or channel on. That means the rebooter can't freeload anymore either as it is turned off, and because the Wii does not like accepting discs it can't accept it makes an error.

Ah, okay.  

Quotereboot with save check off, region free on, skip button, GCT codes for Brawl (JP) loaded.

I assumed that meant reboot the Wii; not use GeckoOS to launch a game.

Nuke

we have the other 'No Copy Flag' method sorted now too. It will go in 1.07a
0xFFFFFFuuuuuuu

Naraku2000

Quote from: Nuke;12382we have the other 'No Copy Flag' method sorted now too. It will go in 1.07a

Wow, cool. will the GC Ocarina code support be implemented into 1.07a too or does it take a little longer/shall other things for this release be more important?

Phreeq

when you say "No Copy Flag" do you mean the no copy if you havent played the game yet? Cause that would be nice.

Naraku2000

Quote from: Phreeq;12404when you say "No Copy Flag" do you mean the no copy if you havent played the game yet? Cause that would be nice.

nope, it allows you to copy saves that normally wouldn't copy because of a copying block, like SSBB saves.

brkirch

#72
Quote from: Nuke;12382we have the other 'No Copy Flag' method sorted now too. It will go in 1.07a.

Darn, I was beat to it. :P  Good work though!

space1

Nuke for the moment it's not possible to hook wiiware games no ?

In fact I try master hook, so I can make screenshots of wii menu but when I start a wiiware games, there is an error, 'status 2...' when I try to make screens.

Nuke

Here is the new update

http://www.usbgecko.com/files/Gecko107a.zip

now you can copy all 'no copy flag' saves this includes Virtual console game saves with save states and games such as Guitar Hero 3, Guitar Hero AeroSmith, Dr. Mario Online RX. (thanks brkirch and kenobi)

also can now move the DVD channel. (thanks pizzaboy)

I updated the first post, there is also a readme.

many thanks
0xFFFFFFuuuuuuu