Last modified: Aug 10, 2020
The C64 has an array of I/O ports. As we go around the machine from the right side
to the back and across the back towards the left we have: Two controller ports,
the power switch and power port, the cartridge/expansion port, RF, video/audio,
IEC serial, cassette, and user port. But which of these make sense to be externally
accessible on an all–in–one luggable?
As we've seen above, the computer's switch is left on, and its power port is
connected to an internally mounted power supply which has its own switch that will
have to be externally accessible. The video portion of the video/audio
port too is connected internally to the built–in LCD display. The cassette port we
are unlikely to use, except as a source of power for something else. The user port
and controller ports are discussed in the Front I/O section. It would be nice to
have access to the IEC serial port, along with a power cable for an external
serial device, although this doesn't seem essential. Internal storage and networking
are a much more modern expection from a computer in 2017. The cartridge/expansion
port will only be accessible internally, but that's the reason why the chassis has
an easy–access back door. Possible internal configurations for the internal
expansion port include: 1541 Ultimate II+, 64NIC+, EasyFlash 3 or an REU.
What about the keyboard? Usually a C64 has a built-in keyboard. It is physically
close to the mainboard and connected by a gangling 19–wire bundle. The keyboard
itself and its loose wire connector were not designed to be independent of the
computer and so it doesn't look particularly pleasing when removed from the C64's
Instead, C64 Luggable uses the C=Key PS/2 keyboard adapter, from Retro Innovations.
This is a small square board with two chips that convert PS/2 scancodes into the
C64's keyboard matrix signals. Using this adapter lets us select from a wide array of
PS/2 keyboards in various colors and form factors, all readily available on ebay.
A PS/2 keyboard is typically on a lengthy wire designed to be external to the
computer. Perfect. Almost perfect. The keycaps of a PS/2 keyboard are designed for
PCs, not C64s. The answer to that are the C64 keycap stickers, available in black or
white from 4keyboard.com.
Following the pattern, and to make life easier for people who can't get their hands on
an original 1351 mouse, we'll use a MicroMys 4 PS/2 mouse adapter available from
Individual Computers or Protovision. This adapter lets you choose from a wide variety
of PC mice, including USB mice with a PS/2 adapter. You could even choose a mouse and
keyboard pair that are stylistically designed to go together.
One of the goals of C64 Luggable for me is for the various parts to be modular. I
don't want to just hack and slash, and I definitely don't want to solder any two
parts directly together.
Out of the box, the C=Key adapter has two ways of connecting itself to the commodore's
mainboard. It has a row of 19 pins (a 20 pin pinblock, with one pin removed for
orienting the cable correctly.) But it also has a 20 pin female connector on the
bottom. This allows the board to be coupled directly to the C64's mainboard without
needing an additional ribbon cable. I should note that it's not compatible with the
C64c mainboard. The C64c's keyboard's pin connector is in the middle of the board
somewhere behind the expansion port. There are other components that get in the way
of plugging in the C=Key daughterboard.
The problem is that the C=Key board won't sit flush against its bottom because of
that female pin connector. One option, surely, is to desolder it. But this goes
against my better judgement of keeping the parts modular and as original as possible.
If I ever want to pull the board out and use it in a regular C64, it will have been
mutilated. An alternative is to carve a trough in the wood chassis into which that
pin connector can sit. But cutting a trough into the main chassis of the C64 Luggable
also goes against my vow of non–mutilation.
Instead, I settled on using a small I/O board. This is literally an extra rectangular
piece of wood, onto which the I/O boards will be connected. And then this board can
be fastened to the bottom plate of the chassis using some standard bolt holes. What's
great about this is that we might actually change the I/O board in the future
depending on what cool new hardware is created for the C64. And it will be simple
to swap these boards.
Now, I don't know the electrical conductivity of wood, but I would feel more
comfortable laying the circuitry against a non-conductive plastic underlay. I cut
these out of recyclable plastic lunch trays. They have large flat areas, flexible
and thin, but very tough. The pointy soldered bits on the bottom of the board will
not pierce this stuff.
I cut this piece the same size as the board, and cut out a hole for the female pin
block to pass through. And you can see how the board now sits perfectly flush with
the I/O panel. And can be screwed down through the conveniently pre-existing mount
holes, straight through the plastic underlay and into the wood.
The MicroMys v4 is a PS/2 mouse adapter. It plugs into the joystick ports and has
a single PS/2 port on a tiny logic board that's inside a small plastic case. When a
PS/2 mouse is hoooked up, it emulates a 1351. This is useful for GEOS, or Wheels, or
WiNGs. Or any of a number of stand alone apps and utilities. And of course, C64 OS
uses a mouse driven UI.
There is a sticker on the plastic case that covers over a screw. Remove the screw
and the two halves of the plastic case come apart very easily. Now, if the board were
oriented orthogonally to the screw, there would have to be a hole right through the
middle of the board. Much the way there is a standard hole in C64 cartridge boards to
accommodate the screw that usually holds the two halves of the cartridge case
together. However, the board is on its side and the screw passes over it.
None-the-less there is still a hole in the board. Unfortunately it isn't centered,
but it'll still work.
I'm screwing these boards down to the I/O panel, because I want those ports to be
accessible from the back panel of the finished C64 Luggable, but I also want them
to be steady and stable so we can plug and unplug cables from them.
One more thing. On the bottom of this board, the solder joints on the jack itself are
quite tall. A good few millimeters more than the solder joints on the other components
at the back of the board. This means if you just screw it to the I/O panel, it will
put the jack at an awkward angle. Instead, I cut out several layers of plastic
underlay with cut outs to accommodate the taller solder joints. These stack together
to even out how the board sits.
Next I butt it up edge to edge with the C=Key board, and aligned the front edges so
that the jacks line up. And then pass one screw through the single hole. It's not
as stable as I'd like, but it gets better after we lay down the network port board.
You can see how it looks above, with the two PS/2 boards side–by–side. Also, the
keyboard has a black jack and the MicroMys has a silver one. So it'll be easy to tell
which is for the keyboard and which the mouse once everything is closed up.
The board has a small pin block, to which is connected a very short cable with a
DB9 female jack on the other end. This is meant to plug into the one of the joystick
ports, however, given where the board is now situated, it's quite a distance from
where those ports will be. How the the joystick ports are wired up is discussed in
the Front I/O section.
C64 OS is going to have support for TCP/IP over ethernet. It'll be a tough challenge
to get it working, but it's a serious goal. What that means is that C64 Luggable
needs an ethernet port.
The expansion port will have either a 64NIC+, or a 1541 Ultiimate II+, or something
with an RR-Net compatible ethernet port on it. The only problem is that that port
will be floating somewhere on the inside of the main chassis. What we need is to
get that port mounted on the rear I/O panel for easily hooking up a network cable
wherever we go.
I searched around ebay for a while until I found this little unit. It's exactly what
I was looking for. It has two Cat5 ethernet jacks mounted on a small board, in a
plastic case. The board and case have two holes right through the middle so we can
securely mount it to the rear I/O panel. This wall mount adapter is on ebay for just
I decided to keep this board inside its bottom plastic case, which holds the circuit
board with little clips. The bottom of the plastic case is perfectly flat and meant
to be mounted to a surface. So I butted the edge of this up against the MicroMys
adapter, and lined up its ports with the front edge of the two PS/2 ports, and screwed
it to the I/O board.
A few things to note here. The box is meant to be mounted to a wall. So the
expectation is that you'll use flat head screws that are like an inch long. The head
on an inch long screw is big enough that it won't pass through the wholes in the
bottom case. However, to mount this puppy to the I/O panel, I'm using 3/8" screws. In
order for the heads to not pass through the holes I had to use washers, but the
washers have to be slipped under the clipped down board. Removing the board from the
clips is not recommended because you're likely to break the clips.
Getting both washers in place, above the holes, requires tilting the jack mount and
tapping it gently. Once you've got one in place you can drop a screw through to keep
it there. Then you'll want to get the next one in place like that before screwing it
to the I/O board. Otherwise, you'll be tilting and tapping the whole I/O board to
get the other aligned. It reminded me of one of those christmas stocking stuffer
games where you've got get a bunch of ball bearings into the holes, but the whole
unit is sealed up.
You'll notice that part of the case sticks out past the edge of the I/O panel. I
let it do that on purpose because I want the jacks themselves to line up. Afterwards
I'll use the dremel to sand that extra bit off before attaching the rear metal face
The board has a block of wire connectors, labelled for the two different pin color
wiring standards. The two main standards are T568A and T568B. The colors of the wires
are different between the two. But jack comes with a manual, as well as an on board
sticker, that makes it very easy to know which colors of wires should be connected
to which connector.
I found an old ethernet cable, that was labeled T568B. I cut off a good length, maybe
a foot and half long. It has to be long enough to go from the I/O panel's board up
to the ethernet port of an ethernet cartridge. But not so long that you end up
with a bunch of coiled up cable inside the case.
Before punching the cables onto mount board, I tested the wiring just to be sure it
conformed with the label diagram. To do this I just plugged the cable into the jack
and used a continuity tester between the labelled connector block's pins and the
various wires at the cut off end. The cable indeed matched the wiring pattern of the
label for T568B.
Use an exacto knife to carefully peel back and cut away about an inch and a half of
the cable's outer sheath. The line up the colored wires according to the diagram. To
punch them into the connector block you can use a special tool, but I don't have
that tool and just carefully used the edge of the exacto blade instead. It worked
perfectly, it's very easy. After all the wires are secured, I checked with the
continuity tester to make sure the pin block and the wires are making good
connections and there were no problems there.
Lastly, the wall mount has a couple of zip ties built in. You just zip tie down the
cable to take any stress off the pin block connector. And then trim the zip tie's
excess bit. And you can see in the photos above how that ends up looking.
When we put the I/O panel into place beside the AT power supply, we can see how
the cables for the keyboard and network fit in.
The first image there gives an idea of how long the ethernet cable is, relative to
the inside of the chassis. It won't have any problem reaching an ethernet cartridge,
nor will it have so much excess that looping or coiling will be necessary.
And next, we see where the C64's mainboard is positioned. It stands vertically
between the back of the display and the back of the rear I/O board. The joystick
ports, power port and switch are at the top. Obviously, so the bottom edge can sit
flat against the bottom plate of the chassis. On a C64c motherboard, this puts the
keyboard connector block up about half way up the chassis.
The keyboard connector is just 20 pins (19 pins, because one pin is missing.) But
they's in a single row. I'm using a 40 pin IDE ribbon cable, which works just fine
as long as you connected both sides properly. Fortunately the orientation of the
C=Key board and the C64's mainboard are the same, so the ribbon cable does not need
to be twisted. Which is really nice.
And lastly, just to mention again, how the MicroMys adapter is wired up is discussed
in the Front I/O section.
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.