• Please review our updated Terms and Rules here

PET got seriously ill...

track18

Experienced Member
Joined
Mar 12, 2009
Messages
51
Location
Hannover, Germany
Hi there,

recently my CBM 3032, which used to work fine previously, all over sudden ceased to function and started exhibiting the dreaded "garbled screen" symptom... I was quite sad when this happened since I have so many happy memories about this kind of machine -- after all, it was the second computer type (and the first one featuring a CRT and an alphanumeric keyboard) I learned working with back during my school days.

However, reading about several PET ressurections described in this forum raised my hope that also this baby might get revived to its fullest. Alas, though knowing some *very* basics about electronics and digital circuitry, I definitely will depend on the advice of people being more educated in this kind of matter.

So, here's what I've found out so far:


- Powering on: Screen filled with garbled characters.


- Switching off and back on very quickly (approx. < 0.5 s): garbled characters, then (after 1 s or so) blank screen. It seems that in this scenario the boot sequence at least passes the "clear screen" routine. So the $F000 ROM seems principally ok, since this is where the CPU fetches the RESET vector from ($FFFC/$FFFD), and it seems to point to something reasonable. The "clear screen" routine itself seems to be located in the $E000 ROM -- at least this is where I found something that looked pretty much like some code for filling the video RAM ($8000 - $83E7) with space character screen code ($20) when I scanned the corresponding VICE emulator ROM image for the LDA #32 byte sequence (A9 20):

Code:
e246   A9 20      LDA #$20
e248   9D 00 80   STA $8000,X
e24b   9D 00 81   STA $8100,X
e24e   9D 00 82   STA $8200,X
e251   9D 00 83   STA $8300,X
e254   CA         DEX
e255   D0 F1      BNE $E248

So one might assume that the $E000 ROM is also in good shape. No assumptions can yet be made about the other two ROMs, though.


- Re-seating the ROMs didn't improve the PET's condition; so far I haven't dared to re-seat the CPU and the I/O chips since I am not too dexterous when it comes to pulling DIPs out of sockets without bending the pins... Unfortunately neither the video, nor the "normal" RAMs are socketed.


- I purchased a logic probe and had a look at the voltage levels at all the CPU's pins. During a normal powering on, I get the following

Code:
     Pin         Pin
VSS  21 L    ?PH 20 A11
A12  22 ?PH  ?PH 19 A10
A13  23 ?PH  ?PH 18 A9
A14  24 ?PH  ?PH 17 A8
A15  25 ?PH  ?PH 16 A7
D7   26 ?PH  ?PH 15 A6
D6   27 ?PH  ?PH 14 A5
D5   28 ?PH  ?PH 13 A4
D4   29 ?PL  ?PH 12 A3
D3   30 ?PL  ?PH 11 A2
D2   31 ?PH  ?PH 10 A1
D1   32 ?PH  ?PH 09 A0
D0   33 ?PL  H   08 VCC
R/W' 34 HPH  LPL 07 SYN
N.C. 35 -    H   06 NMI'
N.C. 36 -    -   05 N.C
Ph0  37 P    H   04 IRQ'
SOV  38 H    P   03 Ph1
Ph2  39 P    H   02 RDY
RES' 40 LH   L   01 VSS

The letter codes next to the pin numbers describe the sequence of observed signals during start-up. The first letter stands for the first second after power-on, the second letter for the second second (<= no typo ;-), and the last letter tells the signal level which then lasts on. L and H stand for 'low' and 'high', respectively, and 'P' means 'pulsating', i.e. the probe continuously detects L/H transitions. '?' just means that different address and data lines exhibit very different behaviour during the first second; some of them give a H, some a L, and some others something inbetween.

Remark: According to the clock pins (PhX), there is a continuous heartbeat. However, the SYN pin stops emitting pulses after the second second, indicating that the CPU ceased to execute commands. This is in accorance with the observation that both the address and the data bus stop talking to the system at the same time point.

