Written and Maintained by Gregory Nacu
 

C64 LUGGABLE PROJECT

Last modified: Aug 02, 2017

Rear I/O

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.

Rear IO ports of the C64c

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 main case.

Instead, C64 Luggable uses the C=Key PS/2 keyboard adaptor, 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 adaptor 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.

C64 Keyboard Sticker Caps

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 adaptor available from Individual Computers or Protovision. This adaptor lets you choose from a wide variety of PC mice, including USB mice with a PS/2 adaptor. You could even choose a mouse and keyboard pair that are stylistically designed to go together.

C=Key Adaptor

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 adaptor 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.

Inset groove for C=Key pin connector C=Key resting on I/O board

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.

Plastic underlay for the board C=Key sitting inset into the I/O board

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.

MicroMys Adaptor

The MicroMys v4 is a PS/2 mouse adaptor. 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.

MicroMys v4 Adaptor mounted beside the C=Key, angled view MicroMys v4 Adaptor mounted beside the C=Key, front view

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.

Network Ports

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.

2 Ethernet Jack wall mount, front view 2 Ethernet Jack wall mount, rear view

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 adaptor is on ebay for just 5$.

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 adaptor, and lined up its ports with the front edge of the two PS/2 ports, and screwed it to the I/O board.

All parts attached to rear I/O panel, top view All parts attached to rear I/O panel, front view

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 plate.

Attaching the Cat5 cable to the wire block After a stretch of Cat5 cable has been installed

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.

Summing Up

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.

Sizing the ethernet cable relative to the chassis Showing the keyboard ribbon cable, front view Showing the keyboard ribbon cable, angled view

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 adaptor is wired up is discussed in the Front I/O section.


Next Section: Rear Panel

Table of Contents



This is a document in progress.
Check back again soon.