Thursday, September 28, 2017

Replacing the Top Button on a Kraft KC3 Joystick with a B3F-5000 Omron Push Button

This describes how to fix a Kraft KC3 Joystick that has a broken top button switch.

Parts you will need:

Remove the two screws at the bottom of the joystick to remove the lower and upper outer casing. Make sure the wires are still OK by checking the continuity on both red wires leading to the top button.

Remove the two screws holding the top button down at the top of the stick. Pull the switch assembly out carefully - make sure there is enough free / untangled red wire to feed from the bottom of the stick.

The bottom part of the switch is clipped to the top part. Unclip the two and separate. Be careful not to lose the spring inside. The gold leaf contact is usually what has broken and has caused the switch to fail - as was the case here.

3D print the replacement bracket. Some light filing may be necessary to smoothen out the part.

Desolder the two red wires from the bottom part of the switch.

Solder on the new B3F switch.

Clip the bottom part of the new B3F switch to the top part of the original switch. Take care to sandwich the spring between the top part's white plastic shroud, and the bottom part's B3F button surface.

Top part:

Bottom part:

This hopefully gives a close approximation to the springy feel of the original switch.

Reinsert the button assembly into the stick, reinstall the top cover, and reassemble the outer enclosure.


A keyswitch might be a more straightforward replacement for this; will try it someday.

Tuesday, June 27, 2017

Replacing Line Filter Capacitors on an Apple IIGS or an Apple //e Power Supply

We need a few parts for this repair.

The general consensus is to replace the original paper dielectric capacitors with the more modern polypropylene type. I went with polypropylene, but I've included both types in the parts listing in case you want to go with paper.

Note: If you are going to have the power supply open anyway, and you have an ESR meter handy, it is also recommended to check the ESR on all the capacitors.

Apple IIGS

250 VAC 0.01 uF PME 271 Y
17.9 mm x 10.46 mm x 5.06 mm, lead spacing: 15 mm

F17103101000 - Vishay Safety Film Capacitor - Polypropylene - 0.01 uF - 250 VAC - Class Y2

Apple //e

250 VAC 0.1 uF PME 271 M 610
24 mm x 13.8 mm x 7.2 mm, lead spacing: 20 mm

PME271M610MR30 - Kemet Safety Film Capacitor - Paper - 0.1 uF - 250VAC - Class X2
ECQ-U2A104KL - Panasonic Safety Film Capacitor - Polyester - 0.1 uF - 250VAC - Class X2

3SB 1-R - Time Delay / Slow Blow 1A Glass Fuse
3516P - Fuse Clips

Safety warning and disclaimer!!! Disconnect the power supply from the mains and leave it alone for 30 minutes before doing any work. Regardless, proceed at your own risk!

Disconnect the power cable from the motherboard by squeezing the left and right sides of the power plug to release. Remove the 4 screws securing the power supply, from the bottom of the Apple //e case.

Remove the 8 screws on the sides of the power supply (4 on each side) securing the bottom cover to the power supply.

From the top view the capacitors look good. No bulging. No tell-tale signs of rupture or leakage. We need to take the PCB out of the enclosure for a closer look.

A quick test with the multimeter indicates that the fuse is blown. That should be easy enough to replace.

Remove the 4 screws holding the power supply board to the power supply enclosure, one screw holding the ground wire to the chassis, and the two screws securing the power plug housing.

With the power switch still attached to the enclosure, gently slide out the PCB and lift it up and out of the enclosure. You should now be able to have a good look at the filter capacitors. These are not in great shape. One is slightly bulging already.

Use your trusty desoldering tool to remove the filter caps and the fuse.

Install the replacement parts.

I took the opportunity to install fuse clips. This fuse clip has two tabs. The outer tabs line up with the existing holes on the PCB; however they are larger than the existing holes (1.5 mm). I had to drill bigger holes (3 mm). I did not drill holes for the inner tabs - one of the tabs would need a hole that cuts one of the traces, and the other tab comes close to nicking another trace. Instead I just bent them flat and glued them on to the PCB with epoxy.

