Thursday, 27 November 2014

Commodore 8032 Main Board Repair #1

Following on from the repair work on my Commodore Pet 4032 earlier in the year, I've got a few more Pet board repairs coming up. This first one is from a blog reader in the States.
It is an early 8032 board, unlike the later universal boards (like the one I started with from an 8032-SK), this one is 80 column only.
It would have been manufactured in early 1980 (based on the chip dates), and contained the first version of one of the BASIC 4 ROMs (901465-19). This was changed shortly afterwards due to various bugs (I can't find any information on what the issues actually were).
Later boards had this chip replaced with 901465-23. I have a similar 8032 board which has a ceramic version of this, from later in 1980.
The fault is the usual nothing on the screen, no startup beep. So to start with, I remove any socketed chips and check the board for shorts on the power rail. I then power up without the main chips and check voltages and that nothing is getting hot.
Next I put back the minimal number of known working chips (6522, 6502, 6545, keyboard 6520), using the ROM / RAM replacement board to bypass the onboard RAM and ROM chips. Optimistically connecting a keyboard and the video to the 4032 monitor via an extension lead.
That's a good start. That's using replacement chips, bypassing the onboard ROM and RAM, but it does prove the power, clock, reset, video RAM, character ROM etc. are all working.
I checked the ROM chips in an EPROM programmer, and found that the 901465-22 Kernal ROM was not working, so replaced that. I also temporarily substituted a 901474-04 (80 column, normal keyboard, 50Hz editor) for the 901474-03 (80 n 60Hz), but later found it worked well enough with the 60Hz chip. With those replaced, I could turn off the ROM part of the ROM/RAM board and it ran OK.
Next was the RAM. 16x TMM416D-4 (4116 clones), and unusually, it all seemed to be working.
The final step was to the 5 main chips. I replaced my test chips with the originals one by one. The 6522 VIA and 6502 CPU were fine. It wouldn't boot with one of the 6520 PIA's in. The top (or left in that picture) 6520 is only for the GPIB port, so isn't needed to boot, so I removed it. The other 6520 PIA was OK, and finally the 6545 CRTC. That didn't work. These are a bit difficult to get hold of, so I replaced with a pin compatible 6845 CRTC.
The 6520 was replaced with one of the new WDC 65C21-N chips, again, a pin compatible replacement. With those in, it was running standalone for the first time in a while.
The ceramic chip and the chip with what looks like a price sticker on are expansion ROMs. The purple ceramic chip marked '8032' has a string table in. It appears to be 'Command-O' (c) 1980 Rob Chang. This is a BASIC extension that adds commands such as renumber etc. I couldn't find any further documentation on it. To enable it, type SYS 36864 (or SYS 9*4096 if that's easier to remember). It's renumber function was quite useful, so I took the opportunity to renumber a few of my test programs that have evolved a bit messily over time. It doesn't seem to work without the other chip, although that is a 1K PROM with no string table?
As a burn in test, I left it running a simple program
   10 print chr$(142)
   20 print chr$(205.5+RND(1)); 
   30 GOTO 20
This just generates a random maze from / and \ graphics characters (line 10 puts it into graphics mode).
It seems a good test as it repeatedly does it bit of maths, and you can see if it gets it wrong. It also fill the screen buffer so you can check that. It's also quick to type in, testing all that side of things as well. This failed after a while, jumping into the machine code monitor.
Reinstalling the ROM / RAM board in ROM mode, it ran for half an hour without a problem. Switching out of ROM mode and back to the onboard ROMs, it only ran for a few minutes again. After trying various things, I noticed the 901465-19 ROM was getting rather hot. I didn't have another of those, so I went for the later 901465-23 which fixed the ROM bugs (maybe the bug was it crashed after generating random numbers for five minutes?). With that replaced. it ran that maze test program from about 4 hours without a problem, so I think that's fixed. For further testing I run my memory test program a few times, and all passed with no problems.
Finally, I tried a number of games from tape. Many of the games do not work well or at all on 80 column screens, which is why I converted the board in my 4032 back to 40 columns.
The titles from Revial Studios do work, but just use the left hand side of the screen. Still very playable and Down is quite addictive. All in the name of testing of course.
And there it is, ready to go back to be reunited with it's original case.