DoLaunchers: McLoader and Brosexec

Release threads for homebrew & utilities only
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

DoLaunchers: McLoader and Brosexec

Post by suloku » Sat Aug 29, 2015 2:28 pm

UPDATE: Updated mcloader to 0.2, it can now load dols with command line parameters via embedding cli files into the gci prior to writing the dol to the memory card. A tool for embeding cli files has been written and is included in the binary package.

I've coded some simple dol launching programs based on swiss's dol loading code, basically to be used with the new Home Bros. exploit, but can work with other hombrew loading methods. I've done this mostly for myself, but might come in handy for others.

You can grab the binaries and source code here: https://github.com/suloku/dolaunch/releases
There are also gci files for the brosexec exploit, all are boot.dol when in the memory card, so be careful not to overwrite!

There are 3 different loaders, here's a brief explanation:
- Brosexec: a very basic loader that will load autoexec.dol from the sd card. No more, no less. Takes 11 blocks in the memory card, uses latest libfat, so SDHC support. Also included is the binary (SDLOADER.BIN) for use with the AR boot method.

- BrosexecConf: this loader uses a configuration file from the sd card, dol files can be associated to 12 buttons on the gamecube controller, there's also a timer and autoboot feature. It also can pass command line arguments to loaded dols using .cli files. Comes in two flavors:
----> Text version: black background and white text. Takes 13 memory card blocks.
----> Background version: uses libPNGU to load a png background image from the sd card. On screen text can be disabled, so the background image can be used as splash screen for autoboot or whatever you want.

- McLoader: this program will search the memory card for dol files converted using dol2gci and allows booting them.
Here's a screenshot of brosexecconf in action:
Image
note: the first line won't appear, I removed it, it's a screenshot from and old version.

I hope that this is useful for someone.
Last edited by suloku on Sat Sep 05, 2015 11:39 pm, edited 2 times in total.
User avatar
emu_kidid
Site Admin
Posts: 4927
Joined: Mon Mar 29, 2010 10:06 am
Location: Australia
Contact:

Re: DoLaunchers: McLoader and Brosexec

Post by emu_kidid » Sat Aug 29, 2015 3:05 pm

These look great, I want to get something like McLoader into Swiss (allow .GCI DOL entries on the memory card to be booted) one of these days. And maybe a GUIless version of Swiss to allow for much better compression.
Image
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Sat Sep 05, 2015 11:39 pm

UPDATE: Updated mcloader to 0.2, it can now load dols with command line parameters via embedding cli files into the gci prior to writing the dol to the memory card. A tool for embeding cli files has been written and is included in the binary package. Still fits in 9 blocks, which is nice.

How to use in readme files of mcloader and cliembed.
Smashbro29
Posts: 27
Joined: Tue Dec 03, 2013 3:24 am

Re: DoLaunchers: McLoader and Brosexec

Post by Smashbro29 » Wed Dec 23, 2015 8:22 pm

So I can use this to load into Swiss? Because all I want to hit Name Entry in Melee and then just be at Swiss.

Then from Swiss load GBI IN 240p but that's a different topic.

I just want to make sure I have it clear, I'm taking the .gci file and placing it on my memory card, right? So what's all the other stuff in the folder for?
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Wed Dec 23, 2015 9:30 pm

