Sunday 1 November 2015

Commodore PET 2001-8 Mainboard Repair - Part 1

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

Here we have a 2001-8 board in for repair.
This is an early model with 6540 ROMs and 6550 RAM.
The first thing you would notice is the power cable, I don't like the look of that. It appears someone has cut off the original connector and soldered the wires onto the board.
At some point later, they wanted to remove the board, so cut the wires and use a screw terminal block to reconnect it. It then got sold on in that condition, and also not working. Thanks to the new owner for the photo of the board in situ.
I'll replace that with a plug and socket later. For the moment, I'll temporarily power the board from a 9V bench power supply, clipped across the reverse protection diode.
The rest of the board looks in reasonable condition, although, the CPU isn't sitting properly in the socket.
The same with some of the other chips - could I be that lucky?
No. I removed and reseated all the chips and tried it, but that didn't help. It wouldn't have helped either if it had be run with the chips making partial contact for any length of time. My usual tests of power, clock, reset were all fine, but the screen was showing what looked like some really complicated version of Hopper.
So, not all that bad, some things are running, but not enough. Time for one of my ROM/RAM boards.
I set that to replace all the ROM and RAM and powered on.
OK, not as bad as it looks, the mess at the top looks like it is trying to show the right thing. A bit of maths and checking with the PETSCI character set, and it appears that the lower 4 bits are stuck high. So,
should be
The space is 0x20, and / is 0x2F. The numbers are 0x33 etc. and ? is 0x3F. The upper case letters are in the range of 0x40 and 0x50, so are replaced by 0x4F (O) and 0x5F ().
I verified this using the PET tester ROM image on the ROM RAM board, this was meant to be the full character set, but as you can see, it is mainly runs of 16 identical characters with the odd exception.
The video RAM on the 2001 is a pair of 6550 RAM chips. So the one of these which handles the lower nibble is faulty. I had previously made a board to replace the video RAM, using a modern SRAM chip. It is actually 32K, but only 1K is used. That may be considered a waste, but it is cheaper and easier to find than using a pair of 2114 chips to make 1K. This sits across the two video RAM sockets. I've added a cut out for the decoupling capacitor in between to help with orientation of the board.
I had thought I could get away with only the RAM chip on there as most of the enable lines are tied high on the video RAM, but when I tested this on another board, I found it is going to need some logic to combine the read/write line and the clock, so it only writes on the high phase of the clock. I've designed a new board, but for the moment, I'm stuck with a 7400 bodged on the top, dead-bug style. Not pretty, but good enough for testing.
That did indeed work, so I reinstalled the working 6550 and borrowed a 6550 from the main RAM and tried again. The borrowed 6550 didn't work either. After trying four of the 6550 chips, I got lucky and found another 6550 that worked.
That's not quite right though, It seems several characters seem to have a built in underscore. Here on the full character set, you can see if consistently affects certain characters. Ones where the character code ends in a 5, %, 5, e, u, E, U etc. and only on the last row of pixels?
I puzzled over what could be causing that for a while, but it just came down to a duff character ROM. I did consider building a circuit to blank out the bottom row of pixels on certain characters, but that would be been quite a bit of work to fix the one faulty chip. It could also get worse over time, so best replace it.
That is a MOS MPS 6540-010, MOS produced their own ROM and RAM chips for a short while, but they were quickly abandoned, and a year after this board, they were using 2716 compatible ROMs and 2114 SRAM in the 2001.
There aren't any EPROMs that will directly replace the 6540, but you can get very nice replacements on ebay. I was going to make my own, but this looks a very neat job, so I used one of those. I'll take a point off though, as the label was upside down.
At this stage of testing, the 2001 board has replacement system ROM and main RAM. Replacement video RAM, Replacement video ROM. Replacement power supply. Replacement monitor (composite video out board) and a PET microSD IEEE-488 disk drive replacement. There is also a piezo on the user port to make sounds.
With these modern replacements, the power consumption is just under an amp. With the original chips, it's between two and three amps.
That runs stably now with no other problems showing up. This is post is already too long, so I'll split it up. In part two, I'll finish off cleaning the board and put back as many working parts as I can and sort out the power connection.
In the mean time, more testing required, Tetris this time, since I don't get to test that much as it doesn't work on later PETs.