Remark: The last thing the CPU did before halting seems to read (R/W' is H) %11100110 = $E6 from address $FFFF. That's in so far very nice since this is exactly the value that should reside at this address according to the VICE ROM image (and which is the hi-byte of the IRQ vector $E61B). However, what puzzles me is that the IRQ line remains high all the time -- shouldn't there be like 60 incomming interrupt requests per second?


- Since switching the power on and off too often too quickly is supposed to be unhealthy for the CRT circuitry, I decided to install a reset button which would connect GND (from pin 1 of the user port) to capacitor C68 of the power-up reset circuit (well, that's what I was told). The thingy works fine, I see CPU's RES line going L for about one second when pushing the button, and I get the blank "powering off and on quickly" screen.

Here's the what I normally find at the CPU after doing such a reset:

Code:
     Pin         Pin
VSS  21 L    P   20 A11
A12  22 P    P   19 A10
A13  23 P    P   18 A9
A14  24 P    P   17 A8
A15  25 P    P   16 A7
D7   26 P    P   15 A6
D6   27 P    P   14 A5
D5   28 P    P   13 A4
D4   29 P    P   12 A3
D3   30 P    P   11 A2
D2   31 P    P   10 A1
D1   32 P    P   09 A0
D0   33 P    H   08 VCC
R/W' 34 HP   P   07 SYNC
N.C. 35 -    H   06 NMI'
N.C. 36 -    -   05 N.C
Ph0  37 P    ?   04 IRQ'
SOV  38 H    P   03 Ph1
Ph2  39 P    H   02 RDY
RES' 40 LH   L   01 VSS

Remark: According to the activity found on the R/W', address and data lines, the CPU *does* do something. The question remains: what? And again there seem to be no interrupt requests -- the IRQ line remains constantly either H or L.

Remark: Occasionally, after hitting reset the CPU seems to get stuck in a state in which it doesn't talk on to the bus anymore. I missed the opportunity to check all data and address lines, but I suspect it might be the same jam state the CPU's gets stuck in after a cold power-on.


- Months ago I connected a small audio amplifyer to the user port M pin (CB2) for audio output. When pulling up the volume, I hear some interference from the PET's motherboard as a humming or hissing sound of different tones. For instance, after powering on, I first hear the typical 50 Hz of our national AC grid, during the second second there's a kind of beep, and afterwards it's the 50 Hz humming again. When hitting reset, after a second I frequently also hear the beeping "power-on" sound, followed by a lasting hissing which I suppose to be generated by the CPU busily accessing the bus. (Sometimes, however, there's barely any sound other than the 50 Hz, even though the bus lines are busy.) Funny enough, I do not always get the "power-on beep" during reset; sometimes I get a more noisy sound, sometimes just a clicking noise.


- *Very* occasionally (I thing it has happened only twice or thrice) I get another funny screen after quickly re-powering the PET or after hitting reset. It is mainly blank and shows some intermittent lines of garbage, including the words "IGNORED" and "REDO FROM START". Don't remember to ever have them encountered during my school days, though... ;-) [Don't know yet how to show images in-line, but I attached a "screen shot".]



So - for any hints where to go next I'd be really grateful...
 

Attachments

  • weird-pet-screen.jpg
    weird-pet-screen.jpg
    50.9 KB · Views: 3
- *Very* occasionally (I thing it has happened only twice or thrice) I get another funny screen after quickly re-powering the PET or after hitting reset. It is mainly blank and shows some intermittent lines of garbage, including the words "IGNORED" and "REDO FROM START". Don't remember to ever have them encountered during my school days, though... ;-) [Don't know yet how to show images in-line, but I attached a "screen shot".]



So - for any hints where to go next I'd be really grateful...

I don't know too mutch about the PET, but this sounds like some stuff in ROM somehow get transfered to video-memory. I don't know how this may happen, but if you dump the ROMs, I'm sure there is a similar string in one of them.
 
Per,

I don't know too mutch about the PET, but this sounds like some stuff in ROM somehow get transfered to video-memory. I don't know how this may happen, but if you dump the ROMs, I'm sure there is a similar string in one of them.

