Minimal ipl boot Viper GC

Portables, case replacements, mods etc, all in here!
User avatar
ledu205
Posts: 15
Joined: Wed Nov 27, 2019 8:39 am
Location: france

Minimal ipl boot Viper GC

Post by ledu205 » Thu Dec 19, 2019 7:33 am

hello

I trying to compile minimal ipl boot for support SD2SP2 https://github.com/redolution/iplboot

But i have error when compile

ffshim.c
make[1]: powerpc-eabi-clang: Command not found
make[1]: *** [/opt/devkitpro/devkitPPC/base_rules:18: ffshim.o] Error 127
make: *** [Makefile:111: build] Error 2

i think problem with clang but i'm nweebie i compilation, i hope you could help me

(sorry for my english)
User avatar
PlatypusWithCheese
Posts: 12
Joined: Thu Dec 12, 2019 11:59 am

Re: Minimal ipl boot Viper GC

Post by PlatypusWithCheese » Fri Dec 20, 2019 3:16 am

if you are on debian/ubuntu

- Install latest devkitpro-pacman then run

Code: Select all

dkp-pacman -S gamecube-dev
- Install Clang and 32bit gcc libraries

Code: Select all

sudo apt-get install clang gcc-multilib
- Create Clang symlink

Code: Select all

ln -s /usr/bin/clang $DEVKITPPC/bin/powerpc-eabi-clang
- Locate PAL 1.0 IPL put it in the same directory as the makefile and name it ipl.rom
- Run make

but i do not know how to get it to output the viper gc file.
Indigo DOL-001(EUR)/GBP/BBA/RGB/SD2SP2/GCLoader
User avatar
ledu205
Posts: 15
Joined: Wed Nov 27, 2019 8:39 am
Location: france

Re: Minimal ipl boot Viper GC

Post by ledu205 » Fri Dec 20, 2019 10:39 am

tanks for help me compli is ok but error at end

Code: Select all

