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

Other Computers and Game Systems

Moderator: Moderators

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 actually did see some M27C512-70XF1 UV erasable EPROM's for sale and avoided them because I wasn't sure on the 70XF1. Silly me... :oops:
I do vaguely remember buying one or 2 ceramic DIP ST M27C512-90F6 because I suspected they were the same IC as the plastic DIP '-90B6' but in fact they weren't and caused just as much glitching as Atmel's PROMs.

So going for the ceramic DIP version in the hope of getting the same filtering effect is a dead end.

I did notice the ST M27C256B-90B6 has the same filtering effect as it's C512 brother but of course a 256kbit chip has only half the capacity required to carry all the truth table of the C64 PLA. So I took 2 of them, piggybacked them one on top of the other and 'constructed' a working PLA sub by adding a 74HCT14 to act as a slow down for CASRAM and to select which one of the 2 to be active depending on the inputs.

The result was a bastardized ugly duckling that looked like 2 PROMs stacked with a 14 DIP on top but it actually worked flawlessly and I named it 'sPLAtt'.

I still have more than 50 of them (M27C256B) in stock...so I could potentially make 25 sPLAtts out of them.
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,

eslapion wrote: I do vaguely remember buying one or 2 ceramic DIP ST M27C512-90F6 because I suspected they were the same IC as the plastic DIP '-90B6' but in fact they weren't and caused just as much glitching as Atmel's PROMs.

So going for the ceramic DIP version in the hope of getting the same filtering effect is a dead end.


I am looking at pictures of chips from suppliers that look similar to the Datasheet you posted. As well as ones that are similar in appearance to the ones that I bought which seem to pass your test circuit.

My mode of operation at the moment is get the chips that will suit my cartridge needs and if they happen to look like they might be a likely candidate as well it goes into my shopping basket.





eslapion wrote: I did notice the ST M27C256B-90B6 has the same filtering effect as it's C512 brother but of course a 256kbit chip has only half the capacity required to carry all the truth table of the C64 PLA. So I took 2 of them, piggybacked them one on top of the other and 'constructed' a working PLA sub by adding a 74HCT14 to act as a slow down for CASRAM and to select which one of the 2 to be active depending on the inputs.

The result was a bastardized ugly duckling that looked like 2 PROMs stacked with a 14 DIP on top but it actually worked flawlessly and I named it 'sPLAtt'.

I still have more than 50 of them (M27C256B) in stock...so I could potentially make 25 sPLAtts out of them.

WOW! That's a very lateral approach. I like it.

Hey.... if it works well who cares!! 8) .
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:


Hey.... if it works well who cares!! 8) .
https://www.itstactical.com/intellicom/ ... perations/
See #6 :lol:
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,

LOL! Right on.....

:lol:
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 »

:lol:

#113 says "All or any of the above combined." then what do you get if you combine #6 with #112 ? :?

I really like #28 :wink:
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 »

#113 says "All or any of the above combined." then what do you get if you combine #6 with #112 ? :?
If you can only fine one solution and it is stupid, you have no choice. If it works, it wasn't stupid and you're a here. If it doesn't work, people will say nice things at your funeral.

#28 is one best learned BEFORE you encounter it!
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 »

Going back to the initial subject... I know Ray Carlsen has a small stock of genuine ST M27C512-90B6 and he can program them to act as PLA for a bunch of different things. This specific PROM can also act as PLA for the C16 and Plus/4.
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 and bdk6
eslapion wrote:I really like #28
Yes.. :D

bdk6 wrote:If you can only fine one solution and it is stupid, you have no choice. If it works, it wasn't stupid and you're a here. If it doesn't work, people will say nice things at your funeral.

#28 is one best learned BEFORE you encounter it!

Agreed.... :D

I always like the saying "Nothing Beats Luck" NBL!

eslapion wrote:Going back to the initial subject... I know Ray Carlsen has a small stock of genuine ST M27C512-90B6 and he can program them to act as PLA for a bunch of different things. This specific PROM can also act as PLA for the C16 and Plus/4.
I actualy have a broken C16. Not too sure what's up with it.

If I can get it going I could try that.


I have found 2 more sellers on Alibaba that have this fake ST M27C512-90B6 chip that pass eslapion's test circuit in stock.

