Page 1 of 2

Minimal ipl boot Viper GC

Posted: Thu Dec 19, 2019 7:33 am
by ledu205
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)

Re: Minimal ipl boot Viper GC

Posted: Fri Dec 20, 2019 3:16 am
by PlatypusWithCheese
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.

Re: Minimal ipl boot Viper GC

Posted: Fri Dec 20, 2019 10:39 am
by ledu205
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 !!!

Re: Minimal ipl boot Viper GC

Posted: Fri Dec 27, 2019 2:01 pm
by Sprutte
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!

Re: Minimal ipl boot Viper GC

Posted: Mon Jan 13, 2020 10:12 am
by ledu205
file is too big for vipergc and i don't have vipergc extreme. I don't kown if working or not

Re: Minimal ipl boot Viper GC

Posted: Mon Jan 13, 2020 12:51 pm
by Papy.G
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.

Re: Minimal ipl boot Viper GC

Posted: Mon Jan 13, 2020 6:53 pm
by ledu205
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

Re: Minimal ipl boot Viper GC

Posted: Tue Jan 14, 2020 9:48 am
by webhdx
Did you manage to get it working on standard ViperGC not Extreme? I will give it a try once I find my LPT programmer.

Re: Minimal ipl boot Viper GC

Posted: Tue Jan 14, 2020 11:27 am
by ledu205
not possible on vipecGC standard iplboot.vgc 142ko memory on cheap 128ko

Re: Minimal ipl boot Viper GC

Posted: Tue Jan 14, 2020 3:07 pm
by Papy.G
Maybe ripping off slot A boot you'll get back to smaller size?

Re: Minimal ipl boot Viper GC

Posted: Thu Jan 16, 2020 1:06 pm
by webhdx
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.

Re: Minimal ipl boot Viper GC

Posted: Mon Jan 27, 2020 7:45 am
by emu_kidid
"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)

Re: Minimal ipl boot Viper GC

Posted: Mon Jan 27, 2020 9:36 am
by Papy.G
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.

Re: Minimal ipl boot Viper GC

Posted: Wed Jan 29, 2020 8:28 am
by ledu205
I test make vgc with dol compressed it's fail. I don't know how make vgc clean with compressed dol

Re: Minimal ipl boot Viper GC

Posted: Wed Jan 29, 2020 2:36 pm
by Papy.G
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…

Re: Minimal ipl boot Viper GC

Posted: Wed Jan 29, 2020 6:37 pm
by GizmoTheGreen
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

Re: Minimal ipl boot Viper GC

Posted: Thu Jan 30, 2020 8:43 am
by ledu205
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

Re: Minimal ipl boot Viper GC

Posted: Thu Jan 30, 2020 9:52 am
by Papy.G
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.

Re: Minimal ipl boot Viper GC

Posted: Thu Apr 16, 2020 7:37 pm
by Fgo181
Does anybody still work on this minimal Boot for the ViperGC?

Re: Minimal ipl boot Viper GC

Posted: Fri Apr 17, 2020 8:29 pm
by Papy.G
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.

Re: Minimal ipl boot Viper GC

Posted: Mon Apr 20, 2020 8:26 am
by novenary
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).

Re: Minimal ipl boot Viper GC

Posted: Sun Apr 26, 2020 10:20 am
by Papy.G
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:

Re: Minimal ipl boot Viper GC

Posted: Sun Apr 26, 2020 1:43 pm
by Extrems
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.

Re: Minimal ipl boot Viper GC

Posted: Sun Apr 26, 2020 11:19 pm
by Papy.G
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?

Re: Minimal ipl boot Viper GC

Posted: Sun May 17, 2020 1:25 am
by brunops3
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.