My Adventures with the Bandai/Apple Pippin in 2020

So through various bad decision making I acquired a Bandai Pippin @world console. The Pippin was Apple’s foray into the game console market in the mid 90s. It completely failed, they sold like 40,000 consoles between the Japanese Atmark and the United States @world versions. The cool thing about the Pippin and what initially intrigued me is that it is basically a nerfed Power Mac, so what follows is my descent into madness as I squeeze as much functionality out of my poor Pippin as I possibly can.

Bandai Pippin @world

For the record this was all an academic exercise because a stock Pippin only has 5 MB of RAM available, which is not enough to do much of anything on a Power Mac running System 7.5.2. Memory upgrades do exist, but they are rarer than unicorns and worth more than Scrooge McDuck. FYI, some of this adventure applies to many other classic Macintosh computers as well.

Where to Begin

Any time I acquire a piece of old hardware I make a loose checklist of things I want to make it do. This checklist changes based on the capabilities of the system in question, but seeing as the Pippin is a relatively newer “computer” the list grew large very quickly. I came up with the following in a roughly priority order:

  1. Add keyboard and mouse
  2. Add hard drive
  3. Install and boot MacOS off of hard drive
  4. Find a way to transfer software to the Pippin
  5. Access the Internet
  6. Print to my networked LaserJet

Setting up Netatalk to share my file shares and printers over AppleTalk is beyond the scope of this write up. Maybe someday I will write about getting that all working, but not today. With my list in hand I started my journey.

1. Add Keyboard and Mouse

While the Pippin is a Power Mac and has many of the typical Macintosh ports, it does not have an ADB port. Instead the Pippin has 2 custom P-ADB ports in the front for its AppleJack controllers. While the controllers themselves have a trackball in them that acts as a mouse, its tracking isn’t the greatest and I still didn’t have a keyboard solution.

The AppleJack Controller

A Pippin specific keyboard does exist, but again its as rare as a unicorn and when they do appear on eBay they cost hundreds of dollars. I have bought some stupid shit on eBay, but buying a Pippin keyboard for hundreds of dollars seemed unjustified. After some research I found that P-ADB is just a custom connector that speaks traditional ADB. This means an adapter should be possible but P-ADB isn’t a standard port you can easily source, its custom. Official adapters do exist, but rare like unicorns blah blah blah. In my search for an adapter I ran across this site. The author discovered that the EXT port of a Sega Game Gear is the same port as the Pippin P-ADB. Okay we are in business, I literally solder 10 cables a week.

I only really cared about using a Macintosh keyboard and mouse on the Pippin so I ordered a Game Gear Link Cable off of eBay and since ADB is the same plug/cable as s-video I bought one of these to obtain a female s-video port. Everything showed up and abracadabra I had myself a ADB-to-P-ADB adapter. If making you own cable isn’t up your alley I do now sell them in my Etsy store here. First item off my list was complete.

Finished ADB to P-ADB Adapter

2. Add Hard Drive

Problem one, while a stock Pippin has a SCSI-based CD-ROM, it has no hard drive to replace. Second problem, it also doesn’t have an external SCSI port. Problem three, the Pippin by default can’t boot off of anything but the CD-ROM.

Ignoring problem three for now, I planned on hooking up an SD2SCSI 5.1 as my hard drive. I have used the same board in several other classic Mac projects. On this site I learned that by bending a bit of the internal case you can feed out a SCSI and power cable out of the case. This all fits without harming the plastic shell.

Three Hands Required

Taking apart the Pippin is a pain, since you need a security bit. I own this set for this exact situation. This SCSI cable and this power splitter cable were also purchased from Amazon. I first hijacked the CD-ROMs power with the power splitter and fed the berg-style connector out of the case. Then I hooked the new SCSI cable up to the motherboard then the CD-ROM and then out the case. Putting the Pippin back together is harder than taking it apart. This is due to the way the outer shell buttons hook up to the motherboard. You will likely need a second person to help.

Initializing the “Drives”

