Mainly Neat Stuff --> Vintage Macintosh --> Hacking the Pippin

Hacking the Pippin

Introduction

The Pippin was Apple's first and only attempt at building a games console or home computer. The design was heavily based on the PowerPC Macintosh that had been launched in 1994 and used a cut down version of the Mac OS. In theory, the Pippin would not need a dedicated hard disk, floppy disk or video card making it a cheaper games console/internet appliance than a Pentium PC system. Developers would find it straightforward to port Macintosh applications to the Pippin and would be encouraged to produce hybrid CD-ROM titles that ran on both platforms. All Pippin software would be delivered on CD-ROM which also included the required Pippin operating system files.

Pippins were never marketed under the Apple name who produced the design and sold licences to other companies. Bandai appear to have been the only company to sell a product, marketing systems as Atmarks in Japan and as Atworlds in the USA; very few Pippins were sold outside these markets. Atworlds have a black case and most Atmarks have a white or platinum case; black Atmarks are considered rare. All three versions are essentially the same but were packaged with different modems and keyboards in different markets. Bandai's Pippin had a relatively brief life span (March 1996 to March 1998) and few official enhancements were produced.

Katz Media purchased the European Pippin licence, producing prototype systems in Ireland and announcing partnerships with European cable TV companies; it is unclear whether Pippins were sold commercially in Europe. A number of prototypes and components from the Katz Media project were sold on eBay UK during autumn 2004.

Summary Specification:

This is a black Atmark model. Note the absence of labels (present on the white Atmark) on the lower left side of the case.

Rear view with case plastics removed. The metal lip indicated by the arrow needs to be folded down to pass a SCSI ribbon cable.

Introductory Links

Byte's description of the Pippin from March 1996 and a Byte US review from February 1997.

The Pippin online museum hosted by Bryan Villados has lots of technical information.

Descriptive information and photos can be found at http://www.sdk-team.com/collection_bandai_pp.htm.

Vintage news from 1997 can be found at this archive of O'Grady's Pippin Powerpage but most links are now dead.

Even Microsoft's reviewer liked the Pippin.

A press release describing one of the Katz Media partnerships in Europe.

Technical Limitations

The Pippin was specifically designed so that it would only run authenticated ("Pippinized") software. Production CD-ROMs contain a unique authentication file that is checked by the Pippin when it first tries to boot from the disk; if the authentication file is invalid, the title will not run and the CD-ROM is ejected. Only authorized developers could produce authentication files and, of course, Apple no longer support Pippin developers.

Bryan Villados has some PDFs taken from the early Pippin SDK at the Pippin online museum which describe a mechanism for generating authentication files using separate keys held by the developer and by Apple. However a later article at Byte, Porting Mac Applications, describes a different scheme that uses a dongle to create the authentication file. Correction (Oct 2004): I'm fortunate to own one of these dongles (see below) but need the accompanying software that will allow me to write Pippinized CD-ROMs. The accuracy of the Byte article is questionable; Pippin developers were supplied with dongles but there is no reliable information linking them to the CD-ROM authentication process.

Standard Pippins do not have an external SCSI connector. Adding one is fairly straightforward but systems with standard ROMs will not boot from external SCSI devices. The optional floppy drive module is also non-bootable. The photo below shows the hardware dongle supplied to developers that allows a Pippin with standard ROMs to boot from external SCSI devices and the floppy drive.

RAM is limited and the expansion socket is non-standard. Adding an 8MB upgrade is almost essential for running Mac OS on a Pippin. Some Japanese hackers have made 16MB upgrades. (Oct 2007: a small number of 16MB upgrades were sold commercially in Japan.)

The child proof ADB connectors require an adaptor if you wish to use a standard ADB keyboard or mouse.

The flash ROM provides little room for saving preferences and settings for Pippin titles.

The expansion interface is entirely proprietary. The single interface is designed to provide all of the signals required for a standard PCI card, SCSI and FDD. Some Japanese sites call the interface "XPCI".

Communications on a standard system are limited to the serial ports which both support LocalTalk networking.

Display resolution is limited to 640 x 480 (8 bit and 16 bit colour).

Publicly Available Enhancements:

Pippin ROMs

The ROMs in developer and pre-release systems allow you to boot from non-Pippinized CD-ROMs and boot from external SCSI devices. Without a suitable ROM, the Pippin is only able to run authenticated titles. Japanese hackers report that the ROMs in production Pippins will only boot from the internal CD-ROM. The ROM itself is mounted on a 120 pin board that plugs into the Pippin motherboard so it can be easily swapped between developer and production Pippins. The various ROM versions are described in detail with photos at http://homepage.mac.com/wtnb/pippin/index.htm (the Excite Japan translation tool is more effective than Babelfish). A summary is provided below.

