• Please review our updated Terms and Rules here

CBM 3032 Board Issues

Wreck

Member
Joined
Jul 2, 2020
Messages
49
Location
Basel, Switzerland
Hello Forum

I found the forum (and the incredible wealth of information available) whilst struggling to "fix" my three CBM3032s sitting in my basement.
I am an electronics "newbie" , and have little knowledge of the subject (I know how to use a multimeter, got a logic probe and an old Oscilloscope at hand).

As I mentioned before, I have two non working CBM3032s on my bench; one shows the garbage screen, the other has probably worse issues.
I am focussing on the garbage screen machine; I measured voltage on the main regulators, checked resistors and confirmed that all components get current.

The machine still wont boot up, I suspect somehow the cpu is stuck at some point (is there somewhere reference about the individual "steps" the 6502 performs chronologically?).

I used a ROM/RAM board, but there is no difference. Pressing the reset button on the board just changes some of the random chars into small font.

If I "wiggle" the board, there are sometimes vertical lines appearing, striking through the characters. I will eventually try to post a picture, as it is a bit difficult to explain.

I was thinking to replace the Elkos to rule out some gremlins - but when looking at replacement elkos, I am surprised to see their size is almost half of the old ones. I am a bit unsure about that.

I will try to measure all pins on the 6502 and check their state with the probe, maybe this could hint to something.

I am very grateful and happy for any tips :)

Thanks

Joe
 
Hi Joe,

As this is your first post, welcome to VCFED.

You will be initially moderated, so your posts can take a while to come through. Stick with it and check back on a regular basis.

If you look at any of my posts (or dave_m) on the Commodore thread related to 8032s, you should find quite a number explaining the step by step process to go through.

The key pins to measure on the 6502 are:

Pin 40 (/RESET). This pin should be LOW for about 1 second after powering up, and then should go HIGH.

Pin 4 (/IRQ). This pin should be HIGH or pulsing LOW. Never permanently low.

Pin 6 (/NMI). This pin should always be HIGH.

Pin 2 (RDY). This pin should always be HIGH.

Pin 39 (Phi 2). This pin should be oscillating at 1 MHz.

Pin 7 (SYNC). This pin should normally be LOW, but pulsing high every time the 6502 CPU executes an instruction. If this is pulsing, the CPU is executing instructions (just not necessarily the correct instructions).

Can I suggest you put your location in your profile?

By the looks of it you have all the necessary tools.

Can you program EPROMS by any chance (or have access to someone who can). I wrote a PETTESTER EPROM (that replaces the EDIT ROM) that could be useful to you if we can demonstrate that the CPU is actually trying to execute some code! Your location would help if you can't program an EPROM. Someone local (or at least within the same Country) and is a member of VCFED may be able to do that for you.

Dave
 
Hi Dave

Thank you very much for your welcome here at VCFED.org.

I updated my profile (location), as you suggested, and I will dive further into the depths of the forum :)

Thanks for all the tips regarding the 6502; I measured the pins as you suggested;

Pin 40 (/RESET). This pin should be LOW for about 1 second after powering up, and then should go HIGH. Tested & OK

Pin 4 (/IRQ). This pin should be HIGH or pulsing LOW. Never permanently low. Tested & OK

Pin 6 (/NMI). This pin should always be HIGH. Tested & OK

Pin 2 (RDY). This pin should always be HIGH. Tested & OK

Pin 39 (Phi 2). This pin should be oscillating at 1 MHz. Tested & oscillates nicely at 1 MHz

Pin 7 (SYNC). This pin should normally be LOW, but pulsing high every time the 6502 CPU executes an instruction. If this is pulsing, the CPU is executing instructions (just not necessarily the correct instructions). This pin is LOW permanently, no pulsing at all.

While I was at it, I was checking (according the schematics) if all the other pins on the 6502 have good connectivity with the relevant "counterpart" elsewhere on the board. I found no issues.

Strangely, a few days ago when I was doing some troubleshooting suddenly the familiar ***Commodore XXX*** picture appeared. the cursor was blinking and the whole system was "stable" for maybe 30 seconds, then hanging. A few minutes later the whole "normality" was gone, and the garbage screen was back.

Now since the 6502 is not executing any instructions (pin 7 LOW), it would be interesting to find out why. Is there any "list" of a normal CPU boot sequence?

What would you suggest doing next?

Thank you :)

Joe
 
