Thursday, 21 August 2014

Commodore Pet Repair Part 3 - Power, Reset, Clock

This is the third part of the restoration of a Commodore Pet 'Fat 40' 4032. You might want to start at Part 1. The story so far: empty 4032 case being filled with parts from a donor rusty 8032-SK. The main board cleaned up quite well, there were a number of chips corroded, which needed replacing. Three of the 40 pin chips and three of the 24 pin ROMs were socketed, and the sockets all looked a bit suspicious. In the end, I removed and socketed all the 40 pin chips and the 24 pin ROMs.
I could then try the newly restored power supply. With those chips all removed, and the monitor disconnected, I tried the power. All the voltages seemed OK, so I powered off again. That's the first point checked off, Power. Next to check is reset. On the Pet (and most of Commodore's computers), the reset pulse is cleanly generated by a 555 timer. I checked that and it seemed to be sending out a clean pulse. So far so good, next the clock.
The 8032 board has a 16MHz clock, divided down to 1MHz for the processor. Or at least it should have. This one didn't. It appeared one of the legs of the crystal had corroded, so I replaced it. I used a low profile crystal as I had one to hand, and I wasn't keen on the way the old one rested on a couple of resistors. I may change it to a larger one to be more authentic, maybe not. With that replaced, the clock was coming through properly at 16MHz. So that's all the main requirements to keep the CPU happy, clean power, clean reset and clean clock. Time to install some chips.
There are 5 40 pin chips:
  • A 6520 PIA for the GPIB/IEE488 interface
  • A 6522 VIA for the user port and cassette interfaces
  • A 6502 CPU
  • A 6545 CRTC display controller
  • A 6520 PIA for the keyboard
Checking over those, the 6545 wasn't working, and one of the 6520s was too badly corroded. The IEE488 PIA is not required unless using that port, so I can do without that for the moment. I replaced the 6545 with a known working 6845 which should also work here. Time to power on. No chirp from the sounder. I tried connecting the monitor, but all I got was a blank screen (or rather a bright green dot in the centre), so I turned that of quickly. Normally it gets tricky at this point. Something is stopping the CPU executing the ROM code and setting up the CRTC to drive the screen and the I/O chips to make the chirp. This could be any number of things, bad ROM, bad RAM, bad glue logic, bad CPU, wind in the wrong direction, wrong coloured shirt etc.
Now was the time for the 6502 ROM/RAM replacement boards, the Pet was the main reason for I built those. It is a great tool to have at this point, as it can bypass the onboard ROM, RAM and glue logic and at least get the CPU up and running. Credit again to the original designer of the ROM/RAM board. His site has GAL logic terms for 2001 Pets, VIC20's and disk drives. So I had to write the terms for the 8032. It turned out not to be too different to the 2001, just a larger ROM area for the BASIC 4, and I changed the RAM options to 16K or 32K.
I also needed to compile an EPROM image of all the Pet 4032 ROMs. I got the images I needed from the invaluable resource at zimmers.net. The 4032 and the 8032-SK would have had almost the same set of ROMS:
  • 901465-22 - 4K BASIC 4 Kernal
  • 901474-04 - 2K Editor
  • 901465-21 - 4K BASIC 4 ROM
  • 901465-20 - 4K BASIC 4 ROM
  • 901465-23 - 4K BASIC 4 ROM
The only difference is in the editor ROM. The 4032 has a 40 column display and 32K RAM. It has the same 12" monitor as the 8032 (80 Column, 32K), hence the 'Fat 40' name. The board I have from the 8032-SK is one of the later 'universal' board which can be configured as 40 or 80 column. Currently it is 80 column, and I plan to leave it that way for the moment. I'd like to the final machine to be a 4032, so I will be converting it to 40 column, possibly switchable to 80 column mode. The editor ROM is changed depending on screen size and keyboard type.  There are also 50Hz and 60Hz versions of the editors, which confuses things further.
The Pet came with two keyboard types, the 4032 has the 'Normal' or 'Graphics' keyboard, which rather oddly has no numbers above the letters, only symbols. The numbers have to be typed on the numeric keypad.
The other type, as would have been fitted to the 8032-SK is the 'Business' keyboard. This has the numbers, but no graphic symbols. Both are in need of a good clean! Commodore appear to have generated three of the possible combinations, 40 N, 40 B and 80 B, but no 80 N. All of the later computers had business keyboards. Some kind person at the Vintage Computer Forum has merged those to create the missing 80 N. That is what I have used for the moment, as the board is 80 column, but the keyboard is Normal.. Since there is space for 4 sets of ROMs, I had one with 80 N 50, one 80 B 50 and one 40 N 50. I also added an 80 column memory test ROM image (I'll insert the link when I find it).
I plugged this into the board, with it set to replace both ROM and RAM, and switched on. I was relieved to hear the power on chirp, and connecting the monitor, there was something on the screen.
Ah, the old familiar problem with Pets, garbage on the screen. But still this was progress. The test setup is ready to fix the rest of the pet.
I think the first task is to fix the video circuits.....

UPDATE:

The new V2.0 6502 ROM/RAM boards are available now.

UPDATE 2:

The V3.1 ROM/RAM boards are now available.