Early Developer ROM

KINKA Pre-Release ROM

KINKA Ver 1.0 ROM

Ver 1.2 ROM

Ver 1.3 ROM

Standard System Software for the Pippin

Developers were provided with an SDK containing the system software that they could ship on customer Pippin CD-ROMs. The software was based on System 7.5.2 and included a special Pippin System Enabler. The System Enabler must be located in the System Folder in order for the Pippin to boot. I've seen Japanese and English language versions of the enabler but all are version 1.1. Later CD-ROMs included a ROM 1.2 Update extension.

The file called Finder on a Pippin CD-ROM is not the standard Mac Finder because Pippin titles do not use the Mac desktop. Developers were expected to provide their own interfaces for launching applications; Apple made this easy using an interface tool called PippinLaunch. Developers were not permitted to use the Mac Finder on production CD-ROMs but an inactive copy of Finder 7.5.3 can often be found on many released disks.

Dial-up internet connections were supported for standard Pippins using a custom PPP extension and a modified MacTCP 2.0.6 control panel. Pippin users were not required to configure dial-up networking and the browser CD-ROMs were set up to connect to a particular ISP automatically. Note that System 7.5.2 was also used with first generation PCI PowerPC Macs (7200, 9500 etc) which do not support MacTCP and require Open Transport. Pippin System 7.5.2 may differ in other ways from PCI Mac 7.5.2.

Custom extensions were also provided for the Pippin hand controller and for an on-screen keyboard. If you've not done so already, it is worth looking at the external links for more information about the special Pippin ADB keyboard/tablet combination. A Pippin version of QuickTime 2.1 shipped on many CD-ROMs and I've seen a late developer CD that includes RealAudio support. Developers were allowed to include other Mac OS extensions if needed for application functionality. A few updates were released for the hand controller and keyboard extensions. However the base operating system was never developed beyond System 7.5.2.

At the root of every Pippin CD-ROM is a unique, hidden PippinAuthenticationFile. If a valid file is not present, the CD-ROM is ejected before the Pippin tries to boot.

Addition October 2006: Thanks to Bob S, I now have a copy of the Pippin SDK CD-ROM. Unfortunately, it doesn't appear to contain any information that is not obtainable elsewhere.

Japanese Hackers

Whilst not as popular as the Colour Classic, the Pippin has attracted a similar enthusiastic following.

http://www.catkicking.com/pippin/ -- includes the XPCI connector pinouts, RAM pinouts.

http://homepage.mac.com/wtnb/pippin/index.htm -- includes information on ROMs, Mac OS booting, SCSI, networking. Press the buttons on the Pippin hand controller for more links on this site.

http://www.makie.com/ja/products/pippin/pippin.html -- Pease Turbo is a shell for the Pippin that allows it to act more like a PowerMac than a games console. Apple would not allow developers to ship CD-ROMs that include the Mac Finder but Japanese hackers use Pease Turbo to start the Pippin and then launch the Mac Finder as an application (the Finder's TYPE must be changed to APPL using ResEdit).

http://flush-onin.hp.infoseek.co.jp/ -- more information on ROMs, Mac OS booting, SCSI, PCI ethernet.

http://www.geocities.com/Tokyo/Ginza/4904/00-index.html -- includes the Microguard authentication dongle and how to modify the Pippin hand controller for use on a Mac.

http://ato-net.jp/column/pippicon/pippicon.html -- another Pippin ADB hand controller modification for the Mac.

http://www.geocities.com/Tokyo/Ginza/4904/00-ColorClappic.html -- the inevitable ColorClappic!

Please mail me (address at bottom of page) if you know of other resources to which I should add a link.

Booting Mac OS on a Pippin

I am fortunate to have a KINKA Pre-Release ROM in my black Atmark to which I added an external SCSI connector and 8MB RAM upgrade. Initially I had no problems creating bootable Mac OS CD-Rs that allowed me to boot into the Mac Finder but all attempts to transfer a working system onto an external SCSI hard disk failed. I tried different hard disks, different SCSI settings, with/without terminators, Ctrl-Alt-Shift-Backspace-# keyboard combinations etc but the Pippin would only boot from the internal CD-ROM. The Pippin would boot from Mac OS on a CD-R and it would mount the hard disk drive on the desktop, but it would never boot from the hard disk.

I then transferred a working system onto an external Zip 100 drive -- and it booted first time. I then added my SCSI hard disk back into the chain and, using the standard Startup Disk control panel, I could choose which drive or hard disk partition to boot from. There is no need to have a cartridge in the Zip drive when the Pippin starts up; all that is required is that there is a Zip 100 drive in the SCSI chain.