From what I am being told this chip(the working fake ST M27C512-90B6) is quite plentiful (I get wildly differing numbers depending on who I talk to and the time of day).

I suspect that these sellers are like virtual stall holders in a virtual market place bound by some Alibaba contract and they get their shared supplies from several major manufacturers/where-houses. Maybe I am wrong. :roll:

IMG_20190518_102555 (1).JPG


*Seller #1

Ren Ke zhuang

Look for this name and business when on https://www.alibaba.com (be sure to fill out the RFQ box on the site with ST M27C512-90B6. I think RFQ is short for Request for Quotation which helps you find the right suppliers)

or

Shenzhen Hongke Communication Ltd

https://huongke.en.alibaba.com/?spm=a27 ... 3e5fy77k0J

This website won't show the product in question. However try to upload the above image saying you request this part.


contact details (no idea what this means)

my whatsapp +86 18923960473 skype :live:43611173



I have purchased a set of fake ST M27C512-90B1 manufactured in China chips from this seller and are waiting on receipt of goods for testing.

This seller seems good to talk to and knows that others who visit this forum may visit their store.


*Seller #2



Lydia from Bestway Trading Co.,Ltd.



Look for this name and business when on https://www.alibaba.com (be sure to fill out the RFQ box on the site with ST M27C512-90B6. I think RFQ is short for Request for Quotation which helps you find the right suppliers)


Or

Shenzhen Bestway Trading Co., Ltd.

https://bestway-ic.en.alibaba.com/?spm= ... 3e5f1QyUlp


Again this website won't show the product in question. However try to upload the above image saying you request this part.


contact details (again no idea what this means)

My skype:lydia@bestway-ic.com
Whatsapp:008613794456400


This seller seems good to talk to and knows that others who visit this forum may visit their store.

I have not purchased anything from this seller yet.





Alibaba.com is similar to Aliexpress.com in its funds processing.

These sellers typically like to sell minimums of 20 pieces plus a delivery charge. The chip prices will vary and seem to be reasonably priced.

DHL is approx $25USD

China Post is approx $10USD (expect a month for it to arrive)

I recommend using the buyer's guide I posted earlier for all transactions.
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 »

the problem of the EEPROM is that all outputs are defined stable until the exact moment of changing one or more input,
all outputs will be stable another time only after the access time of the EPROM.

The PLA sense the computer state and decide, half cycle by half cycle, which chip has to occupy the bus:
during the stable state of the cycle the output HAS TO BE stable, and the EPROM-PLA may be a solution, but unfortunally....
The selection of the dynamic ram is done by masking the /CAS signal, signal that will change inside the time where the cycle and the others PLA outputs has to be stable: all outputs will be instable into machin-cycle and the eprom will generate noise on all outputs..... DISASTER!

the datasheet of all eprom (also the ST M27C512-90B6 ) are clear: the outputs levels will be not guaranteed for Tacc nS, so if a stock of them will work is not guaranteed that the next stock will work...., or if it will work with different Vcc (inside normal tollerance), different temperature, age.....
it's a gamble!

