Page 1 of 1

Can homebrews return to Swiss?

Posted: Sat Dec 03, 2016 7:41 pm
by Nimecim
Some homebrews (e.g. GCMM or VBA-GX) have a "back to loader" feature, but when I hit it, it just makes my Gamecube freeze. I was hoping it would either reboot the console, or go back to Swiss.

I guess it's only meant to work on Wii's with the Homebrew Channel, but why wouldn't it be removed from the Gamecube-specific builds? Is there some way to setup an SD card or a disc to make it work?

I've tried putting a dol of Swiss at the root of my SD card, as both boot.dol and loader.dol, but that didn't help. boot.dol causes Swiss to load it at the start (which is a nice way to keep it up-to-date without burning a new disc), but it doesn't solve the "back to loader" problem. Likewise, loader.dol doesn't do anything.

My Gamecube has a XenoGC installed, and I load Swiss from a disc, while I load homebrews from an SD card with an SDGecko clone in slot B.

Re: Can homebrews return to Swiss?

Posted: Sat Dec 03, 2016 10:31 pm
by Sierron
Normally the gamecube just resets if you exit the gamecube homebrew. What homebrew applications actually result in a freeze for your cube?

I'm also missing this feature of the applications going back to swiss instead of resetting the console. Would love that feature.

Re: Can homebrews return to Swiss?

Posted: Sat Dec 03, 2016 11:04 pm
by Nimecim
Well I haven't tried a lot of homebrew yet, but with those I have, I get the following behavior:
  • Cube64: I hit "Quit" and get a confirmation message. Then it fades to black, and the Gamecube freezes.
  • Not64: Same as Cube64, but it restarts the console instead of freezing.
  • VBA GX: I hit "Exit" and it freezes. By default, the exit action is set to "Return to loader", but it can be changed to restart, in which case the Gamecube restarts instead.
  • GCMM: I press the start button (labelled "Boot Loader"), and it just freezes.
Edit: Tried a few more:
  • Snes9xGX: Same as VBA GX
  • CleanRip: Exiting by pressing B restarts the console.
  • mGBA: Exiting restarts the console.

Re: Can homebrews return to Swiss?

Posted: Sun Dec 04, 2016 5:15 am
by novenary
The Wii has starlet/IOS as a supervisor, which is how it returns to the hbc or system menu (note that they have to restart, even from games). On the GameCube, a complete dol loader would need to be integrated in each piece of homebrew.
Resetting is the best that can be done, if you boot a Swiss disc with a xenogc, or with a drive emulator, it will return to swiss without you doing anything (though you might need to resinsert your SD gecko).
Also of note is that emu_kidid is working on in-game reset which can quickly reload swiss itself with a button combo from actual games, but not homebrew.

Re: Can homebrews return to Swiss?

Posted: Sun Dec 04, 2016 5:37 am
by tueidj
Wii homebrew returns by jumping to code (after checking for a matching check value) at 0x80001800, which is normally a stub placed there by HBC. GC apps could do the same (in fact it's been done, see geckoloader).

Re: Can homebrews return to Swiss?

Posted: Sun Dec 04, 2016 4:12 pm
by Extrems
Nimecim wrote:
  • mGBA: Exiting restarts the console.
Try autoexec.dol

Re: Can homebrews return to Swiss?

Posted: Sun Dec 04, 2016 8:06 pm
by Nimecim
Extrems wrote:
Nimecim wrote:
  • mGBA: Exiting restarts the console.
Try autoexec.dol
Just tried it and it made mGBA load Swiss instead of restarting the console :). Sadly, it didn't help with the other homebrews.
tueidj wrote:Wii homebrew returns by jumping to code (after checking for a matching check value) at 0x80001800, which is normally a stub placed there by HBC. GC apps could do the same (in fact it's been done, see geckoloader).
You mean with the USB Gecko? Does "Back to loader" only work with it (I imagine the devs are likely using one during development), or are the homebrews just doing the same as on the Wii and failing?
Streetwalker wrote:The Wii has starlet/IOS as a supervisor, which is how it returns to the hbc or system menu (note that they have to restart, even from games). On the GameCube, a complete dol loader would need to be integrated in each piece of homebrew.
Resetting is the best that can be done, if you boot a Swiss disc with a xenogc, or with a drive emulator, it will return to swiss without you doing anything (though you might need to resinsert your SD gecko).
Also of note is that emu_kidid is working on in-game reset which can quickly reload swiss itself with a button combo from actual games, but not homebrew.
Yeah, I figured that explicitly loading a dol would be the only easy way to go back to the loader without restarting. I was just wondering whether there was a standard way to do it, and why some homebrews offer a "Back to loader" feature that apparently doesn't work.

Re: Can homebrews return to Swiss?

Posted: Sun Dec 04, 2016 9:18 pm
by novenary
tueidj wrote:Wii homebrew returns by jumping to code (after checking for a matching check value) at 0x80001800, which is normally a stub placed there by HBC. GC apps could do the same (in fact it's been done, see geckoloader).
Oh right, the switch is done on the PPC side in libogc, it's the SDK that uses the IOS to switch executables on the PPC.

Re: Can homebrews return to Swiss?

Posted: Mon Dec 05, 2016 2:47 am
by tueidj
Nimecim wrote:You mean with the USB Gecko? Does "Back to loader" only work with it (I imagine the devs are likely using one during development), or are the homebrews just doing the same as on the Wii and failing?
It loads a .dol from the USBgecko's on-board flash, which is more complicated than loading one from an sd gecko.

Re: Can homebrews return to Swiss?

Posted: Mon Dec 05, 2016 4:38 am
by emu_kidid
Yeah we can add a stub in that'll reboot to autoexec.dol (can this name die already? this isn't 1998)

Re: Can homebrews return to Swiss?

Posted: Mon Dec 05, 2016 8:24 am
by novenary
Just specify the name of your dol in an autorun.inf. :P

Jokes aside, it would be a nice addition to libogc or as a library that you'd simply link in and call to reload a dol.

Re: Can homebrews return to Swiss?

Posted: Mon Dec 05, 2016 10:35 pm
by Sierron
emu_kidid wrote:Yeah we can add a stub in that'll reboot to autoexec.dol (can this name die already? this isn't 1998)
Well, the action replay automatically loads that file, so at least for the discs it would need to stay. :?

Re: Can homebrews return to Swiss?

Posted: Sat Feb 20, 2021 7:06 pm
by Diego borella
From Swiss 0.5 r990, this feature has been incorporated. it worked for me in the apps I tested.
you must choose the path renaming the Swiss as:
/autoexec.dol
/boot.dol
/boot2.dol
/igr.dol
/ipl.dol
it takes a while for the return, but it's working.