Addition October 2006: In retrospect, my problems booting my Pippin from an external SCSI disk may be caused by "typical SCSI voodoo". Perhaps I needed better SCSI termination or termination power.

It is a mystery why the Pippin will boot from a hard disk when the Zip 100 drive is in the chain (I have been unable to find any related information on the Japanese hacker sites) but it works reliably for me. This trick only worked with a Zip 100 drive and a cartridge formatted with the Iomega Zip 4.2 driver; the same cartridge would not boot Pippin when used in my Zip 250 drive. With the Zip 100 drive present it is also possible to specify the SCSI ID to boot from using the Ctrl-Alt-Shift-Backspace-# keyboard combination.

The same procedure works for me with a revision 1.3 ROM in the black Atmark.

Running Mac OS

Pippin will not run systems older than Pippin System 7.5.2.

Mac System 7.5.5

For maximum utility I tried building a Universal Installation of System 7.5.5 to which the Pippin System Enabler is added. The default installation causes the Pippin to hang as the Finder tries to start up so judicious use of the Extensions Manager is required. It is worth noting that Extension Manager will only run on a writeable device (ie not a CD-ROM or CD-R). Once running Mac OS, the Pippin largely behaves like a normal Mac and runs many popular Mac applications and utilities.

There is no application menu on the right hand side of the screen. It is very easy for an application to lose focus and become lost. A third party application switcher (eg Lite Switch) helps.

Apple CD-ROM and Iomega Zip extensions are not required in the System folder. CD-ROM drivers are provided by the Pippin ROM and the Iomega driver is loaded from the Zip cartridge.

A Flash! drive is always shown on the desktop but only 113KB is available for storage.

LocalTalk is the standard networking interface for the Pippin and it is fast enough for most things. If a faster network was required, I'd add an external SCSI ethernet interface. With System 7.5.5 it is possible to access other AppleShare servers and enable file sharing on the Pippin. The standard MacTCP 2.0.6 control panel can be configured to obtain an IP address from a MacIP server and simple internet applications (eg Better Telnet) run correctly. A basic installation of System 7.5.5 with AppleShare support (file sharing turned off) uses about 2600KB of RAM. Open Transport 1.1.1 installs and runs correctly but uses more memory than MacTCP and classic AppleTalk networking. My PRAM battery is flat so settings for classic networking are lost every time that Pippin is shutdown; for Open Transport, settings are stored in the system preferences which makes OT more convenient to use until I buy a new battery.

Web browsers are the most difficult class of application to run on a Pippin. My first attempts to install Netscape 1.1 (surely the most basic browser to run on System 7.x ?), Internet Exploder 4.0 and IE 4.5 all failed initially, although IE 4.0 ran satisfactorily after a bit of wrestling.

Some parts of the Macintosh system do not work at all. Most utilities report that the Thread Manager is available which is to be expected. The Thread Manager was moved from a separate extension to the main system file with System 7.5, However applications that attempt to use it generate an error when launching. Adding the old Thread Manager extension to the System Folder does not correct the problem.

(Oct 2007: It would be worth investigating the addition of resources from the Pippin Thread Manager into System 7.5.5.)

Enhanced Pippin System 7.5.2

The Thread Manager works fine with the Pippin version of System 7.5.2. I guess that the loader for Pippin hardware was not included in later versions of the Mac system software. A robust and functional Mac system based on the Pippin system files is easily achieved:

  1. Copy the System Folder from a standard English language Pippin CD-ROM.
  2. Remove the Pippin specific MacTCP and PPP control panels.
  3. Remove the Pippin Finder file. Replace it with Mac Finder 7.5.3 from a Pippin CD-ROM or Finder 7.5.6 from a System 7.6 installation.
  4. Add extensions, libraries and control panels as required from a Universal Installation of System 7.5.5. Do not include the ethernet files, Open Transport files or Apple Guide files from System 7.5.5. Retain the Pippin versions of QuickTime and Shared Library Manager files. Use the individual Monitors and Sound control panels, not the combined one that shipped with 7.5.5.
  5. Boot and test. Tweak using Extensions Manager. Apple Guide is the extension most likely to prevent the Pippin from booting.
  6. If required, install Open Transport 1.1.1 and update to OT 1.1.2. MacTCP 2.0.6 also works.
  7. Add Apple's Appearance Manager kit for System 7.x if the Mac OS 8.0 desktop theme is desired.