...I have, so far, no way to program EPROMS (I need to research this topic first, find good equipment etc). But this might definitely be one of the next steps.

Thanks

Joe
 
There are a few VCFED guys in Switzerland.

The fact that your machine did start once us good - it indicates that there is nothing permanently faulty with the machine.

Unfortunately, these are the worst kind of fault to potentially find...

The fact that you get no SYNC pulses indicates that the CPU has stopped executing instructions (i.e. the CPU is not following the correct start-up sequence).

There are a number of issues that could be at play here:

Something is temperature dependent. Using a hair dryer and a can of freezer spray on selected components may help to identify the culprit.

Have you got the dreaded white IC sockets? If so, you may find that one/some/all of the sockets are not making good contact with the IC pins. You could try gently removing each IC and reinserting them again. Visibly inspect the IC pins for signs of dirt or oxidation etc. whilst they are out of the IC socket. If you do this, do one IC at a time and ensure you put it back in the IC socket the same way as it came out. Look for the cut-out or pin 1 marker on the IC to indicate orientation. Don’t touch the pins of the IC - they are static sensitive. You could also try a bit of electrical contact spray.

You could have some “on the edge” RAMS or ROMs. We could identify this with my PETTESTER ROM.

The other thing I could think of could be excess flux during the PCB manufacture that has not been cleaned off and is causing issues with the PCB tracks or connections.

After that, we are looking for an intermittently fault IC or connection.

You could try the IC removal/reinsertion trick and/or electrical contact spray. Don’t buy spray that leaves an oily residue behind. There are electrical contact sprays specifically designed for switch contacts etc.

My EPROM programmer is out of action. Can anyone else offer to program my PETTESTER code into an EPROM for a reasonable price?

Dave
 
Just a thought...

If you permanently connect your oscilloscope to the CPU SYNC pin, what do you see when you turn the power on?

You should see a burst of SYNC activity and then nothing as the CPU starts to execute instructions, and then disappears into the weeds and halts.

The other way to see if the CPU executes (and correctly decodes addresses for the RAMs, ROMs etc.) would be to build a NOP generator. This is nothing more than a couple of IC sockets with the CPU data bus pins of the CPU disconnected from the rest of the PET logic and forced to $EA (a NOP instruction) with a few resistors. You remove the CPU from its socket, install the NOP generator and plug the CPU into the NOP generator.

The result of this should be to observe SYNC pulses continuously and you should be able to poke around with the scope and see all of the ROMs and RAMs being selected correctly. We can also look for faulty buffers and bus contention with this device.

I would, however, do the simple things first... White IC socket connections!

You said in your original post that you had tried a ROM/RAM board. Whose make? Some of them have some form of PET diagnostics built in.

I will wait to hear from you again before posting any more :).

Dave
 
Hi Dave

Thanks for your very informative reply! I really appreciate your time and effort.

When I got the board I carefully washed it and let it dry; whenever I"work" on it, I use an antistatic wristband, just to make sure not to damage sensitive stuff.

I am using the "ROM/RAM Board" from Tynemouth. This has the (your?) testing element included. I am. However (most of the time) unable to get it running; the only reaction on the screen (when pressing the reset button) is change from large font to small font garbage screen. There is something strange there..

I made sure the CPU and the other chips work - had them in my working CBM, just to ascertain there is nothing wrong.

I tested Sync with my scope but there is no activity.

I will re-check all current and make sure the dreadful white sockets have good connectivity...

I will report back :)

Thanks

Joe
 
..So I removed all the white sockets, cleaned all the pins, and tried to power on; no difference.

Also I used some freezer spray on some "warm" components - no difference.

I will try to build the NOP generator, and see if this might point to something.

In the meantime I was re-checking the power supply on the PCB and did not find anything suspicious.

The only question mark here are the capacitors; I guess they would have to be removed before correct measurement (?). Perhaps I should use the scope to measure them?

Also I was thinking of the Elkos; would it make sense to replace them to prevent issues?

Well after I will be done with the above, maybe I should start to measure the CPU address lines?

I am aware that troubleshooting needs a very methodical approach - personally I try to stick to whatever advice I am given.

One thing that bothers me is the ROM/RAM board (Tynemouth); the reset button only triggers "small" font from big font, and does not initiate the whole CPU startup sequence. This seems to be strange, and I am wondering what steps the CPU actually does? Is there any reference somewhere?

Thanks

Joe
 
