The Dos and Don'ts of using an EPROM as PLA in a C64.

Disk drives, Monitors, SuperCPU etc.
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

Hi eslapion,


Yes, he's very entertaining. I get the a real sense he's talking to me.
There's a whole string of video tutorials which are well worth watching. He covers many topics we have discussed which is nice.
Search YouTube for "Bil Herd" or "Bil Herd's hackaday originals"


Tell me a little more about the GandALF chip. Where can that used?
Is there a replacement pla for the c128 and the short board C64c? I assume that they will be totally different to the discussion here in this thread about the long board C64 PLA.


User avatar
eslapion
Active Member
Active Member
Posts: 1215
Joined: Mon Jul 20, 2015 10:11 am
Location: Canada
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by eslapion »

banman wrote: Wed Oct 28, 2020 6:59 am Tell me a little more about the GandALF chip. Where can that used?
GandALF (Gate and Array Logic for Floppy) is a replacement for Custom Commodore IC 325572-01 found in all VIC-1541 (those with medium sized boards) and beige 1541 drives. It's the only component no longer in production or without a modern equivalent found in these disk drives.

It is in my sales area on the forum and listed on eBay.
Is there a replacement pla for the c128 and the short board C64c? I assume that they will be totally different to the discussion here in this thread about the long board C64 PLA.
If only I could have the logic equations hidden in that chip...
Wealth, like happiness, is never attained directly. It comes as a by-product of providing a useful service. -Harland D. Sanders
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

I was checking some stuff out on eslapion's great little circuit for testing out low cost E/PROM IC's as a substitute for the Programmable Logic Array (PLA for short) on a C64. It does a similar job as the Super Zaxxon cartridge.




I did some research into what a voltage divider is and what it does. OK, so electronics isn't my day job! Ha! :lol:



https://learn.sparkfun.com/tutorials/vo ... viders/all


Here are some calculators I used to help me double check the output voltage I required

https://ohmslawcalculator.com/voltage-d ... calculator

https://www.allaboutcircuits.com/tools/ ... alculator/






I added a voltage divider to one of the unused latches. The result is that I can check the trigger voltage of any 74LS279 latching IC.

Untitled 1 PLA_tester_LS279   modified by me.jpg
IMG_20201218_185450.jpg
IMG_20210424_074129.jpg
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

I have a collection of several different original manufacturer 74LS279 latching IC's.

I was interested that every 74LS279 latching IC chip I tested has different voltage level triggering characteristics to each other.

Very interestingly I noticed while checking the triggering voltage of 2 original chips with what I believe are the same batch number. A very small voltage discrepancy between the two can be seen. Maybe someone can confirm or deny this. I checked this several times making sure to keep the test rig unchanged across all the IC's under test. It is very small, a 1 graduation on the multimeter from what I can see.
IMG_20210128_165906.jpg
IMG_20210128_170039.jpg
IMG_20210128_170133.jpg

I do realize and only after taking these observations that I had made a big mistake in my testing methodology. I failed to take into account that an analogue multimeter will load down a circuit under test. I only discovered this after checking the results I was getting and comparing my resistor values to the online voltage dividers (see above voltage divider links) as well as on the oscilloscope. I think my analog multimeter consumes about 20mV. I came to this value after measuring the triggering levels on the oscilloscope with probes set to x10 and then with only the analog multimeter. I am not sure how much the oscilloscope loads down the circuit, I suspect it does. Maybe the multimeter consumes greater that 20mV.



Only after discovering my error I found this youtube video describing my problem..Doh!

Dave Jones does a good explanation of what was happening to me (around 18 minutes into his video)









Also I noted, by having the voltage divider adjustable and tied to ROML! (or ROMH!) one can make the changes to what voltage the 74LS279 triggers at.
This allows the user to set a trigger to non TTL trigger voltages.
This is, I feel of great advantage. One can see at any point a voltage glitch, which could indicate an issue with a EPROM based Programmable Logic Array (PLA for short).