Smashbro29 wrote:So what's all the other stuff in the folder for?
Short answer: so anyone can get the setup the way they like the most: brosexec loads autoexec.dol from sdgecko; brosexecconf is a simple dol loading app (quicker than browsing trough swiss if you use many dol files), mcloader is a dol launcher app, but reads the dol files from the memory card (in case you don't have a sd gecko and want to boot multiple dols on the cube).

Since you only want to boot straight into swiss, then boot whatever from there (via sd gecko), your best option is to install the "boot.gci" file in the "brosexec" folder. That file will launch autoexec.dol from sd gecko. Autoexec.dol should be a renamed swiss dol in your setup.

You could in fact just get swiss on your mc, brosexec is just an intermediary dol with 2 goals: reduce required memory card space and to easily update swiss (or whatever is your autoexec.dol).

ps: latest nightly swiss build takes 126 blocks, while brosexec takes only 11 blocks.
ps2: curious how it's been 2-3 months since I last entered the forums and your post was made today too.
Smashbro29
Posts: 27
Joined: Tue Dec 03, 2013 3:24 am

Re: DoLaunchers: McLoader and Brosexec

Post by Smashbro29 » Wed Dec 23, 2015 11:32 pm

suloku wrote:
Smashbro29 wrote:So what's all the other stuff in the folder for?
Short answer: so anyone can get the setup the way they like the most: brosexec loads autoexec.dol from sdgecko; brosexecconf is a simple dol loading app (quicker than browsing trough swiss if you use many dol files), mcloader is a dol launcher app, but reads the dol files from the memory card (in case you don't have a sd gecko and want to boot multiple dols on the cube).

Since you only want to boot straight into swiss, then boot whatever from there (via sd gecko), your best option is to install the "boot.gci" file in the "brosexec" folder. That file will launch autoexec.dol from sd gecko. Autoexec.dol should be a renamed swiss dol in your setup.

You could in fact just get swiss on your mc, brosexec is just an intermediary dol with 2 goals: reduce required memory card space and to easily update swiss (or whatever is your autoexec.dol).

ps: latest nightly swiss build takes 126 blocks, while brosexec takes only 11 blocks.
ps2: curious how it's been 2-3 months since I last entered the forums and your post was made today too.
I have the regular memory card and one with an SD card slot. SD card slot is the one doing the heavy lifting. So it can take however many blocks it wants if it can be on the sd card. Basically: No way is swiss fitting on my memory card.

Also I'm watching you clearly.

I got this working! Loaded into the latest Swiss nightly! Just can't figure out how to get Swiss to force 240p but that's not this thread.
psprofi
Posts: 9
Joined: Tue Aug 18, 2015 10:15 am

Re: DoLaunchers: McLoader and Brosexec

Post by psprofi » Fri Apr 15, 2016 4:20 am

Hi,
Is there a working iso file for PAL region (text version would be nice)?.
I can not get it to work myself.
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Fri Apr 15, 2016 5:45 am

If you are going to boot from iso, why not directly use swiss instead?

I've never tried making a hombrew iso, but there should be a prograt to make one from dol files lying on the forums.
psprofi
Posts: 9
Joined: Tue Aug 18, 2015 10:15 am

Re: DoLaunchers: McLoader and Brosexec

Post by psprofi » Fri Apr 15, 2016 11:27 pm

I don't want to have to boot swiss nightly with an old version of swiss i have here. :lol:

The tool is not working with your dol. On Emulator the iso is working, but if i boot the iso via swiss (to test it) i get a stack dump.
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Sun Apr 17, 2016 2:47 pm

Does swiss allow you to boot other homebrew isos (i.e. an emulator)?

Does "brosexec" work or the same happens? (broseexec is the one that will just load autoexec.dol from sdcard)

From what I understand, you seem to have a modchip setup and you want a simple way to load things from sdcard by using a standard launcher dvd?
novenary
Posts: 1754
Joined: Mon Dec 30, 2013 7:50 am

Re: DoLaunchers: McLoader and Brosexec

Post by novenary » Sun Apr 17, 2016 7:31 pm

I don't think you can boot an ISO in itself but you can load DOLs.
psprofi
Posts: 9
Joined: Tue Aug 18, 2015 10:15 am

Re: DoLaunchers: McLoader and Brosexec

Post by psprofi » Sun Apr 17, 2016 10:23 pm

suloku wrote:From what I understand, you seem to have a modchip setup and you want a simple way to load things from sdcard by using a standard launcher dvd?
Thats what i want. I like your launcher, because its simple and fast.

I will try to run brosexec and other homebrew from iso in a few days.
User avatar
Sierron
Posts: 160
Joined: Mon Apr 18, 2016 11:33 pm
Location: Germany

Re: DoLaunchers: McLoader and Brosexec

Post by Sierron » Mon May 30, 2016 2:53 pm

McLoader seems to have an issue with either searching for .dol's on PAL consoles or searching on the memorycard it is on.

I use the Homebros exploit to get into McLoader. My memorycard gets detected and all, but doesn't contain any .dol's according to McLoader - even through that program just booted from it. I need to pull the MC out and in again. So far this happened every time on my PAL console with the homebros exploit and the McLoader on the same card. Haven't tried yet to boot from Slot B on a PAL console with another card containing the exploit. (Will update on this)
The memorycard is a 1023 blocks 3rd party one.

On my japanese cube it works without much issues. I have an official card in Slot A and the above mentioned 1023 blocks card in Slot B.
Own a couple PAL and JPN cubes. And three BBAs. Homeland and PSO I/II.
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Mon May 30, 2016 4:27 pm

Strange, my setup is PAL, so that shouldn't be an issue. I can't remember in which slots I tested, but it was probably both. In any case I don't have the hardware or the time to re-test, but I don't remember experiencing this issue.

I did have this issue before though some years ago, and workarounded it by trying to mount the memory card, if it fails, all memory card subsystem is reset and the program tries again. I tries to do this 10 times until reporting a mount failure, but when I coded that it always succedded in the second attemp. (https://github.com/suloku/dolaunch/blob ... main.c#L90)
That was many years ago, I just copy pasted the code from gcmm, so maybe swiss has a better way to mount the card. May you check if you have troubles with gcmm or swisss too?

Still, it's strange that it does not happen on a Jap setup.
User avatar
Sierron
Posts: 160
Joined: Mon Apr 18, 2016 11:33 pm
Location: Germany

Re: DoLaunchers: McLoader and Brosexec

Post by Sierron » Mon May 30, 2016 6:32 pm

That's the text when it detects the card but can't find things. *
Image

Now with an official 59' Memorycard in Slot A and the 3rd party one in Slot B it detects the card and lists all the files.
Image
I pulled the memorycard in and out multiple times with multiple restarts and was working good.

* It's showing B because first time with the setup above it didn't worked but that was probably only a temp issue.
Attachments
20160530-202051.JPG
(42.44 KiB) Not downloaded yet
20160530-202001.JPG
(46.39 KiB) Not downloaded yet
Own a couple PAL and JPN cubes. And three BBAs. Homeland and PSO I/II.
toxic9
Posts: 64
Joined: Fri Mar 02, 2018 8:40 am

Re: DoLaunchers: McLoader and Brosexec

Post by toxic9 » Sat Jun 23, 2018 5:34 pm

My Gamecubes are PAL version and they can work on Pal 50 and Pal 60 modes.

If I'm launching brosexecconf in PAL60 mode, the picture "autoback.png" fits the entire screen (640x480),

But if I'm launching brosexecconf in PAL50 mode, there is a black bar on the bottom of the screen because the picture doesn't fit the entire screen.
If I change the "autoback.png" resolution to: 640x576 (yes, only the height is changed, so the image is distorced on the PC) then the picture fits the screen and everything is correct.

The problem is then if I launch brosexecconf again in PAL60 mode with the "autoback.png" resolution on 640x576, it crashes!

So, the only solution is I can think of is that brosexecconf somehow detects the running mode (50 or 60Hz) and selects one of the two pictures provided. like: "autoback50.png" and "autoback60.png"
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: DoLaunchers: McLoader and Brosexec

Post by Papy.G » Tue Oct 29, 2019 10:33 am

Now that libogc supports SD2SP2, and ExFat format becomes supported by more and more homebrews, it would be really nice to see a big update for those Dolaunchers that runs autoexec.dol from an SD card.

I suppose SD2SP2 support won't be that big of a deal, at first, while a new file format may need harder work, if ever done one day, that second thing is not that much important.

Or, if the Fat 16 support takes too much room, go for an update, limited to Fat32/ExFat, and only scanning SD2SP2 and SlotB. SlotA and Fat16 support left to older solutions for Legacy.
Anyways, if it is possible to go this way, one may keep old-style boot method for legacy with one specific game, and the new flavour with another game, so choosing one way or the other will be just a matter of choosing the plate to boot.
DMG/MultiFreq OC/EDGB/EZF Jr, AGB/SC miniSD, NTR/NeoMK3, USG/flashme V8/SC miniSD
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD

Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Fri Jan 03, 2020 12:11 pm

Papy.G wrote:
Tue Oct 29, 2019 10:33 am
Now that libogc supports SD2SP2, and ExFat format becomes supported by more and more homebrews, it would be really nice to see a big update for those Dolaunchers that runs autoexec.dol from an SD card.

I suppose SD2SP2 support won't be that big of a deal, at first, while a new file format may need harder work, if ever done one day, that second thing is not that much important.

Or, if the Fat 16 support takes too much room, go for an update, limited to Fat32/ExFat, and only scanning SD2SP2 and SlotB. SlotA and Fat16 support left to older solutions for Legacy.
Anyways, if it is possible to go this way, one may keep old-style boot method for legacy with one specific game, and the new flavour with another game, so choosing one way or the other will be just a matter of choosing the plate to boot.
Yes, SD2SP2 is easy to add, in fact NiHuSu already did that for brosexec. Which other homebrew is adding support for exfat? It doesn't seem libfat has been updated to just support it, and swiss source code is too complicated for me as it handles many devices and has lots of performances patches and tweaks. Seeing the code for other homebrew that's been updated with exfat support would help. Of course this addition might come with the price of more blocks being needed for brosexec in the memory card.
User avatar
Extrems
Posts: 1312
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: DoLaunchers: McLoader and Brosexec

Post by Extrems » Fri Jan 03, 2020 1:30 pm

exFAT support is using a different library entirely: FatFs.

As you might guess, it's not a solution for everyone.
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Fri Jan 03, 2020 5:44 pm

What are the benefits of exfat on gamecube though? I don't see the 4gB limit for gamecube as a limitation, and sector size and max partition size shouldn't be an issue even nowadays, also high capacity cards can be formated to fat32. Do exfat and fatFS have better reading times? Then I would understand why most people would want better speed sdcard in exfat and I agree it's troublesome to not have homebrew supporting the sdcard and having to have a different card for different homebrew.

I may be interested in upgrading gcmm to fatFS as there seems to be demand for it, but I can't find any documentation. I took a look at https://github.com/redolution/iplboot, which also uses fatFS and might be a better aproach than swiss to understand how to implement fatFS, but I've been away from GC scene and programming for some years now, any tips are appreciated.

ps: tried to go into #gc-forever at efnet, is efnet down or my client just refuses to connect?

EDIT: ok, looked a little more into it, seems fatFS would need a complete rewrite of all functions related to fat devices. Seems like adding this to GCMM would take a lot of work. On the other hand after looking at iplboot, it seems I could easily update brosexec to use fatFS as it just needs to read and launch a dol file from a fat device...but isn't it just possible to simply use iplboot dol file as the one for game exploits? It even takes less blocks in memory card, allows to launch trough usb gecko, slot A, slot B and sd2SP2.

I'm attaching gci file from latest iplboot (compressed and renamed as boot.dol), if anyone wants to try it.
Boot priority for iplboot is the following:
1.- Usb gecko slot B
2.- Sd gecko slot B
3.- Usb gecko slot A
4.- Sd gecko slot A
5.- SD2sp2

NOTE: iplboot looks for ipl.dol at the root of sdcard
Also, iplboot only takes up 9 blocks on memory card, while brosexec occupies 11!
Attachments
iplboot_gci.zip
(61.54 KiB) Downloaded 1189 times
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: DoLaunchers: McLoader and Brosexec

Post by Papy.G » Mon Jan 06, 2020 1:53 pm

Yes, but it seems NiHuSu left the SlotA and B compatibility down at the same time, so it is not "universal", and it won't fit my use.

I don't personnally need ExFat format, I was more asking in the forward compatibility point of view, since modern OSes tend to be reluctant to formatting SD cards bigger then 32GB to FAT32.

If iplboot can be launched from a memcard by a game exploit, I'll go this way and I'll encourage people to do so, I just wasn't aware it was available as a .dol executable.

Eventually, it gets way better than expected, thanks to you all who know how and do all this hard work for us!
DMG/MultiFreq OC/EDGB/EZF Jr, AGB/SC miniSD, NTR/NeoMK3, USG/flashme V8/SC miniSD
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD

Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Tue Jan 07, 2020 10:09 am

For what I saw in the code, NiHuSu's version tries slotA, then slotB, then sd2sp2.

In any case iplboot is a better option (I assume you tested and works as intended from game exploits)
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: DoLaunchers: McLoader and Brosexec

Post by Papy.G » Tue Jan 07, 2020 11:18 am

IPLBoot works with SlotB, but not for SP2, it just resets the console. With the same SD card as with the SlotB, just in the SP2, nothing present in the SlotB (Regular size FAT16 formatted 1GB SD Card).

IPLBoot won't be a better option, unless it offers the possibility to choose among 13 dols on the fly for straight boot. Although, it is different, since it offers to boot from the USB Geckos (and maybe USB2SP2 later), so there is no better than another, each of us will choose his flavour.

I have to try NiHuSu's DoLauncher on the three hardware setups I have to confirm it works, and flawlessly.

EDIT: I don't have the building environment to build a dol from the sources, so testing is hung up until a build is released.
DMG/MultiFreq OC/EDGB/EZF Jr, AGB/SC miniSD, NTR/NeoMK3, USG/flashme V8/SC miniSD
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD

Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
User avatar
suloku
Posts: 60
Joined: Wed Mar 31, 2010 12:55 pm

Re: DoLaunchers: McLoader and Brosexec

Post by suloku » Wed Jan 08, 2020 5:29 pm

Here's NiHuSu's version compiled.

I find it strange iplboot fails with sd2sp2, it uses the same code for slot A, B and sd2sp2 devices. I can't recompile right now since I don't have clang on my windows setup.
Attachments
brosexec_nihusu_sd2sp2.zip
(348.04 KiB) Downloaded 4433 times
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: DoLaunchers: McLoader and Brosexec

Post by Papy.G » Thu Jan 09, 2020 5:14 pm

OK, thank you very much.
NiHuSu's version works, it takes 15 blocks now.

Yes, if it works on the chips why won't it work from a Memcard? Odd…
DMG/MultiFreq OC/EDGB/EZF Jr, AGB/SC miniSD, NTR/NeoMK3, USG/flashme V8/SC miniSD
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD

Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
Post Reply