I configured my SCSI2SD to have 2 2GB drives on some random 8 GB SD card I had laying around. After that I wired it up to the cables hanging out of the Pippin case. To verify the SCSI2SD was working I booted up a proof-of-concept disc of MacOS 7.5.2 called Macintosh on Pippin (Tuscon). The disc can be found here. Once the Tuscon disc booted I found “Apple HD SC Setup 7.5.3” in the Tools folder and initialized SCSI Device 0 and 1 like I would on any other Mac. Add hard drive, check.

3. Install and Boot MacOS Off of Hard Drive

One nice things about MacOS is that you can usually just copy a bootable System folder from one drive to another. Just to be safe I copied the entire contents of the Tuscon disk onto my first drive. While the System Folder would have been enough, there are utilities that will come in handy later.

Now we have to address not having a 1.3 ROM. Luckily this problem has been solved with Pippin Kickstart which can be downloaded from here. Pippin Kickstart is a disc that will boot the Pippin then eject itself and start searching the SCSI chain for any bootable device. In this case that is our first drive. Reboot with Pippin Kickstart in the CD drive and there we go, MacOS booted off of my hard drive.

Before I got too ahead of myself, I also copied the parts of the System Folder, not already in your hard drive’s System Folder, from this disc. At minimum this gives us a Chooser and AppleShare extension. I also replaced the StartupScreen file because the Tuscon one is ugly (no offense Tuscon). The Startup Screen file could also be removed to get a more traditional Mac startup screen. I now had a bootable system, but things soon got more complicated.

4. Find a Way to Transfer Software to the Pippin

My typical approach to loading additional software on a classic Mac would either be from my Netatalk file server or from my SCSI Zip Drive. Obviously I could just use the CD-ROM, but not knowing everything I wanted to install makes for a lot of wasted CD-Rs, so I was looking for a different approach. The Pippin has no built-in Ethernet making network access difficult and the Zip Drive poses two issues. The first being that my SCSI2SD or my SCSI cable didn’t have an external DB-25 connector and the second being there is no floppy drive to install the Zip Drive drivers. I would later learn that the Zip Drive drivers are present on the Mac OS 7.6.1 Install CD, found here, but I would learn this much later.

Not Paying 1000 dollars for a Floppy Drive

Pippin floppy drives exist, but are like 1000 dollars on eBay. Again not worth the money. I was searching for a solution when I came to this blog, in which the author cloned a floppy drive adapter board for the Pippin that allows the use of a standard Macintosh floppy drive. You could even order PCBs of his clone from OSH Park in sets of 3. I ordered a set of 3 as well as this bag of 2×10 box headers pin sockets to solder onto the PCBs. Since I only needed 1 the other two are for sale on my Etsy store here. Once everything arrived I was able to hook up my Big Mess o’ Wires’ Floppy Emu to the Pippin. This got me the Zip Drive drivers I needed, but I was still lacking a DB-25 SCSI port.

Finished Pippin Floppy Drive Adapter

External SCSI via Soldering Iron

The good news is that the SCSI2SD actually has a spot to solder on a DB-25 plug. I think you can also buy them with the plug pre-installed, but I have never bothered as this was the first time I needed it. So once again I bought a bag of parts, this time a bag of DB-25 Female Right Angle PCB mount connectors. Once they showed up and I soldered one on and the Zip Drive worked perfectly (right after I remembered to actually install the drivers). I would also learn later that accessing my Netatalk file server via LocalTalk networking may have been an easier route than going the Zip Drive route, but I would not learn this until I tried to get the Pippin on the Internet.

Sprucing Up the Install