Keep the power supply disconnected from the motherboard and power up. A tick-tick-tick sound indicates a no-load state and is a promising indication of a working power supply.

Switch the power off, connect the power supply to the Apple //e motherboard, and power up again. You should be good to go.


tl;dr With a few cents and a little care, you can have your power supply up and running again!

Monday, February 20, 2017

Playing Ultima V with Passport MIDI Music on a Real MT-32

I've been playing Ultima V in DOSBox for a while now and am almost through with the game. Just a few days ago, a friend told me that Brendan Robert's Java Apple Computer Emulator (JACE) now has support for configurable MIDI OUT. This means the Passport MIDI support already built into JACE can be redirected to whichever MIDI player you have. I've been using the Roland MT-32 on most of the games I play with DOSBox, but never with Ultima V.

This assumes you already have a working Windows setup for playing MIDI music on your MT-32. In addition having Munt would be good for testing and troubleshooting.

Most of the same steps will apply on a real Apple II if you have the real Passport MIDI card, or a2heaven's modern version of it.


1. Install JACE

You can get the JAR file from Follow the install instructions, including Java JRE installation if you don't have it yet. Double click the JAR file and it should run up to the following screen:

2. Add Passport Midi Interface to an empty slot in the computer

Hit F4, go to Computer | Slot 4 | and select Passport Midi Interface. Click Apply.

3. Select CoolSoft MIDIMapper as your Midi Output Device

Go to Computer | Extended 80-col card | Passport MIDI Controller | and select CoolSoft MIDIMapper. Click Apply. Click Save.

It's this setting where you should also see your USB Midi Cable or MT-32 Synth Emulator (if you have Munt installed) listed as options. You can try these settings out first instead of CoolSoft MIDIMapper and skip ahead to Step 5.

I tried using the USB Midi Cable setting first, but JACE and Ultima V didn't work using that setting. I kept getting the "UNABLE TO START MUSIC" error message:

My best guess is that the driver for the USB Midi Cable I have is old.

The workaround I found is to install CoolSoft MIDIMapper to act as a "wrapper" for my driver. The assumption is that CoolSoft is a properly certified / newer driver, and so is recognized and works well with JACE and Java.

You can get CoolSoft MIDIMapper here:

4. Select USB Midi Cable as your output device on CoolSoft MIDIMapper

5. Run Ultima V

6. Configure voices

Go to Activate Music | Music Configuration | Change Music Configuration | Slot 4 | and press G to add Passport MIDI.

Press enter to configure voices. You move the cursor to the field you want to change and just type in the number then Enter. You should change MIDI Channel to 2, and Number of Voices to 32.

The MT-32 by default does not listen on Channel 1.

I used the MT-32 instrument list provided in the link below to find the right MIDI number:

Note that the list starts at '1' while Ultima V starts with '0' so you'll have to subtract 1 from the number you get on the list when you enter it into Ultima V.

You can hit Enter on an instrument line to hear a preview of the instrument you selected. You should also see the instrument you chose on the LED display on the MT-32.

Most of the voices have a direct match, except maybe for the Lute - which I set to play a Harp (57), and Full Orchestra - which I still don't know what the best setting is for. Right now it's set to Orchestral Hit (122) which doesn't sound quite right, so I might just switch this to Brass Section (95 or 96).

Technically, you can also send new instrument patches for Lute and Full Orchestra using sysex messages.

Once you're happy with your instrument choices, hit ESC, select Save Music Configuration, then select Return to the Game.

That's it! Now go get the bell book and candle. Oh wait we've done that already...

tl;dr Nothing beats real steel.

Wednesday, January 25, 2017

Replacing SIMM Sockets On An 8MB MDIdeas OctoRam Card

Some time ago, a friend gave me this 8MB RAM card for the Apple IIGS. There was nothing wrong with it, except that three to four of the little plastic clips that hold down the SIMMs to the sockets were broken. This rendered the card unusable.

