Not quite... The end of the ROM based PLA for the 64

Other Computers and Game Systems

Moderator: Moderators

bdk6
Vic 20 Amateur
Posts: 47
Joined: Fri Sep 29, 2017 7:40 pm
Website: http://www.smalltimeelectronics.com
Location: TN, USA
Occupation: Embedded engineer

Re: Not quite... The end of the ROM based PLA for the 64

Post by bdk6 »

The logo appears to be Toshiba: https://www.elnec.com/en/support/ic-log ... a+%28US%29
There are various sites on the web that help identify companies by the logo. The one above looks pretty good (I googled "IC manufacturer logos". Here is the base URL: https://www.elnec.com/en/support/ic-logos/
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Not quite... The end of the ROM based PLA for the 64

Post by eslapion »

banman wrote:I did find some links here on eBay,


https://www.ebay.com.au/itm/74HC279-Int ... SwnnlbmoDG

https://www.ebay.com.au/itm/74HC279-Int ... ctupt=true

https://www.ebay.com.au/itm/TC74HC279P- ... ctupt=true

These above eBay links if you look at the product picture carefully are all the same!
Even though the manufacturer in all the descriptions is different! :shock:
This is from the UK so my guess is this is reliable. He just put a generic DIP 16 picture since taking a photo for every individual item he sells would be too much trouble.


https://www.ebay.com.au/itm/5PCS-74HC27 ... ctupt=true


This is a Chinese shipper. Do you know what the manufacturer logo is?
Nope but this is a surface mount chip. Do you know how small an SOIC is ? You won't like this one.

Partly the reason I buy from the Chinese sites is that the Chinese Government has a policy of providing free shipping on certain items. This makes it cost effective for both the seller and the consumer.
I suggest you avoid China if you're looking for any ICs with 'out of the ordinary' functions or specifications.

Even an amateur can clearly see from the oscilloscope images you have provided what is happening to the different PLA chips under operation. :D

You say a bandwidth 40MHz range oscilloscope will be OK.

Also would an oscilloscope with a 1 to 2 GS/s sample rate be ok to get enough detail on the spikes generated by these PLA chips under test?
Usually, any sample rate 10 times higher than the bandwidth or more is OK. A scope with a 1GS/s and bandwidth of 40MHz has a sampling rate 25 times higher than the bandwidth so it's excellent. 2 GS/s is usually reserved to pretty expensive scopes.
Be normal.
bdk6
Vic 20 Amateur
Posts: 47
Joined: Fri Sep 29, 2017 7:40 pm
Website: http://www.smalltimeelectronics.com
Location: TN, USA
Occupation: Embedded engineer

Re: Not quite... The end of the ROM based PLA for the 64

Post by bdk6 »

I haven't followed this thread enough to know if this applies, but I would like to offer a word of warning/advice.
Oscilloscope sampling rates come in two types: real time and equivalent time.
In real time sampling, all the samples are gathered at one time.
In equivalent time sampling they are spaced out over several waveforms. The first time the wave goes through it might capture the first, 5th, 10th, etc, then the next time the second, 6th, 11th, etc, and the third pass it gets the third, 7th, 12th, etc.
For a constantly repeating waveform, such as a clock signal or radio wave or similar, equivalent time sampling is often fine. But for a single occurrence, or something that happens only at varying rates, like glitches, equivalent time sampling won't be able to accurately catch the single event.
Here is a decent introduction to some of the specs of scopes: http://literature.cdn.keysight.com/litw ... 8064EN.pdf
If you look closely at the scope traces eslapion provided of the glitches you are interested in, you should be able to get an idea of what kind of real time sample rate you need.
In my (somewhat limited) experience, 40 MHz scopes with 1GHz real time sampling rate are rather rare and fairly expensive. Often they will be listed as 1 GHz sampling rate, but it will be equivalent time. It is wise to read closely.
Anyway, sorry to interfere, but I hope this is helpful.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Not quite... The end of the ROM based PLA for the 64

Post by eslapion »

bdk6 wrote:Oscilloscope sampling rates come in two types: real time and equivalent time.
In real time sampling, all the samples are gathered at one time.
In equivalent time sampling they are spaced out over several waveforms. The first time the wave goes through it might capture the first, 5th, 10th, etc, then the next time the second, 6th, 11th, etc, and the third pass it gets the third, 7th, 12th, etc.
For a constantly repeating waveform, such as a clock signal or radio wave or similar, equivalent time sampling is often fine. But for a single occurrence, or something that happens only at varying rates, like glitches, equivalent time sampling won't be able to accurately catch the single event.
There is another type of capture you're forgetting which is beyond real time and that's average. The cumulative result of multiple real time sampling. In this you can either ask the oscilloscope to average the result of up to 512 samples or ask it to show you the peaks of these successive captures.

In the screen captures where you see 'run' in the top left corner of the screen, the TDS3014B is averaging the values of the 512 last series of sampling all performed in real time. This is more accurate than a 'one shot' real time sampling. You could say, it is the exact opposite of 'equivalent time' which is a form of undersampling.

In the screen captures where you see 'stop' in the top left corner, I was in search of the minimum value attainable so I set the trigger value to near zero volt, told the scope to sample only the very first occurrence of the voltage reaching the desired value then slowly raised the trigger voltage until a single real-time sampling was performed.
In my (somewhat limited) experience, 40 MHz scopes with 1GHz real time sampling rate are rather rare and fairly expensive. Often they will be listed as 1 GHz sampling rate, but it will be equivalent time. It is wise to read closely.
Anyway, sorry to interfere, but I hope this is helpful.
They are not. 40MHz bandwidth with 1GS/s is the exact specs of the antiquated TDS1000. They used to be thousands of dollars but you can get them for less than 300$ on eBay nowadays. The TDS1002 is 60MHz with 1GS/s and is about 50$ more.
Be normal.
User avatar
MCes
Vic 20 Afficionado
Posts: 458
Joined: Fri Jul 24, 2015 1:19 am
Location: Italy

Re: Not quite... The end of the ROM based PLA for the 64

Post by MCes »

eslapion wrote: My suggested fix:
(gif)
But even that can't really work because you still have the 7 other outputs which remain unfiltered.
This will be the last time that I come back on it:
My circuit wasn't understood...

1) Eprom make noise on output when 1 or more inputs change state
2) It's important that output will be stable during the cycles time
3) during the cycle times the /CAS signal change state: this will generate instability on eprom outputs
4) my circuit is not a filter: it prevent the noise creation during the cycle (on all outputs) by not feeding the /CAS signal to the eproms .
5) All other eprom inputs are connected: the /CASRAM_EPROM_OUT will be active only when a RAM access cycle will be recognized by eprom (eprom that represent the original equations)
6)The external gates (only during the desired cycles) will let pass the /CAS pulse for the right pulse-shape (as original PLA do)
Immagine pla es1.GIF
"Two things are infinite, the universe and human stupidity, and I am not yet completely sure about the universe." (Albert Einstein)
banman
Vic 20 Dabbler
Posts: 92
Joined: Mon Mar 11, 2019 10:59 pm
Location: Australia
Occupation: nothing

