UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Reply
 
Thread Tools
Old 10th May 2018, 3:06 pm   #1
Slothie
Tetrode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 59
Default Tesla MH74S571 programming.

As part of my quest to make a MK14 replica, I have encountered the problem of the PROMS used by Science of Cambridge, the 74S571. It appears that they were made by a number of manufacturers, and as proms being read they are drop-in compatible. However actually programming them is a different matter, each manufacturer using slightly different technology and hence have different programming algorithms, voltages and timings.

At the moment, there are a tiny number of the National Semiconductor DM74S571 available, which all the schematics for prom programmers I have found on the internet support; the most common one available for reasonable amounts seems to be the Czech made Tesla MH74S571 which is a very different beast. Looking for a data sheet that detailed programming information yielded only a page in Czech (attached); not a language I am overly familiar with, but was sufficient to confirm that a programmer for the NS DM74S571 would definitely not do the job.

My knowledge of Czech being as it is, it was not immediately apparent what the algorithm should be. However, by using an online OCR page [1] and Google Translate with some manual correction of the OCR and a lot of wild guesses, I have managed to translate the important details (attached too!)

While discussing this issue SiriusHardware pointed me to a page on Matthieu Benoit's website [2] which had code for a Hilo ALL03 programmer that was known to work for the Tesla chips; despite being commented in German (Which I can sort of make sense of) it seemed to conform to the translated datasheet in all details except the programming voltage is set to 21v rather than the 10.5v the data sheet says. Code in the program that is commented out appears to show that it was tried at 10.5v and changed to 21v. Its possible that the figure in the data sheet is a typo, because as I mentioned the code is known to work.

Anyway, I thought I'd deposit the results of my digging because it may be of interest to others; later in the year I'm going to try to design a programmer for these chips, and will publish the design once it works. Hopefully before supplies of these chips dry up!


[1] https://www.onlineocr.net/
[2] http://matthieu.benoit.free.fr/all03/source.htm#new_pcb
Attached Thumbnails
Click image for larger version

Name:	143 (1).jpg
Views:	50
Size:	46.5 KB
ID:	162547  
Attached Files
File Type: pdf MH74S571_programming.pdf (56.6 KB, 36 views)
Slothie is offline   Reply With Quote
Old 10th May 2018, 10:44 pm   #2
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

There's one other item worth adding - the German -language datasheet which the author of the ALL03 Tesla 'hack' appears to have based his work on. Note that on this datasheet the programming voltage -is- stated to be 21V.
Attached Thumbnails
Click image for larger version

Name:	programmierung_prom_tesla.jpg
Views:	33
Size:	76.7 KB
ID:	162601  
SiriusHardware is offline   Reply With Quote
Old 10th May 2018, 11:29 pm   #3
Slothie
Tetrode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 59
Default Re: Tesla MH74S571 programming.

Thanks Sirius, I did see that but the OCR/Google couldn't make sense of it so I kind of put it to one side (perhaps its too low-res) but it is indicative that maybe the 10.5v was a typo as I would assume a Czech made part would be translated to German some time after the datasheet in Czech was published. I've seen mistakes in datasheets before.
Slothie is offline   Reply With Quote
Old 11th May 2018, 12:54 am   #4
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

I took a stab at typing the upper block of German text in the German datasheet into Google translate by hand - not easy as I have no idea how to get German accents like 'umlaut' or the unique double-S character on my British keyboard.

This is how it seems to go, apologies to any German readers if any of this is hilariously wrong.

Quote:
-Programming for all Bipolar PROMs.
-Manufacturer sets all memory cells to 'H'.
-Connect power to Vcc and ground.
-Apply the address of the word to be programmed to the address bus, allow the address to stabilise.
-Selection of the circuit is by deactivating with CS, H at CS1 or CS2.
-Apply programming pulse (+ 21V) to the corresponding output; leave the others open or take them H. Only one bit at a time may be programmed.
In other words, all bits in all locations have a default state of high, the aim of the programming process is to set any bits which need to be set low, low.

The chip select part sounds a bit strange but suggests the chip should be un- selected during the programming process by taking either of the CS pins high.

If (for a given word) you want a bit to be low, then (with the address pins stable) you apply a 21V programming pulse to the corresponding data bit pin, leaving the others open or pulling them high. Repeat for any other bits required to be low within that address, then move to the next address. You can't apply +21V to several data pins at once, each bit has to be done individually.
SiriusHardware is offline   Reply With Quote
Old 11th May 2018, 1:13 am   #5
Slothie
Tetrode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 59
Default Re: Tesla MH74S571 programming.

