Last modified: Sep 06, 2019
The earlier section, on Rear I/O, described how the C64 comes with an
assortment of ports along the back. In C64 Luggable, however, most of those ports are not
directly exposed. The display and audio system are entirely internal. The expansion port is
available internally, and can be accessed easily via the hinged rear panel door. The serial bus
is connected to internally mounted storage. Additionally, some ports are connected to adapters
that provide more modern and more luggable–friendly connections, such as for input via PS/2 mouse
and keyboard or networking by ethernet.
If the Rear I/O panel is an analog to the C64's own rear I/O ports, then the C64 Luggable's
Front I/O is most analagous to the C64's right hand I/O, with some juicy improvements.
The C64's right hand side takes the power jack. But this has been migrated to an internal
AT power supply, that powers everything, including the built–in display, via a single AT power
cable that connects to the back. Next comes the C64's power switch. Since everything in C64
Luggable is powered by the AT Power Supply, the C64's own power switch will be left always in the
ON position. But we want the AT power switch to be in a convenient location. It will be mounted
right on the front of C64 Luggable.
Additionally, the C64's right hand side has two input controller ports. Two is better than the
one that came on the Vic-20, but we've had for some time now a de facto standard 4 player
adapter. It connects to the User Port and provides an additional two controller ports. All four
of these controller ports will be mounted on the Front I/O board. This will allow easy access
to plug in joysticks for multi–player party fun. Since I'm creating C64 Luggable for me to use
as a portable machine that runs C64 OS, the mouse adapter is already internally wired up to via
the Rear I/O port. The front controller ports, then, can remain empty, and have a clean look
when using the machine with a mouse.
C64 Luggable has a built–in audio system. We'll get to the speakers soon in the next
section, Front Panel: Speaker Mounting. But in
this section we'll cover how those speakers are driven by a small front mounted stereo audio
amplifier. The amplifier's volume knob will be made available on the Front I/O panel. And finally
the Front I/O board will be mounted to the inside front of the chassis.
C64 Luggable has 4 joystick controller ports that are accessible directly from the front panel.
This makes it a great party gaming machine. I can't wait to play some Shotgun or Frogs with three
In order to get the 2 additional controller ports, I've used one of the 4 Player adapters sold by
Protovision. It's in the Commodore 8-Bit Buyer's Guide, under the
Section: Input, along with a variety of other cool input–related
The 4-Player adapter is a fairly simple device. The C64 has two CIAs, one is dedicated to reading
the keyboard and the two standard controller ports. The other controls the IEC bus, but many of
its lines are connected out to the User Port for add-on hardware, such as an original Commodore
modem, or one of the newer WiFi modems. That CIA, via the User Port, can easily be adapted to
read two more joysticks.
An earlier section, Internal Wiring: Controller Wiring,
shows how the ribbon cables for the main two controllers are put together and fed down behind the
display to be available at the front panel. Two more such cables, shorter, can be made to lead
from the 4 Player adapter to the front panel.
Shown in the rightmost image above, the User Port is next to the bottom of the chassis, and faces
into the middle of the machine, towards the AT Power Supply. With a short board, the board
typically found in the C64c (as well as the C64 Reloaded), there is enough room for the 4 Player
adapter to be connected to the User Port, and for two ribbon cables to be connected to it, and
it still fits in beside the AT Power Supply. Just barely, but it fits. I'd love to take credit
for having measured it perfectly ahead of time, but I can't. The width of the chassis was
originally dictated by the width of the display. That this fits is just a happy coincidence.
Just as with the Rear I/O, I didn't want to permenantly mount the port configuration to the
inside of the chassis. Instead, I've opted to put a small board in place that is mounted to
the bottom chassis, and that has the other ports mounted to it.
The idea didn't work out as well for the Front I/O board as it did for the Rear I/O board, and
we'll see shortly exactly why that is. The Rear I/O board can truly be unscrewed from the
bottom of the chassis, its cables disconnected, and then it can be slid out the back. This will
allow me to create a different configuration down the road. And to swap back and forth between
the configurations depending on how I want it set up for a particular road trip, party or show.
The Front I/O board will not be able to be removed nearly so easily. Again, we'll get to why
at the end of this section.
Many DB9 connectors, such as those on the C64 itself, are designed to be soldered directly to a
circuit board. The C64's connectors are the 90° angled kind, and the block connector is further
bolted to the PCB to relieve stress on the solder joints. Another style of DB9 connector can be
seen above on the 4 Player adapter. Those are designed to be connected to the edge of a PCB, such
that some of the connectors are on the top of the board, some are below.
But what we really need are a kind that can easily be mounted down onto a wood surface. A quick
search of Ebay finds these very cool DB9, RS232 breakout boards. They're very affordable, some
of them are available for less than $2 each. So I bought four of the cheapest ones I could find
that looked like what I was after.
They're male, just like the ones on the side of the C64. They've got a 9-pin screw–down terminal
block at the back. And they've got matching side holes through the PCB large enough to pass some
flat head screws to hold them securely to the Front I/O Mounting Board.
The idea is to put all four in a row, side–by–side, centered in the middle of the front panel.
Just like with the Rear I/O devices, I cut out an underlay from anti–static plastic. I'm not sure
if that's entirely necessary, but something about having electrical terminals pushing into
organic wood just doesn't seem right. A thin piece of plastic cut out with a boxcutter will do
the trick nicely.
Next we have to hook them up to our controller port ribbon wire. Now, looking at the front of
C64 Luggable, you've got 4 ports, left to right. It makes most sense for Port 1 to be leftmost
and Port 4 to be rightmost. Another bit of serendipity, totally unplanned, the ports and hence
the cables from those ports are already lined up in that order. If you can visualize the C64's
mainboard standing on its end inside the chassis. Looking from the front, through the display,
you're looking at the bottom of the mainboard. That puts the power jack near the top, in the
middle. That puts Port 1 closest to the left edge. Then Port 2 just to the right of that. And
finally, Ports 3 and 4 are further right from that, as they come out of the User Port.
Very conveniently, nothing needs to cross over, and the ribbon cables themselves don't even
need to be twisted.
Here's the only gotcha. When you connect one of those self–crimping DB9 connectors to a ribbon
cable, as seen in Internal Wiring: Controller Wiring,
the order of the pins on the ribbon wire is not 1, 2, 3, 4, 5, 6, 7, 8, 9. Inside the DB9
connector you have two rows of pins. 1, 2, 3, 4, 5 on the top row, then it loops back down to
the bottom row, and between each of those pins you have pins 6, 7, 8 and 9. That means pin 6 falls
between 1 and 2. And pin 7 falls between 2 and 3, and so on. Thus, the pins on the ribbon cable
are in the following order: 1, 6, 2, 7, 3, 8, 4, 9, 5.
On the DB9 breakout boards, however, they've taken some pains to make the terminal header more
sensibly laid out: 1, 2, 3, 4, 5, 6, 7, 8, 9. This requires the ribbon cable to have its lines
carefully unwoven, until you get what's pictured below. After wiring up the first one, I
continuity tested all the lines to make sure I'd done them correctly.
The screw–down terminal headers are wonderful to work with. You don't have to solder anything
at all. And you can therefore replace the cables at anytime. It's great. After you've connected
the other four ribbon cables you should end up with it looking like the images below.
I split the ribbon cables, in groups of 9 lines, from a wider cable, probably a 40 line cable.
In order to not be a complete idiot, I used a marker to put a mark on line 1 so I wouldn't get
confused and wire them up perfectly in reverse. Then continuity tested after each one, to confirm.
Now. You'd think that that part of the job is done. My 4 controller ports are mounted and we're
ready to go on to the next phase! Wait, not so fast. I hit a little snag.
Remember how I said I initially purchased the cheapest RS232 Breakout boards that I could find?
Well that turned out to be a mistake. These boards aren't just inexpensive, they are super
cheaply built. They have at least two problems, one of which was annoying but dealable, the other
was face–palm inducing.
These breakout boards, visible from the pictures, have a row of 9 through–holes which are designed
to let you solder on a pin header. From the moment I saw that in the pictures, I thought I'd take
advantage and add the pin headers. That way, again without permenantly soldering it, I could
attach an additional ribbon cable to any port to do something else with it. Who knows, maybe I'd
have an alternative Rear I/O board with controller ports on it. Or maybe I'd move the MicroMys
mouse adapter to one of these cables. I just liked the idea of not being cornered in.
The annoying but dealable problem is that the mounting screw holes are so close to the pin header
holes that they cannot both be used at the same time. As soon as you put screws through the mount
holes, there is no room for the outermost pins on the pin header. Annoyed, I figured I'd just put
up with it and abandon that idea.
Then, when it came time to figure out how to put the metal plate over the Front I/O board, I
thought it would make a lot more sense to just not have those hexagonal nuts. They're usually
used to hold an RS232 cable to the port, to prevent it from accidentally falling out. But,
for a bunch of joysticks that don't have the securing screws, the nuts aren't necessary. Plus,
it would be a pain to shape the front metal plate to accommodate them, so, I figured I'd just
And that's when I found out that the entire metal shield around the pins is only held onto the
rest of the connector via those nuts. Good grief. Usually they're riveted together, and the nuts
are purely optional. Not so with these cheapo boards. Remove the nuts, and the entire connector
Back to Ebay, I found another kind that looked a bit more robust, and cost a bit more. It's hard
to tell exactly what you're going to get from Ebay, and it takes a long time for parts to arrive
in the mail, so that can be very annoying. Eventually, many weeks later, I got these replacements:
On the backside, where the terminal block is, they are the same width, so their spacing ends up
exactly the same. But, for some reason the original ones were narrower on the DB9 port side.
The fact that the new ones are perfectly rectangular actually lets them mount more stably,
side–by–side. The wider PCB means screw mount holes can be further apart, and they don't interfere
with the pin header through–holes.
The hex-nuts are not required to hole these ones together. In fact, you can see the rivets in the
images below. So I soldered on the pin headers, shown below, and replaced the original DB9
Breakouts with these.
In the pictures following these, sometimes you see the new ones sometimes the old ones, depending
on when I took the photos.
This one is pretty straight forward. I want the AT Power Switch to be mounted such that you can
press it on the front panel to turn everything on. The switch is at the end of a short wire
that gives you a nice amount of flexibility in where to route it. The switch has four wires,
blue, brown, black and white that come out of one side, 90° from the direction of travel of the
push button. The side, opposite the side where the wires connect, is conveniently flat.
First thing to do is take a picture or two of the switch with the wires still attached to it.
You can refer back to these photos to remember how to hook them back up later.
It seems obvious that the switch will be mounted against its flat side, with the wires coming
up. It also needs to be positioned back somewhat from the front edge of the mounting board. What
is not obvious is how best to mount it so that it'll stay rock solid through the years that I'll
push the button over and over.
The switch is made of a black plastic molded case on three sides, with a metal plate on the flat,
down side. The metal plate has legs bent up at 90°, that pass through holes in the plastic casing
and then fold over to hold them together. One idea I had was to open the switch up and drill two
holes through the bottom metal plate. The bottom metal plate can then be screwed to the mounting
board, and the whole thing can be reassembled in place.
This plan didn't work. There is even less room inside the switch case than I'd imagined. Even for
just the heads of two small screws, there wasn't enough room. It was impossible to reassemble the
top case. Partly to blame is that the screws were in the middle of the metal plate, but on the
inside of the plastic casing is a divider right in the middle that separates the two sides.
Technically an AT Power Switch is two switches. It's a DPST (Double Pole, Single Throw) switch.
You push one button, and it connects +5V to Load on one side, and it connects +12V to Load on the
other side. The two sides are kept apart by a dividing plastic wall on the inside. You do not
want to mess with removing even part of this wall, at the risk of accidentally bridging the
two switches. That would not be good.
My second idea was to run a flat piece of metal, the kind used to hold heating ducts to the
underside of floor boards, across the metal plate. This way the screws would be on either side
of the metal plate and plastic case, rather than inside it. This didn't work either. Here's how
it looked when I tested it out on a piece of spare wood.
There is no way around it. That case needs to come back together and leaves only paper–width space
for anything to pass through it. Both attempted solutions held the bottom metal plate to the
mount board with sufficient strength and stability. But in neither way could the top case be
put back on.
Now, you can see that the switch has two machined screw holes on either side of the push button.
These are clearly designed for mounting the switch in a PC chassis. But, it's not entirely
obvious how to make use of them. For screws to pass through them, mounting the switch from the
side of the push button, the screws would have to pass through the thin metal front cover plate.
This is not going to work. That metal cover plate is thin and decorative. It's not meant to have
anything mounted directly to it.
Plus, I don't want the switch to be mounted flush with the front of the mounting board. I want
the switch to sit back some, such that its spring assembly never protrudes through the front
I happened to have several AT Power Supplies kickin' around, so I checked them all out to see
if any of them had a different style of switch that I could use. What luck! One of the switches
had a small, roughly square, metal plate attached to it. The square had a hole in the middle
through which the push button passes, two holes lined up with the mount holes of the switch
itself, plus two additional holes at the bottom of the plate.
What I did was bend that metal plate so the bottom two holes are at 90° from the front two. This
allowed me to mount the plate to the mounting board, at whatever distance I wanted, and gives a
beautiful mounting point for the switch. Check out the photos below.
That worked perfectly. The AT Switch case can be fully assembled. I got to keep using the original
switch. It's mounted through the switch's official mounting holes, but it's still mounted to the
bottom mounting board. And it's rock solid when the button is pushed. Nothing budges.
I'm really happy with how that turned out. The only problem is, I don't know if it's possible to
source those little metal plates, I just happened by chance to have found the one I used.
If you're going to have a Luggable computer, you want everything to be built into the same
case with a handle on top. The obvious thing to build in is the display, which is the most
visually prominent part of C64 Luggable. But you also want to have built–in audio. Putting an
audio jack on the back of the computer would be cool, and maybe I'll even get around to that,
but having built–in audio is a must.
There are three main components to any audio system:
The source, obviously, is the C64 itself. And I should add a second SID chip to the C64 mainboard,
but that's not the topic for this section. Like the display is to the whole, the speakers are the
most visually noticeable part of the audio system. But they're the subject of the next section,
Front Panel: Speaker Mounting. What is easy to
forget is the middle piece. The receiver, or amplifier.
The source signal put out by a C64 is not strong enough to directly drive speakers. That signal
has to be amplified, using a powered amplifier that can then drive the speakers with significant
wattage. I admit, I didn't know how I was I going to solve this problem when I first set out.
Some speakers, like PC speakers, have built–in amplifiers. And I considered incorporating some
sort of speakers like the ones shown above. But these also come in their own plastic cases, and
often just plug directly into an AC wall outlet. They are hardly ideal. What would be better
would be to have just a pair of standard speakers, and a separate amplifier. But then, I can't
have a huge receiver with tons of knobs and inputs, all crammed into a space only a few inches
by a few inches.
Ebay to the rescue again. A quick search revealed a variety of similar devices. The one I finally
ordered is a DROK TDA7297 "DC Micro Digital Amplifier." And these things are cheap!
This one only cost about 5$. I actually bought two of them, because I figured I could use the
other one in another project.
This little amplifier is perfect. It consists of a PCB that is only about 2 3/4" square, with
four convenient mounting holes. It has 3 blocks of 2 screw–down terminals: +/- for a left audio
channel, +/- for a right audio channel, and +12VDC/GND for power. The fact that it's powered by
12 Volts DC is perfect, because the AT Power Supply puts out +12VDC. It has no on/off switch,
it simply powers on when the AT Supply is turned on. It has a potentiometer with a plastic volume
knob that juts out the front, opposite a tall heatsink fastened to the TDA7297 dual bridge
It also has a 3.5mm stereo audio jack to connect the source. The only problem is that the input
audio jack is also mounted on the front. But, clearly I don't want to have an audio cable coming
out the front of the machine. The audio source is the C64's mainboard which is in behind the
amplifier. It's an easy problem to solve though. I just desoldered the audio jack from the PCB,
and reattached it to the PCB via three wires. This lets you direct the audio jack up and back.
Here's what it looks like labeled:
It is rated to output 15 watts of power per channel. With decent speakers, 15W is enough to put
out around 100 decibels. You're not going to rock a concert hall with them, but as far as audio
systems for your C64 Luggable are concerned, that should be quite loud. Besides reading some
anecdotal reviews, though, there is no way to tell until you take the plunge and order one for
yourself. Which is what I did.
Before actually going ahead and trying to embed this little guy into the whole, I wanted to test
it out first. In order to hook it up I needed to:
The speakers, which we'll get into soon, are the kind you might find mounted in the doors of a
car. They have standard, flat, connection terminals. The positive terminal is slightly wider than
the negative terminal. A trip to Canadian Tire (an automotive, home and gardening retail chain in
Canada) got me a spool of speaker wire and a pack of crimpable connectors. Of course, I'm a
complete idiot, who has never seen these connectors in my life before. And I didn't own a
crimping tool. So I tried to solder the wires into the connectors. It was messy and the solder
got in the way of making the actual connections, and frankly the joint between the wire and
the connector wasn't that strong. Once I realized that the damn things are designed to be crimped
it all made a lot more sense. I bought a crimping tool, and sheepishly put together a second set
The connectors needed to be loosened just a tad to be able to push them onto the speaker
terminals. Other than that, there's nothing to it.
The AT Power Supply comes with several molex connectors and a couple of floppy connectors. To
do it right, I should have found a male floppy connector to wire to amplifier. But, as it turns
out the female floppy connectors have quite small holes. It's easy enough to insert a piece of
solid core wire into the connector. That worked quite well. My main goal was that I did not want
to cut off the floppy connector, like an animal, and attach the wires directly to the amplifier.
On the AT Power Supply, yellow is +12VDC, black is ground, and red is +5VDC.
I hooked it up to an iPhone, initially, just to test the volume and sound quality. And to see
that it actually works at all. I'm pleased to announce that it works! And, the sound quality
was remarkably good considering the low cost of the device. The volume was also quite acceptable.
Turning it to maximum volume was much too loud for my liking. Around half volume is where I
would probably use it most of the time. And that's good news, because it has a lot of headroom
to make it louder for a larger room, or at an expo or other show.
There was one problem though. Something about it was flaky. Depending on how I moved the
amplifier, the audio would crackle, and sometimes the entire amp would shut off. You can tell
that because it has a bright blue LED to show when it's powered on. Initially, I was pretty
bummed by this. I mean, it's the perfect size, it's powered by the AT Supply, it's certainly
loud enough, the sound quality is good, but it's flaky! Why would that be? It's got no moving
parts, except the volume knob, but it feels solid like a new pot should.
Eventually I figured out what had happened. This device is cheap, after all, so this
shouldn't be a big surprise. The nut part of the screw–down terminals rotate slightly. And they
are soldered through the PCB with a round pin through a round hole. When I was screwing down the
terminals, three of the six solder joints had broken. This made the terminal block kind of loose,
and the connection kind of flaky. Once I realized how simple the problem was, I just resoldered
all six joints, and the problem went away completely.
Whew, that was a close one.
Once I'd confirmed that it actually works, and sounds good, I moved the audio jack up and onto
three extension wires. It's pretty straight forward, it's just three lines: left, right, and a
I then screwed the amplifier's PCB down onto the Front I/O board, on the far right side. And
used a small cutout of plastic beneath it so the terminals are resting on plastic instead of
Just as I did with the Rear I/O board, I mounted the Front I/O board to the bottom of the chassis
using 1 1/4" bolts that pass through a couple of wide flat washers, then through pre–drilled
holes in the Front I/O board, and straight through pre–drilled holes in the bottom of the chassis.
On the underside of the chassis I used the same threaded inserts. As you tighten the bolts, the
four spikes on threaded inserts are pulled into bottom of the chassis. This way, when you remove
the bolts, the threaded inserts stay securely in place.
Ultimately, there is no wear being made on the wood with each insertion and removal of the
bolts. All the tension is against the threaded metal insert, and the flat washers spreading the
preasure out on the top surface of the I/O board.
The idea is to be able to remove those bolts and slide the Front I/O board out through the
cutout in the front panel. The main front panel, like the main rear panel, is permenantly fixed
to the chassis. Then a rectangular notch is cut out of the front panel, through which the Front
I/O board and its components should be able to slide. Then a metal cover plate is attached to the
front edge of the Front I/O board and has precision holes dremeled through it for the various
parts to be accessible. A hole for the power switch, holes for the four joystick controller ports
and for the volume knob.
The difficulty is that the front panel also has to house the speakers. And that means the notch
can only go up so high. Any higher and it would intersect with the speaker holes, and the entire
front panel would loose massive structural integrity. You'll see exactly how this looks in the
next section. I needed to leave a bridge of wood between the speaker holes and the I/O notch.
But, the volume knob of the amplifier, as well as the giant heatsink on the TDA7297 are taller
than the opening of the notch.
This basically makes it impossible to slide out the I/O board ones the front panel is attached.
But, I'm still glad I mounted the components to an inserted I/O board. It'll just be more
difficult if I ever want to change it out. There is significantly less space in and around
the Front I/O than there is around the Rear I/O. It's below the display, behind the C64
mainboard, behind the AT Supply, and crammed in below the back of the speakers. A couple of
people who saw the size of the chassis early on commented on how large it is. It ends up that
most of that space is taken up.
Here's what the final Front I/O board looks like, before the front panel is put in place.
This is a living document. The table of contents is a work in progress,
and the content is only partially written. It will continue to be written as
the project continues to be worked on.