As an illustrating example, I noticed that certain EPROM based PLA's glitched. However on the oscilloscope the voltage drop wasn't as low as I might have expected.
I would often observe unpredictable operating behavior on a C64 with a suspect EPROM based PLA installed. Mainly screen artifacts that were not part of the normal operation of the C64.
That is to say the voltage drop would not go to (trigger) .8V TTL input gate level (.5V TTL output gate level). Maybe my oscilloscope wasn't quick enough at picking up these very fast glitches (transitions).

https://www.allaboutcircuits.com/textbo ... ge-levels/

Has an interesting statement quoted from the above website.

"If a voltage signal ranging between 0.8 volts and 2 volts were to be sent into the input of a TTL gate, there would be no certain response from the gate. Such a signal would be considered uncertain, and no logic gate manufacturer would guarantee how their gate circuit would interpret such a signal."







It is interesting to note that one 74LS279 latch datasheet I viewed mentioned a response time of approximately 35nS of the chip. I looked up the specs of my aging oscilloscope and the fastest sweep time achieveable is 5nS. I don't know if these timing differences would affect my observations.

Would a 27'c'512 E/EPROM be of the CMOS type (I beleive "c" denotes CMOS type)? If so would this introduce different logic level voltage thesholds to be accounted for? I seem to observe a large amount of activiy between 3.5V and 1.5V on the oscilloscope when testing E/PROM based PLA's. Again maybe my oscilloscope isn't up to the challenge.
It just seems from my rudamentry observations that when an E/PROM based PLA falls below say 3.5V I know that it's going to perform badly in most C64's. There is of course one common C64 board that is very reliable even with the dodgy WINBOND W27c512 EEPROM, which is not a suitable PLA replacement.
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

popular CMOS TTL level charts.gif
popular CMOS TTL level charts.gif (4.96 KiB) Viewed 2001 times
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

Here's some more readings from different 74ls279 latching IC's
Attachments
IMG_20210128_170742.jpg
IMG_20210128_171022.jpg
IMG_20210128_165330.jpg
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

Some more.....
Attachments
IMG_20210128_163441.jpg
IMG_20210128_164034.jpg
IMG_20210128_164348.jpg
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

Here is a Chinese knock-off (fake). The printing on the chip is very hard read . When I cup my hands over the circuit, not physically touching any part of the circuit the knock-off 74LS279 latching IC will trigger all by itself.
It is quite unusual behaviour.
Attachments
IMG_20210128_164711.jpg
User avatar
eslapion
Active Member
Active Member
Posts: 1215
Joined: Mon Jul 20, 2015 10:11 am
Location: Canada
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by eslapion »

I think my analog multimeter consumes about 20mV.
An impedance load draws CURRENT, not voltage.
I failed to take into account that an analogue multimeter will load down a circuit under test.
I have an old guy pretty much identical to yours. The impedance load is in excess of 1 MegaOhms !! Not exactly something that will cause any measurable difference.
Also I noted, by having the voltage divider adjustable and tied to ROML! (or ROMH!) one can make the changes to what voltage the 74LS279 triggers at.
This allows the user to set a trigger to non TTL trigger voltages.
Your schematic shows a circuit where the required voltage to trigger an event (set or reset) would be higher. I have no clue how this would be useful.

Keep in mind all 74LSxx circuits have an equivalent pull-up resistor on all inputs of about 10kOhms and this makes your circuit equivalent to a Millman's theorem setup with 3 resistors. Predicting its behavior is rather difficult.
... I noticed while checking the triggering voltage of 2 original chips with what I believe are the same batch number. A very small voltage discrepancy between the two can be seen.
All TTL chips have a threshold logic level between 1.3V and 1.5V. That's a 200mV range.

In order to make sense of what you're playing with you have to know Kirchhoff's voltage and current laws.
https://www.electronics-tutorials.ws/dc ... dcp_4.html
Wealth, like happiness, is never attained directly. It comes as a by-product of providing a useful service. -Harland D. Sanders
banman
Member
Member
Posts: 419
Joined: Sat Jun 15, 2019 12:21 am
Contact:

Re: The Dos and Don'ts of using an EPROM as PLA in a C64.