ssaram.c
main.c
sidestep.c
ffshim.c
ffsystem.c
ff.c
ffunicode.c
linking ... iplboot-master.elf
output ... iplboot-master.dol
pack IPL ... iplboot-master.gcb
Traceback (most recent call last):
  File "./dol2ipl.py", line 161, in <module>
    sys.exit(main())
  File "./dol2ipl.py", line 83, in main
    with open(sys.argv[1], "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'ipl.rom'
make[1]: *** [/home/gc/Téléchargements/iplboot-master/Makefile:139: /home/gc/Téléchargements/iplboot-master/iplboot-master.gcb] Error 1
make: *** [Makefile:111: build] Error 2
Edit : I miss ipl.rom i test and i'm back for result
Edit 2 : it's create !!!
Sprutte
Posts: 1
Joined: Fri Dec 27, 2019 1:49 pm

Re: Minimal ipl boot Viper GC

Post by Sprutte » Fri Dec 27, 2019 2:01 pm

ledu205 wrote:
Fri Dec 20, 2019 10:39 am
tanks for help me compli is ok but error at end

Code: Select all

ssaram.c
main.c
sidestep.c
ffshim.c
ffsystem.c
ff.c
ffunicode.c
linking ... iplboot-master.elf
output ... iplboot-master.dol
pack IPL ... iplboot-master.gcb
Traceback (most recent call last):
  File "./dol2ipl.py", line 161, in <module>
    sys.exit(main())
  File "./dol2ipl.py", line 83, in main
    with open(sys.argv[1], "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'ipl.rom'
make[1]: *** [/home/gc/Téléchargements/iplboot-master/Makefile:139: /home/gc/Téléchargements/iplboot-master/iplboot-master.gcb] Error 1
make: *** [Makefile:111: build] Error 2
Edit : I miss ipl.rom i test and i'm back for result
Edit 2 : it's create !!!
Could you please share the compiled files? Thx!
User avatar
ledu205
Posts: 15
Joined: Wed Nov 27, 2019 8:39 am
Location: france

Re: Minimal ipl boot Viper GC

Post by ledu205 » Mon Jan 13, 2020 10:12 am

file is too big for vipergc and i don't have vipergc extreme. I don't kown if working or not
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Mon Jan 13, 2020 12:51 pm

Upload it to free.fr "envoi de gros fichiers", and give back the link here, there everyone would be able to download it, I would love to get a GCI version, since the official IPLboot.dol doesn't manage to boot SWISS off an SD2SP2 from a Memcard (GamExploit), while it works with SD Gecko.
I will try it as soon as I can.
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
ledu205
Posts: 15
Joined: Wed Nov 27, 2019 8:39 am
Location: france

Re: Minimal ipl boot Viper GC

Post by ledu205 » Mon Jan 13, 2020 6:53 pm

https://uptobox.com/rtsi8kowj7mb iplboot-master.dol
https://uptobox.com/k93bhaeeozbw iplboot-master.vgc

Caution not tested for the moment

Edit : try with dolphin it seems to work
User avatar
webhdx
Posts: 105
Joined: Sun Jul 03, 2011 10:40 am

Re: Minimal ipl boot Viper GC

Post by webhdx » Tue Jan 14, 2020 9:48 am

Did you manage to get it working on standard ViperGC not Extreme? I will give it a try once I find my LPT programmer.
User avatar
ledu205
Posts: 15
Joined: Wed Nov 27, 2019 8:39 am
Location: france

Re: Minimal ipl boot Viper GC

Post by ledu205 » Tue Jan 14, 2020 11:27 am

not possible on vipecGC standard iplboot.vgc 142ko memory on cheap 128ko
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Tue Jan 14, 2020 3:07 pm

Maybe ripping off slot A boot you'll get back to smaller size?
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
webhdx
Posts: 105
Joined: Sun Jul 03, 2011 10:40 am

Re: Minimal ipl boot Viper GC

Post by webhdx » Thu Jan 16, 2020 1:06 pm

Weird. Viper and GCOS both have GUI and it's possible to flash them to ViperGC. Looks like there is a lot of garbage compiled in. I will try it myself once I find my LPT programmer.
User avatar
emu_kidid
Site Admin
Posts: 4927
Joined: Mon Mar 29, 2010 10:06 am
Location: Australia
Contact:

Re: Minimal ipl boot Viper GC

Post by emu_kidid » Mon Jan 27, 2020 7:45 am

"a lot of garbage compiled in" = GCOS and Cobra didn't use libOGC. Basically everything these days uses libOGC and has all the bloat compiled in as a result. Have you tried using dolxz or dollz to compress it? (dollz has a viper flag you'll need to use)
Image
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Mon Jan 27, 2020 9:36 am

Sorry for doing this in background, I helped testing, so we had a working GCI that was 18 blocks, I asked Ledu205 if he has means to compress it and we are now with a working version (as a GCI, I don't have any chipped GC) that is only 10 blocks.

I was planning on reporting all the testing I did lately with all the boot forwarders that were provided by Suloku, NiHuSu, and Ledu205 in regards to SD2SP2 boot ability.
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
ledu205
Posts: 15
Joined: Wed Nov 27, 2019 8:39 am
Location: france

Re: Minimal ipl boot Viper GC

Post by ledu205 » Wed Jan 29, 2020 8:28 am

I test make vgc with dol compressed it's fail. I don't know how make vgc clean with compressed dol
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Wed Jan 29, 2020 2:36 pm

I know it would imply beeing able to write to a memcard before beeing able to use homebrew (sort of egg and hen riddle), but what about a minimal forwarder in the chip to run another bigger one off a memcard in slot A?

Older IPL versions are so much smaller than what you get!
I wonder why, if it is half the size and not compressed…
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)
GizmoTheGreen
Posts: 55
Joined: Fri Aug 17, 2018 12:40 pm

Re: Minimal ipl boot Viper GC

Post by GizmoTheGreen » Wed Jan 29, 2020 6:37 pm

is it really not possible to lessen the bloat? disable video output?

accessing SD and booting a boot.dol shouldn't take that much code afaik.
I mean the zelda exploit for wii was kilobytes (~100kb including the hacked save)
what is making it megabyte at minimum now? :S
User avatar
ledu205
Posts: 15
Joined: Wed Nov 27, 2019 8:39 am
Location: france

Re: Minimal ipl boot Viper GC

Post by ledu205 » Thu Jan 30, 2020 8:43 am

I don't create minimal ipl boot and I'm not a Dev , I don't know how to do it. We need help of a real Dev eventually
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Thu Jan 30, 2020 9:52 am

GizmoTheGreen>
Disabling the "verbose mode" probably won't save dozens of kilobytes.
Accessing an SD on a gamecube suggests you have to manage the physical interface (SD SPI mode), then the logical interface (one or more file systems) from scratch to locate and load a file.
Accessing the SD on a Wii means you have the physical and logical interfaces already available on the hardware and ROM.
Knowing that, ~100kB for the Wii exploit is quite huge, the compressed Boot.GCI for the GC is only 80kB.
The fact that it is C source compiled is the big problem, most compilers usually generate dumb masses of code, and that can vary from a setup and version to another.

Unless anyone can write straight machine code or handwork compiled C code to optimize it, they will be big.

Would it be a big concern if Slot A USB Gecko/SD Gecko would be let down? Does anyone still uses this way of booting? (I suppose no, since it would imply Swapping cards, but who knows? AR users, maybe?

Still, if letting down Slot A support would get the code one third smaller, it would imply the original source has big problems with not optimized routines, to begin with.
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)
Fgo181
Posts: 8
Joined: Fri Nov 29, 2019 11:27 pm

Re: Minimal ipl boot Viper GC

Post by Fgo181 » Thu Apr 16, 2020 7:37 pm

Does anybody still work on this minimal Boot for the ViperGC?
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Fri Apr 17, 2020 8:29 pm

Same as said in this post, and upper in this thread, we've been down to 10 blocks (roughly 80ko), but it has only been tested as a .gci booted off a savexploit so far.
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)
novenary
Posts: 1754
Joined: Mon Dec 30, 2013 7:50 am