In order to fix the sockets properly, you are going to need a few things:
  1. A good desoldering tool. I highly recommend the Hakko FR300.
  2. Replacement 2x30 SIMM sockets. I ordered four from here:
It may also help to have some solder paste, and keep your soldering gun and solder handy.

Before we begin, take out all the SIMMs:

You can see that two of the plastic clips are broken (see lower left of picture):

Here's a closer view:

This shows the broken clip on the top slot, and the almost broken-off clip on the bottom slot.

The replacements! These ones come with a metal clip, so they should last a bit longer than the original ones. I think they are the same SIMM sockets used on the Briel Computers RAM card.

And so we begin. I put some solder paste on the 60 pins on the first socket to help with the flow, and did a first pass with my brand new desoldering tool. I used a 650oF setting. Not bad, but not completely clean:

I did a second pass with the desoldering tool, and tried to pop the socket out with a small screwdriver. The socket came out with a little pop... probably not a good sign!

You might notice from the photo that the solder holes on the first socket are not completely clear of solder. More on this later...

Test fit to make sure the replacement SIMM socket is a match. All the 60 metal pins align, and the two plastic nubs at the bottom align with the holes on the card as well.

 The second socket went a little easier as I was getting the hang of using the tool.

And within a few minutes, I was able to remove the third socket.

The fourth one took a while, because the desoldering tool lost its vacuum power. I thought at first that I just needed to replace the filter, but it turns out that the nozzle got jammed.

You can tell that the nozzle is jammed if you can't insert the cleaning pin all the way through the nozzle (and up to the solder receiving chamber). I had to break out my drill and a 0.7 mm drill bit, and simultaneously heat the nozzle, activate the vacuum, and drill the hole through the nozzle to clear the jam. And with my fourth hand...

Subsequently I was able to remove the fourth socket.

I almost got it out perfect, but not quite. It turns out one of the pins had not been totally desoldered, so when I popped the socket off... one of the vias popped off too, carrying a fair bit of the trace with it. It comes as no surprise that this pin / trace was one of the ground pins. I carefully pushed it back into the hole and I flattened the trace as much as I could, and tested continuity between the top and bottom of the board.

You can see evidence of this at the top left row:

Some minor scratches on the bottom. A careful continuity test on the traces involved showed that all connections were still good.

The easy part was slotting in the replacement SIMM sockets, and soldering them in place:

After seating the SIMMs in, a quick boot confirms the RAM is found:

And the ultimate test is to run some memory tests overnight.


A few lessons learned:

  • Be patient with the desoldering process. Do not pry the sockets off!
  • Make sure to have a strong vacuum going on your desoldering tool. Stop work if necessary to replace the filters and clear any jams to ensure that you have a 100% working tool.
  • As described in the user's manual, heat only the pin, not the base of the connections. Once the solder melts (easy to see as the solder paste will melt too)... quickly push the nozzle down over the hole to create a stronger vacuum for the tool and activate the tool vacuum. You know you have done this right, when the hole is left completely clean of solder.
  • If not all the solder is cleared / hole is not yet 100% clean, resolder the hole with some new solder, and try to desolder again.
  • When done properly, there is no need to pop the sockets out. They fall out on their own.

Lastly, don't assume that, just because the SIMMs came with the card, that all the SIMMs are 1MB. :) It turns out I had received a mixed bag of SIMMs containing both 1MB and 256kB SIMMs. This is a version of what you'll get when you try to boot with mixed memory:

tl;dr The Hakko FR300 is an essential tool for any rework.

Wednesday, January 11, 2017

How to fix an Apple 3.5" drive that won't eject

I got two of these Apple 3.5" drives from eBay. One of them worked perfectly. The other one was able to read and write to the disk, but the eject button did not work (either manually, or from the desktop), and the disk activity light did not go on. I was able to eject disks using a small hex tool I inserted in the manual eject hole on the front of the drive. I did this for a while but decided it was time to try and get it fixed.