an hybrid solution can be done using an eprom for decide which chip has to be selected, and some logical gates that manipulate the /cas signal:
PLA.GIF
PLA.GIF (11.37 KiB) Viewed 3612 times
The /CAS signal will not make noise unto the eprom output (it isn't connected to the eprom...),
the /CASRAM fall will be delayed by 2 port-delay (address multiplexer have to do it's job in this time..).
A port can be used for speed up the slew rate (or to do a "shmitt trigger") for the /EXROM input, usefull in case of "Epyx FastLoad" cartridge
http://ar.c64.org/wiki/File:Epyx_FastLo ... _large.png

EDIT:
Commodore engineers indicate as min 35ns the /CASRAM delay, so I think that a better solution is using fast gates (less nS of tolerance into port-delay) and putting a deley r-c network between pins 11, 5 that can fix the desired total delay of 35..40nS (not more or the board that have r-c network will delay too much the signal..).
I suggest the 74ACT02, but 74HCT02 can be good...
They are not slow and can drive more output current than a 74LS02, it can be important when the motherboard has the r-c network inside...
"Two things are infinite, the universe and human stupidity, and I am not yet completely sure about the universe." (Albert Einstein)
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:The PLA sense the computer state and decide, half cycle by half cycle, which chip has to occupy the bus:
during the stable state of the cycle the output HAS TO BE stable, and the EPROM-PLA may be a solution, but unfortunally....
The selection of the dynamic ram is done by masking the /CAS signal, signal that will change inside the time where the cycle and the others PLA outputs has to be stable: all outputs will be instable into machin-cycle and the eprom will generate noise on all outputs..... DISASTER!
Checking this stability is the purpose of the 74LS279 circuit which banman has indicated (created by me). See: http://sleepingelephant.com/ipw-web/bul ... 3&start=95

Any instability causes the 74LS74 used to select the bank on the Super Zaxxon cartridge to go nuts as illustrated in this video: https://www.youtube.com/watch?v=ofg33zk9uCA
the datasheet of all eprom (also the ST M27C512-90B6 ) are clear: the outputs levels will be not guaranteed for Tacc nS, so if a stock of them will work is not guaranteed that the next stock will work...., or if it will work with different Vcc (inside normal tollerance), different temperature, age.....
it's a gamble!
It was a gamble. I purchased around 150 units of the genuine IC from mouser between 2008 and 2011. The gamble worked every time because although the slew rate of the outputs is clearly undocumented, it was exactly the same on ALL of them. Since I have a good oscilloscope, nowadays, I can capture the outputs as proof. Back in 2012, Thomas Giesel did it for all different known versions of genuine Commodore PLA used in the C64 along with a few other substitutes including the genuine ST M27C512-90B6.
See page 21--23 of this PDF: http://www.zimmers.net/anonftp/pub/cbm/ ... sected.pdf

However, you can clearly say, any clone you get of that IC anywhere today cannot be guaranteed to have the same properties. It's a gamble.
an hybrid solution can be done using an eprom for decide which chip has to be selected, and some logical gates that manipulate the /cas signal:
PLA.GIF
The /CAS signal will not make noise unto the eprom output (it isn't connected to the eprom...),
the /CASRAM fall will be delayed by 2 port-delay (address multiplexer have to do it's job in this time..).
A port can be used for speed up the slew rate (or to do a "shmitt trigger") for the /EXROM input, usefull in case of "Epyx FastLoad" cartridge
http://ar.c64.org/wiki/File:Epyx_FastLo ... _large.png

EDIT:
Commodore engineers indicate as min 35ns the /CASRAM delay, so I think that a better solution is using fast gates (less nS of tolerance into port-delay) and putting a deley r-c network between pins 11, 5 that can fix the desired total delay of 35..40nS (not more or the board that have r-c network will delay too much the signal..).
I suggest the 74ACT02, but 74HCT02 can be good...
They are not slow and can drive more output current than a 74LS02, it can be important when the motherboard has the r-c network inside...
Nope.

1. Pretty much all 5V (E)PROMs already have the required amount of hysteresis on inputs so R1, R2 and U?A are NOT required. FastLoad was never a problem with any solutions using an (E)PROM I have ever seen.

2. Bypassing the !CAS signal from the VIC to logic ICs WILL provide the necessary delay for compatibility BUT it will cause a serious potential problem as the logic conditions for !CASRAM to activate suddenly become different because logic conditions DO NOT cause !CASRAM to systematically activate when !CAS is signaled by the VICII. You're going to get false activations. One example of this is when the CPU accesses the kernal or BASIC ROM. The VICII doesn't know the CPU is not going to access DRAM so it does it's usual !RAS then !CAS signaling but the PLA MUST NOT reflect this on !CASRAM and it knows this because it also decodes A12, A13, A14 and A15.

The correct product terms for !CASRAM is (as documented by Thomas Giesel):

Code: Select all

The DRAM of the C64 must be disabled whenever another device is selected. Therefore
all product terms above appear in the #CASRAM term. Exceptions are the unused
terms and #GRW, which is not a chip select signal. However, in Ultimax mode most
of the DRAM is hidden permanently to emulate the 4 KiByte contained in an original
Commodore MAX Machine. To hide the remaining DRAM, the terms p24 to p28 are
used.

p24 <= not a15 and not a14 and a12 and
n_exrom and not n_game ;

p25 <= not a15 and not a14 and a13 and
n_exrom and not n_game ;

p26 <= not a15 and a14 and
n_exrom and not n_game ;

p27 <= a15 and not a14 and a13 and
n_exrom and not n_game ;

p28 <= a15 and a14 and not a13 and not a12 and
n_exrom and not n_game ;
Clearly your pair of logic gates do not reflect that.

3. Even if the problem above could be fixed (by having logic chips replicate ALL the truth table for !CASRAM outside of the PROM), all 8 outputs of an EPROM will generate glitches if its slew rate is too high to filter them out. You would have to use logic chips to replace all 8 outputs, not only !CASRAM. Proof of this comes from the Super Zaxxon cartridge which is rendered unusable when glitches occur on !ROML. The 74LS279 circuit checks for glitches on both !ROMH and !ROML and this is the easiest way to check for problems with the PLA because both of these lines must stay inactive after the power-up routine. The power-up routine itself turns the LED ON so you know if your circuit is good.

So clearly, you didn't understand the problem here. All 8 outputs must be free of glitches, not just !CASRAM and the way you have 'filtered' !CASRAM causes more problems than it solves.

The real solution: connect all 8 (E)PROM outputs (D0-D7) to logic circuit 74HC245 or 74HCT245 and use small capacitors of about 100 pF bypassed to the ground to act as filters between the (E)PROM and the HC(T)245. All 8 outputs will be filterd and all of them will be delayed by about 25ns.

Sidenote: I have no idea why you would want to change the slew rate IN ???
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,


The last 2 posts there was talk of "Fastload".

Is that Epyx Fastload cartridge?

If so, I actually have an original Epyx Fastload cartridge.

I found it to work well with all iterations of PLA that I was testing.

That is to say Commodore factory PLA, Fake ST M27C512-90B6 PLA, WInbond W27C512C PLA and The Ultimate PLA replacemrnt.



No issues in any respect....
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:Hi eslapion,


The last 2 posts there was talk of "Fastload".

Is that Epyx Fastload cartridge?

If so, I actually have an original Epyx Fastload cartridge.

I found it to work well with all iterations of PLA that I was testing.

That is to say Commodore factory PLA, Fake ST M27C512-90B6 PLA, WInbond W27C512C PLA and The Ultimate PLA replacemrnt.

No issues in any respect....
Yeah, FastLoad uses an ordinary capacitor discharging as a form of delay counter. This is, of course, an analog signal so ICs must have some sort of noise filter or they won't be able to know exactly at which point the switch from 0 to 1 or inversely will occur. On digital chips, RAM, ROM or logic, this is called hysteresis. Vintage programmable logic ICs of the faster kind as used on Amiga and early PCs have a problem with that. That's why the SuperPLA freaks out when using FastLoad.

Honestly, I don't know of anything else that won't work well with FastLoad as just about every (E)PROM that is 5V compatible ever made has hysteresis on all their inputs. They are also designed to have their logic threshold set to 1.3V just like TTL logic ICs so they are perfectly signal compatible with old 74LS series ICs as used in PET/C64/VIC-20/1541 - all Commodore 8 bit computers and drives.

The XC9536XL used on PLAnkton is designed to operate at 3.0 to 3.6V but it too has hysteresis on all inputs since it is 5V input tolerant.

As such, you should never replace 74LS series of chips with 74HC because these have a logic threshold of Vcc/2 (they work from 2V up to 6V) so when powered with 5V, the logic threshold jumps to 2.5V while 74LS chips are only guaranteed to signal up to 2.4V creating potential incompatibilities. To replace old 74LS logic chips with modern CMOS ones, you should always use 74HCT as the extra T means 'TTL compatible'.
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


Ahh... hysteresis. I am begining to grasp this concept...

This reminded me of something I had done further back in the discussion on testing the fake ST M27C512-B6 PLA substitue (I do have video of this).
banman wrote:Hi eslapion,




No worries. I quite understand.


Just by the way, I just ran a test of a C64 assy board No 250407 Rev B on the M26C512 90b for 100 mins. It all seems well no lights have come on within this time.

If you like I can run an extended run time (greater than 100min) say a few days on the 250407 board (or any other).

Its cold here now and there are heat sinks installed on the main chips. There was not any on the 100 min run.

What do you think??
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 MCes

Thank you very much for sharing your thoughts on this matter.....

Apologies for not replying earlier. The time difference being what it is and taking in all this information and processing it. I am not a very smart person.

It is good to debate worthwhile topics such as this. :D

Here is what I know so far in my understanding on the mater.
eslapion wrote:Checking this stability is the purpose of the 74LS279 circuit which banman has indicated (created by me). See: viewtopic.php?f=5&t=5533&start=95

Any instability causes the 74LS74 used to select the bank on the Super Zaxxon cartridge to go nuts as illustrated in this video: https://www.youtube.com/watch?v=ofg33zk9uCA


Your suggestion of additional circuity to enhance the slew rate is very interesting. I hope this is the intended meaning. Please correct me if I am off the track on this.
MCes wrote:an hybrid solution can be done using an eprom for decide which chip has to be selected, and some logical gates that manipulate the /cas signal:


PLA.GIF (11.37 KiB) Viewed 45 times

The /CAS signal will not make noise unto the eprom output (it isn't connected to the eprom...),
the /CASRAM fall will be delayed by 2 port-delay (address multiplexer have to do it's job in this time..).
A port can be used for speed up the slew rate (or to do a "shmitt trigger") for the /EXROM input, usefull in case of "Epyx FastLoad" cartridge
http://ar.c64.org/wiki/File:Epyx_FastLo ... _large.png



If it is not too much bother would it be possible for you to post a PCB Gerber file or PCB schematic regarding this said circuit you suggest.



Failing that an accurate graph paper design so I can construct a vero board prototype version of your circuit . What I mean is a circuit diagram all ready to layout on a vero board. I think I can manage that in a pinch. :D

Anything else is out of my modest skill set.


I would like very much to test your hypothesis out! :D







I would be most happy to get it constructed and fully test and discuss it here with out any bias.

Also please be aware that the chip I am testing is in fact a knockoff (fake) ST M27C512-90B6 OTP PROM chip. It cannot be assumed that this chip is in
any way related to eslapion's original ST M27C512-90B6.

Of that I am 100% certain.


Even the Chinese sellers tell me this.


............A little background on why I am here........

My main aim was originally and still is developing my soldering skills. Just a hobby mind you.

That is why I started making the small 8Kb game cartridges designed by Sukko Perra (which are very good by the way).


Also there were I think from memory a few YouTube videos of people burning PLA's with the same burner I have.

I just happen to be developing my EPROM skills (I know half of nothing here as well - notice a pattern developing :lol: ) and burned a PLA chip mainly because it was way way easier to do this than concatenating 64kb (8kb x 8kb EEPROM correct me if I am wrong here) of 8kb games and puting it on the chip.



This was in fact the Winbond W27C512C EEPROM (electrically erasable). It worked!! :shock: :D

Well.......sort of... actually to be honest not very well. :P

All sorts of artifacts would randomly appear on the screen. Not very appealing...




That didn't worry me any I was so chuffed at actually successfully following someone else's instructions.....

Then on another delivery I got these so called ST M27C512-90B6 branded chips. Some where in my wanderings I recalled that ST M27C512-90B6 name had came up for discussion.

I had no idea that these were in fact OTP. Maybe I wouldn't tried it if I knew I couldn't reuse these.

To my surprise I discovered I could burn these as well! My confidence with the EPROM burner was improving. 8)

I gave these a go in the C64. I was initially surprised how much better the fake ST M27C512-90B6 PROMS appeared to perform over the Winbond EEPROMS.

Some more stumbling (bumbling) around in the dark on the internet......

By luck I came across some helpful sites and people such as Mindflare Retro and eslapion. :D

.........And that is why my discussion is here...
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:Hi eslapion


Ahh... hysteresis. I am begining to grasp this concept...
Well, it's a form of noise filter. https://en.wikipedia.org/wiki/Hysteresi ... ol_systems
I suggest you read the definition for control systems before reading the parts about electronic circuits.
If you like I can run an extended run time (greater than 100min) say a few days on the 250407 board (or any other).
I am a bit surprised you want to engage in the long run exercice of checking so many possible PROM PLAs and in such detail. After all, a single C64 can only use so many PLAs.

At that point, perhaps it's better if you get a used oscilloscope and check what comes out of !ROML and !ROMH and see if a specific unit is on the very edge of causing problems or if there is so little noise it will never trigger the detector.
Be normal.
Post Reply