Subscribe via RSS

Mac Pro 1,1 A1186

This beast was AUD$30 at the local tip and (after failing with two of them months back and selling them off as parts) I thought it looked like a good challenge.

I got it home and checked the guts (you're not allowed to open things at the tip!), noticing no drives, no drive sleds and no RAM. This is all fine... except the RAM... those FB-DIMMs are proprietary hell. I tried to power it on anyway and got the slowly-pulsing power light, as expected when there's no RAM installed.

RAM must be installed in pairs, in a specific order. I scoured the web for the cheapest pair (or two) as I didn't want to sink too much cost into this thing, until knowing it'd boot. The FB-DIMMs arrived ... slowly ... darn Santa! ... and one pair was installed in the first two slots of the top RAM card.

Power was applied... and... a solid power light! No bong? Do these Mac Pros even go 'BONG'? Power was quickly removed and the second pair of RAM was installed into the first two slots of the bottom RAM card. This is, of course, following the installation order as expected. Power was applied once more and ... another solid power light!

Next up was disk. Without the sleds, the drives would be suspended in mid-air from the fixed SATA connectors, so I chose a very light-weight SATA SSD drive so that there wasn't too much weight hanging around. I'll install more drives later, once I print some sleds. For now, the goal is just to get an OS installed and booted.

So yeah, an OS. Let's not get too tricky, too early. This is a Mac Pro 1,1 and it's only good for OS X 10.7.5, so let's start with anything I have, bootable, lying around that keeps below that maximum. Yes, this unit can be flashed to pretend to be a Mac Pro 2,1 and can even run up to OS X 10.11! It can also run Linux and just about anything else, with the caveat being the 32-bit EFI vs. 64-bit CPU. This machine was born during the world's transition to 64-bit EFI, and so is quite a hybrid.

You'll find OS X 10.5 Leopard here, if you don't have media lying around. Fortunately, I had a DVD of OS X 10.7 Lion in my box'o'junk from previous eMac/MacMini tinkering. Of course, it wasn't legit... it was bought from a computer fair for the exhorbitant price of AUD$20 and is merely a 'restore' disc. Regardless, the bloody thing booted... and installed... to 75% and kept stalling.

The stalling was from a scratched DVD. Not the best investment. Realising this was never going to work, I instead burned a random ISO of 10.6, which I had on my NAS, to a USB key with Balenca Etcher. Balenca might warn that there's no bootable yada on the media, but please disregard this warning! Hit next-next-finish, slap that USB in the front of your Mac and reboot! Pray that the flashy-flashy-folder icon pisses off and that the installer starts.

It worked!

Fake MacPro2,1

I have a plan to upgrade the CPUs to X5365s, so I followed this video to upgrade the BIOS, using this file and this file. This all worked splendidly, even though it required a little mucking around. I'm sure you could just extract all required files from the mounted DMGs into a single folder and make the process a whole lot easier.

More RAM

The next two 2gb FB-DIMMs arrived and simply just-worked... Mac OS 10.7.5 displayed 6GB!

Yay... but not enough for 10.11... so... buy more. I found a bargain on generic Samsung FB-DIMMs and everything worked perfectly... 22gb baby! I have all slots full now, but it seems you can install 64gb of RAM if you really desire!

OS X 10.11

Follow this Youtube video to get OS X 10.11 on the machine. It seems it'll be the last ever version that'll work.

Note that this was still running on the stock NVidia video card. You can now probably guess what's being replaced next.

Better Video

First I tried a Radeon 6870 and it was nice... but then I browsed to MacVideoCards and determined the 'final' best card for this machine: R9 280X. This thread about the card had ultimate success with the MSI Gaming 3GB version. I checked eBay and they were going for quite a lot of cash, so I scoured FB Marketplace, grabbing one for a nominal fee! You can use ATIWinFlash on Windows 7 (no idea if newer windowses will work!), or amdvbflash on linux. The latter was MUCH easier. I put the card in as my primary video and booted to MX Linux.

$ chmod a+x ./amdvbflash
$ sudo ./amdvbflash -s 0
$ sudo ./amdvbflash -p 0 MSI\ R9\ 280X\ 3GB\ Mac\ EBC.rom
AMDVBFLASH version 4.71, Copyright (c) 2020 Advanced Micro Devices, Inc.

Old SSID: 2775
New SSID: 2775
Old P/N: 113-C3865000-G77
New P/N: 113-C3865000-O77
Old DeviceID: 6798
New DeviceID: 6798
Old Product Name: 113-MSITV277MH.300 TAHITI B0 XTL C38650 GDDR5 3GB 
New Product Name: 113-MSITV277MS.350 TAHITI B0 XTL C38650 GDDR5 3GB 
Old BIOS Version:
New BIOS Version:
Flash type: W25X20
Burst size is 256 
20000/20000h bytes programmed
20000/20000h bytes verified

Restart System To Complete VBIOS Update.

So yeah, after downloading, make it executable and then save the current ROM with -s. Use -i to get the ID of your card if you have mutliple installed. Finally, write back with -p followed by the card ID and the filename of the ROM.

Note that in the MacPro you'll need one 6-6 and one 6-8 PCI-E power cable. I only had two 6-6 cables, but a random ATX 6/8 cable on hand, so I rigged it together!

I tried all ports, but the boot only seemed to show on the mini-display-port closest to the DVI port!

The resolution options in OSX were fantastical. The best resolution, I found, was 3840x2160 (2160p).

More Disk!

Whilst screwing around with the video card, I had the 3D printer working overtime on a drive sled. The STL was actually pretty detailed and Cura demanded a 4.5hr print. Whatever, better to make it strong and safe so disks don't drop onto the newly installed video card!

Once printed, I grabbed a 4TB from the ex-NAS pile and slapped it in. I had no need for any of this space, but maybe I can just install a ridiculous amount of OSs on here for a museum-esque experience.

What first?

Max CPU?

That plan to upgrade the CPUs came true and was very easy!

So yeah, the final answer/question is... now what? A-Train?

Filed under: Apple No Comments

Resurrecting a Dead PowerMac G4

Saw this on FB Marketplace... didn't know what I was thinking. Seller listed it as a "display piece" and, upon opening it, I worked out why. Weird cables disconnected, RAM missing, power supply set to 115v in Australia?

Switching it to 240v and attempting a power up saw nothing. I realised the ribbon to the front panel was disconnected internally? Connecting it didn't help though. OK, time to pop the supply open and.. oh look? It's just a blown fuse... replace... test... OH LOOK, IT'S A BLOWN MAINS BREAKER.

(Something has now occurred to me after posting this blog entry: The sticker above the 'closed off' power plug says 100-120v MAX... with no 240v rating? Even though the power supply had a 115-240v switch, was this supply actually only ever going to work on 110v? It's a little weird!)

Either way, screw it, this power supply is filthy... time to hack off the power cable and inject some ATX goodness.

Replacing a G4 Power Supply

First step? Choose a donor. I have some ATX to AT adapters which I could re-wire, but I would have to cut and heatshrink wires, so, I might as well just use a real donor ATX power supply. The next question is if the donor ATX supply in the junk box is even race-fit. If I install it and, knowing an Apple, too much power is consumed.. it might fail in minutes/hours/days. Should I go buy a new one? Actually, does the unit even fit?

The answer is simple.. it didn't... so-much-so that I even forgot to take a photo. The shot above is from Google images and explains a newer power supply where the main power socket is centered and has a mains-switch underneath. This, when compared to the image above of the actual power supply from the G4, is obviously quite different. The original had two plugs (one covered), with the the power-on plug much lower-than-center when compared to newer power supplies.

Could I shift the guts of the newer one into the Apple supply? Or put this PS into my PIII-550 and use that older PS in here? I could... but that's a lot of unscrewing... oh what the heck... Maybe I should jerry-rig this ATX supply into this power cable.. I could just tin and insert the wires? Just to see if the motherboard even wants to show life.

Of course, the gauge of the wires prevents one from cleanly jamming them in the end of the ATX plug. What to do? Tin them all and trim them with snips... then tediously jam them in and grab two diodes to make the trickle supply.

To do the actual wiring, here's the mapping:

ATX Supply Gigabit Pinout
3.3v 12 24 GND
12v 11 23 5v GND 11 22 28v TRKL
12v 10 22 5v 12v 10 21 5v
+5v TRKL 9 21 5v NC 9 20 5v
POK 8 20 -5v 3.3v 8 19 GND
GND 7 19 GND GND 7 18 GND
5v 6 18 GND 5v 6 17 GND
GND 5 17 GND GND 5 16 GND
5v 4 16 P-ON 5v 4 15 P-ON
GND 3 15 GND GND 3 14 GND
3.3v 2 16 -12v 3.3v 2 15 -12v
3.3v 1 14 3.3v 3.3v 1 12 3.3v

Above, you can see that more than the lower half of pins can be straight-wired through. The top just needs a bit of juggling. Firstly, glue the plugs from the ATX supply together, then cut all four wires (11,12,23,24) from the ATX header, leaving zero mm length on 12 and 24, but 5cm on 11 and 23. Run the ground to pin 11 and pin 19 on the Mac side. Then cut pin 9 from ATX clean level with the plug and run it into a diode and then into pin 22 on the Mac side. Run the 12v from pin 11 on the ATX side through another diode and join to the Mac side of the previously-soldered diode. This makes the trickle voltage as per ATXG4's doings. Finally connect the 3.3v from pin 12 on the ATX side to pin 8 on the Mac side.

Finally, it's all plugged together... how does the Mac respond!?

WE HAVE LIFE! A hideous single beep, but... LIFE! The single beep means we have no RAM? Sure we do... but it seems to hate PC100 modules. After slapping in a PC133 DIMM....

It worked! But nothing would boot.. until I flexed the IDE cable to the CD-ROM?

Right, that damage was hiding up behind the CD-ROM/ZIP chassis area.. fun. It's also ultra-DMA, which I can't reproduce, so I'll just create a new IDE cable as I did for the last G4. Wait, that G4 was faster... and I ended up putting it on the gutter during hard-rubbish for another scavenger to collect. Why did I buy this one!? Oh well.

Hacky cable created and...

Yessss... it works! In the end, I had two options: truncate an existing ATX plug and graft on the old cable or just re-wire a 24-pin plug to fit... with overhang. I did the latter. As mentioned above, glue the 4-pin extra plug ONTO the base 20-pin plug. That way you (like I did!) won't cut wires that you need. When the 22-pins don't line up, it's easy to mistake the wiring!

Old and new... but we're only going to use the new. The old can be donated to a museum (or to the next G4 I stupidly pick up after disposing of this one.)

Route the grounds and volts and stuffs as per above... you'll have wires left over, but that's OK. Don't forget to wire up the fan plug!

And then remember that there'll be two pins hanging over the edge... easily removed if you can be assed...

No need... JUST PLAY!


Filed under: Apple No Comments

PowerComputing PowerCenter 180 – Power Supply

Turned this machine on for the first time since packing it away after getting Linux running on it and it tripped the main circuit breaker in my apartment! I'm still resetting clocks.

20220429 155013

I opened up the power supply, and didn't really like what I saw. The main large caps were bulging and there was a burnt-out resistor in between them. Instead of attempting a repair, I compared the ATX plug on the dead power supply with another ATX supply I had on hand and.... would you believe it... they matched? Same plug type/size/wiring. Probably not a smart idea to just plug it in and test, but it worked perfectly! Thank you PowerComputing for choosing off-the-shelf parts instead of proprietary power supplies!

So the answer is: You can use a standard ATX Power Supply in the PowerComputing PowerCenter 180. It lives!

Filed under: Apple No Comments

Repairing a faulty AppleDesign ADB Keyboard

After setting up my G3 266mhz, I found that I couldn't play Transport Tycoon. The game worked perfectly, apart from very soft music volume, but I couldn't work out how to actually move around the map. In DOS or Windows TT, this was a right-click-and-drag, which was obviously not a thing on a single-buttoned Mac mouse. I tried opt/cmd-click to no avail.

I then realised that the UP cursor key worked, but no other directions. Back in Finder... only UP also worked. Trying a little harder, I then found that the outer-ring of keys on my AppleDesign ADB Keyboard failed to respond at all!


I mean... you only have to look at it externally to see that it's had a hard life! Stickers... yellowed-plastic.. time for an autopsy.

Opening it up...

There's 6-or-so screws underneath, and a few clips along the bottom which'll need to be prized open. There's then 6000 screws holding the black metal plate to the back of the internal keyboard frame. Enjoy.

20220131 141915

The first obvious-ness was blistering contacts. This damage happened to be exactly on the cursor keys which didn't work... but a continuity test showed that this wasn't actually a problem.

20220131 142004

The next obvious-ness was a serious amount of water damage on both sides of the membrane.

20220131 141927

The real damage was black/broken traces. These are painted onto the plastic, so there's no soldering here, unlike when I fixed the eMate 300.

20220201 161218

Yeah, you'll just have to pretend the silver parts above are black. They were black. Unfortunately I didn't take a photo prior to fixing the bloody things! Actually, you can just see an example of the-blackening on the traces over on the far-right.

Fixing it

As you can see, I failed to take a 'before' photo, but whatevs. I first tried to use my Circuit Pen, but it turns out it had dried up all by itself. I had done everything right, the lid had been securely on during storage, but the pen was somehow rendered useless. Just for fun, I cracked it open and tried to use the contents, but they were taking WAY too long to dry on the plastic.

20220201 123608

Instead, I went back to Jaycar and bought a vile of silver conductive varnish. On the rack in the shop, this product looks like clear resin.

20220201 182153

The silver-ness of it actually settles to the bottom of the vile and I had a hard time finding it.

20220201 182338

A quick shake fixes that tho! Once shook, I used a toothpick to bridge all busted traces...

20220201 161227

Unlike the circuit pen, you can lather this shit on. It takes no time to dry and the resistance dropped to ~0ohms very quickly!

20220202 192506

In no time, many games were played.

Filed under: Apple No Comments

Build Your Own Macintosh Classic!

Man, somehow I google'd across this link on creating your own Macintosh Classic and decided I'd do it myself. I'd already sunk cost into my own Kickstart'd Creality CR-6 SE printer and decided wtf, how hard can it be? The article even had a BOM that included all of the other physical components required. I placed the order, it arrived, COVID happened, box was stored, everything was forgotten.

Come Melbourne's lockdown #6 and I'm bashing through everything in the received-but-not-touched list. What to do first? Print the case. If that doesn't work, then who could care less about the tech purchased?

DSC03952 DSC03954 DSC03951


And with the printing, I screwed up! Make sure to configure your print settings with supports everywhere, not just 'touching base' or whatever the boring default is, as it won't work. I had to scrape the top inner frame of the display window to get it to not look too saggy!


The floppy disk is an insert and, as per the instructions, I added a white sticky-label to make it actually look like a floppy label. Once in the case it looks great!

Required Hardware

First off, we'll be using a Raspberry Pi Zero W, an old IDE cable and a 640x480 VGA screen for inside the case. Outside, some form of USB Keyboard and Mouse will be required to get everything installed. The Pi Zero is a very bare-bones unit and you'll need to get out the soldering iron, find some headers and solder up the GPIO interface.


From there, you just need to plug in the IDE cable and test it out. I did this first with just the standard RasPi install.


It worked fine... and was hilariously small.

Installing RetroPie

So, long-story-short, I tried the latest RasPiOS + yada and although the UI was lovely, the speed was shite. I then tried compiling my own BasiliskII and it just chuggggged. So, what's the answer? THIS IS THE INTERTUBES, someone has already done this: let me present to you RetroPie! Now, this is an amazing front-end + engines for Linux, to the point where configuration is out-of-the-box, but not so much for what we're about to do.... there's a bit of screwing around required!

First off, to get that Pi Zero W to boot, you're going to need to flash an SD card. On Windows, use the official Raspberry Pi Imager and choose RetroPie from the Emulators sub-menu.


rpimg2 rpimg3 rpimg4

Grab the card, a USB KB/Mouse and a display and boot the Pi. If everything works, you should be at a prompt to configure a gamepad?!


This was a little confusing for me as I didn't really care for a gamepad on this system at all. RetroPie expects you'll be playing Bubble Bobble, Snow Bros and Metal Slug, so it demands a controller configuration on installation. And so, with our goal being to play A-Train on System 7.5.5, we don't need a gamepad, but we'll still need to configure a device. This device will be a stock-standard keyboard and we'll need to tread lightly when mapping the buttons.


To get started, hold down a key on your keyboard for about 5 seconds. From there, please map the D-PAD directions to the arrow keys on your keyboard and then start=enter and select=space. From there, you can either spend time holding down any key to skip the association or just choose any key (don't choose the same key each time) to map to the millions of buttons. Once you succeed, the OK button will be highlighted and you get to press the key you mapped to button A.. do you remember?


If all is well, you'll have hit the screen above. This, in all it's glory, is RetroPie as a shell, with no engines underneath. Before we install engines, let's make sure we have full connectivity. Make sure that Configuration is showing under the RetroPie banner (use left and right buttons to select it) and then press the A button. You should see the following list:


From here, scroll all the way down to raspi-config (yes yes, the shot above doesn't show this highlighted!) and press A. You'll get thrown back to a console and raspi-config will load up in all of it's ncurses-glory. From here, configure wireless and enable SSH. Note that you'll be back to standard keyboard key mapping, so don't try and use the A button... just stick with your standard cursors keys and enter... escape'ing when you choose the wrong adventure.

Meanwhile, if you happen to select the wrong wireless country, you can hit escape to the main menu and re-select it in the Localization sub-menu by selecting WLAN Country.

SSH is under Interfaces and, once enabled, the configuration app will ask you to reboot. Do this. Finally, SSH in with your favourite terminal client using the credentials pi/raspberry.

     .***.     Sunday,  5 September 2021, 10:51:22
     *****     Linux 5.4.72+ armv6l GNU/Linux
      |*|      Filesystem      Size  Used Avail Use% Mounted on
      |*|      /dev/root        30G  2.5G   26G   9% /
    ..|*|..    Uptime.............: 0 days, 00h14m35s
  .*** * ***.  Memory.............: 97496kB (Free) / 247472kB (Total)
  *******@@**  Running Processes..: 88
  `*****@@**'  IP Address.........:
   `*******'   Temperature........: CPU: 48°C/118°F GPU: 48°C/118°F
     `"""'     The RetroPie Project,

pi@classicpi:~ $

From here, let's cut over to the VGA display. This is done via the following:

pi@classicpi:~ $ cd ~/
pi@classicpi:~ $ git clone
Cloning into 'MZDPI'...
remote: Enumerating objects: 323, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 323 (delta 15), reused 26 (delta 10), pack-reused 291
Receiving objects: 100% (323/323), 1.54 MiB | 599.00 KiB/s, done.
Resolving deltas: 100% (165/165), done.
pi@classicpi:~ $ cd MZDPI/vga
pi@classicpi:~/MZDPI/vga $ sudo chmod +x mzdpi-vga-autoinstall-online
pi@classicpi:~/MZDPI/vga $ sudo ./mzdpi-vga-autoinstall-online

... setup setup ...

Setting up libgtk2.0-0:armhf (2.24.32-3+rpt1) ...
Setting up matchbox-keyboard-im (0.1+svn20080916-12) ...
Setting up libgail18:armhf (2.24.32-3+rpt1) ...
Setting up libgtk2.0-bin (2.24.32-3+rpt1) ...
Setting up libgail-common:armhf (2.24.32-3+rpt1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libgdk-pixbuf2.0-0:armhf (2.38.1+dfsg-1) ...
Processing triggers for mime-support (3.62) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...






pi@classicpi:~/MZDPI/vga $ sudo reboot

From here, reboot and disconnect your HDMI screen.

System RAM

I did note that my system was only reporting 256mb total system memory when it had 512mb on-board?

pi@classicpi:~ $ free
              total        used        free      shared  buff/cache   available
Mem:         247468       48468       91656        2932      107344      146248
Swap:        102396           0      102396

Turns out the boot configuration is allocating 256mb to Video RAM!? Let's fix that... we don't need anywhere near that much RAM for a 640x480 screen. Here's the important part in /boot/config.txt.


The three lines are the settings related to actual system RAM. We care about gpu_mem_512 and, as you can see, it's setting VRAM to 256mb! Change that to 64 and reboot. Don't try any lower as RetroPie will struggle badly.

Install Basilisk II

Jump back into SSH and start up RetroPie's setup application. Note that you can also do this through the front end if you're working directly on the unit.

pi@classicpi:~ $ ls
RetroPie  RetroPie-Setup
pi@classicpi:~ $ cd RetroPie-Setup/
pi@classicpi:~/RetroPie-Setup $ ls
AUTHORS  logs        platforms.cfg  scriptmodules
pi@classicpi:~/RetroPie-Setup $ sudo ./

From here, you'll be warned you shouldn't have paid for this... and I hope you didn't.


You'll find Basilisk II (package:basilisk) under opt and Mini vMac (package:minivmac) under experimental. Note you'll also find OpenTTD under opt... I might try that for fun. All packages will ask you a few questions, I always default to install from binary.

packages-2 packages-3 packages-4


After installing each package, you'll be brought back to that packages sub-menu offering options for the already-installed package... without it telling you that it installed correctly. Slightly confusing, but just press the TAB key to get Back highlighted below and then hit Enter.


Go and install anything else you're after, whilst you're here, and then choose the reboot option at the bottom. You'll then get a final warning, of which you'll only need to heed if you've been tinkering with the front-end whilst waiting for this stuff to install... I should've mentioned above that you shouldn't do this!


So... reboot!

Configuring Basilisk II

This took a little bit of working-out before I got it how I liked it. Emulators on RetroPie have configuration/data in multiple places. ROMs (of which Basilisk II needs) are in the main users' (pi, in this case) home directory, whereas configuration is in the /opt/retropie folder. We'll be tinkering around everywhere to get this to work.

Although we've installed the Basilisk II package, the individual configuration file for it hasn't been created yet. To make it appear, we need to actually kick off Basilisk II once and let it error back to the RetroPie menu. Do this now by going back to RetroPie and selecting Start from the Macintosh menu. If everything worked, there'll now be a configuration file located in /opt/retropie/configs/macintosh/.

Next, download the fundamental items to get Basilisk II to work: ROM, OS 8.1 ISO. Expand both items locally and then copy them across to the ~/RetroPie/roms/macintosh folder. Rename the ROM file to mac.rom and the ISO file to anything you want, but make sure it matches the configuration below. Also make sure the CD image is read-only:

pi@classicpi:~/RetroPie/roms/macintosh $ chmod -w macos_81.iso
pi@classicpi:~/RetroPie/roms/macintosh $ ls -l
total 935696
-r-xr--r-- 1 pi   pi   420229120 Sep  5 12:01 macos_81.iso
-rwxr--r-- 1 pi   pi     1048576 Sep  5 11:35 mac.rom
-rw-r--r-- 1 root root         0 Sep  5 11:06 Start.txt

We'll also need to create a harddisk file which we will format and install OS 8.1 onto inside the emulator. The following command will create a 512mb blank file.

pi@classicpi:~/RetroPie/roms/macintosh $ dd if=/dev/zero of=disk.img bs=1024k count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 63.6174 s, 8.4 MB/s

Note that we've called it disk.img. This is because the RetroPie configuration specifies this file on the command line and we'll just use that, instead of adding more config. We do have to do a few other configuration changes, so open up /opt/retropie/configs/macintosh/basiliskii.cfg with nano and update the settings as follows. Note that, if you want to change the allocated RAM, you should use a proper 8-byte value, so lookup the value here and update the config accordingly.

displaycolordepth 0
extfs /
seriala /dev/ttyS0
serialb /dev/ttyS1
ether slirp
udptunnel false
udpport 6066
bootdrive 0
bootdriver 0
ramsize 67108864
frameskip 6
modelid 14
cpu 4
fpu false
nocdrom false
nosound false
noclipconversion false
nogui false
jit false
jitfpu false
jitdebug false
jitcachesize 0
jitlazyflush false
jitinline false
keyboardtype 5
keycodes false
mousewheelmode 1
mousewheellines 3
dsp /dev/dsp
mixer /dev/mixer
ignoresegv false
idlewait true
disk macos_81.iso

The 'extfs' option defines the location of the 'Unix' drive that appears on the desktop. Note that, although there is an 'extfs' option configured above, RetroPie overrides this on the command line and sets it to the directory where we've just copied everything to. It's a great mechanism for copying files into the emulated machine, so you can copy extra things into this folder and then access them in Basilisk II. You can even do it while it's running... just close and re-open the Unix folder.

With the configuration saved, you should be able to choose start from RetroPie and ...


Hah, it booted and OS 8.1 is installing. Slowly!

Getting Audio Out Of A Pi Zero W

This wasn't easy! The Pi Zero W is a tiny board, missing many of the standard components so save cost. One of the components missing is an audio-out jack, but fortunately we can wire one up to the alread-in-use GPIO header. One note before you read any of the following: The pin numbering on the header is different to the connected pin numbers on the main CPU. Most of the time, when sites talk about GPIO18 or GPIO19, they actually mean the pin on the CPU and not GPIO Header pin 18 or 19! Grab and build the tools here and then run the gpio readall command:

pi@classicpi:~ $  gpio readall
 +-----+-----+---------+------+---+-Pi ZeroW-+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 | ALT2 | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 | ALT2 | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 | ALT2 | 1 |  7 || 8  | 0 | ALT2 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 0 | ALT2 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 | ALT2 | 0 | 11 || 12 | 0 | ALT5 | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 1 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 | ALT2 | 0 | 15 || 16 | 0 | ALT2 | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | ALT2 | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI | ALT0 | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO | ALT0 | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK | ALT0 | 0 | 23 || 24 | 0 | ALT2 | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | ALT2 | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 | ALT2 | 1 | 27 || 28 | 1 | ALT2 | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 | ALT2 | 0 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 | ALT2 | 0 | 31 || 32 | 1 | ALT2 | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 | ALT2 | 1 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 | ALT5 | 0 | 35 || 36 | 0 | ALT2 | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | ALT2 | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | ALT2 | GPIO.29 | 29  | 21  |
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+-Pi ZeroW-+---+------+---------+-----+-----+

So, there's a lot to take-in above. Note it's mirrored, so start outside-in when reading. On both outside columns are the GPIO pins of the BCM CPU. We're looking for 18 and 19 in these columns. Above, I've already actually configured the unit for sound, so you'll see that these are configured for ALT5. To understand ALT5, you can read the GPIO mappings here, but just understand that both need to be ALT5 for PWM to come out of 18 and 19. These then map to header-pins 12 and 35 respectively. You'll find these two numbers in the inner two columns on the table above.

Next, we'll need a bit of physical hardware to interface with the GPIO header. Fortunately, since I have used an old IDE cable, we already have a point to connect into! The IDE cable has the middle header on the Raspberry Pi, one end on the LCD and, on the final end, we'll need to tap into pins 35 and 12. From these pins, we'll wire into a low-pass filter as per the circuit schematic here.


The VGA project specifically left GPIO18 and 19 free to let us have audio out, but they aren't enabled just yet. To do this, we'll need to edit /boot/config.txt once more and tell it to send PWM out the required pins. Add the following line to the very bottom of the file:


The first note here is that func2=2 somehow equals ALT5, which is what we want. The second is that, with any future changes of boot config by any software, you should review this file and make sure this configuration is still at the bottom! Once confirmed, reboot and double-check that headphones are selected in raspi-config.


audio-2 audio-3 audio-4

Save and exit and see what happens when you test with:

aplay /usr/share/sounds/alsa/Front_Center.wav

If the sound is quiet, then use alsamixer to adjust the volume.

┌───────────────────────────────────────── AlsaMixer v1.1.8 ──────────────────────────────────────────┐
│ Card: bcm2835 Headphones                                                    F1:  Help               │
│ Chip: Broadcom Mixer                                                        F2:  System information │
│ View: F3:[Playback] F4: Capture  F5: All                                    F6:  Select sound card  │
│ Item: Headphone [dB gain: 1.25]                                             Esc: Exit               │
│                                                                                                     │
│                                                                                                     │
│                                                                                                     │
│                                                ┌──┐                                                 │
│                                                │  │                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                │▒▒│                                                 │
│                                                ├──┤                                                 │
│                                                │OO│                                                 │
│                                                └──┘                                                 │
│                                                 90                                                  │
│                                            <Headphone >                                             │
│                                                                                                     │
│                                                                                                     │

Bump the volume up to 90%.


So, TCP/IP to the internet should just work. AppleTalk to local ethernet devices probably won't work as AppleTalk packets don't survive over Wireless. I don't know why... but it's the same thing that happened when I was mucking around with physical LocalTalk adapters. Since I have another Pi on the network providing AppleTalk shares, I have the option to create a VPN and route AppleTalk over it to make it show up in Chooser auto-magically... but on a first attempt, the effort required is huge. I'll stick with manual IP entry for now, as that works fine!

The End Result

The screen is hilariously small, but games can be played!

241118466 361998575428700 6298152496122914924 n

The Pi Zero has just enough CPU to run OS 8.1 and A-Train. Audio works great and the MIDI sounds fine!

241139049 609410486890269 6802814062589133231 n

Shares are mounted via AppleTalk to the NAS and all is well!

Filed under: Apple 3 Comments

Apple eMate 300 – Battery Refurb

Whilst fixing the hinges in my eMate 300, I noticed that there were also links to replacing the batteries. That link shows how to replace with proper cells, but it turns out that you could also use a battery holder.


I bought a full kit of bits to do the latter, but then realised that the installation required hacking out the existing cage for the battery. Not wanting to do this, I fell back to the soldering idea and wished I'd bought batteries with solder tabs instead of just standard AA-style cells.

Anatomy of a Battery Pack

The eMate 300 battery back has a socket with 5 pins/4 wires, a thermistor, 4 cells and a temperature switch at the far end. When replacing the cells, remember to keep everything but the actual cells themselves.


Peel the plastic off and then de-solder or cut all contacts. And keep the temperature switch!


Solder everything back together in the same order...

DSC03030 DSC03033 DSC03035

And then jam it back in the plastic case that it all came in...


If you're in luck...


You'll have a charging battery!

Testing it...

There doesn't seem to be an SSH client for the Newton (although people have tried), so I thought I'd go for Telnet. It seems easy to do over a serial cable, but I want to do it over Wifi! Thankfully there's the PT100v1.1 Client available over at United Network of Newton Archives.


Installing this got me a prompt... but a swift disconnection when trying to log in. But, the battery is still showing full charge after minimal use over two days! Win.

Filed under: Apple 2 Comments

Power Mac 6100/66 DOS Compatible – MIDI Out

After building the 'hydra cable' for this DOS Compatible machine, I quickly found out that the Joystick port could not be used for MIDI input/output. There were numerous hints online, and they all resulted to the fact that we'd need to solder a pin on the Vibra16 IC to get midi to the port. Here's the module removed from the DOS card. The CT2501 IC nearly takes up the entire board.

DSC02950 DSC02956 DSC02958

I was able to re-wire all of the below as I created my own hydra cable. I wouldn't suggest trying to modify an off-the-shelf cable as they're a sealed unit and have many pins incorrectly wired at the joystick-port-end.

Determining the correct pin

I'd asked online for help from someone who'd already worked out the solution, but hadn't received a quick answer. After rummaging through my junk boxes, I realised I didn't have a card with the correct CT2501 chipset, so I asked a few friends also. No one had the exact model required, so I considered purchasing one on eBay. They were averaging about one-hundred-dwollar shipped, so I decided to try and find high resolution photos online instead.

It turns out that dosdays has a fantastic library of information on the SB16. Included are high-enough-res photos of the rear of the board that allowed me to easily trace pin 12 (MIDI OUT) back to the CT2501 IC. Pin 15 (MIDI IN) wasn't so easy as it disappears under the 74-series IC in the bottom left of the top-side of the board. Fortunately, my main goal was to just get DOOM II throwing MIDI out to my SC-88.

sb16-bottom sb16-top ct2500-close-up

After sitting in Paint.NET for a while, tracing traces, I came to the conclusion that MIDI OUT was Pin 30 of CT2501. In the pictures above, I've traced this in RED on the underside-shot of the board and YELLOW on the zoomed in CPU picture. MIDI IN is traced in BLUE on the underside-shot, but then disappears on the top half under the IC. Images from the web don't provide enough detail to allow me to continue the search! I was happy with just MIDI OUT, so I then started the quick hack-job to solder on a test wire...

ct2501-close-up ct2501-close-up-2 ct2501-close-up-soldered

In no time at all, DOOM II was outputting its soundtrack into my headphones.


Usually I'd pipe the audio-out from the SC-88 back into the soundcard of the computer that it was connected to, but that's not an option here with the Power Mac 6100 as it only has Microphone In! Oh wait, can I also wire-up Line-In for the DOS Card? I don't think that'd be as straight-forward as I'm sure there'd be a DAC and other components on the path.

External Connections

The port at the back only needed to be one wire, so I initially used an RCA socket.

DSC02986 DSC02992 DSC02999

I then realised I had no spare RCA plugs on-hand, so I switched the socket to a 3.5mm mono audio jack. This looked nicer anyway.


From here, a headphone cable was wired through with one of the channels running to pin 12 on the joystick port. This was then plugged into the SC-88 and DOOM II WAS PLAYED AT FULL VOLUME!

Filed under: Apple 5 Comments

Power Mac 6100/66 DOS Compatible – MIDI

I couldn't resist this over-sized-pizza-box when I saw it on Facebook Marketplace. I never really check that area of the web, as the interaction mechanism is too loose... half the time you never even get a response from sellers and it doesn't feel real-time enough to trust if anything is actually available. Anyway, I threw a curve-ball offer and the seller responded (6 hours later)! The unit was picked up in short time, well actually... I had to wait for Victoria's 5-day lockdown to end. Yes, that was a while ago! It's been sitting in the junk room waiting for a video adapter cable thanks to it's HDI-45 video plug.


It's a beautiful unit. A much larger pizza-box than the LCs and it's even DOS Compatible!

Period-Correct Screen

By the time the video adapter cable came from America, I was ready to test the unit. I'd actually recently picked up a Trinitron monitor from the tip shop and it also needed testing! After a good sanitisation all round, everything was plugged together. To connect the Mac to the Monitor, I needed the HDI-45 to DB-15 adapter and then another DB-15 to DE-15 to get to VGA standards. With everything connected I got nothing... just a black screen... but I did get a startup bong! Myoldmac has a great reference on the video adapter settings and I had to use this as my adapter seems to have lost its packaging and the settings sticker on the actual unit. After a miriad of tests, the correct answer was to have 'separate sync' configured.


Ok, with a picture showing, I could now configure resolutions... only up to 832x624? What gives? Oh, This machine has 640kb of non-upgradeable VRAM limiting my choices. There's a good write-up here describing its system limitations. Turns out the AV Model has a separate card with 2MB allowing more resolutions on an external monitor. That wont work for me though... I have a DOS card in there!

MIDI By Roland

Before we get to DOS, let's just get my external SC-88 going. It's got a serial connection and I've always wanted to test it. Firstly, grab a game that'll support it and get that installed. Actually, there're too many options to choose from there. For fun, I'll load up DOOM II as, well, it has the easiest gameplay and a great soundtrack!


Grab a standard serial cable, make sure you choose a port that's free (i.e. not in-use by AppleTalk as you won't get a single message and it'll just not-work) and plug it all together. Make sure the SC-88 is set to "Mac" and that it has been power cycled since that switch was changed. Then power up the Macintosh. Don't expect anything to be hot-pluggable! But even then, nothing would be visible in the Quicktime Settings.

At this point in time, you can look over here for hints and then here for cable wiring and then here for the Roland manual and keep guessing why that Quicktime panel doesn't work... but don't bother.

No amount of cable-foolery got the basic Quicktime Installation to enable the General Midi checken-boxen. Instead, I software-foolery'd around until a version of OMS both extracted and installed. Note, if you've just installed MacOS, do not use the version of StuffIt from the Internet Utilities folder. It's archaic and will fail to extract things. Make sure you get a recent version installed first!


Picture-13 Picture-11 Picture-14

I need to discuss the middle shot above. It's telling you that, if AppleTalk is enabled, one of your Serial ports might be in use and the CPU will also be under pressure. Fortunately, our AppleTalk config is over Ethernet, so no Serial ports are in use! Is this software version for Macs with zero Ethernet capabilities? Eek... Anyway... auto-detect away!

Picture-15 Picture-16 Picture-17


Haha.. it found 16 Roland SC-88s... If I was a rich man? Must download some Beatles. After this, many duplicates were cleaned up until there was only one. From there, I scrolled down to check the other port...


The Yamaha MU80 didn't fair as well... it itself threw an ILLEGAL COMMAND error and the software decided it was a shitty Modem.


So.. just force it in the settings...


And then try again...


Music! Doom II sounded amazing.

DOS Compatible

PC Setup was already installed on the hideously-themed OS. I tried to boot it up, but the screen just went black! Turns out that unlike the previous Power Mac 7220, this one needed an external cable to route the video through. Googlin' around, there were a few options/schematics, but unfortunately this specific Power Mac had the HDI-45 Video port and therefore needed a hydra cable containing a different pinout. Thanks to the internet though, someone has already done the build and the pinout was available (and more over here). Here it is again for safe-keeping:

Connector on DOS card 26-pin Male on cable Video out on 6100 15-pin Male on cable Video to monitor 15-pin Female on cable Joystick connector 15-pin Female on cable
1 2 (Button 1)
2 3 (J1 - X)
3 6 (J1 - Y)
4 9 (Blue) 9 (Blue)
5 5 (Green) 5 (Green)
6 3 (CSYNC)
8 15 (HSYNC)
9 4 (SENSE0) 4 (SENSE0)
10 1,8,9,15 (+5V DC)
11 11 (J2 - X)
12 13 (J2 - Y)
13 7 (Button 2)
14 1,6,11,13 (grounds) 1,6,11,13,14 (grounds) 4,5,12 (grounds)
15 1,6,11,13,14 (grounds) 4,5,12 (grounds)
16 15 (HSYNC)
17 12 (VSYNC)
18 7 (SENSE1) 7 (SENSE1)
19 10 (Button 4)
20 1,6,11,13 (grounds) 1,6,11,13,14 (grounds) 4,5,12 (grounds)
21 14 (Button 3)
22 2 (Red) 2 (Red)
23 1,6,11,13 (grounds) 1,6,11,13,14 (grounds) 4,5,12 (grounds)
24 12 (VSYNC)
25 3 (CSYNC)
26 10 (SENSE2) 10 (SENSE2)

Each of the three plugs coming off the main plug need 13 wires each! I don't think I've ever had a standard 'round' cable in my arsenal that had more than 8 wires. Maybe I should trash a printer cable? Maybe I'll just heat-strink single-strands? If I cut the heat-strink up enough, it can 'telescope' down when I'm soldering and then I can slide the pieces up, bit-by-bit? Looking a bit like bamboo? It won't be too flexible though!


I started chopping up wires to use for the individual pins... until it occurred to me that pins were shared across all three secondary plugs. How does one share a wire succesfully? I'd actually need to construct 1-to-2/3 wires that split out into the differing plugs. At the final plug end, they can bridge all the pins they need to, but they need to get there first, without causing wire bridges 'outside' the initial plug housing.


So, with this in mind, I twisted two or three wires together where the ground feed needed to be distributed. I even used resistor legs to shift the major solder blob away from the plug solder pins.

DSC02836 DSC02839 DSC02842

Somewhere around the middle photo above I went slightly insane... and slept. Soldering and routing that many wires was a nightmare!




But finally, a hydra-sorta-styled cable was assembled. All wiring was double-checked and then it was plugged together:

DSC02888 DSC02892 DSC02899

No way. It worked. I re-loaded the DOS image hard disk file from the original installation of Mac OS and found a copy of Win95B with an app that seemed to be a collection of "The Age" articles. Who-the-fxxx would want to have a source of that trash?

DSC02901 DSC02903 DSC02906

Unfortunately, it seems that all the data was on CD! So I shut it down.


Shiiiit.. haven't seen that in a LOOOOOONG while. I then tried to shut down the actual Macintosh... after Apple-Return switching back to MacOS...


What dat? Does this thing have an actual physical clicky power switch? i.e. non-atx-style soft power off? I pushed it and it did indeed click! I never noticed when turning it on!

MIDI via the DOS Joystick Port?

I was really hoping to hook up my Roland SC-88 to the joystick port, but no go. A quick google of pinouts shows that MIDI TX/RX signals are on pins 12 and 15 and these are tied to +5V and GND, which means it's actually REALLY DANGEROUS to hook up any MIDI device to this joystick-only port. Actually, I blab a lot on here, so let's just re-make that point...

Power Mac 6100/66 DOS Compatible Card Warning

DO NOT plug ANY form of MIDI equipment into the Joystick Port of a Power Mac 6100/66 DOS Compatible Card.

Looking at the cable pinout table further above, it shows that we also don't have any spare pins on the 26-pin plug from the DOS card to squeeze MIDI through, so no wonder they prioritised video over the game port. Interestingly though, couldn't they have possibly spared two of those ground wires to pass MIDI data through?

It then occurred to me that we might be able to route the MIDI data through the Macintosh' Serial Port. To do this, I first connected my SC-88 (which has a very convenient Macintosh Serial Port on it!) to the Printer port and configured PC Setup to route COM1 to this.

From here, I downloaded and installed softmpu. This driver loads into RAM and intercepts all calls to the IO of the MPU on the Sound Card. The DOS Card fully supports the MPU, it's just that the output pins are literally un-wired! So, with the virtual tap, we can send the MIDI data out to COM1 instead, which is then virtually connected to the Macintosh Printer Port which is then hard-wired to the SC-88!

But it didn't work... softmpu just froze up the DOS side whenever executed.

Can we wire up the MIDI Port?

I then did a bit of Googlin' about those missing traces from the CT2501 Vibra 16 chipset. It seems that many have discussed it before, but each time it's ended in silence. Macintosh Garden's Comment Thread even tells me that it would've never worked and half of me wished I'd read that at the start as I probably would've not even bothered to wire up the port!

In 2019, BaldGoldEagle brought up the exact topic again on Vogons and got a good amount of detail, even after a direct bit of abuse from someone who didn't quite listen at the start (yeah, I'm talkin'bout you derSammler). The basic answer was to find a PC soundcard that has the same chipset (CT2260, CT2810, PB3110, CT3110, CT3930) and trace the pins to the port to work out what we'd need to build. The thread ended with a user offering to do so, but then the usual silence... I've just replied to see if anything came about!

A little more googlin' brought up a beautiful post dishing out on all of the DOS cards as they were built. Initially, the Houdini cards were mentioned as supporting MIDI! That was quickly corrected in the replies and the same result was reached: crickets.

I'll post again about MIDI once I've worked on it all a little more. (This now works! More information here!)

Filed under: Apple 2 Comments

Apple iBook G3 – Keyboard Refurbishment

This thing was found at a flea market in very poor condition. The CD tray was hanging out and wouldn't latch back in, every open orifice was caked with dirt and there were zero accessories. Fortunately, the iBook G4 I'd previously revived had the same power supply, so I knew how to build one.


After a very superficial clean, I soldered the required 2.5mm jack onto spare wire and applied power. It chimed and presented a dude-where's-my-hard-disk screen... not surprised at all as there was absolutely no sound made from the HDD corner. Fortunately, these are standard-issue replaceable parts, right? Just a few screws?

A Full Tear-Down

I started pulling the unit apart and felt like I'd fallen down a rabbit hole! Keyboard out, top shell off, bottom shell off ... but still no HDD... it was under metal shielding... what is this? An Amiga 1200?

DSC02462 DSC02465 DSC02467


I thought I'd check iFixit to see if there were any tutorials and found that I've made it up to around step 33 and that there were 11 more steps to go! WTF... why so hard? The HDD showed no signs of life when the machine powered up, so I needed to continue. I'm sure I could work out where all those screws went later.


Finally, the HDD was out. It's a stock-standard 2.5" Laptop IDE HDD and I had a junk box full to replace in. Unfortunately, the first 10! that I tried also showed no signs of life. I then tried a Seagate (these scare me the most with regards to reliability) and it booted... it was also 20gb larger than the 40gb prior HDD, so... let's do it.

Which OS?

Finding an OS that would boot/install was the next challenge. These units supposedly came with both OS 9.2.2 and OSX 10.2.1 installed? I'll stick with just OS9, but there seems to be a large selection of installation media available. There's an iBook G3 restore CD there, but I just kept getting the following crash... and it didn't seem to have the correct display drivers.


So, I opted for the OS 9.2.2 Universal ISO over here. You'll need to sign up, but it's worth it for access to their amazing library of old OS installation media!


DSC02554 DSC02557 DSC02564


Very nice, we're up in full-colour and functionality! Note the open-cdrom-surgery... it works perfectly fine when taped down to the table to keep the tray shut! Nice to see it spin/seek when loading.

Pink Screen Artefacts

Screen still had hints of pink... some said backlight, but has to be black channel missing on ribbon cable?


Popping the screen open isn't so hard... four screws and then a little encouragement around the edges. Looks clean enough inside.


Let's just tinker with that LCD ribbon cable anyway...


Haha... a little force, pushing the plug back into the socket, totally fixed the display issues!

Cleaning the Keyboard

This is a serious undertaking. The membrane has LEDs like the one I ripped off the PowerBook DUO 230, but instead of just popping keys off, you need to unhook them with a lot more care!



Underneath each key is a scissor-lift style mechanism that's clipped at both ends under the key face. One end is easier to un-clip and just needs a bit of force between the back of the key and the arm of the mechanism to pop it out. Once done, the other end un-hooks.

DSC02595 DSC02603 DSC02611


With all keys off, the devastation was real. This poor keyboard needed a lot of love.


The top keyboard membrane is non-electronic and just holds the rubber buttons in place.


The second is multi-layer and does the actual key contact. It also has the ribbon cable that runs down to the motherboard.


Finally, there's a metal plate underneath which is actually two metal plates combined.



Don't bother trying to peel off the rear instructional sticker as it wont help you remove the metal shielding.


If there's dirt then just grab a brush and some detergent and give it a good once-over. I had initially thought that the sticker underneath had provided a sticky surface for gunk to adhere to, but it turns out that something must have been spilled on the board. The gunk was just sitting on the metal shield that was exposed through the holes in the main metal plate.


A lot of isopropyl alcohol and que-tips (ear buds!) were used to clean up the membrane layers. I didn't want the chance of any moisture getting into the plastic. Also, as per the previous PowerBook, watch out for the LEDs! You'll rip them off if you apply too much pressure.

DSC02671 DSC02674 DSC02708

In the end, make sure that everything has a good chance to dry. Use a USB Keyboard if you need to type in passwords or play Sim City 2000.

DSC02713 DSC02716 DSC02719


Putting it back together was a pretty straight forward process. In total, cleaning that keyboard took a good 4 hours all-up and ... budget for it. Don't rush as those key mechanisms won't suffer too much torture.


I was really surprised that I didn't make a mistake that would've trashed the whole keyboard! Meanwhile, the lighting is terrible in ALL of these shots, now that I look back over them. The keyboard really did end up cleaner!

Internal Optical Drive

So, this laptop was picked off the ground at the flea market and the optical drive was just hanging out the side. I straight away tried to push it back in, but there was no latch and it sprung out again. Being an apple, there's no eject button and, as per all laptop CD drives, it's spring-loaded so that it pops out enough, but not too far, to allow disc extraction/insertion.

Whilst the keyboard was drying above, I pulled apart the CD drive to see what was going on.


Immediately obvious was the jagged edge on the plastic strip where the locking mechanism is meant to be caught. The actual actuator that locks/unlocks the drive is the in the tray itself and it is meant to latch onto a notch on the side rail inside the drive housing. With no notch available, the drive wont latch shut and therefore wont spin up. I successfully used tape to keep it shut and install software, but that was never going to last long.


For fun, I grabbed my oldest external USB CD drive and popped it all-the-way open to see what the notch might look like. I had no idea if this drive would have matching internals, but I tried anyway. Little would I realise that the drive was a 99% match with the actual unit in the Mac! The data plug fit, the screws even lined up!


The only thing that didn't match was the external bezel... and no amount of mushing would get the Apple bezel to fit. Instead, I trimmed off an edge on the PC drive and installed it in the iBook. Worked like a charm! From here, I'll try and measure-up a plastic piece to print and install into the original optical drive.

Filed under: Apple No Comments

Apple eMate 300 – Fixing The Hinges

After pulling the eMate 300 apart and finding two faulty hinges and a punctured ribbon cable, I outsourced the hinges to a friend who is very handy mechanically (Thanks Andrew!). They were returned this weekend past looking fantastic.

20210228 122843

The basic idea was to pull the clutch springs off each hinge, put the stem in the vice and unwind the coils. Due to repeated folding of the laptop, the springs had wound themselves around the hinges and shortened far enough to lose contact.

20210228 123344 20210228 124205 20210228 125342(1)

The springs had been lengthened once again and screwed down tight. The stiffness was also just hard-enough, but it'd be difficult to tell how it'd perform until the entire unit was back together. I was eager to get started on the re-assembly, but the ribbon cable had to be dealt with first.

DSC02395DSC02397 DSC02412

This was also simple enough. Scrape back the coating on the tracks that needed to be bridged. This happened to be the two right-most tracks and fortunately they spread apart as they turned the damaged corner. Note that, as the ribbon turns the corner, it is split in half and doubled-up. When applying heat, you'll want to put a divider between the ribbons so that you don't cook the other side!

I just happened to have a receipt from a recent trip to the post office which worked fine. One interesting note is that the receipt turned black, thanks to it being made of thermal paper, as I applied heat when soldering.

The ribbon was then complete and tested quickly with a multimeter. Not easy, as the pins at each end were way too close together... but I was happy with the result. From here... get it back together!


The only real notes are to make sure you have the PCMCIA and Serial covers in first before the motherboard. Also then make sure the LCD ribbon is clear of the stands top-left and that the volume and contrast sliders line up with the controls underneath.

DSC02418 DSC02421 DSC02422

Once together, everything was tested and, somehow, it all worked perfectly!? What's next? Rebuild that battery and get AppleTalk over Wifi working properly.

Filed under: Apple No Comments