Exploring the Pippin ROM(s), part 9: Kickstart

I’ve been busy. The Pippinizer is going to take me longer than I expected to put together into a releasable form, so I wrote a small utility that should tide folks over until that’s ready.

Introducing Pippin Kickstart. This is a small, carefully-crafted boot disc for the Pippin that circumvents the console’s built-in security and instead offers the choice to boot from an unsigned volume. It works on 1.0, 1.2, and 1.3 Pippins (so, every known retail Pippin ROM out there as of the time of this writing) without any modification.

Pippin Kickstart booting
It’s basically like Swap Magic, but for Pippin.

To use it, simply download the Pippin Kickstart disc image available here, burn it to CD, and use that disc to boot the Pippin. Pippin Kickstart will identify what ROM and RAM it detects, eject itself, and then immediately begin searching for a bootable volume candidate. The Pippin will boot from CD-ROM using only its internal drive, but other types of removable media may work as well assuming that they can boot a regular Mac without special drivers. It also has been tested working using an external hard drive.

“But Keith, I thought 1.3 Pippins don’t do the authentication check at startup. Why would I use Pippin Kickstart with a 1.3 Pippin?” While it is true that ROM 1.3 does away with the signing check, it is still hardcoded to boot only using the Pippin’s internal CD-ROM drive. Pippin Kickstart offers owners of 1.3 Pippins the ability to boot from other media sources such as a hard drive, providing itself as a sort of “launch pad.”

The Pippin Kickstart disc is a hybrid HFS/ISO image containing the source code, a short README, and– just for fun– a few extra “goodies” that I found useful during its development:

  • MacRelix ROM Copier by Josh Juran, used to dump the ROM of my own 1.2 Pippin
  • tbxi by Elliot Nunn, a project which evolved from an early tool Elliot wrote that I used to extract the ‘rvpr’ resource kicking off this whole mess
  • FDisasm and FindCode by Paul Pratt, indispensable tools used to locate and examine code within the Pippin’s ROM

All of these extras are licensed according to their respective authors.

I’ve licensed the Pippin Kickstart bootloader under the GPLv2. Source code is available on my Bitbucket: https://bitbucket.org/blitter/pippin-kickstart

Have fun.

UPDATE (20190702): Pippin Kickstart hasn’t even been out for 48 hours and I’ve already got an update prepared. Version 1.0.1 is available here (I’ve updated the rest of this post as well) and improves the accuracy of the RAM detection by calling Gestalt instead of reading MemTop directly.

2 thoughts on “Exploring the Pippin ROM(s), part 9: Kickstart

  1. Hello,
    I am admiring of this work that you realize for the pippin! I wanted to know what was the limitation on HDD. Is it possible to put eg several games on the hard disk (launching by a menu)? Or is it just possible to load a single ISO?
    Thanking you again!

    1. When formatted HFS, the HDD is booted the same as an HFS partition on the Pippin’s internal CD-ROM. The only limitation I know of is that because Pippin OS is based on System 7.5.2, the maximum size of a single HFS volume/partition is 2GB. You can install as many games as the drive can accommodate, but the Pippin cannot “switch launch” to another OS installation without rebooting.

      Installing games on a modded Xbox works in a similar fashion. The Pippin cannot boot from a disc image file on the hard drive, but the application contained on a mounted disc image should run assuming it is compatible with the OS installed on the hard drive. I recommend installing applications directly to the hard drive though, as mounting disc images can incur a memory cost on an already strained configuration.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.