PDA

View Full Version : Sick SuperPET



Pages : [1] 2

Ral-Clan
September 12th, 2016, 07:17 PM
Hi,

I picked up a SuperPET with some problems. It has a 8032089 Universal Dynamic PET motherboard (click on any of the images below to enlarge them).

https://s31.postimg.org/lmm4tzjtz/HPIM0897.jpg (https://postimg.org/image/lmm4tzjtz/)
https://s31.postimg.org/gy64ysunb/HPIM0926.jpg (https://postimg.org/image/gy64ysunb/)

When started in 6809 mode, sometimes I get the language startup menu, with some corrupted characters, and no ability to do or choose anything.

https://s31.postimg.org/5bqmbewpz/HPIM0941.jpg (https://postimg.org/image/5bqmbewpz/)

When started in 6502 mode, I just get a black screen with no startup beep, or sometimes a glowing phospor dot that may fade or get brighter (so I shut it off quickly). So....judging from this I know:

1. the monitor works (I sometimes see the menu displayed)
2. the MOS6545 Cathode Ray Tube Controller chip probably works.
3. the Character ROM probably works.
4. the SuperPET daughterboard with 6809 probably works (somewhat)

Because of the unwillingness for the machine to respond at all when switched to 6502 mode, it seems likely there is a problem with the main motherboard. So, I've removed the SuperPET daughterboard, temporarily turning this machine into a stock 8032 PET. I put a spare 6502 into the CPU socket because the original 6502 is on the (now removed) SuperPET daughterboard.

https://s31.postimg.org/yzp9wloo7/HPIM0919.jpg (https://postimg.org/image/yzp9wloo7/)

Turning the machine on like this results in a black screen, or sometimes a green phosphor dot.

I should mention that there is a strange jumper wire on the underside of the main motherboard. It runs from PIN 35 of the 6502 CPU to PIN 1 of a SN74LS393N at location UD3. Apparently this latter chip is a 4-bit binary counter. The confusing part is that pin-35 of the 6502 is listed as "NC" (not connected), but maybe this line is used to transfer timing from the counter, up the ribbon cable that normally sits in the motherboard CPU socket, to the SuperPET daughterboard for use by the 6509? Really I have no idea as I'm out of my league on this.

https://s13.postimg.org/ie3baxt6r/HPIM1018.jpg (https://postimg.org/image/ie3baxt6r/)

Not sure if a stock 8032 has this jumper. I've heard rumours that there might be a small mod in SuperPETs in regards to where CPU gets its timing from - I'm not sure what this means exactly - but maybe it's related to this? Also, perhaps because of this, a SuperPET won't run as a regular 8032 PET unless this mod is reversed?

First, I want to test the power supply to see if it's outputting proper voltage. I disconnected the power supply connector from the motherboard at location J8 with the intent to test voltages with a multimeter. However, I cannot find a proper voltage pinout diagram or table for this connector. I've found some confusing information about the 8032's power connector online, but some of these mention an 11-pin connector. The power connector on my SuperPET seems to be a 9 hole connector with one hole (hole 3) blocked. It connects to a 9-pin header on the motherboard ( location J8 ) with pin-3 intentionally missing. I've also downloaded the 8032 and SuperPET service manual (technical guide). It has a diagram of the power supply, but there's nothing on there that makes sense to me or matches the connector I see physically in the machine:

https://s21.postimg.org/i4h0nzzbn/power_supply_8032051_3.gif (https://postimg.org/image/i4h0nzzbn/)

Secondly, I've heard there are some AC voltages on this connector. Okay....I'm used to dealing with PC/C64/VIC-20 power supplies that are all putting out DC, but I can probably handle testing the AC voltages if I have a pinout.

Thirdly, I've heard that some of the PET's power supply is actually on the motherboard - I can see the large capacitor and couple of circular voltage regulators on the black metal section, so am guessing that's part of it.

Once I have determined that the power supply is good, I can move on to the next suspect: a possible bad EDIT ROM - apparently with CRTC video chip PETs if the EDIT ROM is bad the machine will appear black on power up. But first I have to eliminate the power supply as the culprit.

Can anyone help me out, or guide me through this? I should mention that I have experience repairing old computers, and can do fine electrical work / component replacement. However, I am self-taught. I am no electrical engineer and cannot diagnose problems that are not obvious (i.e. burnt component) or easily measurable with a multimeter / logic probe.

Thanks!

KC9UDX
September 12th, 2016, 07:29 PM
I don't know anything about the 6809 board, but I wonder if you have bad zero page RAM.

dave_m
September 12th, 2016, 08:58 PM
The confusing part is that pin-35 of the 6502 is listed as "NC" (not connected), but maybe this line is used to transfer timing from the counter, up the ribbon cable that normally sits in the motherboard CPU socket, to the SuperPET daughterboard for use by the 6509?

You are correct, pin 35 of the CPU is not used in the 6502, and so the SuperPet uses it as a tie point to route the 16 MHz clock to the 6809 board. You have a nice computer. The guys here will help you fix it.
-Dave

dave_m
September 12th, 2016, 09:14 PM
Secondly, I've heard there are some AC voltages on this connector. Okay....I'm used to dealing with PC/C4/VIC-20 power supplies that are all putting out DC, but I can probably handle testing the AC voltages if I have a pinout.



The active electronics for the PET power supply are on the main board. There is only a transformer and a big capacitor off the board. So if the J8 cable is disconnected from the main board, one will see the secondary AC voltages. However once the J8 cable is connected, two full wave rectifiers are hooked up and you will see DC on some pins. Here is a sketch that may show the detail. Study it and ask questions. Sorry for the condition; I always meant to clean it up.

33107

daver2
September 13th, 2016, 12:01 AM
Welcome to VCFED.

I can't look at your pretty pictures from work - so I will look at your nice machine from home tonight...

I assume you have found the 'standard' resources over on Bo's site at http://zimmers.net/anonftp/pub/cbm/schematics/computers/pet/8032/index.html? Dave_m has already pointed you at the power supply schematic.

You are doing the right things so far...

Disconnect the monitor (power and signal) until you are happy that the 8032 mainboard is working as a standard 6502 PET. Failure to do this could damage your monitor.

You have already removed the 6809 SuperPET board - so that is good (reduce the problem to the smallest sub-set of components and fault find on that until it is working).

Dave's already identified the 'modification' that was made to a standard 8032 PET to get the 6809 CPU to work by adding a faster (16 MHz) clock to an unused pin of the 6502 CPU. This modification was subsequently 'rolled' into the PCB's of the later 8032 boards. It does not have any effect on the operation of the 8032 as a standard 6502 PET. It should work just the same with the 6809 SuperPET board removed.

Check the AC voltages from the transformer - with the PET mainboard disconnected. A simple multimeter set to AC Volts will suffice for this. If you are still a bit confused regarding which pins and what Voltages to expect - let us know and we can rectify that...

After that - connect the mainboard to the power supply (well - transformer and large smoothing capacitor) and check for the correct DC voltages at the major chips - including ripple voltages. I assume you have an oscilloscope?

After that it will be looking at the 6502 RESET, NMI, INT and CLOCK pins to see if we have the correct activity on those. There are quite a few threads on VCFED related to fixing a 'standard' 8032 which are immediately relevant.

Dave_m: Regarding my SuperPET add-on card. I have added a transistor and some resistors for the /NOROM signal (as you recommended) and removed that from the GAL. The 'bow-tie' reset circuit will not work as defined - the signal is not a change-over switch (in the sense required by the 'bow-tie' circuit) and there is the added complication of the programmable CPU changeover from the SYSTEM latch. Thoughts?

Dave

Ral-Clan
September 13th, 2016, 06:31 PM
Hello folks!

First of all, thanks for the warm welcome. I have been a forum member over on Denial (VIC-20) and Amiga.org for over ten years, but haven’t needed to join VCF until this PET fell into my hands. I first used a PET about 1979 in my elementary school, so have a lot of nostalgia attached to this machine and would like very much to get it working again.

Daver2, you asked what equipment I have. I am not an electronics expert, but here’s what I have:

