• Please review our updated Terms and Rules here

PET 4032 stopped working.

pdblues2231

Experienced Member
Joined
Nov 17, 2025
Messages
124
Location
New York, USA
Hello all,

My first time posting.

I own a PET 4032 with the 12in crt. which was working fine until several days ago. This all happened when I plugged in the datasette. I typed load pressed play on tape and it said searching then it froze. I turned it off and tried again once again it froze this time I unplugged datasets and got machine language on screen. I turned it off again and that was it. No chime, no video. I have pulled the extra ram and just left the soldered 16k. problem persists.
I have checked all relevant voltages(5,-5,12) and are all present. I do have an old HP scope and fluke meter. I don't have an adequate programmer. I am just wondering if anyone can provide any assistance on how to proceed or has encountered such problems.
:(
Thanks for any advice.
attached is the motherboard.
 

Attachments

  • CBM PET 4032.jpeg
    CBM PET 4032.jpeg
    840.9 KB · Views: 13
Welcome @pdblues2231.

My first suggestions would be to check to see if any ICs have worked themselves loose. The repeated heat cycles can cause chips (especially in crap CBM sockets) to pop loose, and make poor contact. Take your hands and press down firmly on each socketed IC. If any make a 'crack' noise and move down, they were loose.
The second idea would be to check to see if you have failed RAM, especially towards the base address. You can place your hands on DRAM ICs and check to see if any are getting hot, while the machine is running.

- Alex
 
hello, and thank you for the quick response..
I have performed the aforementioned suggestions. Removed ic's and used electronic cleaner and to no avail. Non of the ics get hot, the cpu gets warm but not hot. All sockets seem ok and do have continuity.
 
Welcome to the forum!

Sorry if it's obvious recommendations, but: Check all regulated DC voltages. I wouldn't expect the Datasette to be what breaks a marginal component in a way that everything stops working, but you never know. (I don't remember how the Datasette motor circuit works on a PET, but as a comparison on a VIC 20 it's fed by unregulated voltage and the base of the NPN transistor that feeds the motor is roughly held at a voltage that results in approximately 6V for the motor when the motor is on).

Are you 100% sure your Datasette is healthy? I.E. in particular no short circuit between signals due to damaged insulation on the wire or whatnot.
 
thanks for reply, I did check all dc voltages and all seem within specs, cpu is getting 4.9vdc and all other chips, as for the datasette I did check for shorts and none present. perhaps it was a coincidence but unfortunately it happened I believe the datasette are compatible with all the systems(vic,c64) I will try the datasette on my c64 to rule out. once again thanks.
 
hello,
I tested the datasette on my c64 and it seems to be fine.. perhaps this was a coincidence that the PET stopped booting. Any help on what I should do next would be deeply appreciated.
 
Do you have an oscilloscope? If so, check processor clock, and then check for activity on the address and data lines on each DRAM IC.

- Alex
 
Welcome.

Does your datasette have a plastic key in the plug that mates with the PET. If it does, all is well. If it doesn't, have you accidentally plugged it onto the PET the wrong way around? If so, that could be a good way to kill something...

Depending upon which PET you have (and it is getting late in the UK, so I will check tomorrow) there may be more than one +5V regulator. So, just measuring some voltages on some chips doesn't (necessarily) check out all of the voltage rails. Checking on the output of each regulator does.

There are numerous PET posts that I have already made on which pins to initially check on the 6502 CPU itself. If you are unable to find them on VCFED, I will post them again tomorrow. I really must write a 'sticky' on this subject...

I am also the author of a thing called PETTESTER. You can download this for free and (if you have access to a suitable EPROM and an EPROM programmer) you can burn my PETTESTER into an EPROM and exchange it for the existing EDIT ROM in the PET. PETTESTER checks out various subsystems (video RAM, critical parts of the main memory, ROM checksums and then an exhaustive test of all of the DRAM). I can point you at my PETTESTER tomorrow. There is an extensive manual included.

My PETTESTER is also included with two ROMulator products.

EDIT: Your machine is a universal 2. The schematics etc. are here: http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/index.html. There is only one (1) +5V regulator - so all is good with the world!

Dave
 
Last edited:
Hi,
Yes the datasette does have the key in the plug. please direct me towards the 6502 test pins. I don't have an eprom programmer suitable for a PET. However, I have ordered the ROMulator from Bitfixer as soon as I get it I shall perform these tests. As per the schematic VR4 is +5 and it does supply the +5v.

Thank you.
 
I see you have an oscilloscope - that is a good piece of test equipment. My only suggestion would be to adjust the oscilloscope so that we can see the entire top and bottom of the waveform you are measuring. Also, the timebase is a little too slow. Perhaps speed it up so that you see (say) 2 or 3 cycles on the screen. It is much easier to see more details then.

I would also set my Y shift control so that the 0V reference is exactly on the centreline. To do this, set the Y control to 2 Volts/division and connect the oscilloscope's probe tip to the probe's ground clip and adjust the Y shift until the horizontal trace is exactly on the centreline of the screen and leave it there. Every time you adjust the Y volts/division knob - you really need to perform this adjustment.

However, when measuring 5V signals, the oscilloscope trace will now only fill half of the screen. To expand the trace even further (see more detail) I would set 1 Volt/division and adjust the 0V reference to 2 major divisions above the bottom of the oscilloscope screen. This allows us to see as much detail as we can within the 0V to +5V extremes of the signal - and also allows us to see any ringing etc. that may be occurring above and below these limits.

I see a lot of ringing on the HIGH to LOW transition of the clock cycle - but this is a crude design anyhow and is to be expected from a 'budget' design machine!

Right, now to look at the 6502 CPU. Check the following pins of the 6502 CPU (UB14):

Pin 38 (SO) should be permanently HIGH.
Pin 2 (RDY) should be permanently HIGH.
Pin 6 (/NMI) should be permanently HIGH.
Pin 4 (/IRQ) should either be permanently HIGH or pulsing (i.e. not permanently LOW).
Pin 40 (/RESET) should be LOW when the power is applied (for approximately 0.5 to 1.0 seconds) and then go permanently HIGH.

To take the measurement on pin 40, you really need to clip the oscilloscope probe onto pin 40 to leave your hands free.

If you want (to make your life easier) you can solder a normally open pushbutton across capacitor C50 (0.1 uF). This will allow you to keep the power on and to perform a 'soft reset' by pushing and releasing the button. Push (and hold) the button - pin 40 should be LOW. Release the button - pin 40 should go high after approximately 0.5 to 1.0 seconds.

You can leave this pushbutton attached. It may be handy for diagnostic purposes later. Some people even drill a hole in the case and mount the button on the exterior of the case. Usually, switching OFF and then ON an old machine to reset it is asking for trouble - things have a tendency to fail!

Pin 37 (Phi 0) should have a 1 MHz clock.
Pin 39 (Phi 2) should also have a 1 MHz clock.
Pin 7 (SYNC) should be pulsing.

Pin 7 indicates whether the 6502 CPU is actually fetching and executing instructions.

If no activity is observed on pin 7, operate the soft reset pushbutton and observe (on the oscilloscope) whether there is a short amount of activity and then it stops or not.

Where we are looking for a permanent HIGH or LOW with the oscilloscope, you may need to adjust the oscilloscope timebase to see whether there is any high frequency or low frequency signals - or whether it is truly a static HIGH or LOW. There is a way to configure the oscilloscope to look for pulses and to trigger when a pulse is detected. I am not sure how knowledgeable you are regarding the use of your oscilloscope. This is very useful for monitoring pin 7 if it is not already oscillating after initiating a soft reset!

That will do for starters to keep you busy...

PS: You can also use your oscilloscope to look at the voltage rails. We are looking for the correct DC value - but you can also switch your oscilloscope into AC coupling mode and look at the mains ripple and noise on the voltage rails as well. Both of these can cause trouble if they exceed the specifications. I can explain this in a separate post.

By the way, what model is your oscilloscope (so I can look up the manual) - or please point me to an online link if you can find one.

Dave
 
Last edited:
You will find my PETTESTER over here: https://www.zimmers.net/anonftp/pub/cbm/firmware/misc/petdiag/index.html.

Look for:

1763634347913.png

Unzip and read the manual...

Obviously, the bit about burning an EPROM and installing it into the EDIT ROM socket is irrelevant if you are buying bitfixer's ROMulator. Check his github site for details about the switch settings to enable my PETTESTER.

Reading my manual is still required though!

Dave
 
"Machine language on screen" - is the OP saying that the machine now always boots to the inbuilt machine code monitor?

If so, I remember ScottishColin having a similar problem after a cassette port 'incident'.

In that case the PET was going straight into the machine code monitor at boot up because it thought that the DIAG line was being held low, that being one way to force the machine to go into the machine code monitor.

In his case it was one of the two chips with a connection to the DIAG line which had a damaged element and was making the PET 'think' the DIAG line was held permanently low. Not the 40-pin I/O IC but the logic gate IC - sorry but I don't have time to look at the diagram to be more specific.

In that particular case PETTESTER did not reveal anything about the fault because (as far as I know) it does not check or act upon the status of that particular input line.

Edit: I see that in this particular case the machine has progressed to not starting at all, so the above will have to stand as an interesting, but unrelated case history.
 
The OP stated it did that once and now he has a 'dead duck'...

Could have been the DIAG line, could have been a BRK instruction...

Whatever it was, it progressed quickly to a complete failure.

It could be that the PIA has died, and holding the /IRQ line permanently LOW. That would upset the start-up procedure...

Checking the CPU pins (as I have proposed in post #12) will identify a stuck LOW /IRQ line. I have seen this type of fault before.

Dave
 
Hello Everyone,
First and foremost I want to thank you all for your time and greatly appreciate your suggestions. Dave I have performed all given tasks on UB14(cpu) and everything checks out all pins are just as you described. Pin 7 is pulsating. PET is a dead duck(lol). I do have a momentary switch, which I will add temporary. I have ordered the Romulator hopefully it arrives soon. Really want to get this PET back on its feet. Also UB12 and UB15 are socketed I have swap UB15 from my 1541 and the NO change, UB12 was also swapped with another chip and no change. Also thank you for the scope insight I am rusty in the operation of this scope I have included link of manual below. BTW, I also have a logic probe.

HP 5403A
Cheers...
 
Does your datasette have a plastic key in the plug that mates with the PET. If it does, all is well. If it doesn't, have you accidentally plugged it onto the PET the wrong way around? If so, that could be a good way to kill something...
To anyone who lacks that key thing:
One of the common zip tie sizes has exactly the right width to act as a replacement for a missing key on those edge connectors. Just cut it to a suitable length.

In particular it would be great if this tip is broadcasted to everyone making cables and accessories using those connectors. Just two of those off-cuts of zip ties for each of the larger user/IEEE488 port connectors, and one for the Datassette connector, ensures proper orientation and also protects against mixing up the user port and IEEE488 port. (I think it doesn't protect against mixing up the PET and the VIC20/C64/C128 user ports though, so beware of the 9V AC and 5V DC power out on the VIC20/C64/C128 user ports that is on pins that are regular signals on a PET).
 
Excellent work @pdblues2231.

So, the pulsing on the 6502 CPU pin 7 indicates that the CPU is still executing instructions. So, that is good! What we now have to find out is "where"...

Use your oscilloscope on UE12 (74154) and monitor pins 1 to 11 and 13 to 17 (inclusive). Pin 12 is 0V/GND - so no point in checking that.

UE12 is a 4-16 decoder and breaks the address bus up into 16 off 4 KB 'chunks'. Each output pin will pulse LOW when the CPU selects an address within that block of 4 KB.

All pins should be HIGH if the 4 KB memory region is not being accessed and pulses will be observed on the pins of the 4 KB memory regions that are being accessed. Hopefully, the active output pins will align with the chip selects for the various ROMs. We can, therefore, observe (roughly) what the CPU is up to!

Can you also check J7 pin 1 (VIDEO), 3 (V.DRIVE) and 5 (H.DRIVE) to see what activity is on these pins.

Dave
 
Thanks, but honestly you make it easy..excellent instructions you should publish a book. ok.. so UE12 pins 1-11=HI, pins 13-16=HI, pins 17=lo, pin18=lo, pin19=lo, pin20-23=hi, pin24 indicates clipped?
on J7 pin 1 has some activity, pin 3 also and pin 5 image attached.
 

Attachments

  • J7-pin5.jpeg
    J7-pin5.jpeg
    1.6 MB · Views: 6
Interesting.

So UE12 pin 17 is LOW. If you measure pin 20 of the ROM at location UD6 you should identify the same signal - indicating that the CPU is stuck in the Kernal ROM. This may be correct of course...

When you measured pin 4 of the 6502 (/IRQ) at location UB14, was it HIGH or oscillating? If oscillating - at what frequency is it oscillating at?

It is also interesting that you have signals on J7. I suspect (however) that you may need to adjust your oscilloscope timebase a bit - there are way too many pulses there.

The H.DRIVE signal (pin 5) should be oscillating at either 16 kHz or 20 kHz.

The V.DRIVE signal (pin 3) should be oscillating at either 50 Hz or 60 Hz.

All of the signals on J7 pins 1, 3 and 5 should be a healthy 5 Volt swing.

Not sure why UE12 pin 24 should be 'clipped'. This is the VCC (+5V) pin of the IC - so it should be round about +5V. With your 2 V/div oscilloscope setting, this should indicate 2.5 major divisions up from the centre line of the oscilloscope (0V reference).

Dave
 
Back
Top