Re: Minimal ipl boot Viper GC

Post by novenary » Mon Apr 20, 2020 8:26 am

Size is precisely why dkppc r26 is required, but it's not available anywhere anymore.
You could use a DOL compressor, but you'll most likely need to modify it for the viper entry point, and it still won't fit on qoob sx because less than 64KB are available (it actually required a custom build of dolxz to fit in the first place).
Also, removing support for other devices won't help you much, all the code is shared for SD card support no matter which slot you're using, and the USB gecko code is super tiny.
The way to go would be stripping libogc down to the bare minimum (things like lwp are included into every single binary even if you don't use them and that causes most of the bloat, gcc regressions aside, and it would probably help to get full LTO working).
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Sun Apr 26, 2020 10:20 am

Does anybody ever uses SDGecko in slotA these days?
Can't we just get older working code, and just replace the slotA adress wherever it is by the SP2 one?

All those wonders have been done on the GC while nobody knows machine coding? Seriously? :shock:
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
Extrems
Posts: 1312
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Minimal ipl boot Viper GC

Post by Extrems » Sun Apr 26, 2020 1:43 pm

Um, I do still use Memory Slot A to this day.

It's not that easy since Serial Port 2 need some special handling and some other changes had to be made.
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Minimal ipl boot Viper GC

Post by Papy.G » Sun Apr 26, 2020 11:19 pm

I Imagine there is no way the SP2 would replace the slot A for what you use it?

Looking at YAGCD I though it was just a matter of EXI adress, as long as external interrupt is not used.

Ok, so we have to find someone who still has a building setup for GC with dkppc r26?
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)
brunops3
Posts: 49
Joined: Mon Feb 06, 2012 5:24 pm

Re: Minimal ipl boot Viper GC

Post by brunops3 » Sun May 17, 2020 1:25 am

Hi guys.

I really hope someone post here the compressed dol/vgc files (< 128 kb) of the latest revision of iplboot (with SD2SP2 support) for using with the Viper GC (not Extreme).

Thank you.
Last edited by brunops3 on Mon May 18, 2020 6:21 pm, edited 2 times in total.
Post Reply