github

webhdx / PicoBoot

  • воскресенье, 3 июля 2022 г. в 00:31:41
https://github.com/webhdx/PicoBoot


Raspberry Pi Pico (RP2040) based IPL replacement modchip for GameCube



PicoBoot

PicoBoot

This is a long awaited IPL replacement modchip for Nintendo GameCube. It's open source, cheap and easy to install.

Features

  • it's open source
  • uses $4 Raspberry Pi Pico board
  • very easy installation, only 5 wires to solder
  • programmable via USB cable, without any drivers and programs
  • automatically boots any DOL app of your choice
  • uses "IPL injection" approach superior to mods like XenoGC

Video guides and overview of the features

🛠 Installation guide

Prerequisites

Links above are affiliate and I get small comission 💵 if you buy these products. Thanks to everyone who used links above 🙏

Flashing Raspberry Pi Pico board

Go to the latest release page and download picoboot.uf2 file. Now connect Raspberry Pi Pico board to your computer while holding BOOTSEL button pressed. If it's been done correctly you'll see RPI-RP2 mass storage device show up. Drag and drop picoboot.uf2 file to that device. It'll automatically eject and green LED will light up if it was programmed correctly. Unplug USB cable from Pico and proceed with hardware installation.

Preparing SD card

Format your SD card to FAT32 or exFAT. Download the latest Swiss release from here and grab swiss_rXXXX.dol file, rename it to ipl.dol and copy to the root of your SD card.

Hardware diagrams

FAQ

I don't understand how it's better than XenoGC

XenoGC is a drive modchip, it can only patch disc data on the fly. This means you have to use a boot disk to run Swiss and play games from an SD card. PicoBoot uses completely different approach - injects custom payload during console boot sequence. This means it can load any application instead of a built in GameCube menu. It will work even if your disc drive is not working.

I installed your modchip and now my console doesn't work

Sorry. I do not take reponsibility for any damage done by installing this modchip. Do it at your own risk!

Can I use other RP2040 boards?

Yes, go for it. Just respect the license agreements and don't expect me to provide any support for your board. PicoBoot only supports official Raspberry Pi Pico module at the moment.

Will it work if I have XenoGC installed?

Yes, you can use it with XenoGC intalled.

I appreciate your work. Can I support you in any way?

This project is free and available for everyone. If you want to support it anyway, consider using ❤️ Sponsor button.

Compiling firmware

Make sure your Raspberry Pi Pico environment is set up on your machine.

Build Makefile and all required build scripts:

# cmake .

Then grab any DOL file you'd like to boot and run processing script:

# ./process_ipl.py iplboot.dol ipl.h

Do not change ipl.h output file name.

Once it's ready and ipl.h file has been created you can build the firmware:

# make

If everything worked you should see new file picoboot.uf2 created in the main project directory. Now hold BOOTSEL button on Raspberry Pi Pico and connect USB cable. New mass storage device will appear. Copy picoboot.uf2 file to RPI-RP2 device. Once it's done it'll automatically eject itself. Disconnect the cable and you're all done.

Hall of Fame

I'd like to thank people who helped making PicoBoot possible:

Acknowledgements