• Please review our updated Terms and Rules here

Repairing a 9" 4032 PET

fachat

Experienced Member
Joined
Apr 24, 2010
Messages
125
Location
near Heidelberg, Germany
Hi there,

I am in the process of repairing a 9" 4032 PET (you might have seen my question about the 12" screen on a 9" PET)

The current status that the display on the screen is stable, but the characters are all missing the bit 2 (value 4). So the login message "COMMODORE" becomes "CKIIK@KRA"... But what's more is that it only shows "88" bytes free and also behaves somewhat strangely (e.g. the boot prompt is all in a single line). Keyboard input is basically ok (only bit 2 is missing on screen), "Return" as well as "crsr right" do not work, so no simple testing.

With a scope I measured D2 on UE8 (the video RAM data bus driver) and actually confirmed that on writes, D2 is always zero already (trigger on pin 19 = write enable, measure pin 13 or 14 = BD2, then press "4" to get a value with D2 set written to screen -> D2 is always zero!)

So my next assumption was that UE9 could be broken. It buffers the CPU data bus to RAM (DRAM and Video). This could be the single problem for the display and the strange behaviour. I measured, but on writes as well as reads, the output sometimes is 1 and sometimes 0, so no bit gets lost. Same for UI10, which buffers the data bus to the dRAM, seems ok so far.

Then I accidentally shorted some pins with the oscilloscope probe, and the screen got filled with character - while the system was still running. Luckily there were characters with bit 2 set. Moving the cursor on top of that character I confirmed that the CPU can actually write characters with D2 set to the screen!

So the problem must be elsewhere. I am here just speaking out (ahem, writing out) my thoughts, to find out what it could be and what not.

- Display RAM as well as screen output seems to be ok
- Keyboard I/O seems to be mostly ok, as basically all keys work. Some keys only print their respective character with bit 2 masked though
- Somewhere in character processing the bit 2 gets lost. Not only printable characters are affected, but also control characters. On the boot message that is printed from ROM(!) the CR gets lost (CR = 13 -> 8+4+1 -mask-> 8+1 -> 9 = TAB). Also from keyboard input the CR is not working but prints a TAB on screen (judging from the cursor movement)
- If RAM is affected, not all locations are affected, as the screen output (cursor movement, etc) does not give hints to incorrect memory values
- None of the RAM chips gets warmer than the others

It could of course be a single bit in the RAM IC that's stuck low, but that is difficult to find with such a non-working system. Could be a ROM problem? Unfortunately all but one ROM (besides charrom) is soldered in. The socketed ROMs and the CPU (the only socketed 40pin chip) I have of course already taken out and reseated, to no avail.

I wanted to repair this machine to test my 65816 CPU board with it, but now I think I'll jump ahead and put some working 4032 ROM into the CPU board's ROM and run it from the board, only using the I/O from the system...

Any help appreciated
André

Edit: Argh, can't edit the subject....
 
Last edited:
André,
From these symptoms, it seems a shorted data bit 2 (RD2) in the lower 16K of RAM. Try piggy backing a 4116 RAM chip on J7 and see if things change a little. It may not however if RD2 on J7 is a 'dead short'. You may have to replace it and see if that fixes the problem.

If your version of PET has a built-in assembly language monitor, you can display some blocks of RAM and see what the contents look like.
-Dave
 
Dave,

as I wrote, I can not use the keyboard as the CR is mutated to a TAB character - so no commands to enter, not even monitor.

But anyway, I get a success, sort of.

I put my 65816 board into the 4032 and programmed some boot code into the board's ROM, including a known-good copy of the ROM
http://www.flickr.com/photos/afachat/4961310278/

Et voilà, I got it to run at amazing speeds :)
http://www.flickr.com/photos/afachat/4960705675/
(Note the number of screen cycles if faked. The 4032 actually has around 16000 cycles per screen, but my test programm assumes 20000 to calculate 1MHz system clock...)

It's currently running some burn-in so I can be sure that the 65816 board works in the 4032 (it hasn't been tested there before), but so far I am confident that it works out ok.

What I now know is that the I/O works - I can load files via IEEE488, and use the keyboard ok.