Re: Not quite... The end of the ROM based PLA for the 64

Post by banman »

Hi eslapion and bdk6


Thanks bdk6 for the info on the chip logos. Very much appreciated. I will book mark that site for future reference.

Toshiba are a good brand name.

I just saw you post on the oscilloscopes too. Thank you.

Your input is most valued bdk6. :-)

What is your favorite retro computer?



I had a look on your web site. Very good.

I liked the 10 commandments of electronics...Ha... looks like I broke most of them...LOL... :lol:

Actually the discussion I have with eslapion has been going on and off for quite some time.

If you have got the time go back to where I first come in (actually it's better to go to the very start of the thread). I have found the whole process fascinating and extremely educational.

He has been extremely patient with my lack of understanding..It must drive him to tears every time I ask some ridiculous question.. He is extremely knowledgeable in this field.

I was put on to him by Mindflare Retro after seeing a video on YouTube.

https://youtu.be/ofg33zk9uCA



Basically by chance (I was working on something totally different) I had got some OTP PROMS that worked very well as PLA's. I wanted to find out a bit of info on these chips.

In my own mind I know what these chips are really capable of.

I needed a way to empirically test them.

That is where eslapion stepped in. He had done all the hard core science years before. Unfortunately the components are no longer around.....

So very few people could reproduce his results.

That is until now...


I just need to find one more manufactured in a different country.







Thanks eslapion for pointing that little oversight on the size of this chip... oppps...

https://www.ebay.com.au/itm/5PCS-74HC27 ... ctupt=true


As luck would have it I did see this on Aliexpress.

https://www.aliexpress.com/item/3299313 ... 2e0eqgxKpH






I contacted littlediode_components and asked them to confirm if the 74HC279 (CMOS only variety) was an Original Equipment Manufacturer.

Also I said that I was building a very sensitive test circuit hence the need for quality components.

https://www.ebay.com.au/itm/74HC279-Int ... SwnnlbmoDG


I might see what they say. I only really need the 1 chip .....



Just waiting to get a reply back. If all is good I might get one and see how it goes in your test circuit.
bdk6
Vic 20 Amateur
Posts: 47
Joined: Fri Sep 29, 2017 7:40 pm
Website: http://www.smalltimeelectronics.com
Location: TN, USA
Occupation: Embedded engineer

Re: Not quite... The end of the ROM based PLA for the 64

Post by bdk6 »

banman wrote:
Actually the discussion I have with eslapion has been going on and off for quite some time.

If you have got the time go back to where I first come in (actually it's better to go to the very start of the thread). I have found the whole process fascinating and extremely educational.


.
Hi banman,
Thanks for the kind words. BTW, may favorite retro computer is the VIC :D
This is a very long thread and the actual subject (64 PLA) is of little interest to me. But it does have some very nice technical discussion, which is why I have been reading the latest updates. It seems you have a good understanding and pick up things very fast. The two of you are having a nice technical discussion. I will try to stay out of the way.
banman
Vic 20 Dabbler
Posts: 92
Joined: Mon Mar 11, 2019 10:59 pm
Location: Australia
Occupation: nothing

Re: Not quite... The end of the ROM based PLA for the 64

Post by banman »

Hi bdk6

Hey... The Vic is mine too..

Not happy when I had to donate it to the local op shop to clear some space in the house.. :evil:

I had a laminated sticker badge with the 2 prong 9V AC adapter.


You are more than welcome to join in the discussion...it's the only way we learn and go forward.
banman
Vic 20 Dabbler
Posts: 92
Joined: Mon Mar 11, 2019 10:59 pm
Location: Australia
Occupation: nothing

Re: Not quite... The end of the ROM based PLA for the 64

Post by banman »

Hi bdk6

If anything watch the video Mindflare Retro recorded.


https://youtu.be/ofg33zk9uCA

I found it very informative.. On PLA's that is...

What was you favorite VIC game?
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Not quite... The end of the ROM based PLA for the 64

Post by eslapion »

MCes wrote:
1) Eprom make noise on output when 1 or more inputs change state
2) It's important that output will be stable during the cycles time
3) during the cycle times the /CAS signal change state: this will generate instability on eprom outputs
4) my circuit is not a filter: it prevent the noise creation during the cycle (on all outputs) by not feeding the /CAS signal to the eproms .
5) All other eprom inputs are connected:
...
The problem is with #3. Inputs other than !CAS do change during a cycle because VA12 and VA13 are demultiplexed when the VIC-II holds the bus. I don't remember by heart but I know there are other inputs which can change in the middle of a cycle. Your circuit doesn't prevent the generating of glitches during a cycle and there could still be glitches at the transition point between each cycle when !AEC and BA will inevitably shift.