Well that's interesting because the MH74S571 doesn't have a CS2 pin, and looking at the code, it only programs bits that need to be '1' by pulling them low during the programming cycle... Implying a unprogrammed chip should be all '0's! Bits not being programmed are pulled hi to 5v. The chip select is pulled low for 4mS to program the bit. The 21v programming voltage is applied to Vcc (Ucc?) pin.

Sounds like a completely different chip!
Slothie is offline   Reply With Quote
Old 11th May 2018, 1:34 am   #6
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

Yes, it's worrying that the document itself makes no explicit reference to the MH74S571 or even to Tesla. It just refers to 'All Bipolar PROMs' but omits to say from which manufacturer. Only the document filename contains the word 'Tesla'. The missing CS2 (clearly referred to in the German text) makes it seem certain that this document does not specifically describe our chip.

Maybe one of our German - speaking forum members would be kind enough to cast a critical eye over my attempted translation?
SiriusHardware is offline   Reply With Quote
Old 11th May 2018, 1:49 am   #7
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

Looking at your own promblower.pdf (derived from the S.O.C blower?) from the other thread, I see that VPP is indeed applied to a particular (VPP) pin, but it is also applicable to the data pins of the IC by turning on any one of the associated 3904 transistors when the 'master' VPP control darlington is turned on.

Of course that circuit is to program the NS DM74S571, not the Tesla MH version.
SiriusHardware is offline   Reply With Quote
Old 11th May 2018, 2:33 am   #8
Slothie
Tetrode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 59
Default Re: Tesla MH74S571 programming.

That design is indeed the SOC programmer grafted onto an arduino! When I drew that up I was assuming the Tesla chip was the same as the NS one. If the programming voltage is 21v the 4000 series logic will have a very short, eventful life!

I will have to rethink it, probably using discrete transistors or mosfets to do the voltage level conversions, and while I'm at it I might as well do all the timings in the microcontroller rather than relying on RC circuits. This will make it simpler and allow the timings to be easily tuned.
Slothie is offline   Reply With Quote
Old 11th May 2018, 12:30 pm   #9
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

In applications like this where one false move will ruin a one-shot chip I don't think it's a bad idea to have some hardware to limit things like pulse lengths to a safe maximum. The main thing is to consider what happens to the pins of the controlling uP during the reset / initialisation phase, and whether that will result in conflicting or unwanted signals like VPP being unintentionally enabled during that time.

I suppose the usual first line of defence is to have hold-off resistors which hold these things in a known state while the outputs of the uP are tri-state / undefined, but you often see schemes where a hardware gate is used between the controlling uP and the control circuit so that the uP has to output a definite pattern of enables - something which can't happen accidentally - in order to make something activate only when required.
SiriusHardware is offline   Reply With Quote
Old 11th May 2018, 12:59 pm   #10
Slothie
Tetrode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 59
Default Re: Tesla MH74S571 programming.

When I was 17 I built an interface for my PET to a paper tape punch (basically a 9 channel solenoid driver which coincidentally I unearthed in mums loft recently), and in the first version of the hardware I discovered that if you didnt have the software running before powering up the interface then it would spew out tape at an alarming rate! I changed the interface so that a logic '1' switched off the solenoid, since the user port defaulted to inputs with a weak pull-up, so I have learnt this lesson!

I think that I'd do something similar, so I have to drive a pin to 0v to switch on the programming voltage, with some kind of power on delay so that the Vcc pin of the prom cannot be driven until the reset process has completed. In any case I'd be checking all the waveform outputs carefully on the oscilloscope before an actual prom gets anywhere near it! Somewhere I have one of those cheap Chinese USB logic analysers which I may dig out from wherever I hid it, which might be useful to record waveforms during power up and programming cycles etc.
Slothie is offline   Reply With Quote
Old 11th May 2018, 4:13 pm   #11
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

I've just been looking through the National memory data books, in this case 1994, for generic clues about PROM programming. At the end of the section dealing with the DM74S571, etc, there is this fantastically clear description (attached) of how to program the Nat Semi PROMs. They could hardly have made it any clearer.

It bears some similarity to the procedure I tried to translate from the German data sheet for the (unknown?) chip, the main difference being, apparently, that the unknown device starts with its data bits set to 'H', presumably meaning 'High'.

I wish I had taken the opportunity to read your Telsa devices while I had them (I could have read them as though they were DM devices, no problem) and then we would at least have known whether we were starting from all bits high, or all bits low. When they come back they will (hopefully) be programmed so we still won't know...
Attached Thumbnails
Click image for larger version

Name:	NationalPromProgramming.jpg
Views:	42
Size:	125.6 KB
ID:	162620  