Finally some (very) minor success; I found the reset button on the ROM/RAM board would only toggle from large to small font on the garbage screen. Found the component in UA3 (SN74S04N) responsible. I "piggybacked" a working chip on top, and now at least the ROM/RAM board is able to reset, and it is nicely toggling between the ram test / garbage screen.

When selecting the DIP switches to the onboard ROM, the screen blanks (I guess the CPU is doing something), but thats all.

Also, Strangely when connecting a datasette to the CBM and powering on, the datasette starts but never stops. This is definitely something I will have to look into as well.

I will dive into the schematics tomorrow, and connect the scope to pin 7 of the cpu to see what activity there is.

Also, if time permits, I will manufacture a NOP generator and try what that hints to.
 
>>> Thanks for your very informative reply! I really appreciate your time and effort.

No problem, that's why we are here!

On an 8032, Univ or Univ2 - UA3 is not an SN74S04N?

I am not sure what an "Elko" is unfortunately...

You're doing everything right, so just carry on in a methodical way...

If the SN74S04N (whichever component it was) appears to be faulty, have you replaced it yet? There are six (6) individual inverter gates in this type of package. SO, whilst you have got it to reset, there may be another gate in another part of the circuit that is still faulty. If you could identify the correct IC identification number please (and what is the long number on the PCB itself to identify whether you have an 'original' 8032 or a Universal or Universal2).

The Tynemouth card has it's own tester, not mine. Mine is free and fits in place of the PET EDIT ROM!

I wouldn't bother to replace any capacitors at the moment. Put your oscilloscope on the voltage rails and see how much ripple is on there. If it is minimal, don't bother = they are either working or not in sufficient a bad condition to cause problems.

If you can run with EXTERNAL ROMs and get the screen to clear, this means that the reset vector and the initial handful of instructions in the kernal ROM is running and the EDIT ROM is initialising the hardware and clearing the screen. It is then going into the weeds...

Check the SYNC line again and see if it is running or whether it has stopped again. If it is still running, the CPU is actually doing something. If it has stopped, the CPU has halted.

If you have the Tynemouth card fitted, I would try and get that to work FIRST. This should bypass the PET ROM and RAM and requires the minimal PET sub-systems to work. I would also enable the Tynemouth TESTER.

After you make a change, retest the CPU pins identified above. A duff /IRQ or /NMI (permanently LOW) will cause both the PET and the Tynemouth card to fail. You could try removing the two (2) PIAs and the VIA. You don't require these to get BASIC to power-up and sign-on (and it is these devices that can generate interrupts).

This is the start-up code for BASIC-4:

Code:
Reset vector:

; [fd16]		RESET		WORD

 FFFC		.word FD16

; -	Power-Up RESET Entry

 FD16		LDX #$FF
 FD18		SEI
 FD19		TXS
 FD1A		CLD
 FD1B		JSR $E000	; cint	Initialize Editor & Screen
It then enters the EDIT ROM.

If you can work out what the above code does, I will post the EDIT ROM code. Although, you can see the whole of BASIC4 disassembled at http://www.zimmers.net/anonftp/pub/cbm/src/pet/pet_rom4_disassembly.txt if you are interested.

Dave
 
Last edited:
daver,
Our OP has a 3032 with I assume BASIC 2.

Our OP should fully describe how things are running with the Tynemouth in place (using its RAM and ROM) with and without the diagnostic mode.
 
Thanks Dave, I must have misread that this morning (or been half asleep)...

Now I have got the correct schematics :)...

As I thought, UA3 is used in a number of locations of key importance (e.g. R/nW, SEL8 etc.) so a fault that cannot be fixed by piggybacking will persist.

Dave
 
Last edited:
Hi

Thanks Daver2 for the code - I will have a closer look at the 6502 instructions - thats a whole evening of getting acquainted with obscure code :) Will report back on progress.

I have a 3032 (actually three altogether) :)

Sorry for my "slang" - in German an Elko is an electrolytic capacitor.

In order not to lose track of what was done or what not, here is the problem;

- CBM3032 shows garbage screen after power up
- I checked all voltage(s), resistor values
- Tried the Tynemouth RAM/ROM board (did not make any change)
- The reset button on the board only toggled from large to small font
- Found that at UA3 the 74S04N was responsible for that. Desoldered and soldered a socket in, new component works fine
- The Tynemouth board with ONLY dip2 enabled now nicely toggles between garbage screen / ram test (all G).
- When enabling dip3/4 for BASIC4 the screen blanks, end of the story. When disabling dip3/4 the board toggles again nicely.