Also, by connecting the !CAS input of the EPROM to the ground, you prevent other terms from doing their job and the PLA cannot know when VA12 and VA13 are valid or to be ignored.

VA12 and VA13 are only valid during the later part of a cycle but they are mandatory for the terms of !CHAROM and that's why a faster character generator ROM IC is necessary on the C64. I don't know if you are familiar with the 'sparkle bug' which affected early C64 but that's where it comes from; at first, the C64 had the same type of ROMs as the VIC-20 and this caused problems. That's why older C64 boards have the character generator ROM from General Instruments; Commodore's own 2332 and 2364 ROMs used in PET and VIC-20s weren't fast enough.
Last edited by eslapion on Sun Jun 09, 2019 5:39 am, edited 3 times in total.
Be normal.
bdk6
Vic 20 Amateur
Posts: 47
Joined: Fri Sep 29, 2017 7:40 pm
Website: http://www.smalltimeelectronics.com
Location: TN, USA
Occupation: Embedded engineer

Re: Not quite... The end of the ROM based PLA for the 64

Post by bdk6 »

Hi banman,
Thanks for the link. An interesting video. I've never owned a 64 and don't currently intend to get one -- I have too much stuff and too many computers already. But I am always up for learning new stuff. That doesn't take up much space.
I will continue following this thread, but will mostly stay out of it. I have a personal policy to not interfere with someone else explaining something unless I have something I feel is important or useful to add -- or something funny :D
I was never much of a gamer and I never owned ANY games for the VIC. I found programming and building hardware much more entertaining, even as a teenager. I'm weird like that.
Anyway, please carry on the conversation. We'll learn together :)
banman
Vic 20 Dabbler
Posts: 92
Joined: Mon Mar 11, 2019 10:59 pm
Location: Australia
Occupation: nothing