Post by banman »

Hi eslapion,

Thank you for the valuable feedback. Much appreciated!


Thank you for the link to Kirchhoff's voltage and current laws. lots of reading there to keep me busy....

I think my analog multimeter consumes about 20mV.
eslapion wrote: Mon Jul 12, 2021 10:38 pm
An impedance load draws CURRENT, not voltage.



Thank you for the clarification of impedance load drawing current and not voltage. I think the multimeter I have is a Micronta 18 range. It is old, but it's easy for me to operate.



Also I noted, by having the voltage divider adjustable and tied to ROML! (or ROMH!) one can make the changes to what voltage the 74LS279 triggers at.
This allows the user to set a trigger to non TTL trigger voltages.
eslapion wrote: Mon Jul 12, 2021 10:38 pm
Your schematic shows a circuit where the required voltage to trigger an event (set or reset) would be higher. I have no clue how this would be useful.



I am happy you mentioned this. That information is what I was hoping for, thanks. I know that what I have set out to do is sort of there, so to speak.


My use of this particular voltage divider arrangement is a bit dodgy. I used a 1.8K Ohm resistor from 2S! (pin 6 of the 74LS279 IC) to mitigate a short to on pin 6 when ROMH! goes low.
Maybe this is not necessary. This value selection is what I had on hand and seemed to be appropriate. I may have wrongly thought that adding a bleed resistor of this value from Pin 6 to Ground might save it from damage.
Should I change the values of this resistor to something more appropriate?




Would a just a variable trimpot similar to this be a suitable replacement replacing the arrangement I currently have?

https://au.rs-online.com/web/p/trimmer- ... lsrc=aw.ds




511ac8f5ce395f5846000000 3 pin variable resistor Dia.png
511ac8f5ce395f5846000000 3 pin variable resistor Dia.png (50.6 KiB) Viewed 1978 times


My strategy is to use a known voltage to calibrate the voltage divider so that the 74LS279 triggers at a nominated voltage.

Let's say 3.5V on the 5K Ohm trimpot input (the one that leads to ROMH!).

This would be done out of the C64 mainboard without the EPROM based PLA substitute inserted.


The circuit is then placed in the C64 mainboard and a EPROM based PLA to be tested inserted in the socket. If the test PLA outputs a voltage, 3.5V or below on ROMH! line the 74LS279 will trigger.
I wanted a way of controlling the trigger voltage. I suspect that from general observations of the C64 connected to a monitor screen and on my aging oscilloscope, some EPROM based PLA substitutes will produce undesirable screen artifacts (which is a sign that there is a problem with that particular EPROM based PLA substitute) when there is a voltage drop on ROMH! (or ROML!) around 3.5V (this value changes with different substitute EPROM based PLA's). I also notice that the voltage drop (glitch) sometimes will not achieve 1.3 - 1.5V.

There is this zone between say 1.3v and 3.5V where unpredictable things happen with the C64. I want to target this area.


Conceivably I could employ this circuit in a C64 to test EPROM based PLA substitutes. I would say leave the machine run for a determined period of time unattended. A triggering event if present would show up.

What I try to do now is when I make a game cartridge up I'll first test the EPROM out as a PLA substitute. If it looks interesting I'll put it aside for later for further testing/observations.

I actually found an original Fairchild 27C512 EPROM a while back that was very interesting. I think on another thread you had discussed some things that absolutely matched what I was observing. However my testing skills were not that good nor are they now. So I put it aside for a later date.
I need to find the part and the article reference.




I know we have discussed this. Please correct me if I've recalled this wrong. I just can't locate the reference to it...


'If there is an input on an EPROM then all the outputs will go low momentarily regardless - this is the root cause of glitches on EPROM based PLA substitutes"


I have a suspicion that some EPROM based PLA substitutes I test the transition (maybe 10ns?) is too fast for my oscilloscope to pick up reliably (it could be compounded by operator error as well). I thought that having a second complementary test piece would help me out.
Post Reply Previous topicNext topic

Who is online

Users browsing this forum: No registered users and 16 guests