A minimal GameCube IPL
iplboot will attempt to load DOLs from the following locations in order:
- USB Gecko in Card Slot B
- SD Gecko in Card Slot B
- USB Gecko in Card Slot A
- SD Gecko in Card Slot A
- SD2SP2
You can use button shortcuts to keep alternate software on quick access. When loading from an SD card, iplboot will look for and load different filenames depending on what buttons are being held:
Button Held | File Loaded |
---|---|
None | /ipl.dol |
A | /a.dol |
B | /b.dol |
X | /x.dol |
Y | /y.dol |
Z | /z.dol |
Start | /start.dol |
CLI files are also supported.
If the selected shortcut file cannot be loaded, iplboot will fall back to /ipl.dol
. If that cannot be loaded either, the next device will be searched. If all fails, iplboot will reboot to the onboard IPL (original GameCube intro and menu).
Holding D-Pad Left or the reset button will skip iplboot functionality and reboot straight into the onboard IPL.
For example, this configuration would boot straight into Swiss by default, or GBI if you held B, or the original GameCube intro if you held D-Pad Left:
/ipl.dol
- Swiss/b.dol
- GBI
This configuration would boot into the original GameCube intro by default, or Swiss if you held Z, or GBI if you held B:
/z.dol
- Swiss/b.dol
- GBI
Pro-tip: You can prevent files from showing in Swiss by marking them as hidden files on the SD card.
If you hold multiple buttons, the highest in the table takes priority. Be careful not to touch any of the analog controls (sticks and triggers) when powering on as this is when they are calibrated.
iplboot also acts as a server for @emukidid's usb-load, should you want to use it for development purposes.
Something not working? See the troubleshooting section.
Download the designated appropriate file for your device from the latest release.
Prepare your SD card by copying DOLs onto the SD card and renaming them according the table above.
You can download ready-to-go firmware featuring iplboot directly from the PicoBoot repo. Just follow the installation guide. This is likely what you want.
Otherwise, use iplboot.dol
and follow the PicoBoot compiling firmware instructions to flash your Raspberry Pico.
Flash iplboot.gcb
to your Qoob Pro as a BIOS.
Qoob SX is not currently supported due to size constraints.
The last version available for the Qoob SX is r5.2. Download qoob_sx_iplboot_upgrade.elf
and flash it to your Qoob SX as a BIOS.
Flash iplboot.vgc
to your ViperGC as a BIOS.
Use iplboot_xz.gci
and a GameCube memory card manager such as GCMM to copy to your memory card. It will be saved as boot.dol
and can be used in conjunction with the various save game exploits.
iplboot displays useful diagnostic messages as it attempts to load the selected DOL. But it's so fast you may not have time to read or even see them. If you hold the down direction on the D-Pad, the messages will remain on screen until you let go.
When choosing a shortcut button, beware that some software checks for buttons held at boot to alter certain behaviors. If your software behaves differently when booted through iplboot, ensure the assigned shortcut button is not used in this way. For example, it is not recommended to assign Swiss to the B button as holding B causes Swiss to disable the DVD drive.
You should only need to compile if you want to modify to the iplboot source code. Otherwise, you can just download prebuilt binaries from the latest release.
- Ensure you have the latest version of devkitPro installed.
- Ensure you have the latest version of libogc2 installed.
- Ensure your devkitPro environment variables are set:
DEVKITPRO
andDEVKITPPC
- Python3 is required.
- Run
make dol
. - Follow installation instructions above using the newly created
build/iplboot.dol
.
Qoob Pro requires BS1 (early hardware initialization code) from the original IPL. This can be obtained from an existing Qoob Pro BIOS or any IPL dump.
To use an existing Qoob Pro BIOS (easiest method):
- Download
iplboot.gcb
from the latest release. - Rename
iplboot.gcb
toipl.rom
and place it at the root of this project.
Alternatively, you can dump the IPL ROM from your own GameCube using Swiss:
- Ensure file management is enabled in Swiss settings: Press B, select the gear icon at bottom right, press R until you reach "Advanced Settings", scroll down to "File Management", press right to enable, save and exit.
- Switch to the system device: Select the eject icon at bottom left, scroll right to "System", press A.
- Scroll down to
ipl.bin
, press Z then X, and copy to your SD card. - Copy
ipl.bin
from your SD card to the root of this project. Rename it toipl.rom
.
You should now have ipl.rom
at the project root.
- Run
make qoobpro
. - Follow installation instructions above using the newly created
build/iplboot.gcb
.
NOTE: Qoob SX is currently nonfunctional as the resulting BIOS is too large.
- Download Qoob BIOS v1.3c
Qoob (1.3c).rar
from this archive post and extractqoob_sx_13c_upgrade.elf
(MD5:2292630e7604bc2ae8bfa4d3e4ba5941
) to the root of this project. - Run
make qoobsx
. - Follow installation instructions above using the newly created
build/qoob_sx_iplboot_upgrade.elf
- Run
make viper
. - Follow installation instructions above using the newly created
build/iplboot.vgc
.
- Run
make gci
. - Follow installation instructions above using the newly created
build/iplboot.gci
.
Optional: If you want to reduce the file size by ~50% so it will take up less space on your memory card, you can create a compressed version.
- Run
make gci_compressed
. - Follow installation instructions above using the newly created
build/iplboot_xz.gci
(Notice the_xz
suffix).
Should you need it, you can create a compressed version of the base DOL.
- Run
make dol_compressed
. - Follow installation instructions above using the newly created
build/iplboot_xz.dol
(Notice the_xz
suffix).