Re: Not quite... The end of the ROM based PLA for the 64

Post by banman »

Hi bdk6,
bdk6 wrote: I have too much stuff and too many computers already. But I am always up for learning new stuff. That doesn't take up much space.
I couldn't agree more with you there.

What were the more daring things you did with the VIC?





The test circuit that eslapion has designed is quite cunning. The more we discuss this topic the greater my understanding of it all becomes.

Here is my hatchet job take on it the eslapion's test circuit (please correct me if I'm wrong)....

We are purely interested in the hardware characteristics of an EPROM based PLA solution.


The circuit tests for instabilities in voltage output on the EPROM based PLA solution.

The EPROMS internal workings are different to that of the original Commodore Factory PLA, which is unfortunately no longer produced.

These EPROM based devices voltage drop to 0V (Binary Zero) when there's a change on their inputs. The original Commodore Factory PLA did not. Actually from eslapions oscilloscope's images they do only a little bit.

This is where the problem lays is that the computer accepts the EPROMS voltages drop to 0V (Binary Zero) as information, which it is not- it's just garbage data. Hence you get a strangely functioning C64.




The 74LS279 chip operates at C64 TTL logic voltage levels.

That is to say Binary Zero is 1.3 and 1.5 volts and Binary one is 2.0 and 4.9 volts.(please correct me if I am wrong and I think I am).



(To be honest I always thought computers were finite machines Binary 0=0V and Binary 1=5V. There is a lot of fuzzy stuff happening in there!)



When an incoming signal (let us say Binary Zero -around 1.3 and 1.5 volts) coming from say !ROML OR !ROMH signal lines (these are straight off the PLA chip) measured on the C64 game cartridge port connector.



On C64 start up these lines become active briefly as the C64 checks for a game cartridge or such.

If there is a dip to 0V Binary Zero as is the case with EPROM based PLA's.


The 74LS279 chip trips the SET-RESET LATCH section which lights a lamp signalling that there indeed has been a Binary Zero detected (1.3v to 1.5v again please correct me).

Remember now the C64 was never supposed to have an EPROM based solution because of this.


If we were to use a the 74HC279 chip now which operates at C64 CMOS logic voltage levels in eslapion's test circuit we get a higher voltage threshold for a Binary Zero triggering.

That is to say Binary Zero is 2 volts and Binary one is from 2V up to 6V. (please correct me if I am wrong I think I am here as well).

This makes for a more sensitive test circuit.

All of this of course can been viewed on an oscilloscope as eslapion has kindly provided.


However eslapion's test circuit is a very valid means of testing a GO / NO GO scheme if an oscilloscope is not available. Such as in my case..



It is a very cheap, simple and reliable way to test in my opinion.

IMG_20.JPG


There is one chip that eslapion has that does not display the 0 Voltage drop Binary Zero when a signal is applied to the inputs of an EPROM based PLA...


That is an original OEM ST brand M27C512-90B6 (discontinued)...


I have a knockoff (fake) ST brand M27C512-90B6 chip that appaears to pass eslapion's test circuit with the 74LS279 chip installed..

I want to try my chip with the more sensitive 74HC279 chip.

Now I can not confirm that this chip is in any way related to eslapion's original OEM ST brand M27C512-90B6..



I do have a suspicion though....



However this chip is in plentiful supply.


I encourage other people to repeat this test for themselves. :D
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Not quite... The end of the ROM based PLA for the 64

Post by eslapion »

banman wrote:These EPROM based devices voltage drop to 0V (Binary Zero) when there's a change on their inputs.
Most don't go all the way to 0 volts but you can safely say most perfectly new 27C512 still in production today do drop some or all their outputs low 'enough' to be considered a logic 0 when a shift on inputs occur. This is especially true for digital designs using 74HC logic chips powered at 5V since the limit is 2.5V but a 'safer' limit would be 3.2V.

With a logic threshold of 1.3 to 1.5V, 74LS logic chips are less sensitive to these glitches but still potentially affected.
The original Commodore Factory PLA did not. Actually from eslapion's oscilloscope images they do only a little bit.
They never reach the unsafe zone.
That is to say Binary Zero is 1.3 and 1.5 volts and Binary one is 2.0 and 4.9 volts.(please correct me if I am wrong and I think I am).
Generally speaking... https://www.allaboutcircuits.com/textbo ... ge-levels/
(To be honest I always thought computers were finite machines Binary 0=0V and Binary 1=5V. There is a lot of fuzzy stuff happening in there!)
A very common misconception. Digital electronics is really analog components operating in 'saturation mode'. There is always electrical noise everywhere. There has to be some sort of filtering.