1. basic soldering iron with 2 temperature settings (yes I said it was basic).
2. solder sucker iron (which I'm not too bad at using to remove components).
3. digital multimeter (done lots of DC voltage and continuity testing with this, but not much more).
4. logic probe (just acquired, haven’t use it yet)
5. two Tektronix oscilloscopes (read below)

I was very recently given two old 1970s era Tektronix era oscilloscopes similar to this model:
http://www.proctorinc.com/images/slab0115022.jpg

They probably haven’t been calibrated in 20 years, though, and frankly, I have never used an oscilloscope and haven’t had time to learn or check over these to see how reliable they are – although one does power up and shows a flat line on the CRT.

Again, I have experience replacing components on boards – I’m pretty good at de-soldering and soldering, etc. I’ve done some component testing with a multimeter, but I would need guidance for anything more intricate. Fact is, I’m going to ask a lot of newbie, basic, simple questions as I’m taking baby steps here.

Dave_m, thanks for the schematic of the power supply. Although I can generally understand what's going on, it’s with a lack of confidence. I find it a bit daunting, especially with the hand-written notes, but think I can decipher it with help.

One thing that I find confusing about the diagram si that the connector at J8, as listed on the diagram, seems to list the pins out of order. I suppose this is because it’s supposed to be a symbolic representation of the connector, rather than a literal one – the pins are out of order on the drawing because that’s the clearest way to draw the signal paths without having them overlap one another. It's for clarity's sake. Am I close?

So, assuming I am correct, and I have the J8 power supply connector removed from the motherboard, and have an multi-meter all ready to test the output of this J8 connector, how would I test the power supply’s voltages? This is what I think I can decipher from that diagram:

Pin 1: Brown, Looks like 22VAC, but might also be 12VAC (hard to read writing)
Pin 2: Red...seems to connect to the positive terminal of a capacitor at C1 (the big barrel capacitor?)
Pin 3: Black, no idea...seems to connect both the negative end of capacitor C1 and an branches to an inductance coil (one end of the transformer?)
Pin 4: Red...also connects to the positive end of capacitor C1
Pin 5: Brown, again could be 22 or 12VAC (hard to read), connects to the end of an inductance coil
Pin 6: Black, connects both the negative end of capacitor C1 and an branches to an inductance coil
Pin 7: Key, not used. A plugged hole to ensure proper orientation of connector
Pin 8: No colour indicated, 18VAC (Positive? Negative?)
Pin 9: same as pin 8 above, but opposite end of inductance coil (Positive? Negative?)

Based on the above, assuming I'm even partially correct, I still wouldn’t know where to start testing this with a multimeter. I'm still not clear what voltages to expect on which lines. I think I might be able to check for 12/22VAC on pins 1 and 5, and 18VAC on pins 8 & 9, but am not sure. Also, where do I get ground?

Please be honest - if you think coaching me to repair this PET is a hopeless cause, please let me know. I was planning to send the motherboard off to Tynemouth software in the UK, but had hoped I could at least diagnose the power supply before hand (if not more). I’m willing to learn, anyway.

dave_m
September 13th, 2016, 08:15 PM
Based on the above, assuming I'm even partially correct, I still wouldn’t know where to start testing this with a multimeter. I'm still not clear what voltages to expect on which lines. I think I might be able to check for 12/22VAC on pins 1 and 5, and 18VAC on pins 8 & 9, but am not sure. Also, where do I get ground?



You are doing good. On the voltmeter, select AC and either Autorange or 30VAC range. For AC readings, you just have to read the voltage across the pins, i.e., read 22VAC with one lead on J8-pin 1 and the other on pin 5. It doesn't matter which color test lead is on pin1. No polarity or ground reference for AC but you do need to worry polarity for DC readings. You should measure about 18 VAC across the blue wires pin 8 and pin 9.

If you get those readings, you are good to go for powering off and mating the J8 connector, and with power up for reading DC voltages on the board. For DC readings you can use any bare metal on the case/chassis for ground reference for the black test lead. Use a test lead with an alligator clip if you have one.

daver2
September 14th, 2016, 12:06 AM
Ral-Clan,

People with less equipment and absolutely no experience with electronics have managed to get PETs repaired by following the instructions from this forum! Some of the faults have been real ****** as well! So take heart...

Let's just do it step by step...

Follow what dave_m has asked you to do and we will work from there.

I suspect at some point (since you have access to an oscilloscope - or two!) this piece of test equipment will make diagnosing the more 'difficult' faults easier - so tracking down the user manuals and making sure at least one of your oscilloscopes works would be beneficial. Logic probes are useful - but there are a couple of threads around where the cheap ones just cause more confusion than they solve when looking at clock signals...

Dave

Ral-Clan
September 14th, 2016, 03:09 AM
Great! Thanks Dave(s)!

So I will disconnect the plastic connector that normally attaches to J8 on the motherboard and test for the following on the pin sockets:


First across holes 1 & 5 for AC. Dave_m, can you please confirm for me whether you wrote 12VAC or 22VAC here (the first number in your writing looks like it could either be a "1" or a squished "2")? Thanks.

Then for 18VAC across holes 8 & 9.


My multimeter doesn't have an auto setting, so I'll set it to the 30VAC range. I will report back with what I find.

KC9UDX
September 14th, 2016, 03:14 AM
22VAC, from memory (which isn't great). The thing is, you'll probably measure the right amount anyhow, and, if not, you'll still be within reasonable range to determine if it should be 12 or 22, or, you'll have any obvious problem anyway.

Ral-Clan
October 10th, 2016, 03:02 PM
22VAC, from memory (which isn't great). The thing is, you'll probably measure the right amount anyhow, and, if not, you'll still be within reasonable range to determine if it should be 12 or 22, or, you'll have any obvious problem anyway.

Hi guys,

Okay, first of all, sorry it's taken me so long to get around to measuring the voltages on the power supply. I've finally done it, and either I'm measuring things wrongly, or something is off. I measured with two multi-meters set to AC, one a digital meter, and the other an analog, just because the readings seemed strange:

Digital Meter: 16VAC across pins 1&5 (brown wires); 15.6VAC across pins 8&9 (blue wires).
Analog Meter: 17VAC across pins 1&5; 16VAC across pins 8&9.

From the schematic earlier in this thread, pins 1&5 are supposed to be at 22VAC, and pins 8&9 at 18VAC.
So what's up? Bad power supply? If so...yikes!

Note: these readings were taken with power supply connector disconnected from the motherboard - so no load (if I understand the terminology correctly).

KC9UDX
October 10th, 2016, 04:55 PM
With no load, your readings should be higher, not lower. Something's fishy. It would be extremely unusual for a transformer to fail in such a way to give you those readings.

Are you certain you have the correct primary voltage? (Even if that's wrong, then the voltages should be lower).

Also make sure you have a proper fuse on the primary.

But, even with voltages that low, unless the values drop significantly under load, the DC regulators should have enough headroom. You may be better off measuring under load.

Ral-Clan
October 10th, 2016, 05:39 PM
Are you certain you have the correct primary voltage? (Even if that's wrong, then the voltages should be lower).

I'm sorry, I'm not entirely clear on what you mean by primary voltage - unless you mean the voltage coming in from the household power outlet (110VAC). In this case, I'm pretty sure it's okay as I use that outlet for lots of other electronics.


Also make sure you have a proper fuse on the primary.

The fuse in the machine currently reads:

313 1-6 10A / 250V

However, the sticker on the back of the machine reads:

"Replace only with same Type 1.6A 125V slo-blo fuse"

So it seems the fuse is mis-matched. Could that be the problem?

KC9UDX
October 10th, 2016, 06:16 PM
That fuse is a disaster waiting to happen, but it's likely not your problem. Get it out of there! Should you accidentally have a short whilst testing the transformer, you could melt your transformer and start it on fire. If someone previously let some smoke out, that may cause your voltages to be low now, but even that's unlikely.

I wonder though why the fuse was ever changed.

In any case, yes, by primary voltage, I mean the supply side of the transformer. It sounds like everything is correct there.

Ral-Clan
October 10th, 2016, 06:38 PM
Damn!

Okay, so the fuse issue I can solve....although I am having trouble finding a supplier for the exact fuse I need (dimension and rating). I think this fuse might do?

http://www.ebay.ca/itm/5x-MDL-1-6A-or-MDL-1-6BC-125v-250v-Slow-Blow-TIME-DELAY-Glass-Fuse-1-6-10-Amp-/161190060227?hash=item2587ad20c3:g:2QkAAOxyOlhSyEz r

Seems to be right dimension and rating. Only concern is the title: 5x MDL 1.6A or MDL-1.6BC 125v/250v Slow-Blow TIME DELAY Glass Fuse, 1-6/10 Amp

What do they mean by the word "OR" and why does it say 1.6A and 1-6/10 Amp (the latter is what the old incorrectly rated fuse also said).

Or can someone point me to one on Digikey? I tried to find one there but failed.

So...what the heck can be wrong with my power supply?! Why am I getting such wierd measurements? I'll try on a different outlet just in case. Can't possibly be measuring incorrectly. Can I?


I set my multimeter's dial to VAC (capital letter V with wavy line over top) and 250V range (that's the smallest range it has).
Black lead goes into the COM socket
Red lead goes into the socket labelled V-ohm
I put sewing needles into the plastic socket holes of the PET's power connector I want to measure (i.e. pins 1 and 5). I do this because the probes from the multimeter won't fit in the holes.
Using alligator clip jumper wires, I connect the probes of the multimeter to the respective sewing needles
Turn the PET on.
Take reading.


What could I be doing wrong?

KC9UDX
October 10th, 2016, 07:09 PM
Well, for one, you're shunting the transformer, possibly damaging it. From what you describe, you are trying to measure current, which is not what you want to do. You want to be on a "V" range, not "A". :)

Hopefully the sockets on your meter are helping you not hurt your transformer.

1.6=1-6/10. So either way is correct. It sounds like that fuse is right. I'd find one in a catalog, but that's hard to do on this phone.

Your sewing needles could be big resistors, for all I know.

Ral-Clan
October 10th, 2016, 07:18 PM
Well, for one, you're shunting the transformer, possibly damaging it. From what you describe, you are trying to measure current, which is not what you want to do. You want to be on a "V" range, not "A". :)

My mistake. I mis-typed above. I was using the voltage setting ("V" with a wavy line over it) to measure. Not "A" (amps). So I assume I was doing it correctly?
I guess the next step is to try it without the sewing needles.


1.6=1-6/10. So either way is correct. It sounds like that fuse is right. I'd find one in a catalog, but that's hard to do on this phone.

Okay, but since the original fuse in the PET also said 1-6 10A / 250V, doesn't that then mean that the original fuse is okay as well (equates to 1.6A)?

KC9UDX
October 10th, 2016, 07:31 PM
Maybe. I woudln't bank on it. If there's no slash, it may well be 10A. I could compare it to a 1.6A or a 10A to better guess, but it's still best not to guess with something like that.

As far as the sewing needles, I wouldn't worry about that. I'd hook the connector up and measure under load.

Yes, if you're measuring voltage, you are doing that right. Which, was very likely anyway, since you were getting sane voltage readings.

daver2
October 11th, 2016, 10:55 AM
My take:

The fuse is there to act as a protection device should something internally fail and cause a high current. The fuse should be of the correct type as specified by the manufacturer. Fitting a lower-valued fuse will case the fuse to 'blow' when you power up the PET. Fitting a higher-valued fuse could cause a fire if an overrcurrent was to occur (e.g. a faulty transformer). Fitting a quick blow fuse (rather than an anti-surge or slow-blow fuse) will - again - case the fuse to 'blow' when you turn the PET on due to an inrush current.

A fuse is a piece of wire so should not cause 'funny' voltage readings on the secondary of the transformer.

My 8032 has a 0.8A fuse - as I live in the UK with a 230V mains supply. For the States (on half the voltage) the fuse should be twice the rating = 1.6A. I can't remember off-hand whether it should be a quick blow or an anti-surge/slow-blow fuse.

For your safety - make sure you have the correct fuse fitted (or at least one that is not larger than it should be). The difference between a 1.6A fuse and a 10A fuse should be obvious from looking if it is glass...

When I checked my 8032 out I traced the wiring back from the J8 connector back to the tags on the transformer. The tags on the transformer had the wires directly soldered to them from J8 with no insulation - so that was an ideal place to measure the voltages with my multimeter (no sewing needles were harmed during this process).

Commodore seem to use different transformers with different tag numbers and different coloured wires - so to give you a 'follow this' procedure would be the wrong thing to do...

This is how I proceeded:

There are three separate secondary windings on the transformer. Secondary = low voltage so you should be OK around them. Primary = the mains voltage side = dangerous = keep well away or you die! I disconnected both J8 and the power connector from the transformer to the monitor (accessed by removing the monitor case).

One secondary winding should be easy to identify. This is the secondary winding that feeds the monitor. In my case these were two thin brown wires. For a 12" monitor the voltage across these should be about 21V A.C. On my 8032 I measured 19.8V.

The second secondary winding is fed to pins 8 and 9 of J8. In my case these went to transformer tags 7 and 8 and were coloured blue. On my 8032 these measure 16.3V A.C.

The third secondary winding is a bit different in that it is a winding with a 'centre tap'. The centre tap is wired to pin 3 of J8 and (in my case) was wired to transformer tag 5 via a black wire. The two other ends of this secondary winding were wired to pins 1 and 5 of J8 and connected via brown wire to transformer tags 4 and 6. Measuring from the centre tap to one end of the winding (black to one of the brown wires) gave me 8V A.C. Measuring from the centre tape to the other end of the winding (black to the other brown wire) gave me 7.9V A.C. Measuring across the full winding (brown to brown) gave me the sum of the individual voltages at about 16.3V A.C. OK 7.9+8=15.9V A.C. but I think this is good enough for practical purposes.

The big capacitor is connected between pins 2 and 6 of J8 only.

To orient yourself on J8 - the 'keyway' is in position '7'.

Have a look and see if this makes sense with what you have got.

Dave

Ral-Clan
October 11th, 2016, 04:16 PM
Hi Daver2,

Thanks for your input. I will measure directly from transformer and post results here...but even without doing that I can see that the results you got from your 8032 are very similar to what I'm saw above from the J8 connector:

Pins 8&9 on J8: Your reading 16.3VAC, My reading 15.6VAC
Pins 1&5 on J8: Your reading 16.3VAC, My reading 16.8VAC

So this is good news, assuming your 8032 works with these voltages. I'll try measuring directly from the transformer connection points and report back. If everything seems close to spec, then I'll reconnect the motherboard and measure DC (I'll need help with knowing where to do that).

dave_m
October 12th, 2016, 12:25 AM
Pins 1&5 on J8: Your reading 16.3VAC, My reading 16.8VAC



When reading a sine wave signal, I think most voltmeters will read close to the RMS value while apparently the schematics lists the peak value. 16VAC (RMS) equals 22VAC (peak). So you are fine.
-Dave

daver2
October 12th, 2016, 01:30 AM
I agree with Dave - 'you're good to go' with those Voltages.

Really, what we are checking here is that there are no open circuit secondary windings (in this case the voltage would be pretty obviously wrong at 0V), some high-resistance joint solder joint or something really 'abnormal'.

As you say, hook up J8 and we need to measure some DC Voltages.

I would be tempted myself to leave the power disconnected from the monitor during this phase.

Looking at the power supply for the 'Universal 8032' (yours may be different - so just check that you have the correct schematic relating to your specific PET 6502 main board) - see http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ/8032081-11.gif for the component references I have used below.

I would measure the dc voltages at the following points (all relative to ground. Follow the wires from J8 pins 3 and 6 for a suitable attachment for the negative - black - lead for your multimeter. This would probably be the negative post of the rather large external capacitor):

Read the DC voltage with your multimeter positive lead - red - on the positive end of the large external capacitor. This should be approximately 9 V dc (this is the unregulated supply).

You then want to put your multimeter's positive probe on the positive end of C9 and then C11 in turn (both 47 uF capacitors). Your multimeter should read +5V +/- 0.25 Volts in both cases.

Do the same with the positive end of C7 (again a 47 uF capacitor). Your multimeter should read approximately +12V.

We now want to read the -5V rail. If your multimeter has a 'swap polarity' switch operate it now to read the negative voltage. If not, swap the red and black leads over (i.e. put the multimeter red lead on GND - where the black lead was) and use the multimeter's black lead to measure the voltage at the negative end of capacitor C1 (a 10 uF capacitir). You multimeter should indicate approximately +5V (meaning -5V really because we have swapped the probes around).

If these tests pass OK then the voltage regulators are probably OK.

I would then suggest checking the voltages at various points on the motherboard to make sure that PCB tracks are not faulty. I can supply some details later when you have checked out the voltages above.

Just make sure you have the correct schematic related to your specific board as I have used the generic Universal PET schematics.

Dave

Ral-Clan
October 12th, 2016, 03:40 PM
My SuperPET does have a Universal board. At least that's what is silkscreened on the board, so I assume I am good to test these DC voltages. I will first try unhooking the monitor power. I assume I have to open up the monitor and will find a connection point. I am aware of the dangers of the flyback transformer, so am a little anxious, but I'm guessing I will find that the power supply connection point is not near the flyback?

dave_m
October 12th, 2016, 03:47 PM
I will first try unhooking the monitor power. I assume I have to open up the monitor and will find a connection point.

That's not necessary. Just remove the video connector J7 on the main board. With the horizontal sync disconnected, there will be no high voltage developed in the monitor.

KC9UDX
October 12th, 2016, 05:02 PM
And I'll add that there are no dangerous voltages present at J7*.

*Technically it's very remotely possible, so it's always good to assume it's hot anyway.

Ral-Clan
October 15th, 2016, 05:30 AM
Hi guys,

I am just waiting for the new fuse to arrive before I can start testing this PET's DC voltages. In the meantime, I got the old Tektronix T912 10MHz oscilloscope I was given to work (it needed some knobs replaced).

Image of T912 scope:
http://www.co-recyclage.com/photos/recyclage-objet-image-son-1421745930.jpg

However, no probes came with it, so I need to order some new ones. The manual says it originally came with a "General purpose 1X voltage probe" with an input capacitance of 54pF. Tektronix also made a 1X - 10X switchable available for it. I can find a bunch of these at affordable prices on ebay, but am a little confused because all the ones on eBay have a MHz rating in the title. Like this one, which says it is 100MHz:

http://www.ebay.ca/itm/P6100-DC-100MHz-Oscilloscope-Scope-Clip-Probe-100MHz-For-Tektronix-HP-x1x10-600V-/401045407907?hash=item5d602b48a3:g:RSYAAOSwVFlUBDr z

What does the MHz rating mean? My scope is a 10MHz scope, so would any probe rated above that be fine for it? If so,I think that's a match for my scope...and it's switchable, which is a bonus. It's also very affordable.

So can I buy this (or two since my scope is dual channel)? Does any probe work with any oscilloscope, or do I have to be careful and watch for something in the specs?

PS: this is my first scope, so I am learning, but as you guys said earlier in the thread, it will be useful in fixing this PET.

Thanks.

KC9UDX
October 15th, 2016, 05:39 AM
Those probes will be fine. Do buy two or more.

They probably don't really work at 100MHz, but you don't need that anyway.

Ral-Clan
October 15th, 2016, 05:54 AM
Also, I found that i have a couple of alligator clip style probes from an old vacuum tube oscilloscope in my parts drawer. Similar looking to these:

http://i.ebayimg.com/images/i/381593227345-0-1/s-l1000.jpg

Any idea if I can use those with my scope? I wonder how I would even be able to tell if they were only meant for high voltages, or what thier attenuation is (if any)...

KC9UDX
October 15th, 2016, 06:06 AM
Yes. I use leads like that a lot.

Back when I was poor and scope probes cost arm and a leg, I used an unshielded lead for repairing stereo equipment for bread. I used that for years.

A lot of older scopes had banana jacks for leads.

dave_m
October 15th, 2016, 08:30 AM
A lot of older scopes had banana jacks for leads.
KC,
I'm impressed! You are probably referring to some old Heathkit scope. But I hope you don't go back to the Dumont scopes!;)
-Dave

33844

KC9UDX
October 15th, 2016, 11:23 AM
My favourite scope is a 200MHz three channel Dumont. 17 years ago the power supply capacitors dried up and for some reason I never got round to fixing it. I think I took it apart, then had to move, and probably lost the pieces.

I've had a few Heathkit and Conar scopes (can't say I liked them) and all had banana jacks as far as I remember. Early Tek scopes were designed to be used optionally with banana plugs or shielded probes. The Tek one on my bench is that way. I frequently use it with an unshielded probe. It's very convenient, and at low frequencies, it doesn't matter much.

Ral-Clan
October 16th, 2016, 03:23 PM
My initial fuse order for this PET from ebay (from the USA) got cancelled for some reason. I've had trouble finding this exact fuse online so I had to order some from a supplier in China (again on eBay).

So now I'm waiting on both my oscilloscope probes and the fuses to come from China before I can proceed with the DC voltage checks. That'll take about a month - so I guess I'll talk to you guys then!

KC9UDX
October 16th, 2016, 05:44 PM
If Iwere you, I'd have no qualms about using that questionable fuse as long as you are present to kill the power if the transformer starts to smoke.

Don't any retail stores near you sell fuses? A common 1A fuse would probably suffice for now.

Ral-Clan
October 23rd, 2016, 04:31 PM
Hi guys. My replacement fuse for the SuperPET came in early and I was able to measure some of the motherboard voltages following daver2's instructions...


I would measure the dc voltages at the following points..Read the DC voltage with your multimeter positive lead - red - on the positive end of the large external capacitor. This should be approximately 9 V dc (this is the unregulated supply).

Yes, it is +9.85VDC.


You then want to put your multimeter's positive probe on the positive end of C9 and then C11 in turn (both 47 uF capacitors). Your multimeter should read +5V +/- 0.25 Volts in both cases.

At C11 I got +5.1VDC. My motherboard did not have a C9 location that I could find (and therefore no corresponding capacitor). The revision of my universal motherboard is later than the one mentioned in the schematic linked to (above). I have revision number 8032089.


Do the same with the positive end of C7 (again a 47 uF capacitor). Your multimeter should read approximately +12V.

I got +12.17VDC.


We now want to read the -5V rail...

At the negative end of C1 I got -5.20VDC.


If these tests pass OK then the voltage regulators are probably OK.

Other than the missing capacitor at C9, it seems that all my voltages check out okay. Yay!


I would then suggest checking the voltages at various points on the motherboard to make sure that PCB tracks are not faulty. I can supply some details later when you have checked out the voltages above.

Okay then....I guess I'm ready to check out these other points you mention! Thanks for your help!

daver2
October 24th, 2016, 10:00 AM
Excellent.

A better schematic for you to work from then is http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-11.gif. The later Universal card replaced the two +5V regulators with a single regulator - hence the missing capacitor C9.

The other points I will mention...

This depends upon how 'lazy' you are - or how easily bored you are!

You need to measure (at different points around the main 8032 board) the various voltages. If it was me - I would download the data sheets for the individual ICs and use an oscilloscope to check the 0V and power rails directly on each device. The reason we do this is to make sure that there are no track breaks - high resistance joints etc. that would lead to low voltages at any device. If you don't want to go to the trouble of checking every device - you can pick some at random. Obviously, the more you pick the better.

The schematics at http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/index.html show the power pins for some of the LSI (Large Scale Integration) devices. See for example http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-01.gif which shows the power pins for the 6502 CPU at UB14, http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-04.gif for the power pins for the ROMS and http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-05.gif for the power pins on the DRAMS (+5, -5 and +12).

You need to use your measuring instrument (multimeter or oscilloscope) actually on the device pins (this includes the GND/0V reference as it could be this trace/pin that is faulty and not the power trace).

An oscilloscope is better than a multimeter (if you have one) - as you can see any noise or 'glitches' on the power rails that indicate some problem that needs addressing.

Once you have done a sample of chips; get back with your findings and (if all is well) we can get onto the RESET and interrupt pins etc. (i.e. start to look at the internal logic). An oscilloscope or logic probe would be useful for this exercise.

Dave

Ral-Clan
November 13th, 2016, 02:12 PM
You need to measure (at different points around the main 8032 board) the various voltages. If it was me - I would download the data sheets for the individual ICs and use an oscilloscope to check the 0V and power rails directly on each device. The reason we do this is to make sure that there are no track breaks - high resistance joints etc. that would lead to low voltages at any device. If you don't want to go to the trouble of checking every device - you can pick some at random. Obviously, the more you pick the better.

Hi Guys,

Slow as usual, but I've finally had a chance to check out the voltages on quite a few of the IC's on the 8032 motherboard. I had to use a multimeter, as the probes for my oscilloscope have not arrived yet. I examined the 8032 motherboard schematics and probed the ground pins and voltage pins directly on the following chips --- all of which seemed to be within specification:

So...here is a list of all the chips I tested. All had proper voltages on GND pin and individual voltage pins:

RAM chips tested:
41163N RAM @ UA4 to UA19 all had:
-5.21 VDC on pin 1
+12.16 VDC on pin 8
+5.07 VDC on pin 9

2114 1Kx4 RAM @ UC4, UC5, UC6, UC7
+5.07 VDC on pin 18

MOS "big" chips tested:
MOS6502 @ UB14 (socketed)
MOS6522 @ UB15
MOS6520 @ UB12 and UB16
MOS6545 @ UB13

ROM chips tested:
901640-01/4481 CHAR ROM @ UA3
901465-22 @ UD6
901474-03/3981 @ UD7 (socketed)
901465-21 @ UD8
901465-20 @ UD9
901465-23 @ UD10

Other chips tested:
74LS244 @ UE8, UE9, UE10
74LS373 8-bit latch @ UB3
74LS145 @ UC11

All the chips above reported proper voltages (about +5.07VDC) on their voltage pins (which is at least reasonably close to the ideal +5VDC spec). I did not test every single chip on the board, just the ones I could understand from the schematic (logic diagram). There were some chips on the schematic that didn't seem to indicate voltage pins (even though the manufacturer's datasheet indicates those pins - like the SN74154N at UE12), so I didn't want to risk testing on pins I wasn't sure of.

So I assume from the above tests it means that the board is providing proper voltages and ground to all the chips I tested. I also assume that it DOES NOT mean the chips are functional, just that they are properly conneted to voltage and ground only.

So what should I do next?

MikeS
November 14th, 2016, 12:03 PM
Just curious: where in Ontario are you?

Ral-Clan
November 14th, 2016, 03:31 PM
Just curious: where in Ontario are you?

I'm in the eastern part of the province....between Ottawa and Montreal.

daver2
November 15th, 2016, 10:34 AM
Looking good so far...

Yes - some of the VCC and GND pins are not marked on the schematics - so you need the data sheets to find these. These are handy in the future for fixing stuff anyhow...

The next thing is to 'poke around' the 6502 CPU at UB14. You would be better off using an oscilloscope for these measurements. When you get your oscilloscope probes - I would just check the various regulated power rails to see what the pk-pk noise actually is on them (just to make sure the meter wasn't giving false readings - as it averages the values and smooths out any noise).

I would check the following pins on the 6502 CPU (UB14):

Pin 6 (/NMI) should always be high.

Pin 4 (/IRQ) should be high (unless the PET is working - in which case this pin will probably be pulsing low).

Pin 40 (/RESET) should be high. Briefly shorting C51 (a 1uF tantalum capacitor) to ground (which is connected to pin 7 of UD16 (LM555)) should result in the 6502's /RESET pin going low briefly and returning high once again. This demonstrates that the CPU reset circuitry appears to be working.

Pin 2 (RDY) should be high.

Pin 37 (clock in - Phi0) should be oscillating at approximately 1 MHz.

Pin 39 (clock out - Phi2) should also be oscillating at approximately 1 MHz.

Pin 7 (SYNC) should be pulsing as each instruction is fetched/executed. If not - try operating the RESET circuitry again to see if some pulses appear briefly and then stop (indicating that the CPU was trying to do something and subsequently failed).

That would be what I would try next and we will take it from there.

Regards,

Dave

Ral-Clan
November 15th, 2016, 01:55 PM
Looking good so far...
I would check the following pins on the 6502 CPU (UB14):

Until I get my oscilloscope probes, I have a logic probe (never used it). Can I use that to check the high/lo values on the 6502? If so where should I get ground?

Thanks.

KC9UDX
November 15th, 2016, 07:08 PM
Certainly. Chassis, 0V, or anything labeled ground will work.

I almost always use a logic probe for these things.

daver2
November 16th, 2016, 09:52 AM
+1. Although sometimes logic probes can give you misleading results with pulses I have found. It depends upon the logic probe as well.

By all means use your logic probe until you get your oscilloscope up and running. I would, however, go back and recheck some of your measurements with an oscilloscope later just to make sure that the logic probe hasn't been lying to you!

Dave

Ral-Clan
November 16th, 2016, 05:39 PM
Certainly. Chassis, 0V, or anything labeled ground will work.

I almost always use a logic probe for these things.

Just a question before I use my logic probe (for the first time - I'm learning how to use it).

I noticed that some chips (like the RAM) have a 12VDC pin. Will 12VDC kill the logic probe? Can a logic probe handle 12V or do I need to limit my testing to 5VDC components?

KC9UDX
November 16th, 2016, 08:31 PM
Do you have a spec sheet or manual for it? If not, maybe you could find one online. Mine will not balk at 12V, but lots of other things about mine seem to be different than the ones other people have.

daver2
November 17th, 2016, 09:43 AM
The +12V and -5V are power supply lines to (say) the RAM - and there should be no need to put your logic probe on these pins.

All the other signal lines on these devices are 5V - so no problem with your logic probe.

Just avoid the power pins...

If you assume your probe will be damaged - and you deliberately keep it away from anything else - you should not have a problem.

My probe has a setting for TTL or CMOS - so I would assume that it should be OK for things above +5V (even on the TTL setting) but (a) I wouldn't trust it and (b) the very poor documentation doesn't say that it won't get damaged! Better try to avoid the damage in the first place and then (if you accidentally make contact with +12V) it may survive. Possibly not with -5V though...

Dave

KC9UDX
November 17th, 2016, 01:52 PM
One must be extremely careful probing around on a live circuit anyway.

The most common error is to slip and short two adjacent pins, which sometimes can be very damaging.

Ral-Clan
November 18th, 2016, 05:24 PM
Hi guys. No oscilloscope probes have arrived yet, so I've used my logic probe to test the 6502 as instructed. I got +5VDC from pin 8 of the 6502 (I wasn't sure if I could just take it from anywhere on the board?). Ground was to chassis.


Pin 6 (/NMI) should always be high.

Yes, it is high.


Pin 4 (/IRQ) should be high (unless the PET is working - in which case this pin will probably be pulsing low).

Yes, Pin 4 was high.


Pin 40 (/RESET) should be high. Briefly shorting C51 (a 1uF tantalum capacitor) to ground (which is connected to pin 7 of UD16 (LM555)) should result in the 6502's /RESET pin going low briefly and returning high once again. This demonstrates that the CPU reset circuitry appears to be working.

Pin 40 was high. I wasn't sure which leg of the capacitor at C51 to short to ground. Positive or negative? Please advise...


Pin 2 (RDY) should be high.

Yes, it was high.


Pin 37 (clock in - Phi0) should be oscillating at approximately 1 MHz.

Yes, it was oscillating, although the logic probe didn't tell me at what Hz exactly.


Pin 39 (clock out - Phi2) should also be oscillating at approximately 1 MHz.

Yes, it was oscillating, although the logic probe didn't tell me at what Hz exactly.


Pin 7 (SYNC) should be pulsing as each instruction is fetched/executed. If not - try operating the RESET circuitry again to see if some pulses appear briefly and then stop (indicating that the CPU was trying to do something and subsequently failed).

Pin 7 was LOW. The only way I know to operate the reset circuitry was to turn the machine off and on again. When doing so, there this IS a brief second of CPU pulsing activity before it goes low again.

KC9UDX
November 18th, 2016, 05:45 PM
Don't worry about the capacitor at this point, your reset circuit is working. Everything except _IRQ looks good. That's not working because either you have a bad PIA or something downstream, which is pretty common.

You can take +5V from anywhere, as long as it measures +5V to ground.

dave_m
November 19th, 2016, 09:24 AM
Pin 7 was LOW. The only way I know to operate the reset circuitry was to turn the machine off and on again. When doing so, there this IS a brief second of CPU pulsing activity before it goes low again.

The CPU is not fetching instructions. Perhaps it got stuck by executing a non valid instruction nicknamed a 'KIL' instruction. That usually means a bad ROM or because it somehow went to an area of data and executed an instruction there. What are the states of the address lines A15 to A12? That will tell us what ROM is being read. Probe all of them to find the ones that may be pulsing if any.

Ral-Clan
November 20th, 2016, 12:15 PM
Hi guys. I'm getting some weird results testing A12 to A15 on the 6502 with a logic probe.

The first time I tested here are the results I got:

A12 - Low, pulsing high
A13 - High, pulsing low
A14 - High, pulsing low
A15 - High, pulsing low

I was excited to see this activity and so tested again. This time (and on all subsequent tests) I get no pulsing, just solid "high" for all these pins.

I came upstairs and posted the first part of this message. THEN after posting (10 minutes) I started the PET from a cold start again and tested:

Pin A12 was pulsing! Pin A13 was pulsing! Pin A14 was pulsing but in the middle of my testing all pins went "HIGH" and stayed that way. I never had time to test Pin A15 to see if it was pulsing like the others before it went High.

So it seems that something is working for a bit after a cold start then failing only seconds to minutes after.

CONFIRMED behaviour. I just left the PET to sit for 15 minutes unplugged. Then after a cold start pins A12 - A15 were pulsing for about one minute after startup before going to solid "high".

(I never get startup chirp from the piezo speaker).

KC9UDX
November 20th, 2016, 12:55 PM
Time for an NOP generator!

Either you have a bad ROM, or a bad bus connection.

daver2
November 21st, 2016, 07:43 AM
This was partially where I was expecting you to end up...

You can manually generate a reset by grounding J4 pin 22 (/RESET). This is not the same as shorting out C51 - but is fine for doing what you are about to do now...

Either the PET (6502) does absolutely nothing when you power it up, or it does 'something' for a while and then stops, or it appears to do something - but not what it is supposed to (if this makes sense).

You need to be in a position to manually generate a RESET when you are testing - and you need to do this without constantly powering off and back on (this can cause more damage). You can do this by wiring a normally open push-button (press to close release to open) between J4 pin 22 (/RESET) and a corresponding GND point on the J4 connector (see http://6502.org/users/andre/petindex/pinouts.html about half-way down the page). Pushing this button should manually generate a reset at any time you want.

I agree with the Space Commander that you next look at building a NOP generator. This can be something as simple as a 40 pin socket with the data pins bent out out and connected via resistors to the +5V and 0V pins of the socket. This one I find a bit confusing http://www.6502.org/mini-projects/nop-gen/nop-gen.htm but this one makes more sense if you just look at the picture and the pins (but the website is in German) http://home.germany.net/nils.eilers/nopgen.htm. Search Google for "6502 NOP generator" and you'll get a few more hits.

Basically - the circuit forces the 6502 CPU to execute NOP instructions by disconnecting the CPU data bus from the PET circuitry and forcing a 0xEA code onto the data bus for the 6502 to execute. You should be able to see A0 oscillating at a certain frequency with A1 oscillating at half A0 and so forth down to A15. You can also look at the address decode logic on the PET and see if it is correctly decoding the RAM, ROM and I/O devices at the appropriate addresses. You really need an oscilloscope for this rather than your logic probe though.

You could also 'take a flyer' and assume that it is a faulty ROM and get some replacements just in case.

Dave

dave_m
November 21st, 2016, 12:49 PM
(I never get startup chirp from the piezo speaker).

The PET only executes four instructions in the kernel ROM (UD6) at $FD16 before it jumps to the Edit ROM (UD7) to perform initialization of the screen and the chirp. Since you don't get a screen or a chirp, either you can't even run four instructions in the D6 ROM or there may be a problem with the EDIT ROM. The EDIT ROM is the only one on your board in a socket so make sure you re-seat UD7 for a good connection.

Since all the other ROMs are soldered into the board, if you don't like a lot of solder work, you may have to consider a RAM/ROM replacement board especially the NOP test doesn't find a problem on the address bus.

This brings up a slight complication in using a memory replacement board in a SuperPet. One needs to make sure that there is height clearance for all subassemblies and cables. Perhaps longer standoffs will be required, etc.

Ral-Clan
January 6th, 2017, 11:13 AM
Sorry for the long time without an update. Actually there is no update except that I got my Oscilloscope probes, and it confirmed that the old Tektronix scope that I had will not lock a waveform (trigger does not work). Then the power supply on the oscilloscope died....so.....no scope. I'm limited to using a logic probe and multi-meter to repair this PET.

Okay, next step - I will build a NOP generator as suggested and report back when it is made.

Ral-Clan
January 8th, 2017, 11:16 AM
Time for an NOP generator!
Either you have a bad ROM, or a bad bus connection.

Okay! My NOP generator has been constructed (see pictures and click for larger view):

35318

35319

I also have attached a momentary reset switch between J4 pin 22 (/RESET) and a corresponding GND point on the J4 connector.

Could you guys please tell me what I have to do now? i assume the NOP generator is to be inserted into the 6502 socket of the SuperPET/8032 motherboard Thanks!

KC9UDX
January 8th, 2017, 11:30 AM
You must have had a spare 6502. Else an extra socket would mean not modifying the 6502.

Anyway, install it, intiate a reset, and the 6502 should start "counting".

It's best to have an oscilloscope for this, but you can still use this with a logic probe.

What you're looking for is a square wave on each address bus line, A0 is the highest frequency, A1 is half that, A2 is half of A1, etc. Check them at the 6502, and verify that that's what you're getting. Then you can look for those patterns to be in other places (address decoded) where those addresses should be.

Hopefully someone else comes along and explains it better, because I can't explain it well.

Ral-Clan
January 8th, 2017, 02:23 PM
You must have had a spare 6502. Else an extra socket would mean not modifying the 6502.

Yes, I had a spare 6502. I first made a version with a spare 40 pin IC socket so I wouldn't have to modify the 6502, but the legs were too thin to really seat into the PET's 6502 socket, so I just made it out of the chip.


It's best to have an oscilloscope for this, but you can still use this with a logic probe.

That's going to be a problem. unfortunately. As I said, my oscilloscope is not functional and far beyond my ability to fix, so I only have a Logic Probe to work with.


What you're looking for is a square wave on each address bus line, A0 is the highest frequency, A1 is half that, A2 is half of A1, etc. Check them at the 6502, and verify that that's what you're getting. Then you can look for those patterns to be in other places (address decoded) where those addresses should be.

Hopefully someone else comes along and explains it better, because I can't explain it well.

Okay, can anyone else give me some step-by-step instructions? Once I have these I will conduct the various tests and report results back here. Thanks.

dave_m
January 8th, 2017, 02:42 PM
As I said, my oscilloscope is not functional and far beyond my ability to fix, so I only have a Logic Probe to work with.




One needs a scope to check the address signals. Just detecting a pulse is not enough. If two address lines are shorted, there will still be a pulse waveform, if somewhat sick. One needs to check square waves in descending order.

KC9UDX
January 8th, 2017, 03:17 PM
Depending on your logic probe, it could work. With mine, I can tell the difference in its audio tones well enough to use it for this at 1 MHz.

Ral-Clan
January 8th, 2017, 03:47 PM
Ohhhh.....okay. Well all I have is a logic probe right now. So is it absolutely useless to attempt it with a logic probe? If so, this repair might have to go on hold until I can source a working oscilloscope.

If I have to buy an oscilloscope, maybe it would just be cheaper or more sensible to replace all the ROMs? That's going to be a lot of desolder work, though to put in sockets if I do them all. And likely cost as much as a cheap Chinese USB scope.

These seem to be getting good reviews for the price (i.e. not utter garbage, decent for Chinese made product).

https://www.amazon.com/Hantek-HT6022BE20Mhz-Digital-Oscilloscope-Bandwidth/dp/B009H4AYII
http://www.ebay.com/itm/121985263172

About $75 with shipping. Have to use an old spare laptop as display. At least it would be useful for other things, like doing drive alignment on 1541s etc.

KC9UDX
January 8th, 2017, 07:06 PM
Give it a shot with your logic probe, put the NOP generator in and see if you can differentiate the tones on the different address lines. You've got nothing to lose.

If you aren't up to replacing all the RAM and ROM otherwise, you could always try one of the replacements like PETvet.

I'm inclined to buy a cheap, old Tek scope rather than spend the same amount on a Chinese unit. Some of the old Tek scopes can be had in perfect working order for $30 if you're in the right place at the right time, upwards to $100 or so.

dave_m
January 8th, 2017, 07:52 PM
If I have to buy an oscilloscope, maybe it would just be cheaper or more sensible to replace all the ROMs? That's going to be a lot of desolder work, though to put in sockets if I do them all. And likely cost as much as a cheap Chinese USB scope.

It all depends on how good you are with the soldering iron. If you promise not to ruin the main board with bad soldering, I could send you a set of EPROMs. Of course the problem could very well be RAM. Personally I would spend the $75 on a RAM/ROM replacement board from bitfixer.com or Tynemouth (http://blog.tynemouthsoftware.co.uk/2015/09/commodore-pet-rom-ram-replacement-boards.html).

Some Questions to Commodore community:
Has one of these boards ever been run on a SuperPET with the CPU on the upper board? Could there be a clearance problem with the SuperPET board and the RAM/ROM Replacement? Would the RAM/ROM board work better on the PET main board (with the CPU chip on the upper board) or placed in the upper board?

dave_m
January 8th, 2017, 08:00 PM
I'm inclined to buy a cheap, old Tek scope rather than spend the same amount on a Chinese unit. Some of the old Tek scopes can be had in perfect working order for $30 if you're in the right place at the right time, upwards to $100 or so.

I agree with you KC, I'd rather buy a Tektronix 454 or 465 for $100 rather than a $75 USB scope. But one has to make sure that it is guaranteed to be in working order and survives the shipping.

Ral-Clan
January 9th, 2017, 04:30 PM
Thanks for all the advice.

You've given me several options to consider...

1. Try with the logic probe anyway: Okay, I will since I have nothing to lose...

2. Get a ROM replacement board from Tynemouth: I had given this some serious thought. It seems to be the easiest, most sensible and most cost-effective thing to do. HOWEVER, I am attracted to the idea of actually repairing this PET to original condition, rather than bypassing things with a modern work-around. I'd like to try that first...

3. Replace all the ROMs in one fell swoop (DaveM offered to send me some): Thanks Dave! That's an exceptional offer and I might eventually take you up on this. I feel confident I could do it without ruining the motherboard, but right now it seems like a bit of a shot in the dark - as I could socket all the ROMs only to find out it is a RAM problem, as you said. That's quite a lot of socketing IC work. So I think I will hold off on that option for the moment.

4. Get an oscilloscope and diagnose the exact chip that is the problem: This option actually appeals to me the most, even though it makes the least monetary sense. Buying a scope is probably the most expensive option, but I actually have been thinking about getting a scope for the past year. If I did get a basic scope it would serve me in other repair jobs and learning exercises. Getting a scope would be an expense to begin with, but might pay off in the long term by improving my skills and allowing me to repair other things in future. It would have to be a used analog "good one" or a Chinese one that is getting good reviews (I know you guys are steering me away from the Chinese stuff).

So I think that I will try to see what happens with my logic probe, and at the same time investigate whether I can get a scope for a reasonable price.

The silly thing is, I was given two T912 Tektronik scopes in the Spring FOR FREE. But both suffer from broken power supplies. These are 1970s era scopes.

dave_m
January 10th, 2017, 10:16 PM
4. Get an oscilloscope and diagnose the exact chip that is the problem...


Now there is the rub. On a PET that doesn't run at all, to troubleshoot to a single bad ROM or RAM chip may take a 32 channel logic analyzer, or a lot of luck and patience with the scope.


Before you go to far, Assuming you already reseated the UD7 ROM in its socket as I previously asked, make sure the IC socket at UD7 (Editor ROM) is good. Give it a visual inspection for corrosion and spring retention, solder joints, etc, and reflow the solder to the board if necessary. If the socket is bad or has bad connections, we would get the symptoms we see since initialization of the screen and the power up chirps are performed by the code in that ROM.

Ral-Clan
January 11th, 2017, 04:35 PM
Now there is the rub. On a PET that doesn't run at all, to troubleshoot to a single bad ROM or RAM chip may take a 32 channel logic analyzer, or a lot of luck and patience with the scope.

Before you go to far, Assuming you already reseated the UD7 ROM in its socket as I previously asked, make sure the IC socket at UD7 (Editor ROM) is good. Give it a visual inspection for corrosion and spring retention, solder joints, etc, and reflow the solder to the board if necessary. If the socket is bad or has bad connections, we would get the symptoms we see since initialization of the screen and the power up chirps are performed by the code in that ROM.

Hi,

I previously had reseated all socketed chips and reflowed all solder points on the motherboard, so I think we can rule-out bad connections, unfortunately.


Second question:

This old multimeter has come up locally for sale.

35352

It's a "Leader" LB-505 15Mhz dual trace scope....apparently in working condition and apparently $50 CDN.
Is a 15KHz scope okay for working with 8-bit computers?

It's old (i.e. 1970s old) but worth the risk for this price?

KC9UDX
January 11th, 2017, 05:17 PM
I didn't think Leader made scopes that long ago.

I think $50 is a little much for that scope. That's if it's 15MHz. If it's 15kHz, it's not worth $10CDN.

If it is 15MHz, and it works properly, $50 for it would be better than $100 for something else that might not work.

Are you sure it wasn't made in the 90s?

dave_m
January 11th, 2017, 09:57 PM
I previously had reseated all socketed chips and reflowed all solder points on the motherboard, so I think we can rule-out bad connections, unfortunately.



Excellent preparation for the repair. So with luck maybe the Editor ROM is bad. My guess is that if the problem is due to a bad ROM, it will be the UD6 kernel or the UD7 Editor ROM given that CPU gets lost before it can emit the chirp.

Ral-Clan
January 12th, 2017, 03:11 PM
I didn't think Leader made scopes that long ago.

I think $50 is a little much for that scope. That's if it's 15MHz. If it's 15kHz, it's not worth $10CDN.

If it is 15MHz, and it works properly, $50 for it would be better than $100 for something else that might not work.

Are you sure it wasn't made in the 90s?

Nope, It was made in the 1970s. I can't find any exact date on it, but stylistically it oozes 1970s electronics in appearance. Also the LB-505 is an earlier model than this 510 from 1976:

http://www.radiomuseum.org/r/leader2_oscilloscope_lbo_510lbo_5.html

So...I'm not quite understanding what you are saying - it is indeed a 15 Megahertz scope, dual channel.
You seem to be saying (above) that's it's not worth $10CDN, but in the next sentence you say $50 would be better than $100 for something else that might not work.

My feeling is $50 is a little too much for a scope with components that are 40 years old inside, even if it is working on pickup. On the other hand, I would have a chance to actually see it before paying (unlike eBay) and also avoid shipping charges as it is local. I'd be happy to pay up to $150 for a 1990s era scope, but I cannot be too choosey about scopes locally for sale around these parts (I live in a smaller town where the options are limited, if and when scopes turn up for sale).

KC9UDX
January 12th, 2017, 05:32 PM
Nope, It was made in the 1970s. I can't find any exact date on it, but stylistically it oozes 1970s electronics in appearance. Also the LB-505 is an earlier model than this 510 from 1976:It may have been designed and first made in the 70s, but that doesn't mean it's that old. New scopes looked like that for a long time.


So...I'm not quite understanding what you are saying - it is indeed a 15 Megahertz scope, dual channel.
You seem to be saying (above) that's it's not worth $10CDN, but in the next sentence you say $50 would be better than $100 for something else that might not work.
I was unsure if you meant it was 15kHz or 15MHz. A 15kHz scope (I may have one even slower than that!) isn't worth a plug nickel. It may be good for audio displays where looks are more important than function. But a 15MHz scope will work for what you need.


My feeling is $50 is a little too much for a scope with components that are 40 years old inside, even if it is working on pickup. On the other hand, I would have a chance to actually see it before paying (unlike eBay) and also avoid shipping charges as it is local. I'd be happy to pay up to $150 for a 1990s era scope, but I cannot be too choosey about scopes locally for sale around these parts (I live in a smaller town where the options are limited, if and when scopes turn up for sale).
Precisely what I was trying to say. :)

dave_m
January 25th, 2017, 04:37 PM
I'm going to proceed this way:


- ground myself to PET chassis with anti-static wristband
- remove old ROMs
- plug in new EPROMs according to socket label on chips you send (obviously taking care to ensure orientation is correct).
- close up PET
- turn on PET with MONITOR disconnected from motherboard (I've been working on it with the monitor disconnected, and I don't see the need to connect it for this first test).
- listen for the chirps/beeps from the piezo speaker, which would signal OK startup.


I'm assuming, if I don't hear the beep, then it means those ROMs weren't the problem.
If I do hear the beep, I'll power down, connect the monitor and see what is happening.

Note: I sent Ral-Clan the UD6 kernal ROM and the UD7 Editor ROM to aid troubleshooting.

Ral-Clan,
This is a good plan. But I would start with only replacing the UD7 Editor ROM as it is on a socket. Maybe you will be lucky and not have to unsolder the UD6 kernal ROM. Also when troubleshooting, it is usually best to make only one change at a time. Then log the results and go on to the next step. That way you can backtrack without confusion. Best of luck.
-Dave

Ral-Clan
January 25th, 2017, 06:01 PM
Okay Dave,

And a big public thanks to Dave_m for going above and beyond in sending the replacement ROMs. I will proceed with the swaps and report back to this thread on my results. If I have to proceed to step 2 (desolder and socket) it will hopefully be this weekend.

Talk you you guys soon.

MikeS
January 25th, 2017, 06:53 PM
Okay Dave,

And a big public thanks to Dave_m for going above and beyond in sending the replacement ROMs. I will proceed with the swaps and report back to this thread on my results. If I have to proceed to step 2 (desolder and socket) it will hopefully be this weekend.

Talk you you guys soon.Indeed; you couldn't ask for a more helpful and generous guy (and he seems to have an endless supply of 2532s ;-) )

If you're nervous about step2 and assuming that UD11 is not used, you might find it easier to just cut the UD6 and UD11 chip selects (pin 20), jumper the UD6 select to UD11, and put the UD6 EPROM into UD11.

Good luck!

m

Ral-Clan
January 26th, 2017, 05:26 PM
It's ALIVE!!!

(click on photos to enlarge)

New ROM installed at UD7:
35737

Power on. CHIRP! READY! Cursor blinks happily (although I didn't catch the cursor "on" in this snapshot).
35740

Another PET wakes up after many years....asking "what century is it?"
35741

Wonderful to see and thanks very much to Dave_m!

Next hurdle: absolutely no keyboard response. Tried every key. Mashed every key.

This is a business keyboard. Does the version of the ROM at UD7 matter if it's a business or graphics keyboard?

The first thing I think I should attempt is to remove the keyboard and check continuity of all wires going from keyboard to motherboard.
Next disassemble keyboard and do a complete cleaning of all under-key contacts.

If that doesn't work, assume a logic fault?

Very cheered to see the PET blinking at me....another PET rejoins the community (almost)!

dave_m
January 26th, 2017, 06:39 PM
Next hurdle: absolutely no keyboard response. Tried every key. Mashed every key.

This is a business keyboard. Does the version of the ROM at UD7 matter if it's a business or graphics keyboard?
The 901474-03 ROM is correct for 80 column 60 Hz SuperPet/8032



The first thing I think I should attempt is to remove the keyboard and check continuity of all wires going from keyboard to motherboard.
Next disassemble keyboard and do a complete cleaning of all under-key contacts.

Clean only the bottom black carbon/foam that presses on the circuit board. Keep keyboard upside down or springs and parts will be flying out. Use cotton swab and high purity 98% + Isopropyl Alcohol to clean bottom of key pads. Clean contacts on board if dirty. If I remember, you may have to unsolder one wire to easily remove circuit board and reveal key bottoms. It looks like two wires, black and red. Mark the board so you get the right wire re-connected!

35743



If that doesn't work, assume a logic fault?

Very cheered to see the PET blinking at me....another PET rejoins the community (almost)!

Blinking cursor means a lot. The Interrupt Handler is working so the 40 pin UB12 PIA (6520) is generating a proper interrupt every 60 Hz. It is one of the two chips used to decode the keyboard. Hopefully the 6520 is working. The other chip is UC11 the BCD to Decimal Decoder, 74LS145. It the problem is an IC, it is on of those two. There are no ICs in the keyboard, only switches.

Review sheet 3 of the 8032 schematic for details. http://zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-03.gif

KC9UDX
January 26th, 2017, 07:05 PM
Before disassembling the keyboard it might be wise to disconnect it and short the correct pins at the keyboard connector to simulate keypresses.

Ral-Clan
January 27th, 2017, 02:51 AM
Before disassembling the keyboard it might be wise to disconnect it and short the correct pins at the keyboard connector to simulate keypresses.

Wow! This is possible? I didn't realise this was possible.

Obviously, this would be very helpful in determining whether the keyboard fault was on the motherboard or keyboard side of things.

But which pins to short on the motherboard keyboard connector? Where can I find the info to do this safely? (I believe have the answer in the quote below, and I think I've found the matrix output here: http://www.6502.org/users/andre/petindex/keyboards.html#business)

I suppose I could probe the output lines on the keyboard to find this, while pressing a key, but this would require no fault with the keyboard in the first place (chicken and egg situation).

I've also been talking with Dave at Tynemouth Software who had the following comment on the keyboard problem:


You can get keyboards that need a good clean before they will respond. Easy to check by using a short length of wire to connect one of the left 8 pins to one of the right 8 pins which should act like a key is pressed.
No response to any keys could be the 6520 next to the keyboard connector, or maybe the other 6520 or 6522 pulling one of the control lines down. I'd try removing the 6520 near the IEEE-488 connector and swapping with the keyboard one and seeing how that goes. However, if the keyboard is working on the SuperPET [side of things -edit], then it's more likely to be the editor ROM (or possibly the decoding logic which drives that). PET diagnostics would check that, ROM/RAM board would bypass it.

So....according to this information ANY of the eight left pins on the keyboard header can be shorted with ANY of the rightmost pins safely? Sorry if I'm being very cautious here, but at this stage I want to make sure things are crystal clear before I proceed. No point in causing further damage through a mis-understanding.

Can anyone confirm my understanding regarding the pin-shorting procedure?

KC9UDX
January 27th, 2017, 03:02 AM
The keyboard is a matrix that is scanned. It makes for fewer conductors (less than the normal one per switch) and also allows things like multiple keypresses. So all you need to do is connect a row to a column to simulate a keypress.

Pretty much every keyboard from the last 50 years works this way. But most have the scan logic inside the keyboard housing, and only output serial data, making for even fewer conoductors. The PET keyboards are not like that.

Ral-Clan
January 27th, 2017, 03:05 AM
The keyboard is a matrix that is scanned. It makes for fewer conductors (less than the normal one per switch) and also allows things like multiple keypresses. So all you need to do is connect a row to a column to simulate a keypress.

What do you think/know about my information above regarding shorting one of the left header pins with the right on the motherboard keyboard connector?
(sorry, I think you replied to my post before I edited and added that information).

MikeS
January 27th, 2017, 10:28 AM
What do you think/know about my information above regarding shorting one of the left header pins with the right on the motherboard keyboard connector?
(sorry, I think you replied to my post before I edited and added that information).Yup. 1 - 10 are outputs, A - J inputs; pretty well any output connected to any input should put a character on the screen.

Sounds like we're making serious progress!

m

KC9UDX
January 27th, 2017, 01:29 PM
Pretty well any, but not every. Don't fret if some combinations don't, that's normal.

Ral-Clan
January 27th, 2017, 04:22 PM
Pretty well any, but not every. Don't fret if some combinations don't, that's normal.

okay...as long as there are no pin combinations that can damage the pet.

KC9UDX
January 28th, 2017, 09:51 AM
If there are +5V and/or ground connections there, avoid them. If there's not, there's not much to damage.

The reason some combinations don't give you any output is that some are control keys (shift, etc.) and some might not be in use.

Ral-Clan
January 28th, 2017, 12:44 PM
Good news!

Shorting keyboard header pins at J5 on the motherboard does produce characters on the screen of the PET. So this almost certainly means a physical problem with the keyboard. I'm glad of this, as that's something that's within my skill-set to fix.
Looks like Sunday I will be giving the keyboard a complete dis-assembly / cleaning and checking for continuity.

Thanks again for all your help, guys. I really could not have done this without you. I would not have known about the trick to short motherboard keyboard header pins.

Ral-Clan
January 29th, 2017, 01:18 PM
I cleaned the keyboard and now it is working fine. It did require a thorough cleaning of all contacts, and then a pit of "breaking in" in order to get it working.

It's funny, because although it looked fairly clean when opened up, it simply did not respond at all - giving the appearance of being a dead keyboard - even when the keys were pressed hard.
I guess quite a bit of "patina" or oxidization had built up on the contents.

I tested the machine for a bit as a "stock" PET 8032, and it seemed to work quite fine. It even stops and starts a datasette with LOAD / RUN-STOP, so it seems that interface is functioning well.

After that test, I re-install the SuperPET daughterboard. Unfortunately, that board no longer seems to function. When I switch the PET over to the 6809 CPU mode and power up, I get anything from a black screen to a rectangle of mangled pixels in the centre of the screen which stowly starts to "grow" outward toward the edges of the screen. One time I got a bright spot in the centre of the monitor that was getting brighter. Obviously I don't want to leave this type of thing on too long for fear of damaging the monitor.

I did try re-seating all socketed chips on the SuperPET daughterboard, and double-checked that all connections between it and the PET motherboard were good.

The 6802 CPU chip used by the 8032 motherboard is actually socketed on the ZSuperPET daughterboard, but despite that, the machine functions well in standard PET mode.

So it would seem that something has gone wrong with the SuperPET daughterboard since the beginning of this thread, where it did seem to respond somewhat.

However, I do consider this whole endeavour a success. The PET is now functional as an 8032 machine, and that was really my goal - to have a working PET, not necessarily a SuperPET. I have so much I want to do in regular PET / Commodore BASIC anyway, before even thinking about the SuperPET's FORTRAN, COBOL, etc.

So I have disconnected the external switch that allows one to turn this machine on in SuperPET mode, in order to prevent accidental damage. I will leave the SuperPET daughterboard inside, in case a solution can be found. Obviously I don't want to do anything that would diminish a not-so-common piece of Commodore hardware.

daver2
January 29th, 2017, 01:41 PM
Well done for getting the 'standard' PET going!

Why not have a go at the 6809 board?

If you get an image on the screen after you have selected the 6809 CPU (especially if you get some 'bits' changing on the screen) then the basic 6809 is actually operational and executing instructions (just not the ones that it should be executing)...

I would suggest piggybacking the RAM on the superpet board - and possibly swapping the boot ROM next.

Dave

dave_m
January 29th, 2017, 02:07 PM
Well done for getting the 'standard' PET going!

Why not have a go at the 6809 board?



Brent,

Yes, ditto daver2! I would give my left nu# to have a SuperPet! You must fix the 6809 board. I think daver and Mike_S have SuperPets and can guide you. Since it was so close to working in the 6809 mode before you disconnected it, check all cables for polarity, bent pins and for good connections.
-Dave

Ral-Clan
January 29th, 2017, 02:15 PM
Brent,

Yes, ditto daver2! I would give my left nu# to have a SuperPet! You must fix the 6809 board. I think daver and Mike_S have SuperPets and can guide you. Since it was so close to working in the 6809 mode before you disconnected it, check all cables for polarity, bent pins and for good connections.
-Dave

Okay guys! Let's stick at this at get the 6809 daughterboard going. I should say that it's HIGHLY unpredictable what I am getting on the screen. Mostly I get a dark screen. SOMETIMES I get the garbled rectangle of pixels.

But I need to take about a week's breather and just enjoy the PET for a moment. I'm longing to play Space Invaders on a real PET again (which is what I intend to do while I've got it up and running)!

I'll get back to this thread in about a week when I've gathered up my "fightin'" energy to tackle this project.

Talk to you soon!

dave_m
January 29th, 2017, 04:05 PM
I'm longing to play Space Invaders on a real PET again
Space Invaders is one of my favorite games.

To play it on the 80 character display, one must first load and run a program called something like cbm4032 so the games displays correctly. Does anyone know the proper name and where the program can be found?

I'm sure it is on the TPUG CD and is on the internet somewhere.

Ral-Clan
January 29th, 2017, 05:20 PM
Space Invaders is one of my favorite games.

To play it on the 80 character display, one must first load and run a program called something like cbm4032 so the games displays correctly. Does anyone know the proper name and where the program can be found?

I'm sure it is on the TPUG CD and is on the internet somewhere.

I have it. I've been waiting for the day this SuperPET was working again and I am prepared. I have the program that converts the 80 column screen to the 40 column screen (sets up 40 "narrow" columns in the middle of the screen).
Then I also found a version of Space Invaders that works with the business keyboard.

This was one of the first games I played on the PET back around 1979 when my school had a PET computer. I've played it in emulation but really want to try it on a real PET again.

Oh....and I'm getting the itch to repair this 6809 daughterboard as you guys have proposed. Once I'm all Space Invader'd out I'll be back to give it a go.

Seems to me the first and easiest thing to do would be to replace the "easy" chips. RAM chips. The ones on this daughterboard are ceramic, which is surprising.

Here's a pic I took of the daughterboard before I put it back in the PET. (click to zoom)

35782

35783

The chips say: M5K4164NS.

Haven't checked yet if these are the same chips as in a C64....I happen to have some extra ones of these....otherwise can anyone direct me to reliable source to buy? Jameco?

I'm guessing if the 6809 is fried I'm out of luck. I think those are rare and hard to get now.

KC9UDX
January 29th, 2017, 05:30 PM
Your symptoms don't suggest fried uP, to me. It would be a huge coincidence, I think. At least, when I've seen them fail (not 6809 specifically) they don't do so much as execute incorrect code for such long duration.

dave_m
January 29th, 2017, 08:31 PM
The chips say: M5K4164NS.

4164 RAMs are plentiful. Also start looking around on ebay for ROM replacements. The Motorola MC68764 EPROM is a pin compatible chip. You may need up to three units. They are getting scarce. My Data I/O 29B can program them.

dave_m
January 30th, 2017, 12:59 AM
[Here (http://generalthomas.com/PET/68764.pdf)] is a data sheet for MCM68764 8KB EPROM.

Ral-Clan
January 30th, 2017, 07:22 AM
[Here (http://generalthomas.com/PET/68764.pdf)] is a data sheet for MCM68764 8KB EPROM.

I've got some Intel D2732A EPROMs (three of them) in my parts pile. Are these big enough for the job (32K)?
datasheet: http://pdf.datasheetcatalog.com/datasheet/SGSThomsonMicroelectronics/mXrtxrz.pdf

I also have a couple of Intel D2764A 28-pin 64K (?) EPROMS in my parts pile. Although these have 28 pins instead of 24, they seem to share common pin assignments for the most-part, and they are also 64KB 8-bit word, like the MCM68764.
I wonder if these would work in substitute for the MCM68764's with a socket adapter or jumpers for the couple of pins that are in different locations or not needed...

Datasheets:

http://html.alldatasheet.com/html-pdf/157879/INTEL/2764A/148/1/2764A.html
http://pdf.datasheetcatalog.com/datasheets/105/489501_DS.pdf
http://www.datasheetlib.com/datasheet/732647/am2764-2dc_amd-advanced-micro-devices.html

I'm admittedly in way over my head here, but am I onto something?
Here are pics of the two different pinouts for comparison. (click to zoom)

MCM68764 (24-pin EPROM):
35792

Intel D2764 (28-pin EPROM):
35791

It seems to me that if you let the top four pins on the D2764 overhang the PET's ROM socket, you've almost got a pin-for-pin compatible chip, except for pins 18 and 19 (address 10 and 11) which would need to be swapped to match the MCM68764.

There also might be an issue with pin 20 on the MCM6874 and pin 27 on the Intel D2764, which seem to have something to do with programming/output-enable. I'm not sure what these pins do, but if I'm understanding correctly (which is highly doubtful), on the MCM68764 that pin does both jobs that pins 20 and 27 on the D2764 do.

Look what I found (someone else had the same idea?)
http://ist.uwaterloo.ca/~schepers/sockets.html
http://www.arcade-cabinets.com/board_hacks/24U/index.shtml

dave_m
January 30th, 2017, 10:06 AM
Any EPROM that is 8K Bytes like the 2764 will do if you make an adapter. The 2732 is 32K bits, meaning you divide by 8 and get a 4K Byte EPROM. Adapters will look a little kludgy on a SuperPet but will do the trick. I prefer a pin compatible replacement if I can find one.

Ral-Clan
January 30th, 2017, 10:14 AM
Just found four MN4164P-15A RAM chips I bought for a C64 repair project.

The 4164 designation would lead me to believe these are good substitutes for the SuperPET daughterboard RAM chips, which are MK4164NS-20 chips.

It would seem to me that these are okay do some swapping to see if the RAM is bad. Can anyone confirm that this is okay before I try it (I've made stupid, obvious mistakes before so I always like to get a second opinion).
The RAM chips are all socketed so it should be an easy swap/check.

Since I only have four chips to swap, and there are eight on the daughterboard, does anyone know how the banks arrangements on the work, so I can swap in banks?

dave_m
January 30th, 2017, 10:47 AM
Just found four MN4164P-15A RAM chips I bought for a C64 repair project.

The 4164 designation would lead me to believe these are good substitutes for the SuperPET daughterboard RAM chips, which are MK4164NS-20 chips.

Yes, the -15 are 150 nS access time and since they are faster than the -20s they will be fine.




Since I only have four chips to swap, and there are eight on the daughterboard, does anyone know how the banks arrangements on the work, so I can swap in banks?

You need all eight to work as the are 64K by one bit each. So try four then the other four. Or perhaps, if you think just one chip is bad. Replace one down the rows until you find the bad one. I'm not sure which way would be best.

Chuck(G)
January 30th, 2017, 11:01 AM
Before I hauled out the soldering iron, I'd try selectively piggybacking the known-good 4164s over the suspected ones.

daver2
January 30th, 2017, 11:19 AM
+1 for dave_m's post #97...

Dave

dave_m
January 30th, 2017, 11:31 AM
Before I hauled out the soldering iron, I'd try selectively piggybacking the known-good 4164s over the suspected ones.
Hi Chuck,
The OP is lucky. His RAM is on sockets on the mezzanine SuperPet board.

Ral-Clan
February 4th, 2017, 08:44 AM
Hi Chuck,
The OP is lucky. His RAM is on sockets on the mezzanine SuperPet board.

Hi guys,

I spent the week playing a lot of PET games with the working 8032 "half" of this SuperPET. Gotta say, there's nothing like playing Space Invaders on the real chunky pet keyboard, with the true high persistence phosphor monitor. The emulators are close, but they don't exactly replicate the experience. I also enjoyed using the datasette again, for the nostalgia factor. I have one colour matched to the VIC-20 which still uses the same shape/mould as the black PET datasette. It was an early VIC-20 datasette, before they went to the rounded case. Those big thick datasette buttons and typing LOAD "",2 brought back a LOT of nostalgia from my grade 5 school experience when we used the PET in our classroom.

I also took the opportunity to get my C2N232 interface working. I purchased this from Marko Makela about ten or more years ago, but never used it. I finally had need for it and so after some initial troubleshooting, had an old IBM thinkpad laptop spoofing a datasette and transferring files at high speed to the SuperPET. With this I managed to fill up two cassettes with PET games.

But now game playing is done and it's time to figure out what is wrong with the SuperPET daughter-board. As I mentioned, when I start the PET in 6809 mode, by flipping the switch on the side of the machine and powering on, one of the following things happens:

1. totally black screen
2. a horizontal raster line that quickly focuses on a single bright spot that grows slowly and gets brighter. When I see this I quickly turn the machine off.
3. a 1-inch high by 8-inch wide rectangle of garbled pixels that begins to grow slowly. I do not keep the machine on long when I see this, either.

When I first got this SuperPET, the 8032 motherboard was not working. I could, however, SOMETIMES get the SuperPETs programming languages menu to display when I started the PET in 6809 mode (see pictures in first message of this thread). So, at that time the ONLY thing that was working some of the time was the SuperPET board. Now the situation is reversed. The 8032 motherboard works fine (thanks to a ROM from dave_m), but the daughterboard is problematic.

So....first thing I did was to check was that all the cables between the 8032 motherboard and the 6809 daughter-board are installed correctly - CHECK, they all are okay.

Second thing, re-seat all socketed chips on the daughterboard: 6502, 6809, RAM chips, ROM chips. All done. No improvement.

Third thing I tried was replacing some of the RAM on the 6809 daughter-board. I had four 4164 RAM chips to spare. The daughter-board has eight. So I first swapped the four in one row, tested. No improvement. Then in the next row. No improvement. I can therefore surmise that unless ALL eight of the daughter-board’s RAM chips are bad, the problem does not lie with bad RAM.

I should also mention that this daughter-board has very high quality 4164 RAM chips (ceramic and possibly military grade)....so combined with my swap test, I do tend to trust that they are not bad (again, see a picture of them on a previous page of this thread).

So for today, I have pulled out the 6809 daughter-board, and am going to re-flow all solder points. It's possibly that the board was twisted or torqued during the repair work, causing a broken connection. Examining it closely, I can see the board does have a slight twist or warp to it....which is probably the way it came from the factory. Perhaps the combination of a naturally twisted board, and the act of removing it and replacing it in the PET several times caused stress on some connections.

So I'll try this today and report back here.

If that doesn't work I guess I'm going to have to assume another faulty component.

MikeS
February 4th, 2017, 11:14 AM
If all else fails you should be able to test the SP ROMs in the 8032.

daver2
February 4th, 2017, 01:15 PM
Thanks for reminding us that the superpet mode did work initially. This is a good indication that it isn't terminal!

How do you try to get it to run in 6809 mode? Try selecting the 6809 with the power off and then powering on. Next (with the machine running as a 6502) switch over to the 6809 without powering off.

Try both a few times and see if they give the same or different results. I just want to check the CPU switchover logic.

Glad to see your game to get the 6809 running!

Dave

Ral-Clan
February 4th, 2017, 01:58 PM
How do you try to get it to run in 6809 mode? Try selecting the 6809 with the power off and then powering on. Next (with the machine running as a 6502) switch over to the 6809 without powering off.
Dave

Well. I shut the machine down, switch toggle on the side from 6502 to 6809, then power on.
However, when I bought it off the fellow who sold it to me, he demonstrated that it got some response (the menu screen) by switching it to 6809 mode WHILE ON.

I don't think he really knew what he was doing (i.e. didn't know anything about PETs), and I have been worried about the risk of damaging the CPUs while switching over when powered up to try this myself. However, do you think it's safe?

Funny, but the original SuperPET commodore manual goes into great length about the features and programming languages bus is very sparse on how you actually turn the machine on (power-up procedure).

I've just reflowed the solder on the daughter-board, removed, cleaned and reseated all socketed chips, and am going to re-install the daugther today or tomorrow morning. So we will hopefully hear something then.


If all else fails you should be able to test the SP ROMs in the 8032.
a
Mike, could you tell me a little bit more about how this is done? I assume one would insert it into one of the PET's empty ROM sockets then dump that location in memory?
Also, I have some hardware for my VIC-20 which might be able to read the ROMs, if that's possible. (PROMQUEEN and some expander cartridges that allow me to insert an eprom into a socket)

Ral-Clan
February 4th, 2017, 03:00 PM
Okay, well, re-flow and cleaning of all contact/sockets/chips on the daughter-board is now complete. Unfortunately, there is no improvement on the SuperPET side of things. Same behaviour as listed above (blank screen or garbled rectangle of pixels).

So, I have my multi-meter, logic probe and desoldering iron at the ready for the next step.....any suggestions?

Thanks.

PS: a multi-meter has come up locally for sale again. This one a little better than the older ones I've been offered. A Tektronix T2155A (https://www.youtube.com/watch?v=8GR_6QH3uZk), which seems to be from the 1990s. Only catch is the seller wants $250CAD, which is more than they are going for on eBay.

YouTube link to scope demo:
https://www.youtube.com/watch?v=8GR_6QH3uZk

MikeS
February 4th, 2017, 08:33 PM
...
Mike, could you tell me a little bit more about how this is done? I assume one would insert it into one of the PET's empty ROM sockets then dump that location in memory?
Also, I have some hardware for my VIC-20 which might be able to read the ROMs, if that's possible. (PROMQUEEN and some expander cartridges that allow me to insert an eprom into a socket)
I haven't actually had to try it, but you should be able to just insert the 8KB 2364s into one of the spare 8032 sockets and calculate a checksum, which you could compare with a known good ROM. As is, you'd only get the upper half but that would probably be enough to show any problems with the ROM; to check the lower half you'd have to pull pin 21 and ground it.

If I get a chance I'll try it myself and calculate the checksums.

If it turns out that you do need to replace a ROM and can't find a 68764/66, there are commercial adapters available:
http://store.go4retro.com/adapters-1/

Good luck!

MikeS
February 4th, 2017, 08:57 PM
OK, using UD11 ($Axxx) to test:
With no chip installed, ? peek(40960) should give 160 ($A0)
With the 970018-12 chip installed, ? peek(40960) should give 126 ($7E)
Type:
for i=40960 to i+4095: x=x+peek(i): next: ? x
It should take about 20 seconds and give you a checksum; I get 473583; what do you get?

970019-12:
peek(40960): 206 ($CE)
checksum: 475369

970020-12:
peek(40960): 16 ($10)
checksum: 502344

But since it sort of worked once I'm inclined to suspect something other than a bad ROM.

m

daver2
February 5th, 2017, 09:50 AM
Switching from 6502 to 6809 mode whilst the machine is ON is perfectly safe. What this switch does is to enable one processor and disable the other and then operates an internal RESET. It should be more safe for the machine than powering it off and then on!

Dave

daver2
February 5th, 2017, 09:56 AM
You should also be able to see a 'new' block of RAM at $9xxx with the superpet board installed. The on-board 64K of superpet RAM is 'bank switched' into $9000 through $9FFF.

There is an additional I/O port (accessible from the 6502) which permits you to modify which bank of RAM is mapped into $9xxx, so you should be able to test the superpet ram from the 6502 as well.

I will provide further details tomorrow (I don't have access to my superpet information at the moment) - but someone else please free to chip in (no pun intended).

I just relooked it up! $EFFC contains a 4 bit number (0 through 15) which (when poked) selects one of the 16 banks of SuperPET RAM into $9xxx.

Dave

Ral-Clan
February 5th, 2017, 11:08 AM
OK, using UD11 ($Axxx) to test:

Okay Mike,

It will take me some time to desolder two of the ROMs that aren't socketed (I wonder why only one is). Then I'll report back.

Does anyone know what to look for with the logic probe to see if the 6809 is healthy?

MikeS
February 5th, 2017, 11:21 AM
Okay Mike,

It will take me some time to desolder two of the ROMs that aren't socketed (I wonder why only one is). Then I'll report back.

Yeah, I just noticed that on my board U47 and U48 aren't in the same kind of socket as U49; looking at the bottom of the board it's obvious that someone has added those two sockets (as well as a few other signs of poking around with a soldering iron.)

Unless you enjoy unsoldering ICs I wouldn't bother unsoldering those ROMs yet; as I said, since it sort of worked once I'd explore other tests such as Daver2's RAM test etc. first.

But you could run a checksum on the socketed ROM just for fun; ya never know...

m

Ral-Clan
February 5th, 2017, 11:43 AM
You should also be able to see a 'new' block of RAM at $9xxx with the superpet board installed. The on-board 64K of superpet RAM is 'bank switched' into $9000 through $9FFF.
There is an additional I/O port (accessible from the 6502) which permits you to modify which bank of RAM is mapped into $9xxx, so you should be able to test the superpet ram from the 6502 as well.
I will provide further details tomorrow (I don't have access to my superpet information at the moment) - but someone else please free to chip in (no pun intended).
I just relooked it up! $EFFC contains a 4 bit number (0 through 15) which (when poked) selects one of the 16 banks of SuperPET RAM into $9xxx.

Dave

Okay, so it sounds like I should be able to write a short program that works on the 6502 side which activates the daughterboard banks of RAM, then POKES values into it and PEEKS to see if they read without corruption?
I'll have to learn how to do this (this whole SuperPET adventure has been a steep learning curve, but very interesting and rewarding).

35938
(click to zoom)

It's a Tektronix 2215A, which is from the late 1980s, early 1990s I think. Buyer wants $225CDN for it, which I think it is a little high. What would you guys pay?

daver2
February 5th, 2017, 10:34 PM
One of the PET threads had a simple BASIC memory test, can't just find it at the moment. The earlier posts in the thread contained an error (as did the magazine article it was copied from). A simple, but effective, memory test is to write a repeating set of the following bytes into the memory and then reading them back: $00, $01, $02, $04, $08, $10, $20, $40 and $80. Note that there is an odd number of bytes. Write the above bytes into $9xxx (repeating the bytes until the whole of page 9 is filled) and then check them back. This test is not 100%, but demonstrates that there should be no stuck data bits or address bits.

6809 pins to check are:

34/35 two-phase input clocks.

39 (TSC) should be 0.

40 (/HALT) should be 1.

37 (/RESET) should be 1.

38 (LIC) should be pulsing high for every instruction that is executed.

36 (AVMA) should pulse when a bus transfer is required by the processor.

It may be worth checking /NMI, /IRQ and /FIRQ (pins 2, 3 and 4 respectively) to make sure they are high (and not jammed low in error).

Dave

Ral-Clan
February 9th, 2017, 02:50 PM
Hi guys,

I am currently testing the SuperPET RAM through software. Using this program: http://www.commodore.ca/commodore-manuals/commodore-pet-memory-test/
The 32K RAM on the 8032 motherboard checks out okay.

I now have to check the RAM on the 6809 daughterboard, which according to Daver2...


You should also be able to see a 'new' block of RAM at $9xxx with the superpet board installed. The on-board 64K of superpet RAM is 'bank switched' into $9000 through $9FFF.
There is an additional I/O port (accessible from the 6502) which permits you to modify which bank of RAM is mapped into $9xxx, so you should be able to test the superpet ram from the 6502 as well.
I will provide further details tomorrow (I don't have access to my superpet information at the moment) - but someone else please free to chip in (no pun intended).
I just relooked it up! $EFFC contains a 4 bit number (0 through 15) which (when poked) selects one of the 16 banks of SuperPET RAM into $9xxx.

However, I have a question about this. According to my PET memory map, locations $9000-AFFF are an "available ROM expansion area". The manual doesn't say anything about RAM being in those locations.

daver2
February 10th, 2017, 07:07 AM
I think that program listing is the one that contains a bug...

Yes, you are correct. For a Standard PET - the $9xxx area is reserved for optional ROM that can be inserted in socket UD12. If you check your main board you should find that socket UD12 is empty (I hope!). When you select anything in $9xxx - then UD12 will be selected - but (as nothing is plugged into the ROM socket) the data bus will not be driven.

If you check the SuperPET memory map (http://www.6502.org/users/andre/petindex/superpet.html) you will see that $9xxx is occupied by RAM.

You need to read the SuperPET documentation not the PET documentation.

Dave

MikeS
February 10th, 2017, 09:15 AM
It's been a while since I played with the SP, but I believe usage of $9xxx and $Axxx was a little more flexible than Andre's map suggests; the original 3-board SuperPET had an extra pair of switches to select RAM/ROM/NA but in the later two-board version I believe it was done in software. In SP mode the $9xxx area is indeed a RAM window; in PET mode, the $9xxx (UD12) and $Axxx (UD11) ROM areas are relocated to U45 and U46 on the SP board.

I can't locate my SP manuals either at the moment; are they on line somewhere?

m

daver2
February 10th, 2017, 10:14 AM
MikeS,

Yep. Sounds about right. One thing I also forgot is the 8032 ROMs are also disabled by the /NOROM signal when the 6809 CPU is active.

I think the SP technical manual is on commodore.ca for starters (although it is separate image files). There is a PDF somewhere.

Dave

MikeS
February 10th, 2017, 12:29 PM
Yeah, the /NOROM signal can be very useful; if it weren't for that pesky E8xx area that could make testing/replacing ROMs really simple.

Thanks for the pointer to commodore.ca!

m

Ral-Clan
February 10th, 2017, 01:00 PM
Okay, and update:

Dave_m and myself, working together, have found some issues that might explain why my SuperPET board no longer starts up.

The replacement EDIT ROM that Dave_m sent me was a 2732 (4K EPROM). Normally this would be fine for 8032 PETs, but not for SuperPETs. According to Steve Gray and a few other sources online (http://www.6502.org/users/andre/petindex/superpet.html) the following happens:


$E8XX is protected, and $E900-EFFF is not. If you have a 4K edit ROM it will fill that space and conflict with the Superpet register. It will be possible to wire up an adapter to make most eproms work on the PET. You just need to wire up the address and data lines correctly. Any extra address lines just need to be grounded. Yes, it wastes space, but it will work.

So because I have a 4K ROM in there there is a conflict. A SuperPET must only use a 2K EDIT ROM such as a 2716 (or a larger ROM with an adapter).

Secondly, from the 6502 side (which is functional), I am currently running RAM test programs on the memory on the SuperPET 6809 board. I've only tested the first bank in $9000-$9FFF, but am getting errors in the following locations:

37214 in row I8
37470
37726
37982
38238
38494
38750
39006
39262
39518
39774
40030
40286
40542
40798

For instance, if I do the following:

POKE 37214,170

then PRINT PEEK 37214,170 returns an incorrect value of 174.

Likewise, POKEing 200 into this location returns 204.

A stuck bit, or is are these errors a symptom of the 4K EDIT ROM conflict?

daver2
February 10th, 2017, 03:17 PM
Even with a 4K edit ROM fitted, the superpet should still boot in 6809 mode (as the /NOROM signal should be active when in 6809 mode - thus disabling all of the 6502 ROMs).

Your RAM fault looks to be address based. In hex the addresses at fault seem to be $915E, $925E, $935E, ...

These are too logical...

I presume you have tried swapping the ram chip in question on the superpet board (U24)?

Dave

MikeS
February 10th, 2017, 04:39 PM
Even with a 4K edit ROM fitted, the superpet should still boot in 6809 mode (as the /NOROM signal should be active when in 6809 mode - thus disabling all of the 6502 ROMs).
I think that's the problem; on a 2732 /NOROM (pin 21) is connected to A11, so it isn't actually disabled as a 2332 or 2716 would be. I wonder if it would start normally in SP mode with UD7 removed completely?
...

I presume you have tried swapping the ram chip in question on the superpet board (U24)?
Definitely time to try swapping RAM chips and see what changes, if anything.

m

dave_m
February 10th, 2017, 07:17 PM
I think that's the problem; on a 2732 /NOROM (pin 21) is connected to A11, so it isn't actually disabled as a 2332 or 2716 would be.

Mike,
The chip he has is actually a 2532 EPROM so it would be disabled in 6809 mode. But in 6502 mode, the 2532 will step on the EFFC register in the 6809 thus effecting the bank register. I'm sending him an 2716 EDIT EPROM.

I also think he may have some bad RAM bits.

daver2
February 11th, 2017, 01:28 AM
Interestingly, I can't see on the PET main board that R/W is gated with the ROM selection? Presumably you end up with bus contention if you try to write to a ROM address - or am I missing something somewhere? I have only just woken up here so my brain might not be quite working yet!

On a reset, the SuperPET bank switch register is set to 0 so no write is necessary to this register to get the first page into $9xxx. So the OP should still be able to write/read correctly to/from $9xxx despite the overlap of edit ROM and the SuperPET registers.

Dave

Ral-Clan
February 11th, 2017, 09:54 AM
Even with a 4K edit ROM fitted, the superpet should still boot in 6809 mode (as the /NOROM signal should be active when in 6809 mode - thus disabling all of the 6502 ROMs).

Your RAM fault looks to be address based. In hex the addresses at fault seem to be $915E, $925E, $935E, ...
These are too logical...
I presume you have tried swapping the ram chip in question on the superpet board (U24)?

Dave

Hi Dave,

May I ask how you are able to determine the fault is with RAM chip U24, in partcular? What about the faulty POKE location pattern gives you the clue?

(I did swap it out before, when I swapped the sets of four chips, but will just swap this particular chip this time and re-test with software to see if faulty bits change).

daver2
February 11th, 2017, 10:35 AM
No problem - here is my thought pattern:

Each DRAM chip on the SuperPET is 64Kbits - so there is one device per data bit (unlike the 8032 main board).

I went from the PEEK/POKE values you gave.

170 <-> 174
200 <-> 204

In both cases it was data bit 2 (counting from bit 0 = LSB) that was set. But it wasn't permanently set - as you only have a select number of faulty RAM locations. This indicates that the faulty bit is dynamic (not static) but is address related. My gut feeling here is that it is the DRAM chip itself - as I am having difficulty in thinking how else such a fault could occur (i.e. it is a very intelligent fault...).

Data bit 2 (BD2) from looking at the SuperPET schematic is U24.

As you have previously said that your DRAMs are in sockets - it should be a simple matter to swap U24 with another device and re-run the memory test. Hopefully, the fault will have moved following the faulty device. If not - back to the drawing board!

Dave

Ral-Clan
February 11th, 2017, 11:46 AM
As you have previously said that your DRAMs are in sockets - it should be a simple matter to swap U24 with another device and re-run the memory test. Hopefully, the fault will have moved following the faulty device. If not - back to the drawing board!

Dave

Hey Dave! You were right! After swapping the RAM chip at U24 this bank of memory passed!

Now I just have to figure out how to enable the other 4K banks and test them. The SuperPET manual describes how it is done, but it's not set out in layman's language.

From the SuperPET manual:


Bank Switching

Only one of the 16 4K banks is mapped into the address range 9000-9FFF at any
moment. The current bank may be changed by placing the bank number of the new
bank (0-F) in the bank-select register (see description of Bank-Select Latch).

Addresses in the HO Page

The following devices or control registers are found in the input/output page:

address register

E810-E813 PI A
E820-E823 PIA
E840-E84F VIA
E880-E881 CRT Controller
EFF0-EFF3 ACIA (6551)
EFF4-EFF5 ACIA (6850)

EFF8* System Latch

EFFC Bank-Select Latch

* Also requires the bank-select latch, bit 7 to be 1 .

Bank-Select Latch (EFFC)

This register is used to select the bank of memory accessible in memory locations
9000 to 9FFF. It is a one-byte latch:

bit use

0-3 bank number
4-6 not used
7 must be 1 when accessing System Latch;
should be zero otherwise.

Thus, the storing of the hexadecimal value 87 (10000111 in binary) causes bank
seven to become accessible.


So when they say I have to place the bank select number into the "bank shift register" are they basically saying I have to POKE 61436 (decimal value of #EFFC) with the DECIMAL value that will select the bank (and why they had to give the example of 87 in HEX when it requires a decimal value for the POKE, I don't know - unless they wanted to make things sound very complicated). Of course, this manual was written by a Computer Science department (of Waterloo University, Ontario), so I shouldn't expect the user friendliness of a consumer Commodore manual.

daver2
February 11th, 2017, 12:10 PM
A lucky guess :-)!

Yes, you need to poke the decimal address equivalent of $EFFC with 0 for bank 0, 1 for bank 1, all the way up to bank 15.

Just to make sure you have things right in your mind, try selecting bank 0 and then poking a value into $9000 then changing the bank number and poking a different value into $9000. When you switch between the bank numbers again, you should find the PEEK of address $9000 should match with the values you wrote in there.

Note that you will need the 2K editor ROM for this to work (but you knew that already).

I have just re-read your last post. To select bank 7 you only need to write a 7 to the bank select latch (not hex 87 as you had). The system latch is something completely different!

Dave

Ral-Clan
February 11th, 2017, 12:45 PM
Okay, I find this whole method to switch between the sixteen 4K banks pretty confusing (or rather, the SuperPET's explanation of it VERY confusing when it starts to introduce HEX numbers (that's where I got the 87 value I mentioned above).

First they say:


EFFC is Bank-Select Latch

...okay, so this memory location is 61436. That much I understand. I have to POKE 61436 with a value to switch the bank.

The manuals goes on to say:


bit use

0-3 bank number
4-6 not used
7 must be 1 when accessing System Latch;
should be zero otherwise.

....so, what I get from this is, if I want bank 0, the binary value to select it would be 00000000, which equals 0 in decimal. So, if I understand things correctly, then to select BANK 0 of the SuperPET extended RAM, I need to POKE 61388,0

Bank 1 (decimal 10000001) would be POKE 61436,0
Bank 2 (decimal 10000010) would be POKE 61436,1
Bank 4 (decimal 10000011) would be POKE 61436,2
...
Bank 8 (decimal 10001000) would be POKE 61436,7
...
Bank 15 (decimal 10001111) would be POKE 61436,15

Gee...I hope I understand this correctly. I have not had to do a lot of work with binary <---> decimal.

UPDATE #1: I must be doing something wrong, because when I am in bank ZERO:

- I POKE a value to extended RAM (i.e. POKE 36864,100)
- I switch to another bank (POKE 61436,7)
- then PRINT PEEK(36864),
- the value returned is the same (100) as the value POKEd the previous bank I thought I was in.

So basically I am not successfully switching banks.

UPDATE #2: I wonder if I am not able to switch banks because of the conflict I'm having with the 4K EDIT EPROM (read posts above) stomping over locations $E900-EFFF. The memory area stomped upon seems to be right over the spot where the register to switch RAM banks also resides (location EFFC or decimal 61436).

Is my thinking straight? I have never had to delve this deeply into memory maps before. It's really making me appreciate all my Commodore 8-bit so much more! I love them!

dave_m
February 11th, 2017, 01:47 PM
So basically I am not successfully switching banks.

Brent,
Remember at the moment you are using a 4K EDIT EPROM. It may be stepping on the bank register in the 6809 board when you are in 6502 mode. While you are trying to WRITE a 1, the EDIT EPROM is outputting $FF. Maybe try to use BANK 15 and see what happens. Rescue is on the way in the form of a 2K EPROM (2716).
-Dave

Ral-Clan
February 11th, 2017, 01:50 PM
Hi Dave_m,

I was thinking the same thing as you (see my UPDATE #2 added to post above) and it looks like I was adding to my post it just at the same time you were replying to my message!
Thanks again for sending the 2K EPROM!


Maybe try to use BANK 15 and see what happens.

Unfortunately, that doesn't seem to work either.

The things we learn about Commodores everyday, eh?

daver2
February 12th, 2017, 03:00 AM
I would wait for the new ROM before proceeding.

However, if you look at the four outputs from U36 (A, B, C and D) you can see what bank should have been selected.

I note a little confusion in your posts above regarding what number to POKE to select a specific bank. Banks are numbered 0 through 15. This is the number you POKE. Therefore, to select bank 0 you POKE a 0, to select bank 7 you POKE a 7, all the way up to bank 15 when you POKE a 15.

As the DRAM chips are 64K*1 bit; it is highly probable that if one bank of memory works OK, they should all work OK - but all of the addressing faults cannot be totally ruled out unless you test all banks.

Dave

Ral-Clan
February 17th, 2017, 05:53 AM
Hello everyone,

I have an update on the SuperPET:

The 2K EDIT ROM arrived from Dave_m. After installing this I am able to successfully switch between RAM banks in the 64K memory on the SuperPET daughterboard. I tested all this RAM and it checks out okay (if you were following this thread you will remember that one RAM chip was faulty and after replacing, all banks pass).

Unfortunately, this did not solve the problem with the 6809 mode not functioning. Switching the computer to 6809 mode and powering on still results in a black screen. So there is something greater that is the problem here. The RAM is functional, the 6502 on the SuperPET board is functional (the computer works fine as a standard PET 8032). It's only when switched to 6809 CPU mode that it does not respond.

So, as I see it I have several options:

1. Determine if the 6809 is problematic. Probing? Just buying a new CPU chip?
2. Replace the ROMs on the SuperPET board. Dave_m supplied me with replacements for two of the three ROMs, but it will require de-soldering the old ROMs and installing IC sockets at those locations.
3. Probing the board to check for faults?

Can anyone advise on the next best step to take? Again, I have a multi-meter, logic probe and desoldering iron at my disposal. No oscilloscope yet.

I do feel encouraged. We are making progress. We have eliminated the 4K EDIT ROM memory conflict, and the faulty RAM chip as the problem, so we are narrowing things down.

Any advice is appreciated.

KC9UDX
February 17th, 2017, 06:08 AM
Check all the signals at the 6809. Don't assume the 6809 is bad.

Ral-Clan
February 17th, 2017, 06:17 AM
Check all the signals at the 6809. Don't assume the 6809 is bad.

Okay, now previously in this thread Daver2 had suggested to check the following:


6809 pins to check are:

34/35 two-phase input clocks.
39 (TSC) should be 0.
40 (/HALT) should be 1.
37 (/RESET) should be 1.
38 (LIC) should be pulsing high for every instruction that is executed.
36 (AVMA) should pulse when a bus transfer is required by the processor.
It may be worth checking /NMI, /IRQ and /FIRQ (pins 2, 3 and 4 respectively) to make sure they are high (and not jammed low in error).

I have only just learned how to use a logic probe when you guys had me test the 6502 (which checked out okay). Because of my novice nature I want to make sure I do everything right. So, from my understanding the correct procedure is this:

- I need to find the +5V pin on the 6809 and jumper the logic probe's power lead (red) on the logic probe to that
- Logic probe's black lead (GND) goes to chassis of PET
- Probe tip to the pins mentioned above

Correct?

Also, I do understand what to do when Daver2 says I should check to see if certain pins are high or low (0 or 1), but I am not sure what he means above when he says pins 34/35 are input clocks. What am I to look for on these pins?

Lastly, I assume I should be seeing pulsing HIGH signals on pins 36 and 38, according the the information above? Correct?

My apologies for the pedantic nature of my posts, but I do realize one misplaced Logic probe tip can ruin an otherwise good day (and a good PET), so I am trying to be very methodical.

daver2
February 17th, 2017, 06:47 AM
Glad to hear that Dave solved your 2K ROM issue and your RAM is now working. One (more) thing we can tick off the list that it is not!

Please be as pedantic as you like - it is not only important that you understand what you are doing - but these fault finding techniques will help you in the future when it breaks again!

The power supply (+5V and GND) for your logic probe can be obtained from anywhere on the PET main board or the SuperPET board. It doesn't have to be specifically from the 6809 CPU. Apart from that - yes correct.

By 'input clocks' I mean they will have a square wave clock signal on them (i.e. they won't be a fixed logic '0' or '1' but will be oscillating between a '1' and a '0' constantly). The clock for the 6502 is on pin 37 - so if you put your logic probe tip on that pin you will see what a high frequency clock looks like from the perspective of your logic probe indicators. Putting the logic probe tip on pins 34 and 35 of the 6809 should yield a similar display on the logic probe indicators.

Work through the signal list I posted and see what you get.

I did have another thought though worthy of checking out. You have two CPU's on the SuperPET (a 6502 and a 6809). Only one of these should be operational at any one time. My above list of pins is looking at the 6809 when it should be operational - but just suppose the 6502 does not get shut down when the 6809 is active. Mayhem will ensue. I would also check the +5V pin on the 6502 CPU (pin 8) when the 6809 CPU is selected. The +5V should disappear from this pin... It should reappear again when the 6502 is selected.

EDIT-1: Checking out the RAM has been a pretty good test of most of the 'boring' logic on the SuperPET board itself! We are trying to identify whether it is the 6809 or ROM that is at fault. You don't really want to be desoldering the ROMs and replacing them unless we know they are faulty. We should check all the other avenues first (in my opinion anyhow).

EDIT-2: Just checking the 6809 instruction set for the NOP instruction. It is HEX(12). Just thinking whether a NOP generator for the 6809 would help diagnose this problem further? See http://www.6502.org/mini-projects/nop-gen/nop-gen.htm for an example of a NOP generator for the 6502 CPU if you have not come across one before. A NOP on a 6502 is HEX(EA) [hence the arrangement of '1' and '0' signals forced onto the data bus]. As a NOP for the 6809 is HEX(12) the data bus forcing arrangement will be different. And (of course) the +5V and GROUND pins will also be different. Let me think about this on the way home from work...

EDIT-3: Yes, HIGH going pulses on the 6809 pins 36 and 38.

Dave

Ral-Clan
February 17th, 2017, 07:22 AM
Hi Daver2,

Okay, thanks for the clarification on procedure. I will check and report back.

Please also note that I have indeed built a 6502 NOP generator, which I was going to use previously before diagnosis went in a different direction. So that tool is available to me when and if we need it.

KC9UDX
February 17th, 2017, 07:25 AM
daver2 beat me to it, but you can connect the 5V power for your probe anywhere there's 5V, even if it's some other power supply outside the PET, as long as the negative/ground on your probe is connected to 0V or chassis ground on the PET.

My probe (don't assume yours will do this without consulting the manual) will operate on anything from (logic+1) to +16V (from memory, could be wrong about the 16V, it may be even higher). So I typically connect a 9V battery to it, and connect the 9V battery negative to chassis ground. The reason is that I find myself less likely to accidentally short something with the probe power connections, and, I get a little more freedom of movement with the 9V battery outside the case.

Sometimes I go so far as to use a 14V bench supply, if I'm going to be poking around where there might be a 12V signal, just to make sure I don't damage my probe (probably wouldn't, but like to be safe).

Be very, very careful with the logic probe. I like to wrap the probe tip with electrical tape, so that only the very tip is exposed. It's very easy to accidentally short two adjacent pins and fry something, otherwise. Sometimes though it's nice to be able to short adjacent pins intentionally, to force a line high or low. But, don't do that unless you really know what you're doing.

daver2
February 17th, 2017, 07:32 AM
Always better to have things in 'stereo' KC9UDX!

So you've built your own 6502 NOP generator. You can use the same technique to make a 6809 NOP generator (but - as explained in my last post - the wiring will be different). You can then place the 6809 NOP generator in the 6809 socket and the 6809 CPU in the 6809 NOP generator. If the 6809 CPU is alive (and the support signals like the clock etc. are present) then the 6809 CPU should burst into life and start executing NOPS. We would then need to identify what was wrong elsewhere. Just a thought...

Dave

Ral-Clan
February 17th, 2017, 04:01 PM
QUESTION:

When I am probing around for a +5V point on the SuperPET daughterboard with my multimeter, do I have to attach the ground probe of the meter to a "real" ground rail/point on the daughterboard, or is it safe to ground to the metal chassis of the PET?

I seem to remember that at the very start of this thread, when I was testing for voltages on the various rails (to make sure the power supply worked) I had the black lead of the multimeter clipped to the negative terminal of the large capacitor near the power supply.

This is to get a +5V for my logic probe (so I can test the 6809).

Also, this will be relevant when I need to test if the 6502 +5V supply is cut off (or remains on) when the 6809 switch is engaged. Can I touch the red multimeter probe to the Vcc pin on the 6502 and ground the black probe to chassis? Or do I need to ground the probe to the Vss pin on the 6502?

Don't want to shunt power the wrong way.

KC9UDX
February 17th, 2017, 05:37 PM
Always keep your test gear negative lead connected to the 0V/"ground" nearest the power supply, or the chassis. There's a myriad of other places you could connect it, but that's the easiest and safest.

If your multimeter is high impedance, you won't be shunting anything in any case. Even if it's a typical "low impedance" one, you have nothing to worry about.

The only time you could damage something is if you are trying to measure voltage but have your meter set to resistance or current.

daver2
February 17th, 2017, 11:33 PM
Using the negative terminal of the large capacitor should guarantee a good connection. This terminal should also be directly connected to the metal chassis. In this case, however, you will be responsible for ensuring a good connection.

Either should be suitable, but (personally) I would go for the negative terminal of the big capacitor - as you already know that works...

Dave

Ral-Clan
February 18th, 2017, 09:32 AM
Hi guys!
(I finally got my avatar to display)

An update with some useful information

Finished testing the 6809.

With SuperPET's 6809 (SuperPET mode) switch engaged:

- The 6502's Vcc pin indeed seems to be un-powered (actually, my mulitimeter shows +0.10V DC this pin).
- The 6809's Vcc pin (pin 7) shows +5.16V DC.

I then used the logic probe to test the pins Daver2 suggested:

34/35 two-phase input clocks. - both show as pulsing
39 (TSC) should be 0. - yes, signal was low
40 (/HALT) should be 1. - yes, signal was high
37 (/RESET) should be 1. - yes signal was high
38 (LIC) should be pulsing high for every instruction that is executed. - yes, it was pulsing
36 (AVMA) should pulse when a bus transfer is required by the processor. - yes, it was pulsing
It may be worth checking /NMI, /IRQ and /FIRQ (pins 2, 3 and 4 respectively) to make sure they are high (and not jammed low in error). - yes, ALL were high

All test were in the affirmative, so am I to conclude the 6809 is functional?

The next step would seem to require ROM replacement on the SuperPET daugtherboard. There are three ROMs there at U47, U48, U59. U49 is socketed. The others are soldered down. This will involve desoldering those ROMs and putting a socket on there. Time to proceed with this step or is there something else I should try first?

Earlier MikeS had suggested pulling the only socketed ROM on the SuperPET daughterboard (at U49) and plugging it into UD11 on the motherboard in order to run a checksum. Maybe that's what I should do?

OK, using UD11 ($Axxx) to test:
With no chip installed, ? peek(40960) should give 160 ($A0)
With the 970018-12 chip installed, ? peek(40960) should give 126 ($7E)
Type:
for i=40960 to i+4095: x=x+peek(i): next: ? x
It should take about 20 seconds and give you a checksum; I get 473583; what do you get?

970019-12:
peek(40960): 206 ($CE)
checksum: 475369

970020-12:
peek(40960): 16 ($10)
checksum: 502344


But would this even work, because didn't we learn earlier in this thread that U11 might be a conflicting address in the SuperPET? Or was that only a problem with we had the 4K EDIT ROM in that socket (remedied by the 2K EDIT ROM replacement)?



Even with a 4K edit ROM fitted, the superpet should still boot in 6809 mode (as the /NOROM signal should be active when in 6809 mode - thus disabling all of the 6502 ROMs).
I think that's the problem; on a 2732 /NOROM (pin 21) is connected to A11, so it isn't actually disabled as a 2332 or 2716 would be. I wonder if it would start normally in SP mode with UD7 removed completely?

Oh, and before someone suggests that I just put a good replacement ROM in U49 and see what happens, I actually only have replacement ROMs for the two other locations at the moment, so the only way to confirm good/bad ROM at U49 would be a Checksum test.

My last option to Checksum tests the ROMs would be to use my VIC-20. I believe I have a few cartridge slot boards that can accept ROMs.

KC9UDX
February 18th, 2017, 10:03 AM
You haven't confirmed that the 6809 is good, yet. You've confirmed that out should be in a state in which it can run.

If it's running, it's not running properly if you didn't see any pulsing on one of the IRQ lines (I think).

Next I would probe the address lines and see which ones if any are pulsing. If they aren't pulsing, the 6809 is not running. That could either be a dead 6809, or, it's jammed.

If they are pulsing, you should be able to get an idea of what area of memory the 6809 is accessing.

But better might be to just skip to the NOP test. That will confirm that the 6809 itself is capable of running, and you can check all your address decoding immediately with that. There will be some who tell you that you can't do this without an oscilloscope. I think you can get enough information to determine if your ROMs and RAMs should be getting accessed at the right time with just your logic probe.

Ral-Clan
February 18th, 2017, 10:22 AM
Okay, so when you say that I need to probe the address lines, you mean I need to test pins 8 to 23 (A0 to A15) on the 6809 to see if they are pulsing?

36290
(click to zoom 6809 diagram)

That would be easier for me to do that build a 6809 NOP generator at the moment, which will take some time as I need to order sockets.

KC9UDX
February 18th, 2017, 10:26 AM
Yes. Also, test the reset circuit to make sure it causes the reset pin to go low when you first turn it on.

Next, you can try to determine if the addresses look sane just after reset.

dave_m
February 18th, 2017, 10:27 AM
But would this even work, because didn't we learn earlier in this thread that U11 might be a conflicting address in the SuperPET? Or was that only a problem with we had the 4K EDIT ROM in that socket (remedied by the 2K EDIT ROM replacement)?


I think Daver2 wanted this test run in the 6502 mode so no conflict with 6809 paged RAM.




Oh, and before someone suggests that I just put a good replacement ROM in U47 and see what happens, I actually only have replacement ROMs for the two other locations at the moment, so the only way to confirm good/bad ROM at U47 would be a Checksum test.



I think I sent you U47 and U48? Is it U49 that is on a socket? My mistake, I should have sent you that one. I was a little short of 68764 8K EPROMs. They are getting rare.

dave_m
February 18th, 2017, 10:33 AM
Yes. Also, test the reset circuit to make sure it causes the reset pin to go low when you first turn it on.

Next, you can try to determine if the addresses look sane just after reset.

I agree about checking address lines. But he should try the three ROM chip selects first to see which address lines are being decoded and if they are stuck on one ROM. If stuck, that would be the ROM to check first.

daver2
February 18th, 2017, 11:01 AM
Just want to attribute the idea about using an unused ROM socket to the correct 'owner' MikeS.

I would be inclined to order the bits for the 6809 NOP generator (they shouldn't cost much) and in the meantime have a look at the address, data and ROM select lines as everyone else has stated.

Note down and report which of the address, data and ROM select lines are permanently high, permanently low and pulsing and we will see if we can deduce anything from what you are seeing.

Yes, we mean look at the address and data lines of the 6809. Note that there are a set of address line buffers so the address lines on the CPU may be good, but the address lines after the address buffers may not be good - so I would be inclined to test the address lines at the pins of the 6809 and after the address buffers to see if there is any difference. There shouldn't be a difference though, as this self same logic was used when you tested the RAM.

Incidentally, a CPU reset should occur (both the 6502 and 6809) when you switch from one CPU to the other.

Dave

Ral-Clan
February 18th, 2017, 11:05 AM
If [the 6809] running, it's not running properly if you didn't see any pulsing on one of the IRQ lines (I think).

If, by IRQ lines, you mean pin 3 of the 6809, then I didn't see any pulsing. Only a high signal. But that is what Daver2 told me to expect, so I'm confused. I don't see any other pins labelled IRQ other than pin 3 on the datasheet for the 6809.


Yes. Also, test the reset circuit to make sure it causes the reset pin to go low when you first turn it on.

So I'll hold the logic probe tip to pin 37 (RESET) of the 6809, turn the PET on, and see if it goes low?


I think I sent you U47 and U48? Is it U49 that is on a socket? My mistake, I should have sent you that one. I was a little short of 68764 8K EPROMs. They are getting rare.

No problem Dave, you had indeed sent me U47 and U48 and it is indeed U49 that is socketed. I mistyped in my message above. You've already done so much for me, that if I need A U49 I may know a few people who can burn one for me (but it may not even come to that).

MikeS
February 18th, 2017, 11:08 AM
I think Daver2 wanted this test run in the 6502 mode so no conflict with 6809 paged RAM.
As a matter of fact I think it was I (post# 107) who suggested using the PET in 6502 mode (with or without the 6809 board) to test the ROMs and calculated the checksums for you. Note that the checksums only cover 1/2 of the chip but it's fairly unlikely that a problem would be restricted to the other half.

You can test the socketed U49 as is; unfortunately, since the other two are socketed I guess you'll have to remove them to either test or replace them with the ones Dave sent you; might as well test Dave's in the PET board to see if you get the same checksums.

m

daver2
February 18th, 2017, 11:12 AM
I have just edited the text of post #148 which should make the reset situation a bit more clear.

There seems to have been a flurry of overlapping posts today...

Dave

MikeS
February 18th, 2017, 11:22 AM
I have just edited the text of post #148 which should make the reset situation a bit more clear.

There seems to have been a flurry of overlapping posts today...

Dave
Indeed; thanks for the credit ;-)

Ral-Clan
February 18th, 2017, 02:20 PM
Hey guys,

I haven't probed the 6809 yet, but I am assembling an order of electronics parts I need for future steps in this repair (IC sockets, etc.)

I cannot find any online plans for a 6809 NOP generator, only for a 6502 NOP generator....so I am unable to determine which parts I need to order. Can anyone point me to a source of information on this?

Funnily enought, when I Google "6809 NOP generator" this thread comes up as the top hit of information on the subject!

Thanks.

KC9UDX
February 18th, 2017, 03:37 PM
It can't be much different than the 65xx. Rail the necessary ready and interrupt pins, wire up the data bus for the NOP opcode, and away you go.

Mind you I know nothing about the 6809. The only thing that would make it difficult is a multiplexed data bus or something.

daver2
February 18th, 2017, 11:02 PM
The reason you can't find a design on the internet is that one doesn't exist yet!

As the Commander has said, the design will be identical to the 6502 variant (i.e. All pins from the 6809 socket will be wired pin for pin down to the corresponding plug) except for the 8 data bus pins that will be not wired this way). The +5V and GND pins will be different, as will the NOP code wired to the databus (HEX code 12 instead of EA).

If this is as clear as mud (!) I will provide some more details later.

EDIT: OK, back from Church... To make a 6809 NOP generator.

You need a 40 pin socket (that the 6809 plugs into) and a 40 pin plug (that plugs the new assembly into the vacated 6809 socket. The type of plug is important as it has to fit singly into the 40 pin 6809 socket on the SuperPET board without damaging it. The same type of 40 pin plug as is used on the 6502 NOP generator is recommended. You also need a small 1k Ohm and a 47 Ohm resistor. Proceed as follows:

Step 1. Take the 40 pin IC socket (this will accept the 6809 processor).
Step 2. Solder the 47 Ohm resistor onto pin 1 (VSS) of the IC socket. The free end of this resistor will become the logic '0' pull-down for the data bus.
Step 3. Solder the 1 kOhm resistor onto pin 7 (VCC) of the IC socket. The free end of this resistor will become the logic '1' pull-up for the data bus.
Step 4. Wire the free ends of the two resistors to the data bus pins of the CI socket as follows:

D7 (pin 24) - logic '0' pull-down.
D6 (pin 25) - logic '0' pull-down.
D5 (pin 26) - logic '0' pull-down.
D4 (pin 27) - logic '1' pull-up.
D3 (pin 28) - logic '0' pull-down.
D2 (pin 29) - logic '0' pull-down.
D1 (pin 30) - logic '1' pull-up.
D0 (pin 31) - logic '0' pull-down.

This 'forces' the bit pattern for a 6809 NOP (hex 12 = 00010010) onto the 6809s data bus.

Step 5: Check and double check the wiring...
Step 6: Wire the 40 pin plug pin-for pin to the 40 pin socket BUT NOT the data bus (pins 24..31). These should only have the wiring for the pull-up and pull-down resistors on them.
Step 7: Remove the 6809 CPU from the SuperPET.
Step 8: Insert the 6809 NOP generator into the vacated 6809s CPU socket on the SuperPET (observing the polarity).
Step 9: Power up to make sure the 6502 side is still working, and then power down again.
Step 10: Insert the 6809 CPU into the 6809 NOP generator circuit (again, observing polarity).
Step 11: Power up in 6809 mode.

You should be able to repeat your logic probe examination of the pins you did above to make sure you get the same (or similar) results.

Next I will give you some pointers for what to look for with your logic probe.

If MikeS and/or Dave_m can check my advice (just to make sure I haven't made a boo boo somewhere) before you start construction that would be helpful!

Dave

Ral-Clan
February 19th, 2017, 06:43 AM
I agree about checking address lines. But he should try the three ROM chip selects first to see which address lines are being decoded and if they are stuck on one ROM. If stuck, that would be the ROM to check first.

Hi Dave,

How do I check the three ROM chip selects?

dave_m
February 19th, 2017, 07:14 AM
Hi Dave,

How do I check the three ROM chip selects?

Check the upper right of the [SuperPet Schematic (http://zimmers.net/anonftp/pub/cbm/schematics/computers/pet/SuperPET/9000016.gif)] for the ROM chip select logic. The chip select on the U47, U48 and U49 ROMs are pin 20. Use logic probe to check if 1, 0 or pulsing.

Ral-Clan
February 19th, 2017, 08:05 AM
Okay guys,

Here are the results of the latest test using the logic probe.

SuperPET ROM test at U47, U48, U49.

Method:
- logic probe power lead (red) to Vcc pin 24 of one of the ROM chips ( U48 ) as it was the most accessible,
- logic probe ground lead to chassis,
- moved logic probe tip between pin 20 (SELECT) on each ROM chip,
- performed a hard (power) reset each time

Results:
U47 pin 20 ---> High at reset, followed by a single pulse at about two seconds, remains high thereafter
U48 pin 20 ---> Always high, no change
U49 pin 20 ---> High at reset, followed by slow pulsing constantly after about 1 second


6809 address pin test:

Method:
- Logic probe ground lead to chassis,
- Logic probe powered from pin 7 (Vcc) of 6809.

A0 ---> pulsing high tone
A1 ---> pulsing lower tone
A2 ---> pulsing even lower tone
A3 ---> pulsing high tone
A4 ---> pulsing low tone
A5 ---> pulsing low tone
A6 ---> slow pulse, low tone
A7 ---> even slower pulsing
A8 ---> pulsing with a sort of dual tone harmonic sound
A9 ---> pulsing at low tone
A10 --> pulsing but lower in tone than A9
A11 --> pulsing but even lower in tone than A10
A12 --> pulsing but even lower in tone than A11
A13, A14, A15 ---> all pulsing with a very fast, dual tone harmonic sound

daver2
February 19th, 2017, 10:11 AM
It's sounding more and more like a ROM fault to me the more you investigate...

It is, however, somewhat weird to see a single ROM socketed (U49). This is almost like someone has repaired this beast once already???

The fact that you are seeing instructions executed continuously by the 6809 indicates to me that it is running - it may just be executing some wrong or false instructions.

Before you start to desolder ROMs though I would like you to do a check for me on the socketed ROM (U49) using your multimeter set to check resistance.

Power off the machine and perform a continuity check from the top of each of the pins of U49 to the underside of the PCB trace where the corresponding pin of the socket is connected to the PCB. I just want you to make sure that all of the ROM pins are actually making contact with the PCB traces.

I would also suggest using a magnifying glass and a strong light to check the soldering for what looks like poor (dry) solder joints or anything else that looks a bit out of the ordinary.

Just a thought to keep you busy...

The next thing would be to get a replacement U49 and try that first (as it is socketed).

As a distraction, we keep coming across ROM faults on a regular basis and the majority of the darn things are soldered in. I was thinking (whilst I was doing the washing up...) about creating a unit to calculate the ROM checksum 'on-the-fly' in conjunction with a NOP generator. Plug the NOP generator in and use the address lines (plus a flying probe or two to the CHIP SELECT of the ROM in question) and the data lines from the main board to calculate the checksum and display it on four HEX seven-segment displays. A CHIP SELECT with a ROM address offset of zero would reset the checksum generator. A latch and adder would keep a tally of the checksum as we cycled up the ROM addresses. Hitting ROM offset zero again would latch the calculated checksum into the displays, reset the checksum latch again and the process would repeat. Any thoughts on this anyone? Perhaps another useful debug board if Tynemouth Software are reading this post!

I notice Tynemouth do a fairly comprehensive diagnostic tool for the 6502 (a micro controller from looking at the pictures). I wonder how complex it would be for them to update this to a 6809 for the SuperPET?

Dave

KC9UDX
February 19th, 2017, 10:17 AM
Sure sounds like you have a good 6809. Did you check the reset signal? It should be low when you turn the machine on in 6809 mode, and go high after a substantial delay, as much as two seconds.

Also, do check the address lines after the buffers to be sure they agree with the signals before them.

dave_m
February 19th, 2017, 11:23 AM
U49 pin 20 ---> High at reset, followed by slow pulsing constantly after about 1 second




Seems to be running in U49 most of the time.

You should first run the MikeS check sum test in 6502 mode on U49 per message # 107. He tells you what BASIC code to run, what socket to put the ROM, and the results expected.
-Dave

Ral-Clan
February 19th, 2017, 12:55 PM
Seems to be running in U49 most of the time. You should first run the MikeS check sum test in 6502 mode on U49 per message # 107. He tells you what BASIC code to run, what socket to put the ROM, and the results expected.-Dave

Okay Dave, will do and report back here.


Before you start to desolder ROMs though I would like you to do a check for me on the socketed ROM (U49) using your multimeter set to check resistance. Power off the machine and perform a continuity check from the top of each of the pins of U49 to the underside of the PCB trace where the corresponding pin of the socket is connected to the PCB. I just want you to make sure that all of the ROM pins are actually making contact with the PCB traces. I would also suggest using a magnifying glass and a strong light to check the soldering for what looks like poor (dry) solder joints or anything else that looks a bit out of the ordinary.

Daver2, I did pull out the SuperPET daughterboard and did a continuity check on the pins of U49 to the back of the board. All checked out okay. Then I went over the board with a bright light and a jeweller's eye-loupe. Saw no breaks. Please note that I have already re-flowed all solder connections on this board as a first step.


Sure sounds like you have a good 6809. Did you check the reset signal? It should be low when you turn the machine on in 6809 mode, and go high after a substantial delay, as much as two seconds.

I did as you instructed, and the RESET pin does indeed start low, then about two seconds later goes high and stays that way.


Also, do check the address lines after the buffers to be sure they agree with the signals before them.

I'm not super clear on how to do this as I'm not that familiar with how CPU address buffers function. However, looking at the schematic, it seems that the address lines are going out to three 74LS367 ICs at locations U18, U19, U20. Google says these chips are "Hex Buffer Tri-State". So I am guessing that these are the buffers you speak of? Each of these IC's appears to be receiving a set of address lines from the 6809 (A0, A1, A2, etc.). Then on each 74LS367 there is another set of lines (BA0, BA1, etc.). Are these the buffered signals?

If I am right, do I merely compare the lines on the "A" side of the 74LS367 to those on the "BA" side ( for example: line 6 of U18 to line 7 of U18 ) to see if they are the same? Here's an extract of the schematic showing what I mean:

36334
(click to zoom)

KC9UDX
February 19th, 2017, 01:07 PM
Sounds like you have it right. But I can't see your schematic. The biggest out gets here is about 70x50 for some reason.

daver2
February 19th, 2017, 01:31 PM
Yep, you're correct. What goes IN on the 'A' side should come out (completely unmodified) on the 'BA' side.

I suspect this will be the case though - as your DRAM memory test seemed to work OK.

But there again, bugs can materialise in strange ways!

Dave

Ral-Clan
February 19th, 2017, 02:11 PM
Sounds like you have it right. But I can't see your schematic. The biggest out gets here is about 70x50 for some reason.

Sorry, I don't know why this forum shrinks attached pictures. The picture I uploaded was much larger. Here's an external link to the schematic (click to zoom):

https://s9.postimg.org/hkpfdsenv/6809_address_buffers.jpg (https://postimg.org/image/hkpfdsenv/)

Ral-Clan
February 19th, 2017, 04:08 PM
Seems to be running in U49 most of the time. You should first run the MikeS check sum test in 6502 mode on U49 per message # 107. He tells you what BASIC code to run, what socket to put the ROM, and the results expected.
-Dave


OK, using UD11 ($Axxx) to test:
With no chip installed, ? peek(40960) should give 160 ($A0)

Yes, it does.



With the 970020-12 chip installed, ? peek(40960) should give 16 ($10)

Yes, it does.


Type:
for i=40960 to i+4095: x=x+peek(i): next: ? x
It should take about 20 seconds and give you a checksum; I get 502344; what do you get?

I also get the checksum 502344.
Note: I only tested ROM 970020-12, extracted from U49 on the SuperPET board, because that was the only socketed ROM (the other two are soldered).


Also, do check the address lines after the buffers to be sure they agree with the signals before them.

Okay, so I checked these, and the pre-buffered signals, for the MOST part, seemed to match (pulsing on input line to buffer = pulsing on output line). BUT sometimes there was a slight pitch difference between the input and output lines. For instance, pin 13 of the 74LS367 at U20 is the pre-buffered (input) line for 6809 CPU address A15, and pin 14 is the buffered (output). According to my logic probe, the output was pitched slightly higher and faster than the input. I'm not sure if this is important or matters. There were slight differences elsewhere, but all were pulsing fairly consistently.

So what can we make of this?

KC9UDX
February 19th, 2017, 05:00 PM
If I were you, I'd socket and replace the buffers. But I'm not you, and you may not want to go through that work.

Ral-Clan
February 19th, 2017, 05:41 PM
If I were you, I'd socket and replace the buffers. But I'm not you, and you may not want to go through that work.

I'm thinking the easiest thing to do right now would be to desolder the other two ROMs and replace them with the EPROM ROMs. I can also do the checksum test on the original ROM chips at that time and see if there is a problem.

If that doesn't fix things then I'll replace the buffer chips (since they are smaller and more fiddly).

That is, unless anyone else here has another avenue I should try.

MikeS
February 19th, 2017, 07:37 PM
What's frustrating is that when we started the 6809 side seemed to be working, at least sort of; any chance at all that something simple was inadvertently changed or neglected?

MikeS
February 19th, 2017, 07:45 PM
...
It is, however, somewhat weird to see a single ROM socketed (U49). This is almost like someone has repaired this beast once already???
...
Not necessarily; mine has sockets for all three ROMs but the U47 and U48 sockets were obviously (sloppily) installed after it left the factory while only the U49 socket looks original.

daver2
February 19th, 2017, 09:39 PM
>> Not necessarily; mine has sockets for all three ROMs but the U47 and U48 sockets were obviously (sloppily) installed after it left the factory while only the U49 socket looks original.

Interesting. I wonder why though? It seems illogical (as Spock would say).

EDIT: I went on a 'picture hunt'. All the pictures I can find of the combined SuperPET do (indeed) have U49 socketed and U47/U48 soldered. Well, I never - you learn something new every day! I wonder if there is some 50Hz/60Hz or region-specific code in that ROM that necessitates a different bit of code?

It is interesting to note that the address buffer test yielded differences. I would not have expected that. As these are 74LS367 devices - the "piggy-back" trick should work for these. Buy a spare and piggy-back U18, U19 and U20 one at a time (or buy 3 - they are cheap enough - and piggy-back all three at the same time).

Yes, have a think before desoldering the ROMs - unfortunately I think we may be delaying the inevitable. But I agree with Mike - it is frustrating that it seems to have gone faulty since the 6502 was fixed. Remind me - you swapped the ROMs on the main board didn't you to get the system working. Nothing else?

Dave

daver2
February 20th, 2017, 01:56 AM
So, I have just been tracing through the start-up code for the SuperPET.

If you haven't found it before - have a look at http://mikenaberezny.com/hardware/superpet/disassemblies/. There is also whole load of useful things on the sidebar headed "SuperPET" you might be interested in bookmarking!

The start-up code SHOULD call a subroutine called sysioini located at address C1F5 (which - if my brain is working this morning) is located in U48. So you should see a 'blip' of action on U48 pin 20 after a reset which you are not seeing. So either the address decoding for this device is not working (U44 pin 10 - a 74LS139) or the ROM is crashing out before then.

I will see what is ahead of that call and see if everything else is confined to the ROMs you are seeing activity on.

U49 contains the reset vector (i.e. address space Exxx and Fxxx minus the I/O area). As this is socketed, some diagnostic code could be written in an exchange EPROM to initialise the screen, perform ROM checksums and dump the results to the screen. Just thinking out of the box...

Just had another thought whilst looking at the SuperPET schematics... Can you check the voltage on pin 5 of the 6502 on the SuperPET board when the switch is set to (a) 6502 mode (the voltage should be generally logic '1') and (b) when in 6809 mode (the voltage should be logic '0'. This pin is the /NOROM signal and should be asserted by the SuperPET when it is running in 6809 mode to disable the standard ROMs on the 8032 main board (otherwise mayhem will ensue)!

Dave

Ral-Clan
February 20th, 2017, 03:31 AM
It is interesting to note that the address buffer test yielded differences. I would not have expected that. As these are 74LS367 devices - the "piggy-back" trick should work for these. Buy a spare and piggy-back U18, U19 and U20 one at a time (or buy 3 - they are cheap enough - and piggy-back all three at the same time).

Remind me - you swapped the ROMs on the main board didn't you to get the system working. Nothing else?

Okay, I have a parts order to make - several sockets, some caps for another project and now I'll had three hex buffer ICs to the mix. Hopefully they'll only take a week to arrive, but here in Canada all the good online parts stores supply from the USA so it takes longer (Jameco,


The start-up code SHOULD call a subroutine called sysioini located at address C1F5 (which - if my brain is working this morning) is located in U48. So you should see a 'blip' of action on U48 pin 20 after a reset which you are not seeing. So either the address decoding for this device is not working (U44 pin 10 - a 74LS139) or the ROM is crashing out before then.

Any way to to test U44 pin 10 for this? What should I see there?


Can you check the voltage on pin 5 of the 6502 on the SuperPET board when the switch is set to (a) 6502 mode (the voltage should be generally logic '1') and (b) when in 6809 mode (the voltage should be logic '0'. This pin is the /NOROM signal and should be asserted by the SuperPET when it is running in 6809 mode to disable the standard ROMs on the 8032 main board (otherwise mayhem will ensue)!

Will do, this evening.

By the way - you guys are really top notch. You've gone out of your way to help me and I really have learned so much. Your levels of knowledge are remarkable. I hope it's been as much of a fun puzzle for you as it has been for me (okay, I admit, it's slightly frustrating, but I see progress being made).

daver2
February 20th, 2017, 04:41 AM
>> Any way to to test U44 pin 10 for this? What should I see there?

Not really. Buffered address lines BA13 and BA14 go into U44 (on pins 14 and 13 respectively) and the /EN signal for U48 comes out (on pin 10). It may be worth probing on U44 pin 10 to see if you get any low-going activity on here immediately following a reset [which may indicate a damaged track or bad solder joint between U44 and U48] - but this is probably unlikely.

Thanks for the thanks :-)! Glad to help out. Yes, frustrating is a very nice way of putting it when you have a number of faults present simultaneously and you are trying to weed them out one at a time! I am doing a software emulation project with SIMH at the moment (for work) and I am slowly identifying all of the errors in the original computer vendor's documentation for them! I am (hopefully) down to the last one... But if you hear a very loud scream from the UK - I have just fixed one and found another :-)!

Dave

Ral-Clan
February 20th, 2017, 05:16 AM
What's frustrating is that when we started the 6809 side seemed to be working, at least sort of; any chance at all that something simple was inadvertently changed or neglected?

Hi, well I do this this is a good time to refresh our collective memories.

When I picked up this PET it had been stored in a garage for probably a couple of decades. It was in good physical condition, but would not start properly. The 6502 mode would not activate at all. The 6809 mode would SOMETIMES activate. The seller actually demonstrated it to me as "working" by rapidly waggling the 6502/6809 toggle switch back and forth until the Waterloo programming languages menu showed on the screen. This would not always work, so it took several waggling attempts.

When I got it home, it did not start up reliably in 6809, but some power cycling and switch flipping did cause it to start. However, even the menu was kind of crazy. There was no keyboard response (understandable, since later we discovered the keyboard contacts needed a cleaning), but also, underneath the menu a series of characters would start spitting out (often the number 6). See photos at the start of this thread for an example (here is one):

https://s31.postimg.org/5bqmbewpz/HPIM0941.jpg (https://postimg.org/image/5bqmbewpz/)

I recall that after a few immediate measures --- i.e. re-seating all chips, connections, cleaning the board, eventually the SuperPET menu just stopped coming up. My guess is that something was borderline faulty on the SuperPET board and just totally gave up.

So here's a rough chronology of what happened during this repair:


SuperPET board removed to return machine to stock 8032 status
6502 had to be installed directly into 8032 motherboard CPU socket for this (normally resides on SuperPET board beside 6809)
re-flowed all solder points on 8032 motherboard
did voltage tests - determined voltages were good on 8032 motherboard.
did various logic probe tests on the 6502, determined it was probably good.
eventually replaced the EDIT ROM at UD7(?) and this got the PET working as a stock 8032.
ran several RAM tests on motherboard 32K ram --- all passed.
re-installed the SuperPET daughterboard, relocated the 6502 to it.
now noticed machine wouldn't work in 6809 mode, but fine in 6502 mode.
in 6809 mode sometimes would get a black screen, sometimes a bright green spot at centre of monitor, less occasionally an approximately 6" by 2" horizontal rectangle of garbled pixels (not PETSCII characters) that will expand slowly. I never leave the PET on for more than 10 seconds when any of these symptoms occur for fear of damaging my monitor.
switched back to 6502 mode and tested extended 64K of RAM on SuperPET board.
Bank 0 returned with errors. Determined one of the RAM chips was bad. Replaced it and it passed.
Tried to switch to other banks of RAM. Couldn't. Realised that the 4K EDIT ROM conflicted with the memory map of the SuperPET.
Wondered if this also was causing no-start 6809 mode issue.
Dave_m sent me a 2K EDIT ROM. This cured the ability to switch banks on extended RAM. All banks passed test.
SuperPET mode would still not start.
Removed SuperPET board and re-flowed all solder points.
Tested continuity of the two jumper cables that go between the PET motherboard and the SuperPET daughterboard. All connections okay.
Tested continuity of switch that selects 6809/6502 mode. Seems to be okay as well.
Sprayed contact cleaner in the 6809/6502 switch.
Checked with logic probe to see that power is shut off to 6502 and present on 6809 when SuperPET switch enabled. True.
Checked various lines on 6809. Seem to be active or as expected.
Checked pin 20 on ROMs. See report above. U49 pulsing, U48 remains high all the time, U47 low with one high blip only.
Checked lines on hex-buffers. See report above. Pulsing mostly matched on input/output pairs of lines, but sometimes a slightly pitch difference between input/output.
Put SuperPET ROM from U49 into U11 and ran a checksum. Returned as expected (good).


So we know RAM is good on the SuperPET board, and perhaps U49 ROM. We can suspect the 6809 as probably working.

The only - perhaps totally out of the ordinary thing - that happened once was very early in testing when the 6809 Waterloo languages menu was still working but the 6502 mode was not. I had re-assembled the PET, installing the jumper ribbon cable that goes between the 6502 socket on the 8032 motherboard and the SuperPET board. I could not get 6809 mode languages menu to show up. Only a black screen. I looked very closely and noticed a pin leg was bent outward on the ribbon cable where it entered the 6502 socket. I bent it back and restarted the PET and could get the SuperPET menu. I have susbsequently tested continuity on all of the lines of the ribbon cable and they are good.

So that's the refresher!

I suppose one test could be to install the original BAD EDIT ROM at UD7 and see if the SuperPET mode will start up.

KC9UDX
February 20th, 2017, 05:22 AM
If the board designer considered the ROM code in two chips finished and permanent, but thought the third might be changed in the future, that's a good reason to save the cost (and unreliability) of two sockets.

daver2
February 20th, 2017, 07:15 AM
>> I suppose one test could be to install the original BAD EDIT ROM at UD7 and see if the SuperPET mode will start up.

Actually, that's a pretty good idea and a simple test...

Or just remove UD7...

It's worth a try at this stage.

Dave

MikeS
February 20th, 2017, 07:45 AM
If the board designer considered the ROM code in two chips finished and permanent, but thought the third might be changed in the future, that's a good reason to save the cost (and unreliability) of two sockets.
Yeah, kinda makes sense. Whether for reliability or to save money all the ROMs on the 8032 board are also soldered in except for the E ROM, of which there are several different versions depending on country, line frequency etc.

Actually, as Dave points out it's convenient that it's the E/F ROM that's socketed in the SP since it contains the start vectors and thus makes it easier to override the normal startup for diagnostics etc.

Ral-Clan
February 20th, 2017, 03:58 PM
I suppose one test could be to install the original BAD EDIT ROM at UD7 and see if the SuperPET mode will start up.

Actually, that's a pretty good idea and a simple test...
Or just remove UD7...
It's worth a try at this stage.

Dave

BREAKTHROUGH!

Removing EDIT ROM - (empty socket at UD7) - the SuperPET mode is FULLY FUNCTIONAL!
Click on any of the following pictures to zoom.

The Waterloo languages start-up menu.
36348

I can even fully select options. For instance, here is the RS-232 settings menu:
36349

...and here is the Waterloo MicroMonitor:
36350

NOW..putting the original, faulty EDIT ROM back in UD7 gives me the corrupted Waterloo languages menu I saw when I first bought the machine. Very similar to the pictures in the first message of this thread.
36351

Not only is the menu corrupted, but the familiar series of characters below it (different character on each power cycle) has returned, and the computer will not accept any keyboard input. After several power cycles with the original BAD EDIT ROM installed, the menu stopped appearing at all - black screen. This is the exact behaviour I experienced when I first got the machine. Note: this bad EDIT ROM will not allow 6502 mode to start at all.

So...I feel like we are very close here. We have two functional computers inside this machine: The 6502 side (standard PET 8032) works fine. The 6809 (SuperPET) works fine. They just don't want to play together when the EDIT ROM is installed.

Why?

With the EDIT ROM socket empty, SuperPET mode starts up 100% reliably every time.

Some early theories:


There is some logic inside that is not switching things over properly.
UD7 is not being disabled properly when 6809 mode is selected, and is therefore conflicting with the SuperPET side.
There's something different about the having an EPROM at UD7 instead of the original Commodore EDIT ROM. The original faulty EDIT ROM would absolutely not allow the machine to start up in 6502 mode, BUT it would sometimes display a corrupted menu in 6809 mode. With an EPROM at UD7, 6502 mode works 100% of the time, but 6809 mode always gives either a black screen or seldomly, a rectangle of garbled pixels. Speed issue with EPROMs?
Physical fault with the toggle switch for selecting 6502/6809 mode? Maybe it's not routing some signal correctly.


We have an interesting problem here. Any ideas?

dave_m
February 20th, 2017, 05:31 PM
We have an interesting problem here. Any ideas?

Good going! We'll soon be there.

What is the part number including dash number on the original EDIT ROM? I supplied an EPROM for the normal 8032 EDIT ROM for a 60 Hz system P/N 901474-03.

I wonder if /NO ROM does not work to disable the 2716 EROM by putting a ground on pin 21 (Vpp)?

dave_m
February 20th, 2017, 05:50 PM
I looked at the spec sheet for the 2716 and the 2532 and both do not define Vpp at ground. They only list it as +5V for all operations except programming and +25V for programming. Ground on pin 21 may not disable those chips as it does on the 2316 and 2332 ROMs.

dave_m
February 20th, 2017, 06:04 PM
Looking at the [ROMs schematic (http://zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-04.gif)] on the 8032, it looks like a couple of cuts and jumpers will fix the problem. If UD7-pin 21 is cut and tied to +5V, and UE5-pin2 is cut and jumpered to NO ROM, things will work. And if a 2316 ROM is later installed in UD7, it will also work with the modification.

Brent has found an important restriction on the 8032 board of a SuperPet. It will not work in 6809 mode with any EPROMs installed!

And because of the NO ROM signal used to disable the PET ROMs, I bet the PETVet gadgets will not work either.

KC9UDX
February 20th, 2017, 07:45 PM
May want to stack a socket in the socket to make those modifications.

daver2
February 21st, 2017, 12:17 AM
If you only require a 2K EPROM for the EDIT ROM I would use a 2516 - as it doesn't require any 'circuit surgery' on the SuperPET PCB.

The 2516 has two active low enable lines (pin 20 and pin 18).

You can do a temporary test as follows:

1. Get a 2516 programmed with the EDIT ROM contents.
2. Carefully bend out pins 21 and 18 of the EPROM so they are horizontal.
3. Solder a short jumper wire between pins 21 and 24 of the EPROM (hold Vpp at Vcc)..
4. Solder a stiff-ish piece of wire onto pin 18 of the EPROM (the PD/PGM pin).
5. Insert the EPROM into UD7 - making sure that the stiff-ish wire that goes to pin 18 of the EPROM is physically plugged into pin 21 of UD7 socket (/NOROM).
6. Test...

Obviously - this will need tidying up later with a little adapter board or stacked socket arrangement (or try and get a new EDIT ROM for the 8032.

Glad to hear things are working out for you!

Sometimes it pays off to keep a log of what you are doing and then 'reflect' a bit before wielding the soldering iron!

Dave

Ral-Clan
February 21st, 2017, 02:50 AM
Dave over at Tynemouth software replied to an e-mail overnight regarding this problem, and came to a similar conclusion that dave_m had:


I would check you edit ROM is the right type. The original was a 2316 style chip with three enable lines, so it was disabled based on A11, CS and NO_ROM. Most EPROM replacements only have two enable lines, so will not be disabled correctly in all conditions. It isn't normally a problem, as the extra line is the NO_ROM signal which comes via a spare pin on the CPU socket, and is used by the Super PET board to tell the PET to disable it's ROMs. On a normal PET, this is never used, so it doesn't cause a problem to use an EPROM.

The NO_ROM signal is connected to pin 21. On a 2716 EPROM, this is VPP, so does nothing, the chip remains enabled. On a 2732 EPROM, it is A11, so again it remains enabled. On the 2316 style original ROM, this is CS3 and so the EPROM is disabled as requested.

Sounds like you need to get hold of an original edit ROM and try that.

Obviously, getting an original MOS EDIT ROM at this stage is not a practical solution.
I do prefer the solution of using a riser socket to do the modifications, rather than cutting traces on the actual motherboards (which I will do if absolutely deemed to be the best solution).
At this stage, too, the easiest would be to work with the EPROMs I already have, instead of source a third (2516). However, I will do what is best in the end.


Looking at the [ROMs schematic] on the 8032, it looks like a couple of cuts and jumpers will fix the problem. If UD7-pin 21 is cut and tied to +5V, and UE5-pin2 is cut and jumpered to NO ROM, things will work. And if a 2316 ROM is later installed in UD7, it will also work with the modification.

Dave, it seems I could also implement your solution with two riser sockets. While I also like daver2's solution, using yours I could continue to use the EPROM I currently have, so I may try this solution first.

A lot of information to absorb this morning....but VERY ENCOURAGING. Can we say we see the finish line in the distance yet? (*knock on wood*)

daver2
February 21st, 2017, 07:07 AM
I think you can see the light at the end of the tunnel (or is that a train approaching?)!

You have (however) managed to achieve exactly what I would attempt to do to fix a problem - i.e. can I reproduce the problem by putting the old part back and cure it by replacing the bad part with the new part at will. Obviously, this is not possible with every fault (i.e. soldered-in devices) but - in your case - putting the old EDIT ROM back gives you the original fault you had, putting the new EDIT ROM in fixes the 6502 but kills the 6809 - and removing the ROM altogether fixes the 6809.

You just need to identify the best course of action now for your particular circumstances.

You will soon be able to get back to PET space invaders - but switch over to writing COBOL or APL software on the 6809!

What do you plan to do for disks for the SuperPET now you have got this far?

Incidentally - since you are in Canada - if you ever hear of any SuperPET boards for sale (at a reasonable price) I am interested...

Enjoy,

Dave

KC9UDX
February 21st, 2017, 07:31 AM
The worst case scenario is wiring up a toggle switch to the ROM enable pin.

Ral-Clan
February 21st, 2017, 07:40 AM
What do you plan to do for disks for the SuperPET now you have got this far?

I have pre-ordered one of Tynemouth's IEEE-488 SD card floppy drive emulators, and the SuperPET disk images are available online. So I'm hoping that works out. I am not sure if the SD device can emulate the SuperPET disks as I hear the file format is different....but let's hope.


Incidentally - since you are in Canada - if you ever hear of any SuperPET boards for sale (at a reasonable price) I am interested...

Yes, they do seem to be more common here (developed over in Waterloo, Ontario). I rarely see any Commodore stuff anymore, but if I do, I'll let you know!


The worst case scenario is wiring up a toggle switch to the ROM enable pin.

Yes, a "kill" switch for UD7 had crossed my mind. I had been thinking on the +5V line, but that's because I know a lot less than you guys. Obviously such an in-elegant solution like a kill switch would be one of the last options.


You just need to identify the best course of action now for your particular circumstances.

Yes, seems I have about three options. I will mull these over and post back here for a second opinion before I proceed with anything.

dave_m
February 21st, 2017, 08:09 AM
If you only require a 2K EPROM for the EDIT ROM I would use a 2516 - as it doesn't require any 'circuit surgery' on the SuperPET PCB.

The 2516 has two active low enable lines - pin 20 and pin 18.

You can do a temporary test as follows:

1. Get a 2516 programmed with the EDIT ROM contents.
2. Carefully bend out pins 21 and 18 of the EPROM so they are horizontal.
3. Solder a short jumper wire between pins 21 and 24 of the EPROM (hold Vpp at Vcc)..
4. Solder a stiff-ish piece of wire onto pin 18 of the EPROM (the PD/PGM pin).
5. Insert the EPROM into UD7 - making sure that the stiff-ish wire that goes to pin 18 of the EPROM is physically plugged into pin 21 of UD7 socket (/NOROM).
6. Test...

Obviously - this will need tidying up later with a little adapter board or stacked socket arrangement (or try and get a new EDIT ROM for the 8032.



I like this solution. But NO ROM will have to be inverted to get the polarity correct. MikeS do you have any 2516 EPROMs handy as I have never had any?

I'll post the spec sheet for the TMS2516 soon.
-Dave

dave_m
February 21st, 2017, 08:12 AM
The worst case scenario is wiring up a toggle switch to the ROM enable pin.

KC,
That may be a quick and dirty solution. Good thinking.

daver2
February 21st, 2017, 08:16 AM
Dave_m,

Good spot about the polarity of NOROM. You would need to piggy-back an inverter (74LS04 or similar) on the EPROM as well.

That last e-mail was written quickly before I ran out of the door at work for a business trip. That'll teach me to check stuff properly befor hitting POST!

Dave

dave_m
February 21st, 2017, 09:19 AM
I have pre-ordered one of Tynemouth's IEEE-488 SD card floppy drive emulators, and the SuperPET disk images are available online. So I'm hoping that works out. I am not sure if the SD device can emulate the SuperPET disks as I hear the file format is different....but let's hope.

Also ask Dave at Tynemouth if his SD floppy can emulate dual drives like a 4040 or 8050. They must respond to commands of 1:filename and 0:filename. I think this is needed to run Waterloo software as it expects the system disk to be in one drive and a data disk in the other.

MikeS
February 21st, 2017, 09:22 AM
I like this solution. But NO ROM will have to be inverted to get the polarity correct. MikeS do you have any 2516 EPROMs handy as I have never had any?
-Dave
No 2516s in my inventory AFAIK, but considering how (relatively) rare they are and the CS polarity issue I'd just make those two mods of yours; stuff like that is almost invisibly reversible if need be. As a matter of fact I'll probably also do that if/when I actually play with my SP because I will probably be making some custom E ROMs.

BTW, I feel pretty dumb; I knew about that issue of pin 21 of a 2716 and I believe it was even discussed on this forum some time ago but not in this context. I just didn't make the connection, even when we were looking at the issues when using a 2732; grr...

Anyway, Congratulations, Brad! You've saved all of us many posts chasing red herrings...

m

daver2
February 21st, 2017, 11:08 AM
I just put it down to old age and poverty Mike :-)!

Interestingly, I have just paid for some new 2516 devices to be 'manufactured' for a project at work. Technically, they are Intel silicon die that has been encapsulated - but it is nevertheless strange seeing 8085 CPU, 2516 EPROMS and a host of other chips with 1642 date codes! Unfortunately, they are all spoken for...

Thinking about this ROM replacement issue (and I am sure lots more people have been here before me, but I can't find anyone with a quick search via a well-known search engine) but here is my ten pence worth.

A small daughter card to fit any of the ROMs on an 8032 (2332 or 2316) using a 2532 EPROM itself. ROM decoding to correctly account for the /NOROM signal and a facility to enable or disable A11 so the card can be used as a 'proper' 4K or 2K device.

A 3-8 decoder device (something like an SN74LS138 - in a SOIC footprint) would need to be fit within the EPROM socket on the daughter card.

/NOROM(pin 21 of the socket) would be wired to the A input (pin 1) of the SN74LS138.

/CS(pin 20 of the socket) would be wired to the B input (pin 2) of the SN74LS138.

A11(pin 18 of the socket) would be wired through to the EPROM and to a link block. The 'other side' of the link block would be wired to the C input (pin 3) of the SN74LS138. The link block would be arranged so that the C input to the SN74LS138 could be grounded to enable the full 4K. With the link made to the A11 input - this would disable the ROM when A11 was high - thus making it a true 2K device.

The VCC and G1 (pin 6) of the SN74LS138 would be connected to the VCC pin of the socket and EPROM.

The GND, /G2A(pin 4) and /G2B(pin 5) of the SN74LS138 would be connected to the GND pin of the socket and EPROM.

The /1 output (pin 14) of the SN74LS138 would be connected to the /CS pin of the EPROM (pin 20).

If my thought process is correct, this logic would enable the ROM (logic '0') when /NOROM(pin 21)='1', /CS(pin 20)='0' and A11(pin 18 )='0' (for a 2K device) and would enable the ROM (logic '0') when /NOROM(pin 21)='1' and /CS(pin 20)='0' (for a 4K device).

Only one link would be necessary to select either the full range of the 2532 (as a 2332) or the lower half of the 2532 (as a 2316).

Not sure how many of these are out in the wild already?

Dave

MikeS
February 21st, 2017, 12:14 PM
I just put it down to old age and poverty Mike :-)!

That's my excuse and I'm sticking to it ;-)

dave_m
February 21st, 2017, 12:51 PM
Mike,
Survey your buddies at the next TPUG meeting and find out how many SuperPet users have had issues in 6809 mode after replacing a ROM in the main board with an EPROM. There may already be a need for daver2's adapter board.

dave_m
February 21st, 2017, 01:09 PM
- if you ever hear of any SuperPET boards for sale (at a reasonable price) I am interested...





daver2,
Say it ain't so!

Have you given up on your design of a SuperPet replacement board. Did you find an insurmountable problem? Or has real life caught up with you and your spare time?
-Dave

MikeS
February 21st, 2017, 02:05 PM
Mike,
Survey your buddies at the next TPUG meeting and find out how many SuperPet users have had issues in 6809 mode after replacing a ROM in the main board with an EPROM. There may already be a need for daver2's adapter board.

Truth be told, I suspect most are like me and their SP is sitting gathering dust somewhere and maybe gets powered up once every couple of years or so, so I doubt that it's been an issue. If we ever put a PEdisk into a SuperPET it might be an issue though, since it uses two E ROMs (although the alternate is not normally active), so this 'discovery' is definitely something to keep in mind.

Ral-Clan
February 21st, 2017, 05:35 PM
Hey guys,

First question:

I'm prepping that electronics parts order I have to make to do this mod to the EDIT ROM socket.

When looking at IC sockets at places like Digikey, Jameco, Mouser, etc. it's hard for me to tell what kind of legs the sockets have. I need to buy a socket that is strong enough to take being inserted into another IC socket, not one with thin weak legs meant to be soldered through-hole and left in place permanently. I've also been told to avoid those really nice sockets with the thick, round legs, as they can "stretch" out the wiper contacts in socket

What I need to buy are some 24 pin DIP sockets that have nice flat, long legs, just the size and strength of a normal DIP IC chip. Problem is I don't exactly know the terminology for what I'm looking for, so the search engines on those sites aren't doing me much good.

Lastly, is there a particular name for the size of chip socket that will take a PET ROM 24-pin IC? I don't want to order a 24-pin IC socket and find after it arrives that it's for a much smaller DIP package.

Second question:

Dave_m's solution of cutting a trace at UD7 and another a UE5 is nice, because it would allow me to use the current 2716 EPROM EDIT ROM I have.

On the other hand, Daver2's solution of using a 2516 EPROM is also appealing because it means I don't have to cut any traces, merely modify the 2615. However, in following your discussion, you make the 2516's sound rare. However, on eBay there seems to be a lot of them, and the don't seem to be that costly:
http://www.ebay.com/itm/TI-TMS2516JDL-EPROM-dip24-qty-1-GOLD-Ship-in-USA-tomorrow-/261576640889?hash=item3ce72ec979:g:T6EAAOSwVFlT~j~ U

Or is the TMS2516 a different chip?

Dave_m's solution might be the best, because it allows all types of chips to be used in the UD7 socket (original ROMs, EPROMs, etc). Instead of cutting traces on the motherboard, using modified sockets would seem to be an elegant way of accomplishing the same thing. Whether I cut a trace directly, or install sockets, it's going to be more work that Daver2's 2516 solution, as I would have to fully remove the 8032 motherboard.

At this point I'm slightly leaning toward dave_m's solution....a bit more work but better future compatibility with all types of EDIT ROMs / EPROMs...

Dave, at Tynemouth's comment when I described the issue to him was:


You could do something with a diode / resistor OR gate on the CS and NO_ROM lines, but that would be a little messy unless you're already using an adapter board that can be modified.

Of course, lastly there's the solution of a toggle switch:


The worst case scenario is wiring up a toggle switch to the ROM enable pin.

What solution would you guys choose if you were in my boat?

KC9UDX
February 21st, 2017, 07:07 PM
The socket you describe is available, but I don't have the information you need in front of me.

I would do the switch as a last resort. You're going to add a socket anyway, so adding components and altering circuit paths is inconsequential. Always best to use the software approach that's already there,I think.

dave_m
February 21st, 2017, 07:24 PM
What I need to buy are some 24 pin DIP sockets that have nice flat, long legs, just the size and strength of a normal DIP IC chip. Problem is I don't exactly know the terminology for what I'm looking for, so the search engines on those sites aren't doing me much good.

Search for "24-pin machine tooled IC socket, 0.6 inch row width". You do not want the 0.3" width socket.




On the other hand, Daver2's solution of using a 2516 EPROM is also appealing because it means I don't have to cut any traces, merely modify the 2516.

Don't forget, you will have to add an inverter IC to invert the 'NO ROM' signal to the chip select pin. You might find an unused inverter on the main board somewhere. Does anyone know of a spare inverter on the PET board? Of course that would mean adding two long wires to connect it.

daver2
February 22nd, 2017, 01:25 AM
daver2,
Say it ain't so!

Have you given up on your design of a SuperPet replacement board. Did you find an insurmountable problem? Or has real life caught up with you and your spare time?
-Dave

Dave_m,

No, not given up. Work on it is sort of relegated to holiday times - as real life work is a priority at the moment. I managed to get quite a lot done over the Christmas/New Year break - and there is nothing insurmountable that I can see. I just need to find a bit more free time. Perhaps I need to set myself a target of laying one new track every night - it will soon be done in no time then...

It would still be nice to get hold of a 'real' SuperPET board though...

Dave

Ral-Clan
February 22nd, 2017, 03:28 AM
Don't forget, you will have to add an inverter IC to invert the 'NO ROM' signal to the chip select pin. You might find an unused inverter on the main board somewhere. Does anyone know of a spare inverter on the PET board? Of course that would mean adding two long wires to connect it.

Oh....I didn't catch the part about an inverter from your original description of the cure. What types of chips would be suitable? I have a box of old computer boards from the era and might have something in there.

KC9UDX
February 22nd, 2017, 05:06 AM
Oh....I didn't catch the part about an inverter from your original description of the cure. What types of chips would be suitable? I have a box of old computer boards from the era and might have something in there.

When you order parts, just pick any 5V inverter chip. Preferably an 8 pin DIP if you plan to hang it off the side of your adapter chip.

daver2
February 22nd, 2017, 07:40 AM
I recommended a 74LS04 back in post #191. Although a smaller package would be preferable (as per KC9UDX's recommendation) if you can find one. I think that would be tricky though.

You need to invert /NOROM to make NOROM before feeding to the relevant pin of the EPROM.

Dave

MikeS
February 22nd, 2017, 08:55 AM
Hey guys,
...,
Dave_m's solution of cutting a trace at UD7 and another a UE5 is nice, because it would allow me to use the current 2716 EPROM EDIT ROM I have.

On the other hand, Daver2's solution of using a 2516 EPROM is also appealing because it means I don't have to cut any traces, merely modify the 2615. However, in following your discussion, you make the 2516's sound rare. However, on eBay there seems to be a lot of them, and the don't seem to be that costly:
http://www.ebay.com/itm/TI-TMS2516JDL-EPROM-dip24-qty-1-GOLD-Ship-in-USA-tomorrow-/261576640889?hash=item3ce72ec979:g:T6EAAOSwVFlT~j~ U

Or is the TMS2516 a different chip?
AFAIK the TMS2516 is completely equivalent to a 2716, so Daver2's suggestion should also work with a 2716 (and an inverter of course).

As an aside, a TMS2716 is a completely different (and incompatible) beast.


At this point I'm slightly leaning toward dave_m's solution....a bit more work but better future compatibility with all types of EDIT ROMs / EPROMs...

Dave, at Tynemouth's comment when I described the issue to him was:
I think Dave (is everyone except me called Dave? ;-) ), like daver2 is overlooking the crucial issue here, namely that /NOROM is a positive chip select whereas EPROMs usually only have negative selects, so no matter what you will need an inverter as far as I can see.


What solution would you guys choose if you were in my boat?
Davem's; two small mods, easily reversible, compatible with both the original ROM and an EPROM and aside from the different part number on the EPROM, not visible from above. If possible, use a 2716 with a flat surface (not a TMS2516) so a label would hide the fact that it's a replacement EPROM.

daver2
February 22nd, 2017, 10:42 AM
I thought the plurality of Dave's had got the inverter for /NOROM covered in posts 189, 191, 201 and 205?

It is certainly taken care of in my 74LS139 modification proposal...

But YES - you need to invert the /NOROM signal to make it NOROM (i.e. active low to enable the EPROM).

Dave (R)

MikeS
February 22nd, 2017, 12:36 PM
I thought the plurality of Dave's had got the inverter for /NOROM covered in posts 189, 191, 201 and 205?

It is certainly taken care of in my 74LS139 modification proposal...

But YES - you need to invert the /NOROM signal to make it NOROM (i.e. active low to enable the EPROM).

Dave (R)
Apologies; I was referring to your initial suggestion (and also my first thought) before Dave_m reminded us all about the polarity issue, and I think Dave of Tynemouth is also overlooking it; I don't see how an OR gate could solve the issue.

m

KC9UDX
February 22nd, 2017, 01:19 PM
To clear up all the confusion, I suggest we all refer to each other as Bruce.

Bruce,

If you don't mind working with small, I found a 6-pin surface mount dual-inverter. It's 1.8V nominal, but the specs suggest it will work at 5V.

Bruce

Ral-Clan
February 22nd, 2017, 03:57 PM
Hello to all the Bruces,

Thanks for your suggestions. I will need to take a few days when I can fully re-read the suggestions of the last two pages of this thread (particularly the messages by Bruce and Bruce). As well...I will need to brush up on exactly how an inverter and the /NOROM line function. As a novice, I have just enough knowledge "to be dangerous", so need to make sure I understand exactly how this mod will function (i.e. a couple evenings of research).

I'll also look through my parts box. I'm fairly sure I have something that will serve as an inverter in there.

Once I've absorbed all the information and feel I know how I'll proceed, I'll post my intentions here, and hopefully Bruce will point out the errors or holes, and the other Bruce can send me on the straight and narrow!

Talk to you this weekend! :cool:

dave_m
February 22nd, 2017, 05:13 PM
Hello to all the Bruces,

Thanks for your suggestions.

I sent you a private message with more information on the logic inverter function. You are doing so well, we sometimes forget you are a novice. With my mod in message #182, I use UE5 as the logic inverter, i.e., 'NO ROM' goes low to disable all ROMs, and UE5-pin3 is forced high to disable the UD7 EPROM.

daver2
February 25th, 2017, 11:30 AM
Ral-Clan,

Can I ask you for a favour?

I am developing a SuperPET add-on board for the Commodore 8032 PET using modern components for those of us who want a SuperPET but can't get hold of one. I am fairly close to finishing the 'first pass' on the PCB (you'll be glad to know dave_m!) but I am after some measurements off an original single-card SuperPET board to help me. Would you be able to help out?

Cheers in advance,

Dave

Ral-Clan
February 25th, 2017, 04:41 PM
Ral-Clan,

Can I ask you for a favour?

I am developing a SuperPET add-on board for the Commodore 8032 PET using modern components for those of us who want a SuperPET but can't get hold of one. I am fairly close to finishing the 'first pass' on the PCB (you'll be glad to know dave_m!) but I am after some measurements off an original single-card SuperPET board to help me. Would you be able to help out?

Cheers in advance,

Dave

Hi Daver2,

No problem. I'll have to remove the SuperPET board anyway when I do the mod for the EDIT EPROM /NOROM line (hopefully soon). Please send me a list of the measurements you need.

On another note - I got an answer from Tynemouth Software about the IEEE-488 SD card drive he makes. It only behaves like a single directory - so I assume like the old Commodore hard drives used to behave - and does not mound disk images (like .d64s). It's possible that will be a future firmware upgrade.

It would therefore be neat if somehow the SuperPET software could be modded so it didn't need to run of a dual disk drive (or emulated dual disk drive).

KC9UDX
February 25th, 2017, 06:13 PM
I'd like to write a new OS for the hard drives, with the only change being that subdirectories would be supported. But I don't know when I'd get time, and doubt there are too many other people besides myself that would find it useful.

Ral-Clan
February 25th, 2017, 06:38 PM
Okay....so from what I understand, with an original Commodore/MOS produced EDIT ROM (UD7) in a SuperPET, a low (ground?) on PIN 21 is a NOROM signal, thereby disabling that ROM. When pin 21 is low, the ROM refuses any READ requests from the CPU. Correct?

However, the problem with using an EPROM like the 2716 or 2732 as an EDIT ROM is that a "low" signal on pin 21 does NOT disable these types of chips. The EPROM merrily continues to accept READ requests and therefore conflicts with the SuperPET's daughterboard ROMS when 6809 CPU mode is enabled. Correct?

So the solution is to rig something that will disable UD7 some other way, every time the NOROM line is set to low. Correct?

Dave_m has given a description of what do to as a solution to this:


Looking at the [ROMs schematic] on the 8032, it looks like a couple of cuts and jumpers will fix the problem. If UD7-pin 21 is cut and tied to +5V, and UE5-pin2 is cut and jumpered to NO ROM, things will work. And if a 2316 ROM is later installed in UD7, it will also work with the modification.

As I try to wrap my head around what this mod actually does (I want to understand what's going on before I do any physical alterations) I have the first in a series of questions.

What, in principle, is this modification doing? I have a vague understanding that it requires inverting NOROM to /NOROM, but why? How does manage to disable the EDIT ROM?

I also have some questions about the implementation:


If UD7-pin 21 is cut and tied to +5V...

QUESTION #1: The ROM at UD7 in this PET is socketed. Can't I simply lift pin 21 (i.e. straighten it out) and jumper it to it's own +5VDC line (pin 12 of the 2716 EPROM)? Or better yet, could I put an IC socket into the socket at UD7 and do all the jumpering on that. There's no necessity for me to actually cut the UD7 pin-21 trace on the motherboard, is there?

QUESTION #2: So why do we want to supply pin 21 this constant source of +5VDC? We've detatched this pin from it's previous variable (hi/low) NOROM line source of voltage, and now ALWAYS supply it with a high signal (+5VDC). Why? The Datasheet for the 2712 EPROM I'm using at that location says that pin 21 can be used to supply +25VDC to program the chip. But what is its function when fed +5VDC?


...and UE5-pin2 is cut and jumpered to NO ROM....

QUESTION #3: I see UE5 is a 74LS00 chip. A bunch of NAND gates. Again, I could probably just put a socket in here, and lift leg 5 of the 7400, then jumper that leg to NOROM (or again, do all the jumpering on a socket in a socket). Right?

QUESTION #4: Where, physically on the motherboard, do I tap/jumper into the NOROM line to "feed" EU5 pin 2? From the little information I have found online, the NOROM line is available at PIN 5 of the 6502 CPU, but I'm thinking pin 21 of UD7 at the underside of the motherboard might work (much closer to EU5). Alternatively, since leg 21 of the edit ROM at UD7 has been lifted, we also have the option to insert a jumper wire from pin 2 of EU5 into hole 21 of the IC socket at UD7.

QUESTION #5: So, what is happening at EU5? Since pin 2 is an input for a NAND gate (whose output is PIN 3), we seem to be wanting to feed this NAND gate a signal from the NOROM line. Why?

QUESTION #6: Also, I thought we had to find or install a spare inverter to the NOROM line. Where does that come into play in the above modification? Does the involvement of the NAND gate at EU5 serve as an inverter?

QUESTION #7: Lastly (whew!), I might have found an notation error on one of the original Commodore PET 8032 schematics: UE5 pin 2 already seems to be needed for something else, as seen on the lower left corner of revision 8032087 of the motherboard schematic (http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-01.gif). However, on the earlier revision 8032029 of the schematic (http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/8032/8032029-01.gif), this same inverter is listed as UE15, not UE5, so there may have been a notation error introduced in the later version of the schematic). Click the links in this paragraph to open the actual schematics in question. I've also extracted the relevant areas of these schematics and inserted them here:

Component labelled as UE15 on the rev.8032029 schematic (click to zoom):
36573

Same component labelled as UE5 on the later rev.8032087 schematic (click to zoom):
36572

However, I do think that the above is INDEED a notation error: on another schematic (click link) (http://www.commodore.ca/manuals/funet/cbm/schematics/computers/pet/univ2/8032087-04.gif) detailing the ROMs, I do see what appears to be the true UE5's pins 1,2 and 3 (the whole NAND gate), connected to pin 20 of UD11....I'm thinking that this schematic is the CORRECT one, and the contradiction shown on the two schematics above is indeed an error.

Does this (apparent?) confusion on the schematics above in any way affect the modification proposed? We're not hijacking a part of UE5 that's needed elsewhere, are we?

I think I'm a bit confused. I'm sure I'm not interpreting this information correctly. Dave_m, you had offered to write out a step by step, I think it's time! Help! :confused:

My apologies for all the questions! This has been a HEAVY post! I feel a bit like a toddler asking "why daddy? why is the sky blue...why is the rain wet...why?". Thanks for your patience.

daver2
February 25th, 2017, 10:46 PM
Wow, you've been thinking a bit since the last post! I will have to answer your post from my iMac rather than my iPad (I don't like a lot of typing on no keyboard!)

I will get a list of measurements to you today. Thanks in advance for doing that for me.

Another thought for the disk - don't use one at all! The SuperPET has a serial port that can be connected to a host computer so that the SuperPET can be booted and used without file storage. I was persuaded to add the serial port to my SuperPET2 development because of this reason (although it only took one microsecond to persuade me once I dug in to the functionality). As I understand it, this is how the SuperPET was usd at the University of Waterloo - with the 'disk' being on the host mainframe.

Dave

daver2
February 25th, 2017, 11:04 PM
QUESTIONS #1 and #2.

Yes you can lift pin 21 (Vpp) of a 2516 EPROM and connect it to pin 24 (Vcc) rather than butcher the PCB. Note this should be pin 24 and not pin 12 as you have stated in your post. Or you can use a socket. Your choice.

The reason we do this is because of the specifications provided by the manufacturer in the data sheet. Pin 21 (Vpp) is a power supply pin (supplied externally). The manufacturer states that this pin should be +25V for programming and +5V at all other times. The operation is undefined if the pin is connected to 0V or left open circuit. As a result (if you leave this pin floating) the device may work, or it may not or (even worse) sometimes work and sometimes not. It is, therefore, vitally important to follow the device manufacturer's data sheets for their devices. It is also interesting to note that some manufacturer's devices may work OK with this pin floating, but other manufacturers may not. Connecting the device as per the specification sheet should guarantee that all manufacturer's EPROMS of that type will work in the future.

Hope this answers questions 1 and 2 to your satisfaction?

Dave

daver2
February 25th, 2017, 11:13 PM
I have very quickly read your other questions and I think you may be confusing two possible methods of modification to achieve the desired response.

I proposed adding the inverter to the /NOROM (after dave_m pointed out that my original modification was flawed - and he was correct).

Dave_m proposed adding /NOROM to an unused pin on an existing gate.

You would do ONE of these modifications, not them both.

I don't have time right now to answer the remainder of your questions (I have to get ready for Church) but will get around to them after lunch if that is OK (unless someone else beats me to it with the time difference).

Dave

daver2
February 26th, 2017, 02:47 AM
I will discuss my modification and let dave_m discuss his if that is OK?

Let me first discuss how the existing ROM works...

A 2316 (UD7 in this case) has two chip select lines: /CS1 (pin 20) and CS2 (pin 21). /CS1 needs to be LOW ('0') AND CS2 needs to be HIGH ('1') to select the ROM. By selection here, I mean actively drive the data bus with the contents of the addressed memory cell. If /CS1 is HIGH ('1') OR CS2 is LOW ('0'), then the ROM does not drive the data bus.

/CS1 is wired to UE5 pin 3 (which goes LOW '0' when the ROM is addressed) and CS2 is wired to the /NOROM signal (which is normally pulled HIGH '1' by the action of R40). In a 6502 PET - this means that CS2 (pin 21) is generally selected (HIGH = '1') so whether or not the ROM drives the data bus or not is purely a function of /CS1 (pin 20). In a 6502 PET this is the general state of affairs.

The people at Commodore saw a future time where the on-board ROMS may need to be disabled (hence the inclusion of this magic /NOROM signal). As mentioned above, this signal is normally pulled high (via R40) thus selecting all of the ROMS (UD6-UD12) via the CS2 pin; and only activating the appropriate ROM when the address decoding logic activates /CS1 (pin 20) of the respective ROM - thus causing the selected ROM to drive the data bus. To disable all of the on-board ROMS, the /NOROM signal would be driven LOW ('0') thus disabling all of the on-board ROMS (via CS2) - so no matter what ROM area is decoded by the on-board logic, no ROMS will actually be selected (remember from above that both /CS1 ('0') AND CS2 ('1') need to be present simultaneously for the ROM to drive the data bus. If CS2 is held LOW ('0') then no ROM can be selected.

So where is the /NOROM signal derived from then? Following it back is sourced from pin 5 of the 6502 CPU (UB14). This is marked as 'N.C.' on the schematic (standing for no connect). So, with a 'normal' 6502 CPU this signal will not be driven, and it will always be HIGH '1' by the action of R40 (i.e. the on-board ROMS will always be enabled via their CS2 pins - but waiting to drive the bus for an active low on the respective /CS1 pin if you remember from above).

As an aside at this point, it is generally bad design practice to use a 'no connect' pin if marked as such on a data sheet. The data sheet indicates that this pin 'should not be connected'. So why have Commodore connected it in flagrant disregard to what the data sheet says? Answer: because they are Commodore and can do what they like! The manufacturer generally indicates 'no connect' pins so that they may use them for themselves in future. Or they may be flagged as 'no connect' because they actually have a purpose (for - say - testing at the factory) but the user shouldn't be concerned with them. It is highly likely that this pin was never actually connected inside the package and could (therefore) be used for something else (in Commodore's case the /NOROM signal). It would (of course) be down to Commodore to ensure that later releases of the 6502 CPU chip didn't use this pin in the future (otherwise it would 'break' the Commodore PET design)!

Incidentally, there is another 6502 pin used this way on your SuperPET - pin 35 has a 16MHz clock fed to it (via a jumper block) - and this pin is marked as N.C. on the data sheet.

Back to your questions after my digression...

When the SuperPET came along, it was necessary to disable the onboard 6502 ROMs (otherwise they would conflict with the 6809 ROMS) so this /NOROM signal was finally put to good use. The /NOROM signal is (therefore) HIGH (logical '1') when in 6502 mode (to select the ONBOARD ROMS) and LOW (logical '0') when in 6809 mode. To be more technically correct, the signal is an open collector drive from the SuperPET - so /NOROM is pulled HIGH by the action of R40 when in 6502 mode and dragged LOW by the action of Q4 on the SuperPET board when in 6809 mode.

To replace UD7 with an EDIT ROM therefore requires us to adhere to the 2316 ROM design of providing two chip select lines (/CS1 and CS2 - one active low and one active high respectively to enable the selected ROM).

Let's now look at the potential replacement EPROM (the TMS2516).

From the data sheet (see for example http://www.jrok.com/datasheet/TMS2516.pdf on page 138) to READ from the EPROM I need PD/PGM (pin 18) to be LOW '0', /CS (pin 20) to be LOW '0' and Vpp (pin 21) to be +5V. If /CS is HIGH ('1') then the EPROM outputs are disabled. Likewise if PD/PGM is HIGH ('1') then the EPROM is in power-down mode and the outputs are also disabled. So, we need to drive pins 18 (PD/PGM) and 20 (/CS) both LOW ('0') for our TMS2516 EPROM to drive the data bus - as opposed to the 2316 we are replacing where we require pin 20 (/CS1) to be driven LOW ('0') but pin 21 (CS2) to be driven HIGH ('1') to drive the data bus.

Hopefully you can see that one of the signals is the inverse of what we want to enable the EPROM to drive the data bus - and, therefore, we require an inverter of some sort.

My proposal (take it or leave it as you wish):

Make a small plug-in adapter to replace the EDIT ROM in UD7. My proposal is to make the adapter self-sufficient therefore not requiring any modifications to the PET main board (all the modifications are contained on the adapter board so that you can return your machine to 'factory built' configuration should a 2316 EDIT ROM of the correct type become available to you in the future. I (personally) don't like to modify PCB's if I can avoid it. But that's my preference and may not be yours. I am helping another VCFED enthusiast out with a system that has been heavily modified by its original owner (who is no longer around) and the documentation for the modification has not come with the system. As a result, we are first trying to identify what his modifications are and then whether to keep them or remove them and return the machine back to 'factory'.

You will need two IC sockets and an inverter chip of some type. A TTL hex inverter springs to mind first (SN74LS04) but these are rather large. The SN74LS04 comes in a SOIC package (see the Texas Instruments data sheet at http://www.ti.com/lit/ds/symlink/sn74ls04.pdf). The SOIC package is much smaller - hence it can fit within the outline of the socket that we are going to use for the adapter. Unfortunately, smaller = more fiddlier but is much more tidy. Again, it is up to you.

The two sockets will be arranged as follows (lets call the socket that the TMS2516 is going to plug into the EPROM socket and the socket that is plugged into the SuperPET board the SuperPet socket for the purpose of my description):

All pins of the EPROM socket will be connected directly to the SuperPET socket except for the following pins:

Pin 21 (Vpp).
Pin 18 (PD/PGM).

Proceed as follows:

Pin 21 (Vpp) of the EPROM socket will be wired to +5V on pin 24 (of either socket). This 'forces' Vpp to always be +5V which is a requirement of the TMS2516 data sheet unless we are programming the device (which we are not).

The Vcc (+5V ) pin 14 of the SN74LS04 inverter package will need to be wired to the +5V on pin 24 of either socket (power supply to the SN74LS04).

The GND (0V) pin 7 of the SN74LS04 inverter package will need to be wired to the GND/Vss on pin 12 of either socket (power supply to the SN74LS04).

The /NOROM signal on pin 21 of the SuperPET socket will require wiring to pin 1 of the SN74LS04 inverter (the input of one of the inverters contained within the IC package).

Pin 2 of the SN74LS04 inverter (the output of the inverter we are using) will require wiring to pin 18 (PD/PGM) of the EPROM socket.

If it was me, I would wire the inputs of all of the unused inverter packages of the SN74LS04 to GND/Vss (pin 7 of the SN74LS04) - these are pins 3, 5, 9, 11 and 13. It is generally bad practice to leave unconnected inputs floating (they act as little radio antennas picking up noise and can sometimes cause the device to malfunction periodically). Unused inverter outputs can be left unconnected.

You may get some idea of what I am waffling about (!) by looking at this webpage: http://www.dasarodesigns.com/product/6540-rom-adapter/. In one of the pictures you will see an SN74LS138 embedded within the EPROM socket. OK - this design uses a small printed circuit board, but it is equally applicable to a 'hand-constructed' variant.

As KC has previously stated, you can get single or dual inverters in a much smaller package and there is also the option of using a FET and a resistor as a discrete inverter if you like. There are many ways of implementing this single inverter...

The 'downside' of this little adapter is that you require two (2) chip select type pins on the EPROM (as is present on the TMS2516). If (due to obsolescence) you can't get hold of a TMS2516 any more - then this adapter board will not work. TMS2532 EPROMS are more modern (slightly) so they should be available for longer than the TMS2516 type. Unfortunately, a TMS2532 only has one active low chip select line. To use this type of EPROM in place of the UD7 2316 EDIT ROM will require the introduction of addition address decoding logic (to merge the /CS and /NOROM signals into a single active-low chip select line for the TMS2532 EPROM. This I described back in post #194 using an SN74LS138 (looks similar to the link I provided for the 6540 adapter doesn't it)?

Going back to my TMS2516 and SN74LS04 inverter. So, how does this work...

Let's assume the 6502 CPU is running. /NOROM will be high ('1') due to the action of pull-up resistor R40. The SN74LS04 inverter will invert the signal to be LOW (logic '0'). This inverted signal is fed to pin 18 (PD/PGM) of the TMS2516 EPROM and (because it is LOW) becomes one of the active chip selects for the TMS2516. For the TMS2516 to actually drive the data bus, the other chip select signal (pin 20 = /CS) also has to go LOW. This (in turn) is derived from the address decoding logic on the PET main board.

If we switch over to the 6809 CPU, /NOROM will be dragged LOW ('0'). The SN74LS04 inverter will invert this signal to be HIGH (logic '1'). This HIGH level will be fed to pin 18 (PD/PGM) of the TMS2516 EPROM which will prevent the EPROM from driving the data bus irrespective of the address decoding logic on the PET main board.

This is exactly what we require. Job done without any modifications to the PET main board (which is my requirement).

Hope that is a pretty thorough description of my proposed modification for you?

I have a few little jobs to do and then I will get back to posting those list of measurements I require if that is OK with you?

Dave

daver2
February 26th, 2017, 07:14 AM
The measurements I am after...

Looking at the PET from the front with the 'lid' open to reveal the 'inner glory'. The SuperPET board is sitting on top of a Universal 8032 with the J1 connector (going to the 6502 socket on the main board) at the rear, with the voltage regulator and heatsink on the rear right. The serial port connector should then be on the front left of the SuperPET board.

Measurements. I am comfortable with millimetres (being in the UK), but (if you are not) I am happy with Imperial units as second best.

Firstly, I am assuming the SuperPET board is rectangular with no cut-outs on the PCB. Can you please confirm this is the case.

What is the width of the SuperPET board (from left to right).

What is the length of the SuperPET board (from front to rear).

How high does the SuperPET PCB sit above the 8032 main board (i.e. the height of the spacers).

What is the diameter of the mounting holes on the SuperPET board and how many of them are there (I am assuming 4).

What is the distance between the left-hand-side of the SuperPET board and the left-hand-side of connector J1 (the connector that links the SuperPET board to the 6502 socket on the 8032 main board).

What is the distance between the right-hand-side of the SuperPET board and the right-hand-side of connector J1.

What is the width of connector J1.

Taken together, the sum of the last 3 measurements should be the same as the width of the SuperPET board.

The last thing is the location of the mounting holes (x4?) in relation to the edges of the SuperPET board. I am looking for the measurement to the centre of the mounting hole. For example, the mounting hole nearest to the voltage regulator and heatsink would have two measurements (i.e. the distance from the rear of the PCB to the centre of the mounting hole and the distance from the right-hand-edge to the centre of the mounting hole). I should be able to double-check the measurements of the mounting holes by checking the position on my 8032 - but I don't know what relationship they have to the edges of the SuperPET PCB.

Hope this makes sense?

Many thanks for your help.

Kind regards in advance,

Dave

Ral-Clan
February 26th, 2017, 10:04 AM
Hi Daver2,

Thanks for the long, deeply thought out and informative post. I really helped me understand what is going on inside the PET regarding ROM selection. It no doubt will also be informative to those with the same questions, reading this thread in the future.

As for your SuperPET board measurements, I can take them (okay with metric as I am in Canada) and will get these to you.

Now...before I ask a ton of questions about your adaptor board solution, here are a few preliminary ones:


Why do you write NOROM with a / slash in front of it? I see on the 2316 chip, pins 20 and 21 are written /CS1 and /CS3, while pin 18 is written CS2 (without a slash). What does the slash mean? I suspect / means a low signal, but haven't seen this confirmed anywhere in writing.

I like your adapter board solution. It appeals to me...BUT you base it on a 2516 EPROM. I don't have a 2516 EPROM. The replacement EPROM Dave_m made me is a 2716 and, after the trouble we went to first trying a 2732 based EDIT ROM, then a 2716 based EDIT ROM, all the mailing between California and Ontario, and Dave_m's personal time taken to prep and package the EPROMS, it was enough of an effort that I would prefer not to have to get yet another EDIT ROM burned onto a 2516. So, can your mod be made to work with my exisiting 2716 EPROM?


Thanks again. Once I know the answers to these questions I can determine which questions I should ask next!

daver2
February 26th, 2017, 10:12 AM
Hi,

No problem to explaining everything. Sometimes we forget that some people are new to this Vintage stuff and we need to slow down and explain things more clearly.

The simple answer is YES and YES...

I use a '/' to mean 'active low'. I would normally put a bar across the top of the signal name - but that doesn't work in ASCII (!) so I prefix the signal with '/' instead (that works)...

The answer to using a a 2716 EPROM instead of a 2516 EPROM should be yes - but can you tell me EXACTLY what the part number and manufacturer is actually written on the device please and I will double-check it with its datasheet just to be sure (there is a very, very old variant of a 2716 that won't work - but it won't work in your PET either so that is not the case).

The next few days are going to be a bit hectic for me (an event on Monday evening and a business trip on Tue/Wed) so any long questions may have to wait until Thursday to be answered - so get your burning questions in quickly!

Dave

dave_m
February 26th, 2017, 11:25 AM
The answer to using a a 2716 EPROM instead of a 2516 EPROM should be yes - but can you tell me EXACTLY what the part number and manufacturer is actually written on the device please

I think I sent a Mostek 2716 which will work fine with your mod. The one to worry about is the rare Texas Instruments TMS2716 which has a non standard pinout and requires -5V to work!

Ral-Clan
February 26th, 2017, 11:36 AM
Very good news in these responses from Daver2 and Dave_m.

I believe I already have all the parts to do this mod in my parts box, so hopefully no mail-ordering will be necessary.


I have several 24 pin IC sockets,
I have several never used 7404 ICs.
I am just looking over some old boards I have in my salvage box to see if I have the smaller sized equivalent of the 7404 (or something else with an inverter built in).

I will report back with what I have found.

Daver2, can you please PM me your e-mail address as I also have taken several good shots of the SuperPET 6809 board that I will send to you as a package with the measurements.

KC9UDX
February 26th, 2017, 11:56 AM
More specifically, the slash, which substitutes for a bar over the signal name, means logical NOT.

So when the signal is electrically high, NOROM is a logical low.

Also it's worth pointing out that this is why you need an inverter. An electrical inverter is logically a NOT gate. If everything was simple, we would call them that rather than "inverter." We don't call any other gate by its electrical implementation.

daver2
February 26th, 2017, 12:13 PM
Ah yes, the TMS2716 rings a bell. That was the little devil I was thinking of...

We have been having fun and games with Falter's SWTPC cards - and the -5V there keeps tripping us up as well! What is it with IC's and -5V?!

EDIT: I have just sent you my private e-mail address.

Dave

dave_m
February 26th, 2017, 12:14 PM
I'm sure I'm not interpreting this information correctly. Dave_m, you had offered to write out a step by step, I think it's time! Help! :confused:



1. Isolate UD7-pin21 from its circuit board pad/traces by using a second 24-pin socket with its pin 21 bent out 90 degrees or cut off such that no connection is made to circuit pad.

2. Tack solder a short jumper wire from IC UD7-pin21 to UD7-pin24 (+5V). Make sure the jumper wire can NOT touch anything else as there will always be +5 Volts on it.

3. Isolate UE5-pin1 from its circuit board pad/trace by either removing the IC and installing a 14-pin socket so socket pin1 can be bent out, or by simply cutting IC pin1 at the solder pad and bending it 90 degrees such that it does not connect with circuit pad.

4. Tack solder a wire from UD6-pin21 to IC UE5-pin1. This connects /NO ROM to IC UE5-pin1. When /NO ROM is pulled down for 6809 mode, it will force UE5-pin3 high. This high signal goes to the chip select of UD7-pin20 and will disable the EPROM.

Ral-Clan
February 26th, 2017, 12:17 PM
I just found a 74LS04D (small IC) on a very old VGA video card.
I'm going to try and desolder it with a heat gun.

Daver2...if I can salvage this small package 7404D from the board, does you intend for it to be in a socket, or just supported somehow inside the "SuperPET" socket below the "EPROM" socket?

Ral-Clan
February 26th, 2017, 12:24 PM
4. Tack solder a wire from UD6-pin21 to IC UE5-pin1. This connects /NO ROM to IC UE5-pin1.

Dave_m, is this a typo, did you mean UD7-pin21?

Also, Dave_m, in your solution, where is the "inversion" happening that we are using a 7404 for in Daver2's solution? In the NAND gate at UE5?

daver2
February 26th, 2017, 12:27 PM
>> Daver2...if I can salvage this small package 7404D from the board, does you intend for it to be in a socket, or just supported somehow inside the "SuperPET" socket below the "EPROM" socket?

Not in a socket - just wedge it somewhere inside the socket stack. Just make sure it can't short out to anything inadvertently. One possibility is to solder the +5V, 0V, in and out pins of the 74LS04D IC to different coloured wires (as flying leads) and place the package in an insulated cocoon before wedging it inside the socket stack.

Dave

dave_m
February 26th, 2017, 12:40 PM
Dave_m, is this a typo, did you mean UD7-pin21?

Also, Dave_m, in your solution, where is the "inversion" happening that we are using a 7404 for in Daver2's solution? In the NAND gate at UE5?

Hi Brent,
No typo. We want to connect with signal "/NO ROM", which is at all the ROMs pin 21 EXCEPT UD7-pin21 as we just hooked up UD7-21 to +5V to make the EPROM work properly.

I picked UD6-pin21 as it is physically very close to UE5. See [board layout (http://zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032090-7.gif)]

Yes, I use the existing NAND gate to do the inversion. No added parts. In the NAND gate originally both input (pins 1 & 2) were tied together which logically makes it a simple inverter. By borrowing pin 1, I get to use it as an inverter when I ground pin 1, and when pin 1 is high, it inverts whatever is on pin 2 which is what's wanted for that circuit. Win win!

Ral-Clan
February 26th, 2017, 03:43 PM
1. Isolate UD7-pin21 from its circuit board pad/traces by using a second 24-pin socket with its pin 21 bent out 90 degrees or cut off such that no connection is made to circuit pad.

Hi dave_m,

A few questions about your mod:

1. Seems like I could just bend-up UD7 pin 21, and jumper it to its pin 24. No need for a "socket sandwich", eh?

2. Your mod will still allow the PET to work with the original 2316 Commodore made ROMs, without having to reverse the modification, will it not?

3. Daver2's mode involves using PIN 18 (PGM) of the 2716 EPROM and tying it to the output of the inverter. Yours doesn't involve pin 18 at all. Why is that?

Ral-Clan
February 26th, 2017, 04:58 PM
A 2316 (UD7 in this case) has two chip select lines: /CS1 (pin 20) and CS2 (pin 21). /CS1 needs to be LOW ('0') AND CS2 needs to be HIGH ('1') to select the ROM. By selection here, I mean actively drive the data bus with the contents of the addressed memory cell. If /CS1 is HIGH ('1') OR CS2 is LOW ('0'), then the ROM does not drive the data bus.

Daver2, the pinouts I find online for a 2316 IC state CS2 is on pin 18. You say it's on pin 21. Why the conflicting info?

Image (click to zoom):

36610

dave_m
February 26th, 2017, 05:58 PM
Hi dave_m,

A few questions about your mod:

1. Seems like I could just bend-up UD7 pin 21, and jumper it to its pin 24. No need for a "socket sandwich", eh?

2. Your mod will still allow the PET to work with the original 2316 Commodore made ROMs, without having to reverse the modification, will it not?

3. Daver2's mode involves using PIN 18 (PGM) of the 2716 EPROM and tying it to the output of the inverter. Yours doesn't involve pin 18 at all. Why is that?

1. You are learning fast. Yes.
2. Yes. Having +5V on pin 21 will work fine with the 2316 as it is a positive enable. If you look at the ROM schematic of the 2001N PETs, pin 21 is wired directly to +5V.
3. daver2 needed to use the chip select on pin 18 to disable the 2516/2716 when /No ROM is grounded by inverting it and connecting to pin 18. I used UE5 instead which was already hooked up to the other enable on pin 20. Pin 18 is left connected to A11 which will enable the EPROM from address $E000-E7FF when A11 is low and when A11 is high will disable the EPROM from addresses $E800-EFFF.

dave_m
February 26th, 2017, 06:21 PM
Daver2, the pinouts I find online for a 2316 IC state CS2 is on pin 18. You say it's on pin 21. Why the conflicting info?

Image (click to zoom):

36610

I'll answer for Daver2 as he is busy, Commodore was not great on consistency. The chip enables on their ROMs could be mask programed to be a high active or a low active enable. In the 6316 there are three chip enables /CS1 on pin 20, /CS2 on pin 18 and CS3 on pin 21. In the 2316B, it looks like pin 18 is a high active enable CS2. Very confusing and easy to get nomenclature mistaken. Give us a break ;)

KC9UDX
February 26th, 2017, 07:27 PM
When your main purpose of fabrication is vertical integration, your documentation doesn't have to make sense outside your domain.

daver2
February 26th, 2017, 10:50 PM
Thanks for stepping in there to speed things up. I was in bed this side of the Pond!

Welcome to the wonderful world that is Commodore! However, it could be worse, you could be trying to work out what Woz was up to in the Apple IIe and comparing those schematics with the chip data sheets!!!

Dave

KC9UDX
February 27th, 2017, 02:58 AM
It occurs to me that they did that on purpose. There was one specific machine design that benefitted from that. I don't recall which though.

daver2
February 27th, 2017, 04:09 AM
So, I was looking around the internet today during my lunch break (as you do) and came across this: http://www.go4retro.com/products/23xx-adapter/

For sale for $6.49 (complete unit) or $1.50 for the bare PCB at his on-line shop http://store.go4retro.com/23xx-adapter/ (States based).

This is exactly what I was proposing way back in a previous post to use a 74xx138 3 to 8 decoder. I was re-inventing the wheel after all...

So, if you don't fancy making one yourself... The only slight 'niggle' is that it uses 28 pin EPROM/FLASH devices (i.e. modern devices) and will not, therefore, be compatible with Dave's 2716.

Dave

daver2
February 27th, 2017, 05:13 AM
And (out of interest) if you want to read up on the ROM itself - have a look at http://bitsavers.trailing-edge.com/pdf/national/_dataBooks/1980_National_MOS_Databook.pdf on pages 3-3 to 3-5.

It specifically states that the chip selection polarity is programmable in addition to the ROM content. They used to do this a lot so as to reduce the external address decoding logic. For example, you could wire the highest 3 address lines in parallel to a number of 2316 ROMS. Where each ROM appeared in the memory map would be dictated by the programming of the polarity of the chip select pins. No external logic would be required. To add additional ROMS in the future all you would have to do was to extend the PCB and add the ROMS. No modifications to the logic necessary! Obviously (with 3 chip select lines) there is a limit of 2^3 = 8 ROMS that can be accommodated this way without external logic.

Dave

Ral-Clan
March 4th, 2017, 01:07 PM
Hello guys,

So...I've been busy this week.

First, I had to decide between dave_m's solution and Daver2's solution to get the EPROM EDIT ROM working in the SuperPET. Both had merits. Dave_m's was beautifully simple, but requires removing the motherboard and desoldering a chip to install a socket (I didn't want to simply cut a chip leg on the 7404). Dave2's solution of building an adapter socket was a bit more finicky (more part and jumpers), but left the PET unaltered.

After some mulling over, I went with Dave2's EPROM adapter socket solution since I already had the two IC sockets for the riser and could salvage a surface-mount small package 7404 off of an old PC card to serve as the inverter.

The adapter before the assembly looked like this (click to zoom all pictures):

36732

And after some packing together looks like this:

top:
36733

underside:
36734

The wet looking stuff is just clear nail polish to act as an insulator on the exposed pins just in case.

And when all packed together and sealed with some electrical tape to keep the sockets firmly together looks like this:

36735

On Dave2's recommendation, I've been checking to see there are no short circuits between the pins/holes of the upper socket with each other (except for pins 24 and 21 which we've jumpered). There is one issue that has me puzzled, and prevents me from actually plugging this adaptor in yet:

Using continuity mode on my old analog multimeter (it has a continuity buzzer), there seems to be some continuity between pin 18 and pin 12 (GND). It is an attenuated continuity (the buzzer is not beeping at full strength - it's weak).

Furthermore, there is ONLY continuity when I put the red probe in pin 18 and the black probe in pin 12. Swapping the probes results in no buzz.

Pin 18 is connected to the output (pin 2) of an inverter on the 7404.

So, I grabbed a spare (full sized) 7404 off the shelf and touched the red probe to its pin 2, and black to its pin 7 (GND). Got the same attenuated buzzer sound. Swapping the probes resulted in no continuity.

I then set the multimeter to OHMs/resistance mode and could only measure a non-zero reading (no resistance) when I set it to x1K, when I could see a reading of about "18" on the meter (0.0018 ohms?).

Is this normal behaviour for a 7404?

I should also mention that I tried to detect the same continuity "leak" with my newer, digital multimeter, that has no buzzer. I set it to OHMs mode. I could not replicate the continuity reading with this multimeter.

I wonder if it has something to do with the fact that my old analog meter uses two AA 1.5V batteries to power its continuity buzzer, while the digital multimeter (which is newer) uses something less powerful. Maybe the 3V supplied by two AA batteries is just strong enough to cause such a "leak" to ground?

Does anyone know why the above is happening?

dave_m
March 4th, 2017, 02:25 PM
Does anyone know why the above is happening?

This is not a problem. The IC circuits have an impedance to ground. The probes in one direction may be forward biasing some part of the circuit and reading a lower impedance.

I think there is a minor problem with this mod. Pin 18 of the 2716/2516 EPROM used to be connected to address A11. This signal would turn off the EPROM when the address range is above $E800. Now that it is connected to the inverted '/NO ROM' which will be low state in the 6502 mode, it will enable the EPROM and it will step on the 6809 paging register similar to the way the original 2532 did. You will not be able to test the paged RAM blocks in 6502 mode. Perhaps not the end of the world. However in 6809 mode, all will be fine and inverted '/NO ROM' will be high and properly turn off the EPROM.

Ral-Clan
March 4th, 2017, 02:44 PM
I think there is a minor problem with this mod. Pin 18 of the 2716/2516 EPROM used to be connected to address A11.

Oh....darn!


it will enable the EPROM and it will step on the 6809 paging register

So are you saying that with this socket adapter I won't be able to use or switch banks of the extended 64K of RAM on the SuperPET board from within the 6502 mode? Or will it just mean I'll still be able to use the first (default on) bank of the extended RAM, but not change banks from 6502 mode?

Also, is there ever any actual danger of damage to ROM/RAM chips when two are competing for the same addresses and stomping over each other (as would be all the time while I had 6502 mode switched on)? I suspect not, but am just checking to be sure.

I also wanted to be able to use the serial port built into the SuperPET board from 6502 mode and CBM BASIC 4.0. I wonder if this address conflict will also cause trouble here:

http://mikenaberezny.com/hardware/superpet/serial-port/

The SuperPET has a built-in RS-232 serial port based on the 6551 ACIA. It is located at $EFF0 in memory and is accessible from both 6502 and 6809 mode.

Would your solution, dave_m, avoid this ROM/RAM conflict?

Dave2, any comments?

dave_m
March 4th, 2017, 04:17 PM
So are you saying that with this socket adapter I won't be able to use or switch banks of the extended 64K of RAM on the SuperPET board from within the 6502 mode? Or will it just mean I'll still be able to use the first (default on) bank of the extended RAM, but not change banks from 6502 mode?
I'm guessing the latter if that is what happened with the 2532.



Also, is there ever any actual danger of damage to ROM/RAM chips when two are competing for the same addresses and stomping over each other (as would be all the time while I had 6502 mode switched on)? I suspect not, but am just checking to be sure.
No issues as the upper $E800 range registers are only pulsed once in a while.


I also wanted to be able to use the serial port built into the SuperPET board from 6502 mode and CBM BASIC 4.0. I wonder if this address conflict will also cause trouble here

Yes, anything in that address range would be a problem.



Would your solution, dave_m, avoid this ROM/RAM conflict?


Yes my suggested mod is OK. You could fix the daver2 mod by yet another little mod. Isolate the 7425 NOR gate UE14-pin4 from the circuit board and jumper signal A11 to pin 4.When A11 goes high, it will turn off the EPROM. Actually Commodore should have used A11 there instead of the X8XX signal.

Ral-Clan
March 4th, 2017, 06:05 PM
Yes my suggested mod is OK. You could fix the daver2 mod by yet another little mod. Isolate the 7425 NOR gate UE14-pin4 from the circuit board and jumper signal A11 to pin 4.When A11 goes high, it will turn off the EPROM. Actually Commodore should have used A11 there instead of the X8XX signal.

At this point, Dave_m, I think I'm going to switch to your mod as the solution. I really want this SuperPET to work fully and completely as an original SuperPET, with no ROM/RAM space conflict issues...and that includes full access to the extended RAM and Serial Port from both 6502 and 6809 [typo correction] modes.

I know you say I can make modifications to the other ROMs allow Daver2's mod to work, but since I had chosen Daver2's EPROM adapter precisely because I would not have to make other modifications, it loses the advantages.

So from what I understand, your mod allows me to use EPROMS as an EDIT ROM, original Commodore EDIT ROMs, and will cause no ROM conflicts between the 6809 and 6502 modes. Win-win on all counts.

Unfortunately, as I only had the two 24 pin sockets, I am going to have to disassemble the Daver2 EPROM adapter in order to get them back to do your mod....a bit of wasted time, but oh well.

Boy....this has been a long....twisty path! I'm glad this was pointed out, though.

dave_m
March 4th, 2017, 06:31 PM
I know you say I can make modifications to the other ROMs allow Daver2's mod to work, but since I had chosen Daver2's EPROM adapter precisely because I would not have to make other modifications, it loses the advantages.



It's up to you, but it seems like you have 90% of a working daver2 mod done. The final jumper mod does not require the board to be removed as I think it can be done from the topside.

KC9UDX
March 4th, 2017, 06:36 PM
If you want it to be all original, you sure don't want a 6509 in it. ;)

Ral-Clan
March 4th, 2017, 06:40 PM
It's up to you, but it seems like you have 90% of a working daver2 mod done. The final jumper mod does not require the board to be removed as I think it can be done from the topside.

But if I did your supplementary mod to Daver2's mod, would the PET still function with an original Commodore produced EDIT ROM if one ever turned up, or would it now only function with Daver2's EDIT ROM socket adapter installed?

Ral-Clan
March 4th, 2017, 06:41 PM
If you want it to be all original, you sure don't want a 6509 in it. ;)

I see what you did there! Sorry about my typo. But at this point it is seeming like the 6809 does cause a few headaches!

dave_m
March 4th, 2017, 06:55 PM
But if I did your supplementary mod to Daver2's mod, would the PET still function with an original Commodore produced EDIT ROM if one ever turned up, or would it now only function with Daver2's EDIT ROM socket adapter installed?

It should work fine with a real ROM. Pin 21 tied to +5V is fine, Pin 18 tied to 'NO ROM' would not do the job alone, but also having A11 turning off the enable on pin 20 would fix things in the 6502 mode.