So now I have a working Apple IIe, and an ability to put software on it, my mind turned to games, and more importantly, how to control games.
You see, unlike almost everyone else, Apple had joysticks as an afterthought. (Apparently Woz wanted to play Pong). As a result, the Apple 2 supports one Analog joystick with two fire buttons, made up of the two pong controllers with their buttons. Also, to complicate things, they were made with 150kΩ potentiometers, which apparently nobody makes into joysticks any more.
I had initially thought about scratch building one, based on the work of Quinn from BlondiHacks. (Go watch her YouTube, it is both informative and entertaining). I even got as far as buying some components and designing a controller. In the end I was put off by the recalcitrant nature of my Apple II europlus.
But now, now I had a REAL computer and LodeRunner was beckoning! Taunting me!
Yes I could play it with keyboard… just. But it wasn’t fun.
What was a hacker to do?
Well, while thinking back to Quinn’s blog post above, and referring mentally to building my first Arcade Cabinet (Oh god! FIFTEEN years ago?) I remembered a trick where you could use off the shelf Arcade bits to fake an analog joystick. Arcade buttons have both a Normally Open (NO) and a Normally Closed (NC) connector on each, so you can get sneaky!
I also happened to own a LOT of Arcade bits still, as I had planned on building a tabletop machine that never eventuated. (Maybe one day I’ll get the bug again)
Off to the shops and I purchased a packet of resistors and some cable and I had a joystick! It wasn’t pretty and it was ungainly but I was playing LodeRunner like a champ! Well, I was once I got the axis in the right order. Yep. I had a 50% chance and I got it wrong. But it was playable!
And that was that for a few weeks until I attended an Amiga User’s group meetup where I purchased 2 PC joysticks and a Apple 2 memory card. It was that sort of meetup 😀
One of those joysticks was glorious. A true salute to retrocomputing.
I knew I had to get this plugged into the Apple II. Initially I tried to reverse engineer something. I knew the IBM used 100KΩ pots, and I could use Quinn’s maths to calculate that I needed a 10nF capacitor to make it work, but I was a bit worried by the buttons.
Then I thought “I bet someone has already solved this problem!” and a bit of Googling later and I had this!
I figured I could do a nice version of this, with a case and a neat little veroboard PCB in about half a day.
About this point, a friendly soul on AppleFritter contacted me and offered me a disk controller card for my Apple II europlus. Did I want to trade anything for it? I suggested I had some PC joysticks and was about to build an adapter? He said he was interested in two as a swap so away I went. Oh, and that I should join the Apple II mailing list for Australia.
The second topic posted? “Anyone have an Apple II joysitick?”
How could I resist?
A quick discussion ensured and I agreed to sell him an adapter with an IBM joystick for a reasonable price. He was happy. I was happy. All I had to do was make them…
It took all weekend but I got there. In the end I mucked up exactly one thing. Stupidly, I forgot (As I do every time) that IEC adapters change the wires order to 1-6-2-7-3-8-4-9-5. D’oh!
A quick resolder of my original model and away it goes!
So for each of them I made a small circuit for the 2 resistors and 2 capacitors. I had to narrow the metal of the DB15 (And then file it off so there were no rough edges). Each board had to be soldered to the two connectors, and due to clearance issues, I had to ever so slightly widen the case at the DB15 end.
Why is the 9 pin on a short cable? Because that way it won’t be acting as a very effective fulcrum on the Joystick port on the back of the Apple II.
WHAT WOULD I DO DIFFERENT IF I HAD TO DO IT ALL AGAIN?
Well, lets say I had to do a whole bunch of these, there are certainly a bunch of changes I’d make.
- I’d make a PCB.
- That PCB would have the DB15 mounted on the edge of the board, to save space. Also a LOT easier to solder than individual wires.
- The other end would have a 10 way pin header so I can make up a cable with IEC connectors on each end. It’s SO fast to make.
- I’d add an inline potentiometer on the X and Y axis so you can really tune them in.
- I’d set up a rig so I can repeatably mill out the ends of the cases.
- I’d find a suitable tool to allow me to nibble rather than file the ends of the DB15 connectors in a neater way. I’m sure there’s something out there.
So it was a weekend’s work but I learned a lot and was VERY happy with the result. Oh and LodeRunner is a lot easier with my lovely retro-joystick.