The Pippin is surprisingly responsive when running System 7.5.2 and this is now my preferred Pippin configuration. Applications such as MacHTTP 2.6 that require Thread Manager work correctly. With a suitable ROM, the Pippin can function as an AppleShare server. Virtual memory and RAM disks do not work on Pippin 7.5.2 or any other Pippin system.

Pippin running System 7.5.2 from a Zip cartridge. This is the environment that a developer rather than a user might experience.

The Pippin system has to be very careful about how much memory is used. The Mac Finder accounts for much of the 1900KB of RAM usage in the example above. Most System 7.5.x extensions and Open Transport are not installed as standard.

Mac System 7.6

System 7.6 and 7.6.1 can be installed on the Pippin in a similar way to Universal System 7.5.5. I experienced display corruption (squares on the screen were not updated correctly) and RAM consumption was greater than for System 7.5.5. Thread Manager does not work correctly.

Mac OS 8.0

Installing Mac OS 8.0 requires more effort than previous Mac systems and the results are not satisfactory.

  1. The OS 8.0 installer will refuse to work on a Pippin. Use a supported Mac to create a Universal Mac OS 8.0 installation.
  2. Add the Pippin System Enabler.
  3. Download the os8-030patch.rsrc patch files from http://home.earthlink.net/~gamba2/download/os8-030patch.sit.hqx.
  4. With ResEdit, open the rsrc patch file and the OS 8.0 System file.
    Replace System file 'boot' resource 'ID 2' with the same resource from the patch file.
    Replace System file 'gbly' resource 'ID -16385' with the same resource from the patch file.
  5. The other System file resource hacks described on Gamba's page are not required for the Pippin.
  6. From the Extensions folder, strip out files relating to Apple Guide and ethernet drivers.
  7. Rebooting at this point will be semi successful. Extensions and Control Panels will load correctly but the OS 8.0 Finder generates an error that DragLib is missing. Unfortunately this is a manifestation of the Thread Manager problem and can only be corrected by removing the Mac OS 8.0 Finder.
  8. Replace the Finder with Finder 7.5.6 from a System 7.6 installation. Remove the Appearance Manager.

The Pippin will now boot to a System 7.x style desktop. Functionally, the configuration is no better than the enhanced System 7.5.2 installation.

This is the Pippin OS 8.0 desktop running Finder 7.5.6 and the OS 8.0 Appearance Manager extension. Note the overly generous offers of Help in the Finder menus. This problem is corrected by removing the OS 8.0 Appearance Manager extension.

Display artifacts can be seen in the screen dump as the mouse is dragged from the top left to lower right hand corners of the screen.

Pippin PCI Expansion

The Pippin has a single expansion interface providing signals for SCSI, floppy drive and PCI peripherals on its underside. The interface is most commonly used with the floppy drive dock that latches onto the bottom of the Pippin; together they form a single unit. Other expansion devices such as the Olympus MO drive module latch onto the Pippin in the same way. Unfortunately the expansion devices do not have pass through adapters so the Pippin slot can only be used for one expansion device at a time. ROM 1.3 is required for the PCI adapter according to all reports.

The PCI expansion adapter is described on several Japanese sites. These appear to be bare adapters and do not include a case module to latch onto the bottom of the Pippin. The example that I own (photos below) is a Katz Media version for the European market. A second Katz Media version with greater spacing between the PCI slot and Pippin slot (underside in photos below) was sold on eBay UK during autumn 2004.

I tested my expansion card with a Matrox Millennium II video card. The drivers for this card only worked for me with Mac System 7.6 but otherwise the test was successful. The Pippin was happy to support two displays, one on the built-in VGA port and one on the Matrox card. The display corruption problem with System 7.6 was observed on both displays. If I wished to use the Matrox card on the Pippin seriously, I'd pay more attention to getting the drivers to work with System 7.5.2.

Ultimately, I intend using the PCI expansion card for an ethernet card but I managed to cook my only card with System 7.5.x drivers...

Misc Hardware Info

TattleTech reports the processor as a PPC 603, 66MHz with 8KB L1 cache.

The graphics interface is reported as "taos" and uses the .Display_Video_Apple_Control driver.

The disk cache in the memory control panel is set to 384KB for booting from CD-ROM.

Macintosh sound output works at 11KHz.

Apple drivers for different ethernet cards are loaded by default from System 7.5.5 extensions folder. One of these makes sense to Pippin which reports that an interface is present. However I was unable to identify any ethernet support chips on the Pippin motherboard.

A full TattleTech report for the Pippin is available for inspection.


This page last updated: 22 October 2007

Copyright information: If you wish to use any images on these pages, please contact the author, Phil Beesley on beesley@mandrake.demon.co.uk.