On C64 start up these lines become active briefly as the C64 checks for a game cartridge or such.
Then it's normal that you see values below 1.3V but this lasts only about 2 seconds. After that, all should be logic 1 all the time if you leave the C64 idle, don't load or run any software.
If there is a dip to 0V Binary Zero as is the case with EPROM based PLA's. The 74LS279 chip trips the SET-RESET LATCH section which lights a lamp signalling that there indeed has been a Binary Zero detected (1.3v to 1.5v again please correct me).
Really anything below 1.3V, not just 0V.
Remember now the C64 was never supposed to have an EPROM based solution because of this.
Can't necessarily say that. The C64 was supposed to have a PLA which has some voltage and response speed characteristics but that never specifically excluded PROMs or EPROMs. It just so happens the vast majority (not all) of PROMs and EPROMs will not meet these characteristics because they drop their outputs on input transitions, something virtually all combinational logic chips don't do.

Some logic chips can do it too and when they do, it's called a static hazard.
If we were to use a 74HC279 chip now which operates at C64 CMOS logic voltage levels in eslapion's test circuit we get a higher voltage threshold for a Binary Zero triggering.

That is to say Binary Zero is 2 volts and Binary one is from 2V up to 6V. (please correct me if I am wrong I think I am here as well).
Anything below Vcc/2 is now considered a logic zero. In the C64, Vcc=5V ergo Vcc/2=2.5 volts.
This makes for a more sensitive test circuit.

All of this of course can been viewed on an oscilloscope as eslapion has kindly provided.

However eslapion's test circuit is a very valid means of testing a GO / NO GO scheme if an oscilloscope is not available. Such as in my case..

It is a very cheap, simple and reliable way to test in my opinion.
Don't we all like simple and cheap!
Tester circuit I initially posted on Lemon64 in 2015 and popularized at the WoC 2017.
Tester circuit I initially posted on Lemon64 in 2015 and popularized at the WoC 2017.
PLA_tester_LS279.gif (20.73 KiB) Viewed 3042 times
I want to try my chip with the more sensitive 74HC279 chip.

Now I can not confirm that this chip is in any way related to eslapion's original OEM ST brand M27C512-90B6..

I do have a suspicion though....

However this chip is in plentiful supply.

I encourage other people to repeat this test for themselves. :D
I do know for a fact the ST M27C512-90B6 is absolutely not the only 64kx8 memory chip with the adequate properties to act as a C64 PLA. A few years ago, I received an e-mail about some flash memory chip doing it correctly.

Back between 2008 and 2011, the ST PROM was both cheap and easily available yet for some reason, a few very well known people did everything they could to discredit it. Some were willing to throw insults and personal attack. Heck I was even banned from Lemon64 for defending what I know to be true or false about PLAs.
Be normal.
banman
Vic 20 Dabbler
Posts: 92
Joined: Mon Mar 11, 2019 10:59 pm
Location: Australia
Occupation: nothing

Re: Not quite... The end of the ROM based PLA for the 64

Post by banman »

Hi eslapion,


Thank you for the corrections in my explanations and additional information. Much appreciated. :D


Thanks for posting a better looking circuit diagram of your test circuit.


eslapion wrote:I do know for a fact the ST M27C512-90B6 is absolutely not the only 64kx8 memory chip with the adequate properties to act as a C64 PLA. A few years ago, I received an e-mail about some flash memory chip doing it correctly.

I agree. I personally think there must be other suitable PLA substitute candidates out there.

I will be looking very carefully from now on that I have a way to test thanks to you. :D



I found this knockoff (fake) ST M27C512-90B6 that we are discussing by chance. I was actually working on something totally different.






Nothing Beats Luck as they say! 8)
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Not quite... The end of the ROM based PLA for the 64

Post by eslapion »

banman wrote:I found this knockoff (fake) ST M27C512-90B6 that we are discussing by chance. I was actually working on something totally different.
Can I ask what is this "something totally different" ?
Thanks for posting a better looking circuit diagram of your test circuit.
No problem. I noticed a lot of people were using captured frames from the YouTube video instead of the actual image I posted 4 years ago so here it is.
Be normal.
Post Reply