Now that I could easily install whatever software I wanted I spent some time sprucing up my MacOS install. The OS version that the Pippin runs is pretty stripped down, so I installed some quality of life improvements.

  • Apple Menu Options This gives ability to access folders from the Apple Menu, like Control Panels.
  • Date & Time The Pippin’s Mac OS install doesn’t come with a way to set the Date and/or Time, so here is the Date Time control panel from a 7.5.5 install.
  • DragAnyWindow This makes it easier to move windows around, which comes in handy at 640×480. I made sure to shut off solid window movement because its a ton slower than moving around the outline of the window.
  • Flash-It The Pippin’s Mac OS doesn’t support the typical Command-Shift-3 to take a screen shot and I needed screenshots for this write up.
  • Joliet Volume Access Allows Windows data discs to be mounted on the Mac.
  • LiteSwitch There is no finder menu in the Pippin’s version of Mac OS, so this makes it easier to switch between running programs.
  • LPR I used this in my first attempt at printing from the Pippin.
  • MacsBug Improves the “Your Mac Has Crashed” dialog box.
  • PSPrinter 8.2.1 In conjunction with LPR this is how I initially got the Pippin to print. I learned later that LPR is unnecessary and all I needed was this print driver.
  • Super Clock! 4.0.4 Gives a clock to the Pippin’s menubar.
  • WindowShade 1.2 Even though the Pippin is running 7.5, it doesn’t have a WindowShade control panel.

With my install a lot more usable and using about 2 MB of memory I was ready to tackle the next task.

5. Access the Internet

I ended up trying a few different approaches to getting access to the Internet. All of them had their own pros and cons, so I will go over them in the order I got them working. One quirk I discovered about my Pippin is that AppleTalk would not consistently stay active. The only way to turn it on was to zap the PRAM (command-option-P-R at boot). This would turn on AppleTalk for a reboot or 2 then it would switch back to inactive. I have no idea if this is a universal problem or something specific about my Pippin, so FYI just in case.

TCP/IP over a Null Modem Cable

My first attempt was to follow guide found here which goes over how to get Internet via a null modem cable running between the Pippin and a Linux machine. The instructions mostly work as described, but there were two issues. The first was I never did get the 10.0.2.3 name server working correctly, so I just used Google’s public DNS IP of 8.8.8.8 and 8.8.4.4. The second issue, which really isn’t a problem, is the Pippin does not have the memory to run OpenTransport so you need to configure the IP and DNS in the MacTCP control panel. I have included my MacTCP configuration below. Another thing worth mentioning is these instructions only work with MacPPP, not FreePPP. I wasted the better part of a day trying to get FreePPP working, but was never able to get it working.

With only 5 MB of RAM there wasn’t a browser I could stably run to test the Internet. I did find a tool called MacTCPWatcher, on the Macintosh on Pippin CD, that allows you to ping and do DNS lookups. This was predominately how I tested Internet access, by pinging and doing a DNS lookups on 8.8.8.8. Other options are to use BetterTelnet2 to connect to some BBSs or Fetch to connect to FTP servers.

The pros of this approach, for me, is that I had most of the required equipment readily available. I only had to make the null modem cable, which I had all the parts to make. However, unless you have all the parts available I would not recommend this approach. Getting the Linux box working correctly was a pain and the connection script is really fragile. It can also be pretty slow depending on the speed you can stably maintain between the Linux PC and the Pippin. I was only able to maintain 56k bps. I also kept thinking about trying to get access to my Netatalk file server, which this approach does not allow. If you want to go down this route you can buy a Mac-to-PC null modem cable from me, here, and this is the serial-to-USB converter that I used.

DreamPi

My second attempt was using a Macintosh modem to connect to my DreamPi. The DreamPi is basically a PPP server emulator. It’s primarily designed for the Dreamcast, but it works with almost any modem. I already had a Pippin @world modem, but any Macintosh serial modem should work. One important thing to check before using the DreamPi is that nothing on your network is using the IP 192.168.1.98. My oven, of all things, was using 192.168.1.98 and it caused no end of problems trying to get the DreamPi working. Just to be safe I would also reserve 192.168.1.99. I also had to hard code Google’s public DNS for this approach. My FreePPP and MacTCP configuration are below (the password is dreamcast, the port speed is the speed of your modem and ignore the Gateway Address in MacTCP). MacPPP will also work in place of FreePPP.

The pros of this approach is that it is less flakey than the null modem cable approach, but the cons is it does require more hardware that you are less likely to have laying around. Also depending on your modem, it will likely be the slowest of all options. It also doesn’t give me access to my Netatalk file server. I think for most people, despite the cons, this is the best option for Pippin Internet access.