Last edited by SiriusHardware; 11th May 2018 at 4:25 pm.
SiriusHardware is offline   Reply With Quote
Old 11th May 2018, 6:54 pm   #12
Slothie
Tetrode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 59
Default Re: Tesla MH74S571 programming.

I've found a someone in Germany who is selling the Tesla chips 12.80 for 10 including postage, so I'm going to buy a set for my experiments. It will be easy to breadboard one an read it.
Slothie is offline   Reply With Quote
Old 12th May 2018, 10:44 pm   #13
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

About that... you have a PM.
SiriusHardware is offline   Reply With Quote
Old 10th Jul 2018, 6:59 am   #14
georgedb
Triode
 
Join Date: Jul 2018
Location: Amsterdam, The Netherlands
Posts: 10
Default Re: Tesla MH74S571 programming.

Interesting thread, as I'm facing the same challenges... No news after May 12th, or is communication continues via PM? And the "About that" refers to the seller on Ebay selling the Tesla PROM's, right? Is everything fine, as I just bought a set too...

For programming the 74S571 a challenge might also be that a byte was split in 2 nibbles, one for each 74S571 in the MK14. I was actually thinking of creating something with an Arduino Nano, like I build a temporary 2708 programmer. But knowing the programming voltage and way to program it, is of course crucial ;-)
georgedb is offline   Reply With Quote
Old 10th Jul 2018, 4:17 pm   #15
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

I have the files for the two PROMs in raw binary file form, if that would help to start you off. Each file has data in the lower 4 bits of each of the 512 8-bit wide bytes of the file with the upper 4 bits in each byte = 0.

These are PROM images for the improved / later OS which presents the '0000 00' prompt on reset rather than the original OS with the '---- --' prompt.

For slothie's PROMs we went down a complex, I have to say probably unrepeatable route which called in favours and actually there were problems with several devices refusing to programme so we are still seeking a dedicated programmer for these even if it happens to be built around an arduino or similar microprocessor PCB. The stumbling block is, as you suggested, lack of decent information about the algorithm for programming the Tesla devices.

If you just want them programmed you might want to try contacting the Czech gentleman (Martin Lukasec) who is selling, among other things, programmed Tesla PROMs so he clearly does have the means to program them. You might be able to negotiate a price from him to program yours.

I have a programmer which can program several alternatives which are still available, but all tend to be more expensive than the Tesla devices. These are:

DM74S571 (National Semiconductor) - these were the original ones used in the MK14.
Philips / Signetics 82S131 and 82S131A
AMD 27S13

I'm happy to program any of these devices for anyone who needs them done.

Unfortunately my programmers are currently unable to program the Tesla devices, but one of them allows for the creation of 'custom' devices not natively supported by the programmer so it could potentiallly program the Tesla devices.... given reliable information about them.
SiriusHardware is offline   Reply With Quote
Old 11th Jul 2018, 9:24 am   #16
georgedb
Triode
 
Join Date: Jul 2018
Location: Amsterdam, The Netherlands
Posts: 10
Default Re: Tesla MH74S571 programming.

I found that same C-code and I guess the majority of the info. I bought the PCB's from Martin and I know he has his own programmer. It shouldn't be too dificult, but having the exact specs is of course crucial. I sent a mail to some service department @Tesla,let's see what happens. From what I have found I expect it to be 10.5V, but then there might be more requirements as the amount of current to burn that fuse and the duration for the current. I guess, but I'm far from an expert, it should be simpler here than burning an EPROM, as it is a different technology.

Polished up some of the datasheets I found, some have more pages than others, but I keep all stuff. Happy to add these to this thread.

I only have the complete binaries (old and new), from Martin, but I was already thinking of how to split over two 74S571's, so it would be handy to have your split binaries. Maybe you can add these to this thread so everyone can access that info?
georgedb is offline   Reply With Quote
Old 11th Jul 2018, 12:49 pm   #17
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

Please find attached a .zip of the two PROM files for the MK14 'New version' OS. As they are only 512 bytes each I tried to attach them as-were but found that .bin (raw binary) is not one of the file formats allowed as an attachment. The file names include the corresponding IC numbers of the PROMs on my original issue II MK14, from which the files were read. I've never seen an issue V MK14 up close so I don't know if these IC numbers (IC2 and IC3) still hold true for that version.

It seems to be a 'widely known fact' that the MH74S571 cannot simply be programmed as though it is a Nat Semi DM74S571, but if the programming voltage really is 10.5 rather than 21V then that is one way in which it would actually be similar to, rather than different to, the DM74S571.

