• Please review our updated Terms and Rules here

C128D keyboard repair

petervg

New Member
Joined
Aug 4, 2025
Messages
8
Hi guys,

I just purchased a C128D for my collection, but the keyboard doesn't completely work. I wasn't too worried as this is a common issue where keys like W, R, Y, I, P etc are not working. I was able to identify there is a problem with rows 11 and 8 in the keyboard matrix. So either cold solder joint, bad cable, bad connector or a bad CIA.

Non working keys.png

So steps I took to see where the problem comes from:
- Cleaned the whole keyboard (including plungers and PCB. Done this several time for my C64's and Vic20) and I'm very confident the keyboard is fine. Graphite layers are good, no corrosion at all and no damage to the PCB.
- Checked connections of the wire going from the keyboard to the mainboard. I did this with the keyboard and mainboard removed so I could measure the whole assembly including solder joints between the keyboard and mainboard. All connections checked out.
- Checked connections between the SUBD connector of the keyboard on the mainboard to the CIA. All pins are OK.

So I could confirm these connections are working:

Cable test.png

- Next I tested the keyboard using some stainless steel tweezers to active the keys. And the ones that worked when the keyboard was assembled worked as expected, but not the ones that where broken (W, R, Y, enter, ... the ones from rows 11 and 8 in the matrix)

So I expected a broken CIA. Fortunately the C182D has 2 identical CIA's (U1 and U4) so I swapped them to see if this would solve the keyboard issue. But it didn't... with the CIA's swapped the same keys in rows 11 and 8 are still not working which is where I'm puzzled. I also measured a non working key (W) to the cable solder joints, and also that was fine.

The mainboard I have is a revision 7:
Mainboard.jpg

I'm a bit lost here now.. what else could cause 2 rows in the keyboard matrix to fail? Am I correct the overview below is all there is to a keyboard connected to a C128?
Problem detail.png

With kind regards
 
Yes, that's pretty much it. The C128D/DCR's detached keyboard is set up to look like the regular flat 128 keyboard to the computer. If swapping the CIAs didn't change anything, then the problem is downstream of the CIA. There's not much else to go wrong, so most likely it's indeed a fault in the keyboard somewhere.
 
Sorry if I'm Captain Obvious here, but a few details worth knowing:

8x8 of the 8x11 matrix is the same as on a C64 or VIC 20, and the pinout of the DB25 for this part (and RESTORE) is the same as on a SX64.

5x5 of the 8x8 matrix of a C64 or 8x11 of a C128 is connected to the directions and button on the joystick ports. Thus the problematic ROW1 and ROW4 in your case should be connected to joystick port 1.

I recommend just ohm measuring between the keyboard connector (on the keyboard end, if you still have it taken apart) and the pins of the CIAs. Use as little pressure as possible on the CIA pins as pushing probes against those pins might hide a problem with bad contact in the socket.

If you suspect the socket for the CIA might be bad, you could try pushing on these two pins, one at a time, with for example an insulated object with the computer on, and see if the keys start to work when you push on the pins. If so obviously first check for bad soldering and then replace the socket. Tip: Since you are anyway throwing the bad socket away, you can cut it in smaller parts making it easier to desolder. You might even want to cut it between each pin, so you can desolder each pin one at a time.
 
Ok, thanks for the tips! Much appreciated! I do have an SX64 here, but it's not easy to test the C128 keyboard on the SC64 as the connector on this one is located on the bottom and won't mechanically fit. And I don't have the SX64 keyboard cable connector (still looking for that) so I also can't use the SX64 keyboard on the C128D for testing.

But point taken - I'll focus again on looking closer for a bad contact. I already had reseated the CIA and resoldered the socket to be sure, but when I took the chip out I couldn't see any obvious signs of oxidation. Honestly this motherboard is in such a good shape, oxidation would be unlikely (but I've been proven wrong before :-) ).

But sadly enough I'll have to focus on the power supply first. The inlet filter cap exploded yesterday. Fortunately the power supply was on the bench, so no real harm done. I'm waiting for a new inlet filter before I can continue with this.

buuuut... that brings me to a new topic regarding the power supply. I'll make a separate post for that so I don't hijack my own thread.
 
petervg wrote:

> And I don't have the SX64 keyboard cable connector (still looking for that) so I also can't use the SX64 keyboard on the C128D for testing.

Ray Carlsen sells ribbon-type and original-looking SX-64 keyboard cables.

Truly,
Robert Bernardo
Fresno Commodore User Group - http://www.dickestel.com/fcug.htm
Southern California Commodore & Amiga Network - http://www.portcommodore.com/sccan
 
If a regular DB25 connector won't fit the SX64 then you could cobble together some DIY thing by soldering up a cable, cutting off the parts that will not fit, and then solder the connector together if it broke apart while being cut. If you have metal outer sleeves (or whatever it's called?) for the connector you could also solder that in place, to create a DB25 that is as tiny as possible.

IIRC the cable is "straight", I.E. any generic DB25 male-female cable that don't do weird pinout swapping should work. There is probably a limit on cable length, but since the joystick ports are connected in parallel you probably don't need a super short cable.

Otherwise if you have a VIC 20 or regular C64 you could build an adapter. IIRC the connector on the board of those computers have 20 pins, so would fit every second pin of a regular PC IDE/PATA hard disk cable if you want an idea for what you might already have at hand.
 
Ok, I found the problem. I added some ESD protection to the joystick ports, small PCB with 2 SRV05-4 and 2 caps. But on 1 of the PCB's, the SRV05-4 was mounted 180degrees turned causing 1 of the CIA input pins to be pulled low. I removed the protection and keyboard works.
@MiaM - thanks for the tip about the joystick ports. That got me thinking :-).
 
Back
Top