The Ultimate Solution, MacIPgw

This solution is not for the weak of heart. It requires you to have another Macintosh around that supports both LocalTalk and Ethernet and a PC to run Virtual Box. I happen to have a Power Mac 6100 laying around that fit the bill and I already have a VirtualBox installed on a PC in my house. I concede that I am not the average user and this is not the best solution for the average user. However maybe I am the average Pippin owner, who knows. This solution solved all of my problems.

The DreamPi solution was good, but I was still irritated I couldn’t get to my Netatalk file server. So, I started poking around for a solution. I wasn’t even trying to find a solution that solved both Internet access and file server access, as I was happy with the DreamPi for Internet access. This led to my discovery of LocalTalk-to-Ethernet bridges. Obviously I needed one to get access to my file server. I was able to get an Asante AsanteTalk bridge, but could never get it to work. A second AsanteTalk bridge and it didn’t work in the exact same way as the first one, then I discovered LocalTalk Bridge.

LocalTalk Bridge is a control panel that you install on an OpenTransport-enabled Mac that connects a LocalTalk network to an Ethernet network. I dropped the control panel on my PowerMac 6100 running System 7.6.1 and then connected the printer ports of the Pippin and Power Mac with a serial cable. Make sure that the AppleTalk control panel is set to Ethernet on the bridge machine. The bridge software assumes the printer port is the LocalTalk network and bridges it with whatever the AppleTalk control panel is set to. After a reboot of the 6100, my file server showed up in the Pippin’s chooser.

Things were good. I had Internet via the DreamPi and I could access my file server, but for some reason I continued down the rabbit hole. I asked myself, “Can you get Internet over LocalTalk?” The answer is yes, as I discovered. This is when I stumbled across MacIPgw. MacIPgw is a virtual machine allow for TCP/IP access over LocalTalk and it is stupid easy to setup. First setup your LocalTalk-to-Ethernet bridge, which I had already done. Second, install VirtualBox and import the MacIPgw image. Third, configure your Pippin to use the MacIPgw for Internet. Below is the necessary MacTCP configuration.

I had Internet and file server access. Life was good. The big pro for this approach is its likely to be the fastest option of the 3 outlined here. It still isn’t super fast, but it is quite usable. The cons of this approach are pretty apparent. Needing a second Macintosh is not ideal, but in its defense an LC-style case doesn’t have the largest footprint in the world. Also I am sure you could find a hardware bridge that worked, but I wouldn’t recommend the AsanteTalk. It was a long strange trip, but I had Internet.

6. Print to my networked LaserJet

Normally on an old Mac I would install the latest LaserWriter software and create an LPD desktop printer that aimed at my LaserJet’s IP. However I couldn’t get the LaserWriter software to install on the Pippin, so I went with plan B. On pre-7.5 machines there was no LPD LaserWriter printing. Instead, you used Adobe’s PSPrinter driver, mentioned above, to print to a Postscript file and then use LPR, also mentioned above, to send the file to the printer.

This approach does work, but its a little cumbersome. What I didn’t know is you can use the PSPrinter driver on AppleTalk shared printers. I already had my LaserWriter shared over AppleTalk via Netatalk and it was as simple as selecing PSPrinter in the Chooser, selecting my printer then setting the PPD to “Use Generic” in Setup. I also never got Background Printing to work correctly, so I shut it off. Well that was easier than expected. YMMV on your specific printer, but one of these 2 approaches should work on most networked printers.

Wrapping Up

Mission accomplished, even as an academic exercise I was feeling pretty good about the whole project. It took the better part of a month, but it was fun. I learned a lot about classic Mac OS networking and a lot about the Pippin. I have tried to document everything did pretty accurately, and I in no way claim this is the best way to do any of it, but if you have any further questions feel free to reach out to me at zoggins@zoggins.net.

Zoggins

Something witty! I'm a full-time software engineer, part-time streamer, PhD, RetroSpy developer, bipolar, Ultima fanboy and a video game hardware collector.

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.