I used some freeze spray on individual components to see if there is a change in behavior; found that the SN74LS244N at UE8 didn´t like warm temperatures. I guess the chip is faulty (cooling it down, pressing the reset button on the tynemouth board shows the nice Commodore start up screen). I will get a new 20pin socket to solder in today. Well maybe I should get several new sockets :)

Once done the above I will today hook up the scope and see what SYNC does during power up and if this sort of solves this problem.

All the above maybe doesnt sound too methodical, but it is a start; I will trace back all the address lines on the 6502 to the relevant components and check behavior of each individual chip from the schematics.

Thanks

Joe
 
Joe,
So everything works with Tynemouth RAM/ROM? How about when you run with switches set for only main board memory enabled?
Great troubleshooting so far!
-Dave
 
Hi
Well only the "toggling" of the screen worked (yes, worked..) nice and stable. With dip 2 set to "tester" it toggled nicely back and forth between the garbage screen and the "g" screen of the ram test.
When selecting dip 3 and 4 to enable the ROM, the screen blanked and that was it. I played around with freeze spray on the ICs in UE10 and UE 9; suddenly (when pressing the reset button) I had the familiar Commodore screen. I thought (without any further pin testing) that there might be an internal fault on one of the 74LS244. I desoldered both and soldered a socket in. After putting in some spare ICs it seemed to work for a short amount of time.
suddenly there was a buzzing sound from the monitor internals - almost sounded like a short circuit of some sort, the picture started to wobble and finally dissolved. I turned the machine off to make sure it doesnt do any damage.
Since then I am struggling to get the picture back; I measured the pins at J7 - all normal except pin 5 with no voltage. According the schematics this connects to pin 10 on UG10, from there I am still working on it. Whilst having the scope connected to check the clock signal from the CPU at pin 37, and at the same time measuring Vpp across the UG11-UG1 range I noticed a change of the clock signal; almost as if something is grounded somewhere.

However, Vpp was very low across and I dont think the problem lies with power supply. It almost looks like some component acts up. Well honestly I think this board has several (un)related gremlins, and it becomes quite difficult to troubleshoot - unless I can find the faulty video, it becomes almost impossible to continue, as all the other gremlins like the stuck LOW sync pin on the cpu are making it a difficult job.

Appreciate any input :)

Joe
 
Yes, does your post #14 imply you have some (or all) of it working now?

There is a whole load of switch settings on the Tynemouth ROM/RAM card; so which setting(s) are you using?

I did guess that Elko was an electrolytic (but I wasn't sure, hence why I asked)...

Dave
 
Hi Daver2

The board worked for a few minutes, then other issues "surfaced" . Now I have lost the screen completely (Monitor is fine, tried with a second board), but some component is acting up, I need to find which one(or what).

With the Tynemouth installed I only used pin2 to get the "toggling" working.
when selecting pins 3 and 4 (the ROM), the screen blanks and the cpu hangs..

But as I described above; without a working screen it will be difficult to troubleshoot. And I ran out of freeze spray as well, need to restock :)

Joe
 
Joe,
It would be prudent to disconnect the J7 connector to the monitor until your get a good 16 KHz signal on the Horizontal Drive signal (J7-pin 5) as that generates the high voltage in the monitor.
 
...Yes after hearing that unpleasant sound I disconnected the connector to prevent any monitor damage.

So before going any further I am starting from scratch; checked voltages at the cpu / other ICs, resistor values etc, checked the CPU pins with the logic probe and found (new issue) that there is no clock input.
Going into the schematics I see the clock signal comes from page 6, G5 pin 7. that pin is LOW and going further up all the way to G1, pins 4 and 5 are dead. Going further up to I1 the same. Well I ended up at the crystal (or resonator?) itself; it puts out 16mhz but one of the two pins is dead (the same pin on the working 3032 is LOW).

I found R7 and R8 working fine, but interestingly R46 was dead on one side (zero volts).

After rechecking the above, I suddenly found R46 having 5 volts either side, so I checked J7 and there was a 16KHz signal, so I connected the connector and got the garbage screen back.

Conclusion; there seems to be something at fault from the compnents on page 6 (I6, G6 or the resistor). I will try again to reproduce the same fault again, then possibly desolder I1 and maybe G1 to rule out an issue there.

Joe
 
Back
Top