not quite... At least when hunting the VICE ROMs for, say, 09 07 0d (which would be the screen codes for "IGN") there is no hit. On the other hand, the corresponding ASCII (or rather: PETSCII ;-) sequence 49 47 4e *is* present in the ROM at $CC03. In fact, memory around $CC03 looks like

Code:
cbc0  a2 2a c8 b1  77 f0 6d c8  b1 77 85 3c  c8 b1 77 c8   .*..w.m..w.<..w.
cbd0  85 3d b1 77  aa 20 03 c8  e0 83 d0 dd  4c 52 cb a5   .=.w. ......LR..
cbe0  40 a4 41 a6  0b 10 03 4c  3a c7 a0 00  b1 40 f0 0b   @.A....L:....@..
cbf0  a5 0e d0 07  a9 fc a0 cb  4c 1c ca 60  3f 45 58 54   ........L..`?EXT
cc00  52 41 20 49  47 4e 4f 52  45 44 0d 0a  00 3f 52 45   RA IGNORED...?RE
cc10  44 4f 20 46  52 4f 4d 20  53 54 41 52  54 0d 0a 00   DO FROM START...
cc20  d0 04 a0 00  f0 03 20 6d  cf 85 46 84  47 20 aa c2   ...... m..F.G ..
cc30  f0 04 a2 00  f0 66 9a 8a  18 69 04 48  69 06 85 21   .....f...i.Hi..!
cc40  68 a0 01 20  ae da ba bd  09 01 85 63  a5 46 a4 47   h.. .......c.F.G

All in all, this seems to indicate that it's not just ROM somehow miraculously mirrored into video RAM, but some ROM routine for printing out a text string (thereby converting PETSCII to screen code) does get executed by the CPU.

BTW, I just googled for the meaning of those messages -- the ?EXTRA IGNORED error occured when entering too many (comma-separated, IIRC) items when a BASIC program was waiting for INPUT, and a ?REDO FROM START message was issued when a string value was entered where a numeric value was expected.

Regards --

track18
 
That sure is a detailed diagnosis!

Can't help much, but it's always a good idea to check and clean the power connector pins (and the voltages of course); also, you don't have to remove the chips (and risk bending the pins) to re-seat them - just lift them a bit and push them back down, with a little sideways pressure lengthwise.

Unfortunately problems with 30xx's aren't usually that simple...

Good luck!
 
Wow, quite a story! Before we start analysing the symptoms, though: Do you have the means to check the power supply? Any chips (especially RAM, ROM and the "big four" at the top) running hot? Or not warm at all?

I'd definitely try reseating the larger chips. You can even leave the PIAs out and replace them one at a time to see if either of those is playing up.
 
Hey,

that's amazing -- so many kind replies so shortly after my initial posting!

Wow, quite a story! Before we start analysing the symptoms, though: Do you have the means to check the power supply?

Hm, I don't have an oscilloscope, but my cheap multimeter should do for checking the power supply, shouldn't it? (I haven't searched the web too thoroughly for PET power supply specifications yet, and so far haven't found any which I were able to interpret in a way to give me any clue regaring which voltage should appear at which pin of J8... Any concrete values I should check for?)

Any chips (especially RAM, ROM and the "big four" at the top) running hot? Or not warm at all?

I checked that the other day -- the CPU does get a little warm, the I/O chips stay almost cool, and so do the RAM chips. In fact, the only things that do get significantly hot are the four ROMs -- which is barely surprising if my hypothesis is correct that the CPU does continuously execute some ROM code, is it?

I'd definitely try reseating the larger chips. You can even leave the PIAs out and replace them one at a time to see if either of those is playing up.

<sigh/>I'll do it... hoping my fingers don't get too sweaty... ;-) I guess I'll first try to...

...just lift them a bit and push them back down, with a little sideways pressure lengthwise.

It might take me a day or two, though, to follow all your generous tips since apart from the PET I have a couple of other babies to attend to -- two of them even humanoid and just 8 weeks old! :)

Regards

track18
 
Just put the meter on the 3 test points (12V + 2x5V) or one of the related chips, and wiggle the power connector a bit to make sure there's no noise or intermittent. This was a common problem with the original PETs (as were bad RAM & ROM chips), but not so much with the later dynamic memory boards. Still, never hurts to check.
 
Hm, I don't have an oscilloscope, but my cheap multimeter should do for checking the power supply, shouldn't it? (I haven't searched the web too thoroughly for PET power supply specifications yet, and so far haven't found any which I were able to interpret in a way to give me any clue regaring which voltage should appear at which pin of J8... Any concrete values I should check for?)
Don't worry about measuring at J8 - that is raw power which hasn't been through the rectifiers/regulars yet. As MikeS pointed out, you want to measure at the test points. I take it you have the schematics? If your meter has an AC setting, try measuring with that too. The reading will give you an idea of any ripple riding on the DC voltage.

As for popping the big chips: if you have a long, thin screwdriver, you can get wiggle the back end of them out by coming in from the holes for rear ports. As long as you take your time and alternate between ends, you should be fine.
 
Sorry to hear about your PET. It's always a blow to turn on a beloved machine only to find it suddenly doesn't work (I've just had this experience with my IBM 5051).

The 5051, with it's built in POST messages, seems a little easier to diagnose though.

One other thing to try would be piggybacking an equivalent RAM chip over the existing RAM one at a time and see if that changes anything. Sometimes (not always) this can show up a faulty RAM chip. I diagnosed a faulty Osborne 1 by doing this

If you do this make sure you have the IC in the correct orientation.

Tez
 
The only thing I could suggest is making backups of ANY programmable chips inside these old computers. When I was working in the electronics industry, we had Eproms and EEproms go goofy after being in use for a decade or more. Re-programming the chips usually fixed the problem.
 
The only thing I could suggest is making backups of ANY programmable chips inside these old computers. When I was working in thek18 electronics industry, we had Eproms and EEproms go goofy after being in use for a decade or more. Re-programming the chips usually fixed the problem.
Commodore stuff is pretty well covered in that department, at least the standard ROMs; they're all archived and on the WWW. But there were quite a few third-party ROMS, and I don't think they are all archived; anything in yours, track18, that didn't come from the factory?
 
Hi everyone,

so... I did it -- re-seated the "big four", but no difference in behaviour. (Well, perhaps I should be grateful things didn't get worse...)

Just put the meter on the 3 test points (12V + 2x5V) or one of the related chips, and wiggle the power connector a bit to make sure there's no noise or intermittent. This was a common problem with the original PETs (as were bad RAM & ROM chips), but not so much with the later dynamic memory boards. Still, never hurts to check.

I suppose mine is a dynamic mem board -- all the CBM 30xx had one, didn't they? But anyway...

Don't worry about measuring at J8 - that is raw power which hasn't been through the rectifiers/regulars yet. As MikeS pointed out, you want to measure at the test points. I take it you have the schematics? If your meter has an AC setting, try measuring with that too. The reading will give you an idea of any ripple riding on the DC voltage.

...next challange will be to check the power supply. (Yes, I've seen those schematics before -- but could anybody please give me a clue where to look for those test points?) Just wondering if my meter's 200 V AC setting will be capable of detecting tiny voltage ripples...

Sorry to hear about your PET. It's always a blow to turn on a beloved machine only to find it suddenly doesn't work (I've just had this experience with my IBM 5051).

Thanks for the sympathy -- and all the best for your little big blue precious...

The 5051, with it's built in POST messages, seems a little easier to diagnose though.

*g* Somewhere I read the garbled screen actually *was* the PET's POST message -- saying something went wrong...

One other thing to try would be piggybacking an equivalent RAM chip over the existing RAM one at a time and see if that changes anything. Sometimes (not always) this can show up a faulty RAM chip. I diagnosed a faulty Osborne 1 by doing this

Osborne 1? The mother of all laptops? ;-) Cool...

As for the piggybacked RAM, yes, I've read about this method before -- the only problem is: where to get such an IC from? (Wait a minute -- I still must have some dysfunct VC1541 board -- perhaps I'll find some suitable RAM there? And maybe even one of the VIAs and/or the 6502 is still ok...)

The only thing I could suggest is making backups of ANY programmable chips inside these old computers. When I was working in the electronics industry, we had Eproms and EEproms go goofy after being in use for a decade or more. Re-programming the chips usually fixed the problem.

Well, as MikeS says in...

Commodore stuff is pretty well covered in that department, at least the standard ROMs; they're all archived and on the WWW.

...it shouldn't be any problem to find dumps on the Web. For instance, as mentioned in my previous posts, I've already had a look at the kernal and basic ROMs that come with the VICE emulator. Let's just hope whoever may currently hold the copyright for the old Commodore stuff doesn't start sueing harmless vintage enthusiasts just because.

But there were quite a few third-party ROMS, and I don't think they are all archived; anything in yours, track18, that didn't come from the factory?

Nope, there are no extra ROMs, and when the machine was still working I hadn't realised anything that looked more advanced than BASIC 2.0 ;-)

Now have a good night, and thanks for all the encouragement!

track18
 
so... I did it -- re-seated the "big four", but no difference in behaviour. (Well, perhaps I should be grateful things didn't get worse...)
Did you try removing the PIAs completely? It's a long shot, but it solved a blank screen for me.

...next challange will be to check the power supply. (Yes, I've seen those schematics before -- but could anybody please give me a clue where to look for those test points?) Just wondering if my meter's 200 V AC setting will be capable of detecting tiny voltage ripples...
Voltage regulators are on page nine. All of the test points (which I also never found written on the board) correspond to one end or the other of various diodes, which you should be able to locate using the parts layout picture. Let's just hope the ripple doesn't register on a 200 VAC scale! ;-)

As for the piggybacked RAM, yes, I've read about this method before -- the only problem is: where to get such an IC from?
If you really can't find any I have a few here which I thankfully never needed.
 
As for the piggybacked RAM, yes, I've read about this method before -- the only problem is: where to get such an IC from? (Wait a minute -- I still must have some dysfunct VC1541 board -- perhaps I'll find some suitable RAM there? And maybe even one of the VIAs and/or the 6502 is still ok...)

Yes, these 4116 ICs (I'm assuming that's what they are) are relatively common in early 80s equipment and also on some older PC cards.

Tez
 
Hi Cosam,

Did you try removing the PIAs completely? It's a long shot, but it solved a blank screen for me.

I reinserted the chips in the following order: UC5, UC6, UC7 (I understand that is VIA, CIA2, CIA1) -- but no BASIC welcome message appeared. Do you think it might be worth trying to remove CIA2 while leaving CIA1 plugged in?

Voltage regulators are on page nine. All of the test points (which I also never found written on the board) correspond to one end or the other of various diodes, which you should be able to locate using the parts layout picture.

Yepp, I think I got them. TP10, by the way, *is* explicitly labelled on my PET's board. For TP5 and TP6, I just probed the "anode leg" of the corresponding diode. Ground was taken from user port pin 1 or the internal cassette interface. And here's what I found (meter set to 20 V DC):

TP5: 5.something V, raising to 8.7 V over a periode of 2 hours (initially raising with a rate of a few mV / s)
TP6: 12.something V, raising to 20.3 V
TP10: -5.something V, falling to -8.9 V


Let's just hope the ripple doesn't register on a 200 VAC scale! ;-)

You shouldn't have made fun on this issue... :) Here's what my meter found:

TP5: 17.9 V
TP6: 43.4 V
TP10: no AC

But this just can't be true, can it? I guess my meter's AC setting is actually meant for mains voltage and would give cr*p readings for small AC riding on a DC baseline.

BTW, I just purchased an oscilloscope through some big, fameous internet auction house -- this should help clarifying these readings.

If you really can't find any I have a few here which I thankfully never needed.

Hey, thanks in advance -- I'll fall back on this kind offer if my PET's disease turns out not to be power-supply related and my broken 1541 floppy disk controller's RAM doesn't turn out helpful.

All the best --

track18
 
I reinserted the chips in the following order: UC5, UC6, UC7 (I understand that is VIA, CIA2, CIA1) -- but no BASIC welcome message appeared. Do you think it might be worth trying to remove CIA2 while leaving CIA1 plugged in?
I don't think it would matter, as long as at some stage you had both PIAs out at the same time. I don't think it'll run at all without the VIA though. You should still get BASIC without either PIA inserted and if one was the cause of your problem, removing it should have some effect.

TP5: 5.something V, raising to 8.7 V over a periode of 2 hours (initially raising with a rate of a few mV / s)
TP6: 12.something V, raising to 20.3 V
TP10: -5.something V, falling to -8.9 V
Huh? Are you sure? If the voltage was that high, I'd expect a lot of parts to be getting rather warm ;-) How about at the other +5V regulator (there are two)?

But this just can't be true, can it? I guess my meter's AC setting is actually meant for mains voltage and would give cr*p readings for small AC riding on a DC baseline.
I think it depends on your meter and how it measures AC. I have a digital one that gives that sort of wacky readings when set to AC too.

BTW, I just purchased an oscilloscope through some big, fameous internet auction house -- this should help clarifying these readings.
Well, you certainly sound serious about getting this thing fixed ;-) With a scope and a logic analyser you are better equipped to repair this thing that I am!
 
Hi!

Huh? Are you sure? If the voltage was that high, I'd expect a lot of parts to be getting rather warm ;-)

Well, as sure as my 10 € multimeter allows me to be... Just checked again: right after switching on the voltages are approx. what they ought to be, but the values are raising quickly... I bet in another two hours I'd end up with the same high voltages I reported yesterday.

How about at the other +5V regulator (there are two)?

Have had no time to check -- had to work all day. Tomorrow there'll be a lot of family business to be dealt with, and Friday will be another work day for me. I guess I'll have to wait until the weekend before proceeding with further diagnostic measures...

I think it depends on your meter and how it measures AC. I have a digital one that gives that sort of wacky readings when set to AC too.

Maybe the osci will help clarifying things -- when it arrives. (The guy I purchased it from hasn't given me any payment instructions so far...)

Well, you certainly sound serious about getting this thing fixed ;-)

You bet ya! ;-) I'd love to write some sort of music sequencer for it!

With a scope and a logic analyser you are better equipped to repair this thing that I am!

Oh, I certainly don't have a logic analyzer, just a logic probe! This is a little device that tells me whether a line is high, low or changing its level -- nothing more!

Regards --

track18
 
Hi,

hope you had a weekend as enjoyable as I did... Lots of family and friends for visit -- but little time to look further into the PET business...

Time to replace the battery in your meter I think...

You were absolutely right -- after recharging its battery, the meter now shows reasonable DC values which also don't change over time:

TP5: 5.0 V
TP6: 11.6 V
TP10: -5.1 V

Regarding the AC values, they appear to be equal to approx. twice the DC values:

TP5: 10.2 V
TP6: 24.8 V
TP10: 10.5 V

As for TP10, I only get a reading other than 0 V AC if I reverse the meter's electrodes so that the DC setting yields a positiv value. Dunno, maybe for AC this cheapjack thing only determines the maximum positive value it encounters within each measuring interval and just displays the double value... Well, the osci should resolve this issue once it arrives.

Meanwhile I wonder if it might be worth digging further into the state of the PIA and VIA chips. On the one hand, I might try to figure out if their pins exhibit sensible readings using the logic probe. (The difficulty, however, will be to figure out which readings would be sensible -- information about the PET's inner workings is scattered so much more sparsely over the Web as about, say, the C64's!) On the other hand I might "sacrifice" one of my working 1541 drives and just see if swapping a known-to-be-ok VIA into the PET might help.

Regards --

track18
 
Back
Top