First things first. Open the drive and get to the related parts. One of the more common failures with the eject mechanism is the gear failing. You can order a 3D printed gear from Shapeways, so if it's the gear that's the problem this would be an easy and cheap fix.

Here is the drive after the bottom four screws and the single screw holding the back cover plate are removed:

Disconnect the ribbon cable holding the back cover plate and interface cable. Long nose pliers and a good grip on the edge of the connectors should do it.

You can disconnect the other ribbon cable going to the drive assembly using the same technique. Once the cables are disconnected, you can push the entire drive assembly out through the front of the metallic casing.

To see the gears, you will have to remove the disk eject motor assembly. It's located on the lower right next to the tracking motor. It consists of the motor and a little PCB with a frame holding the gears. It's held in place by two black screws.

Warning: Make sure you do not touch or bump either the drive heads or the tracking motor!

Here is the eject motor assembly after removing the two screws. Hmm the gears look fine!

Since the gears are fine, the next step is to check if the motor is okay. You can free the motor by releasing the three plastic retainer clips at the top. Start with the clip closest to the connector... the motor should tilt up a bit as shown in the photo below:

You will also need to carefully pry off the little PCB... it's held down by two retainer clips similar to the ones holding down the motor. Here is the motor and PCB after it's freed from the clips.

Once you have access to the motor, see if you can turn the motor's axle with the little gear. In this case it was sort of stuck. I couldn't easily move it by hand so I had to apply a little bit of pressure first using a pair of long nose pliers. Once I got it going, I could turn it by hand but it felt like it was going against some really heavy grease...

Solution? Break out your WD-40. Be careful not to get any of it on the plastic parts / wire. A short squirt into the two holes below should be sufficient. Give it a few minutes then give it a few turns again using just your hand. It should now move fairly easily with just the usual resistance from a DC magnet.

Once it's moving smoothly, leave the motor overnight upended on a piece of paper towel to make sure any excess WD-40 drips out and onto the paper towel, and not onto your gears and drive interior and desk later on. :)

If you were like me and got too excited and plugged it in right away to test it, no worries. Just disassemble it again and wash just the plastic frame and gears (shown below) in dishwasher liquid. Pat down as dry as you can and also leave to dry overnight.

Once everything is nice and clean and dry, reverse the steps to reassemble the drive.

It works!

Except the eject button on the front of the drive still doesn't work, and the disk activity light is still not lighting up.

We've fixed the eject motor, but still need to figure out why the eject button and LED don't work. This could either be (a) bad connector, (b) bad wires, (c) bad switch / LED, or (d) bad drive electronics.

A simple continuity test ruled out (b) and (c). From my initial testing as well, it didn't seem to be a bad connector. More on this in a minute.

To test the drive electronics, you can reassemble the drive, hook it up with the back exposed, and short the two pins on the black plug below to see if it initiates an eject sequence. In my case it did. Eject drive electronics check!

To test the LED, you will have to hook up the pins on the red plug above to a known working LED. It gets tricky since the plug is really small, so I had to make a custom plug to get two leads in there. If you are up for it the other way is to solder two wires to the underside of the board where the solder points are - just remember Pin 1 = red.

Guess what, mine worked too. LED electronics check!

We know the switch and LED are okay, and the circuits controlling it are okay, and the wire connecting both are okay... so what's going on!

I popped open the eject and LED connectors to get a better look at what is happening. For some reason, the plugs were not making contact with the pins!

I even tried to use Deoxit on both the connector leads and the receiving / male pins on the board... maybe the contacts were just oxidized?

Same result.

So we were stumped... until Jon noticed the black and red plugs were pulled out from the pins! They were pulled out when I was unplugging the connectors.

It was just a simple matter of pushing the plastic connector housings in until the edges were almost flush with the board. Plugging in the connectors now had a satisfying "snap" as the electrical crimps slid into the receiving pins.


It took a bit more time than I expected, but I'm really happy I now have a perfectly working Apple 3.5" Drive.

tl;dr WD-40 rocks!