I did not even try to program slothie's MH devices in case I damaged them but instead passed them on to a third party who had offered to try to program them. In the event even that person had problems - one PROM programmed OK first time, but two subsequent efforts to program the second PROM led to two verification failures, at which point the remaining blank device was passed on to a third party who I think managed to program it, or another that they already had. (It ended up being quite an international effort).

My thought is that the 21V programming voltage may have been arrived at as an alternative (if so, rather risky) way to blow the fusible links in the MH device - that is, instead of making the programming pulses longer as may have been the preferred option, the solution adopted may have been to apply more voltage for the same length of time. This is purely speculation on my part, but the writer of the code obviously chose to use 10.5V originally for a reason, then apparently modified it because that seemed to be what was required to make it work.

Tesla's decision to give their device such a similar number to the DM device is puzzling and certainly misleading when traditionally all '74' series devices which have the same device number but a different manufacturer prefix are normally interchangeable, so it immediately suggests that the intention, if not the outcome, was for the MH device to be a fully compatible substitute for the DM74S571.

It would also have been in Tesla's interests for that to be the case, as there were plenty of device programmers already around which could handle the DM74S571.

Edit: One thing I can say is that the Tesla devices default to all bits=0. I specifically asked the person I sent slothie's PROMs to try reading them first before programming, to find out whether that was the case.
Attached Files
File Type: zip MK14_NewOS.zip (729 Bytes, 9 views)

Last edited by SiriusHardware; 11th Jul 2018 at 1:06 pm.
SiriusHardware is offline   Reply With Quote
Old 11th Jul 2018, 2:54 pm   #18
georgedb
Triode
 
Join Date: Jul 2018
Location: Amsterdam, The Netherlands
Posts: 10
Default Re: Tesla MH74S571 programming.

Thanks for the binaries. I own an issue V and they are still called IC2 and IC3 ;-) See the pictures.
Standards and former Eastern Europe... it might have been a bad combination ;-) Indeed I think that all 74's should be equal, but I have heard earlier of slight differences. Back in the day, standards must have been terrible looking at all variant of the 2708 EPROMs.

For the programming specs... I'll see what I can dig up? Did anyone ask Martin? I wanted to attach a revamped version of the datasheet parts I had found, but I'm not able to upload it (although it is only 2.2Mb or something). Revamped them a bit so at least all pages have the same size.

Another interesting thing is the use of the 74L86 which cannot be replaced with a 74LS86 as these are not pin compatible. Has nothing to do with different manufacturers, but still quite confusing.

That is an interesting remark, about all connections defaulting to 0 rather than 1... That would suggest a completely different setup/technology was used.

We will get there (but it might take some time)...
Attached Thumbnails
Click image for larger version

Name:	20180630_124336.jpg
Views:	29
Size:	88.0 KB
ID:	165898   Click image for larger version

Name:	20180630_124328.jpg
Views:	29
Size:	99.1 KB
ID:	165899  
georgedb is offline   Reply With Quote
Old 11th Jul 2018, 3:37 pm   #19
TonyDuell
Nonode
 
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 2,584
Default Re: Tesla MH74S571 programming.

My experience with bipolar PROMs is that ICs from different manufacturers are totally compatible in _read_ mode but have totally different programming specifications (some of which were documented in the appropriate data sheets, some of which were not).

In other words if you are a manufacturer making a run of MK14s (or whatever), it doesn't matter which manufactuer's PROMs you get provided you can program them or get them programmed. They will all work the same in the final board.

The same seems to apply to bipolar PALs too. A 16L8 (say) from any manufacturer will work the same way in the final circuit if appropriately programmed. But the programming and verification methods are manufacturer-specific, you can't use the MMI ones for a National Semiconductor device (say)
TonyDuell is offline   Reply With Quote
Old 11th Jul 2018, 4:23 pm   #20
SiriusHardware
Nonode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 2,002
Default Re: Tesla MH74S571 programming.

Agreed, I've already mentioned a couple of non Tesla / Non Nat-Semi alternatives in a previous post in this thread. They also have their own distinct programming regimes but are compatible with the others in read mode.

My objection was to Tesla giving their device almost the same device number as the original National Semiconductor device thereby strongly suggesting (intentionally or otherwise) that their device is a direct electrical / electronic substitute for the DM (Nat Semi) device, but then not adopting the same programming regime.

I realise there's no rule which says they had to, but it would have been a sensible thing to do. The difficulty (and the reason for this thread) is that there does not seem to be a single good source for information about the programming regime for the Tesla devices.

Last edited by SiriusHardware; 11th Jul 2018 at 4:29 pm.
SiriusHardware is offline   Reply With Quote
Reply

Thread Tools



All times are GMT +1. The time now is 4:07 pm.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Copyright ©2002 - 2018, Paul Stenning.