Showing posts with label Restoration. Show all posts
Showing posts with label Restoration. Show all posts

Sunday, 16 December 2018

Commodore 128 Keyboard repairs

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

It's about time I did something about the keyboard on my Commodore 128D. It does the job, but there are a few issues with it.
Firstly, the + key is missing from the numeric keypad, and the key stem is broken.
And also, the Caps Lock switch is a latching switch and that is completely missing
The other issue is this is not the standard UK keyboard, it seems to be a German QWERTZ keyboard, with the alternates on the Z and Y keys.
The symbols keys are just mad though, what's going on there? 0 = and 0 again on the 0 key, * * and + and the * key, Eh? I just don't understand what is going on there, and it's a bit of a pain to find the right one when typing.
To help with this, I have a keyboard from a broken slightly yellowed flat C128. I'm a bit scared to remove that address label on the bottom as it looks to have been there a long time, so will probably be a different colour underneath.
This one also has issues. Caps Lock is present, but all the other buttons next to it are broken off. The top row of keys stick up the most, so are often the ones to get damaged in storage (or when being pulled out of a skip).
Apart from the function keys on the end, they are C128 mode only, and are not recognised in C64 mode (even the arrow keys are ignored). The 40/80 key is there, but again is alone in it's group, and also the switch is broken.
The function keys are all there, two of the arrow keys are missing and the ; ) key is stuck down and repeating.
The keyboards are actually almost identical, the main difference being the cable. On the C128D, this is a two foot cable with a 25 way D male connector on.
On the flat C128, it is a six inch cable with a sort of square 25 way D female connector on.
The same PCB was used for the flat C128 and the original C128D, with either a pin header for the internally connected keyboard on the flat C128 (below).
or a right angled 25 way D female on the C128D (above).
As with most Commodore keyboards, to do anything with these involves desoldering the connections to the latching switches (three of them on the C128 boards) and removing hundreds of tiny screws.
Whilst it's apart, it's a good opportunity to give the contacts a good clean.
Putting it back together, I added some tape over the place where the cables were soldered on. All the VIC20 / C64 keyboards had this from the factory, but neither of these 128s did.
The metalwork is identical, so I ended up swapping the PCBs around to make things easier. They both have the same mounting holes and angled sections etc. so it's was a straight swap. I used the key stems from the two top row arrow keys and the - on the keypad to replace the broken / missing ones on the good keyboard and to provide the most useful keys on the other.
I have rearranged things to give one standard UK keyboard with a full set of key switches, and one made from the leftovers, including all the QWERTZ keys with the extra symbols on. (and before anyone asks, I don't have any spare keys available. Every time I do a post like this, I get people asking for spare keys. Sorry, as you can see I've used them all)
I had been asked for a Commodore 128 USB keyboard controller, so that was another reason why it was a good time to run through this as I had it around for testing. I've built a few of these C128 USB keyboard controllers, but not enough to have done a custom PCB (yet), so this is adapted from one of the my generic boards with a 25 way D connector on a ribbon cable. I have used a 25 way D male IDC connector with the shell removed. It's not a perfect match for the pin header on the C128 board, but it works fine.
The board with the leftover keys has all the keys required for C64 mode, and the caps lock switch moved along with the 40/80 cap on it as the 40/80 switch is rather important - how many C128s are thought to be broken because 40/80 has been pushed down and it's in 80 column mode.....
That all tested fine, so will be quite handy as a keyboard for bench testing C128 boards, when I won't be too bothered about the extra symbols or missing C128 mode keys.
To test the good keyboard I will be using for my C128D, I used an alternate ribbon cable (if I tell you the 25 way D connector was purple, can you guess where it came from?).
That also tested all fine, so back into the case and it looks alright. A bit yellowed, but evenly so, and not obviously made up of bits of two keyboards.
I know I have tested it as a USB keyboard, but I wanted to retest it on the C128D itself.
That's all back together with the similarly yellowed C128D-CR and a 1901 monitor.
And yes, of course I tried out Rodman.
The CRT monitor is always nicer to look at, and clearer in the s-video and RGB modes the C128 generates, but I still tend to use pictures from an LCD monitor in these posts as it is easier to photograph, apart from in C64 mode, where the light blue on dark blue colour scheme rather confuses my camera.
Sometimes on these posts I end up with a folder full of unusable photos as I try to surprise the camera by coming at the screen at different angles.
Sometimes I give up and have to cheat and poke the VICs background colour register to black (see next week's blog post...)

Friday, 7 August 2015

Commodore PET 2001-8 Repair - Part 1

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

Look what's just arrived, my latest acquisition, a Commodore PET 2001-8.
Looks in very good condition so far, and quite a low serial number 8411?
It still has the screws holding the lid closed, they often tend to be missing.
I've been after one of these for a while, quite an iconic piece of kit. The design dates back to 1977, although this one is from late 1978.
One of the earliest home computers, fighting for it's place with the TRS80 - both of which seem to have been forgotten by Apple fans. But neither of those have bonet props, so the PET wins for me.
These first PETs have chiclet style keyboards, the same layout as the later graphic keyboards, and the built in datasette drive.
Inside it was very dusty, doesn't look to have been touched for a while. The gap in the dust is where the keyboard cable was resting.
The large number of chips at the bottom show this is an early one. The 2001-8 comes with 8K of RAM and 7K of ROM. There were a few different versions of the 2001-8, some had 6550 RAM, some had 2114 RAM. Some had 6540 ROMs, and some 2716 compatible ROMs. This is the earlier combination, 6550s and 6540s.
That's going to be fun as replacements for these are very difficult to find, as I think they were only used in the PET.
The rest of the board has the CPU, I/O and video circuits, along with another 6540 character ROM and two more 6550s as the screen RAM. This looks rather random compared to the later more regimented board designs. All looks reasonable inside, time to turn it on.
It does a few different things on power on. Most of the time it boot up, then locks up, often with a few characters appearing on the screen first. And no, there isn't a key stuck down, it does the same with the keyboard unplugged, but thanks for the suggestion.
Other times you get the traditional garbage on the screen. This is sometimes misunderstood. When the system powers on, the contents of the screen RAM is random, and before the software in ROM is running, the video circuits do their job and show this on the CRT. It is always there, but usually disappears before the monitor warms up. Once the editor ROM starts up, it clears the screen and puts up the traditional '*** COMMODORE BASIC ***' prompt. So in this case, it hasn't run long enough to clear the screen.
Time for one of my ROM/RAM boards, but the 2001 boards have unusual chip sockets. They have extended sides so the make contact with the pins all the way up side. This means the usual turned pin headers I use on the ROM/RAM board do not fit very well.
I've built up a special ROM/RAM board with different pins, using the bottom half of some stackable headers.
This make good contact with the socket. I've loaded this up with various versions of BASIC suitable for non CRTC PETs like this 2001.
With the ROM/RAM board taking over, everything seems to be fine.
This ran various memory and system tests for several hours and all was well, so all the rest of the board is OK, the problem is the ROM or the RAM.
Leaving the replacement ROM enabled, but boing back to the original RAM, also ran for an hour or so with no problems. That's a relief, all the 6550s are OK.
So the RAM is OK, but to help isolate the issue, I've switched back to the replacement RAM and then enabled the original ROMs. That failed straight away with the original problem.
So the issue is the ROM, one or more of 7 6540s. Oh dear, however, the ROM contains the original buggy BASIC. You can tell the version from the header line. I count the points at the top of the first symbols. BASIC 1 has asterisks, *** COMMODORE BASIC ***, and BASIC 2 has hash signs ### COMMODORE BASIC ### is BASIC 2. (BASIC 4 actually says it is BASIC 4 *** COMMODORE BASIC 4.0 ***).
So for the moment, I'd be happy to leave the ROM/RAM board in place. I'll probably remove the precious working 6550s and the suspect 6540s. This will also significantly reduce the power consumption, so it should run cooler. The ROM/RAM board can be set to the upgraded 32K and BASIC 4, or can match the original 8K and BASIC 1.
Either way, it can play Space Invaders.
Although if I want to use the PET microSD disk drive to load it, I need BASIC 2 or BASIC 4. But first I will need to fix the IEEE-488 port, as that doesn't appear to be working.
I see a sticker above the datasette port, looks like someone was trying to tap power off it. 5V is still OK, but the transistor is probably gone on the switched 9V as the external datasette port isn't working. So, lots still to do on the 2001. It needs a full strip down and clean up.
The internal datasette drive is basically a normal datasette bolted to the underside of the lid. That is not working, it also needs a clean up and a new belt.
The monitor seems fine, and seeing the PET tester cycle through on the black and white display on this PET reminds me of a project I'm currently working on, here is a sneak peak.
This will be a plug in board which will replace the onboard video circuits to test PETs with display problems. This scans screen RAM to show an exact duplicate of the PETs screen on a 2.2" 240x320 TFT display, even if there is a problem with the onboard video circuits.
That's still a prototype, but I hope to make that available soon as a companion to the ROM/RAM boards.

Update:

The pins fitted to the current stock of boards suit all socket types, so the long pins are no longer required.

These boards are available to buy from my Tindie Store, alongside the new smaller PET ROM RAM board.


2022 Update: The LCD project never happened as I wasn't able to get a reliable supply of good LCDs. But the principles used in it led to the development of the Mini PET.
The redesigned small version of the PET ROM/RAM boards are still available from  TFW8b.com