Next step is write a test program that compares the ROM with what it should be, and more important, do a RAM check of the system RAM. So I can more easily determine which RAM is broken (if it is)

André
 
Hi there,

I am in the process of repairing a 9" 4032 PET (you might have seen my question about the 12" screen on a 9" PET)

The current status that the display on the screen is stable, but the characters are all missing the bit 2 (value 4). So the login message "COMMODORE" becomes "CKIIK@KRA"... But what's more is that it only shows "88" bytes free and also behaves somewhat strangely (e.g. the boot prompt is all in a single line). Keyboard input is basically ok (only bit 2 is missing on screen), "Return" as well as "crsr right" do not work, so no simple testing.

With a scope I measured D2 on UE8 (the video RAM data bus driver) and actually confirmed that on writes, D2 is always zero already (trigger on pin 19 = write enable, measure pin 13 or 14 = BD2, then press "4" to get a value with D2 set written to screen -> D2 is always zero!)

So my next assumption was that UE9 could be broken. It buffers the CPU data bus to RAM (DRAM and Video). This could be the single problem for the display and the strange behaviour. I measured, but on writes as well as reads, the output sometimes is 1 and sometimes 0, so no bit gets lost. Same for UI10, which buffers the data bus to the dRAM, seems ok so far.

Then I accidentally shorted some pins with the oscilloscope probe, and the screen got filled with character - while the system was still running. Luckily there were characters with bit 2 set. Moving the cursor on top of that character I confirmed that the CPU can actually write characters with D2 set to the screen!

So the problem must be elsewhere. I am here just speaking out (ahem, writing out) my thoughts, to find out what it could be and what not.

- Display RAM as well as screen output seems to be ok
- Keyboard I/O seems to be mostly ok, as basically all keys work. Some keys only print their respective character with bit 2 masked though
- Somewhere in character processing the bit 2 gets lost. Not only printable characters are affected, but also control characters. On the boot message that is printed from ROM(!) the CR gets lost (CR = 13 -> 8+4+1 -mask-> 8+1 -> 9 = TAB). Also from keyboard input the CR is not working but prints a TAB on screen (judging from the cursor movement)
- If RAM is affected, not all locations are affected, as the screen output (cursor movement, etc) does not give hints to incorrect memory values
- None of the RAM chips gets warmer than the others

It could of course be a single bit in the RAM IC that's stuck low, but that is difficult to find with such a non-working system. Could be a ROM problem? Unfortunately all but one ROM (besides charrom) is soldered in. The socketed ROMs and the CPU (the only socketed 40pin chip) I have of course already taken out and reseated, to no avail.

I wanted to repair this machine to test my 65816 CPU board with it, but now I think I'll jump ahead and put some working 4032 ROM into the CPU board's ROM and run it from the board, only using the I/O from the system...

Any help appreciated
André

Edit: Argh, can't edit the subject....

Well, great work! You have helped me to improve my knowledge about this field. Thank you so much for sharing.


__________________
Watch Alpha And Omega Online Free
 
André,
From these symptoms, it seems a shorted data bit 2 (RD2) in the lower 16K of RAM. Try piggy backing a 4116 RAM chip on J7 and see if things change a little. It may not however if RD2 on J7 is a 'dead short'. You may have to replace it and see if that fixes the problem.

Hi Dave, you hit it right in the middle :)

A small memory test (running in my 65816 CPU replacement board, but testing the PET's RAM) shows that indeed in the lower 16k, on some memory locations D2 is "broken".
http://www.flickr.com/photos/afachat/5004703464/

I'm heating up the soldering iron...

André
 
André,
From these symptoms, it seems a shorted data bit 2 (RD2) in the lower 16K of RAM. Try piggy backing a 4116 RAM chip on J7 and see if things change a little.

As far as I understand it should be I7 and not J7 though. Tracing the schematics gives that A14 must be low for /CAS0 to be active, and /CAS0 goes to the Ix RAM chips.

Right?

André
 
As far as I understand it should be I7 and not J7 though. Tracing the schematics gives that A14 must be low for /CAS0 to be active, and /CAS0 goes to the Ix RAM chips.

André,

Yes you are right, chip I7 is data bit 2 of the lower 16K. Congratulations on fixing your machine!
-Dave
,
 
Back
Top