fachat
Experienced Member
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....
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: