Saturday 7 November 2015

Commodore PET 2001-8 Mainboard Repair - Part 2

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

Part 1 of this Commodore PET 2001-8 repair left the main board running, but with most of the parts replaced.
In that state it's all working, so now I can put back any of original parts which are working. I used the ROM/RAM board to identify the faulty ROM and RAM chips. The latest version allows me to test individual ROMs (or pairs or ROMs). From this, four of the seven ROMs were bad.
To test the RAM chips, I used the PET tester ROM image which tests the first 1K of RAM. By shuffling the 6550s into the right most sockets, I was able to find a pair that worked. I can then test all the chips using one good one and one potentially bad one at a time.
This is a typical result, G shows a good bit, B a bad one. If you look carefully, you can see a couple of bits of memory that actually work. Fourteen of the eighteen chips were bad. I did manage to get it to work as a 2K machine.
But that's not much use as there is just under 1K available to use. Fine if you are a ZX81, but not much use here. Notice the old character ROM is still in there - 1023 BYTES FREE. This was before that new character ROM was installed.
There are replacements for the 6550s available, each using a single 2114 chip, but replacing all of those would work out rather expensive. Given that four of the ROMs were also bad, we've gone for the option of leaving the ROM/RAM board in place. This comes with the option of running with BASIC 2 and 8K of RAM as it originally was, or selecting from 8K, 16K or 32K RAM and BASIC 1,2 or 4, so you can have the fully loaded 32K and BASIC 4. I was, however, able to use two of the working 6550 RAM chips from main RAM to replace the video RAM.
The CPU and keyboard VIA were confirmed as faulty, the other VIA was just bad contacts. The PIA was also fine after the edge connectors were cleaned. One datasette was still not working. I noticed the central leg on one of the TIP 29 transistors was actually snapped. I've unclipped the heatsink to show it more clearly.
These transistors are 'flapping about in the breeze' with clip on heatsinks, and so prone to stress the legs. One looked to have been replaced in the past, but I replaced both anyway as it looked like it that could be starting to go as well. These control the motors in the datasettes, and they are now both working. Later PET boards had these riveted to the boards, with no heatsinks. Later still, on things like the Commodore 64, the transistors were back to levitating above the board.
The two bypass capacitors on the main rectifier diodes were also down a leg each, so I replaced those.
The originals were rather large 10nF ceramic capacitors, so I replaced those with 10nF axial ceramic capacitors so it wouldn't happen again. It would work (and obviously had been working) fine without them, they just reduce the RF noise a bit.
This also shows the replacement power socket. This is a new one as the original had wires soldered onto it. To go with that, I made up a new wiring harness, but have also supplied a short lead with just with 5 wires, in case the owner prefers to avoid soldering to the transformer and keeps the terminal block.
With everything back together, I can get back to testing. The original 2001 has a built in diagnostic, activated by a special loopback plug on the user port.
When that is running. a small square moves over each position on the screen, then it shows the character map and lights the red LED on the board if all is well.  You can just see the LED in the centre of this photo, artistically framed by the keyboard loopback plug.
Not that useful really, later PETs replaced this with the machine code monitor - which is why the monitor is sometimes activated when you have problems with the 6522 VIA that monitors the diagnostic pin. At least you can see the problem with the character ROM has been fixed.
The owner had requested a PET microSD to go with their newly repaired PET. I initially had problems with the IEEE-488 on this PET, testing with my IEEE-488 diagnostic board showed up intermittent connections on the edge connector, but after a good clean, it was fine.
Don't worry, I won't be sending it back with all those boards hanging out the back, I'll be using the internal version of the PET microSD, to keep it all self contained and tidy.
That normally gets it's power from the internal power connector which is fitted on most later PETs. The 2001 doesn't have that, so for these. I supply a longer lead with a clip on the end to attach to the unregulated 9V supply, right where it enters the board on the reverse protection diode.
This should minimise the impact of the PET microSD on the power supply. The original board would have drawn between 3 and 4amps on the 9v rail. With the ROM/RAM board, this is now about 1 amp. With the PET microSD, it's around 1.1 amps.
Here is the final repaired board, ready to go back.
The main issues:
  • Faulty ROM and RAM - replaced by ROM/RAM board
  • Faulty CPU - replaced with NOS 6502
  • Faulty keyboard VIA - replaced by WDC 65C21N
  • Damaged TIP29s - replaced by NOS TIP29
  • Partly faulty character ROM - replaced by 2716 EPROM and adapter
  • Faulty video RAM - replaced by 6550s from main RAM
  • Soldered on power cable - replaced by plug and socket and new wiring harness
That's has been run in with various tests and seems very stable. The only real issue being the noise on the screen when updating fast which is inherent in the design of the 2001.
The result of all of this? - my Tetris score is getting better....