UK Vintage Radio Repair and Restoration Discussion Forum

UK Vintage Radio Repair and Restoration Discussion Forum (
-   Vintage Computers (
-   -   A Simple Programmer for TESLA "MH74S-" bipolar PROMs (

circuitryboy 3rd Oct 2019 7:34 am

A Simple Programmer for TESLA "MH74S-" bipolar PROMs
1 Attachment(s)
I'm preparing a Post for above topic.
I have PDF datasheets that exceed your system limits.
Can't see a way to shrink 'em.
Windows 10 Adobe lets me print as .oxps which is invalid.
Any suggestion, please?

Looks like a limit of 5 attachments?
Might have to do consecutive posts?


Station X 4th Oct 2019 10:13 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
IC Data Sheets are freely available on the internet. A link would suffice.

If you want to post more than five images you'll need to include them in subsequent posts.

SiriusHardware 4th Oct 2019 5:11 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs

Originally Posted by Station X (Post 1181020)
IC Data Sheets are freely available on the internet.

Not in this case, Graham, these devices were produced in the Czech republic, possibly cold war era, and the only decent(?) datasheets about them were written in the language of that country.

They are read-mode clones of the National Semiconductor DM74S571 for which programmers and programming information are widely available, but the programming algorithm / regime for the Czech devices is quite different and there are only several currently produced high end programmers (circa 800-1000) which directly support these very old and exotic devices.

If you have a quick glance through this now closed thread about this subject'll see that gathering sufficient information to make a programmer for these proved to be quite a formidable task, so if circuitryboy has managed to make a breakthrough on this, I (and quite a few others here) would be very glad if he would showcase his programmer project in more detail.

GrahamN 4th Oct 2019 5:57 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
This website can reduce the file size quite dramatically with very little loss of definition.

A test with the PDF on the first post bought the file size down from 1.52Mb to 176kb!

circuitryboy 5th Oct 2019 6:16 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
4 Attachment(s)
A TESLA version of the SoC PROM Programmer

I built the circuit of SoC PROM blower way back and I have a Much Modified MK14 to drive it.
And TESLA document shows the same 10V5 Vccp that the "DM" chip requires.
So amending the SoC setup/code to suit the cryptic Czech specs (see Notes) seemed a quick route to the required programmer.
Employing KISS, I tinkered a prototype together (as Morbius would say).
Here's the result. And the code. Note that my MK14 is 4MHz (makes timings easy).

The schematic's by hand so a few shortcuts (we all know how NPN looks).
Compare with the SoC ancestor.
C - is 74C906
I - inverter. (Me = 4001)
N - 1N4001
O - Si diode. (OA200)
T - Tristate buffer. (74LS125)
- - 6V2 and 12V Zeners.
X - BC237 or similar. (BC184)
Y - 2N3053
Z - NPN to sink min 300mA. (BFY50) TESLA datum is 150mA from programming o/p.

PB5 just switches 5v Vcc, PB6 10v Vccp, and PB7 controls Output Enable.
C1 in Vccp circuit increased to 'slow' the slew.
DLY instructions allow fine tuning of the pulse widths. See annotation for 'zap' timings.
With my (minimally) highest 12V Zener the PROM wouldn't program. Needed Si diode. This raised Vccp at pin16 from
~9V6 to ~9V9 (accurate?) and new contents 'stuck'. (Or one could have used a 13V Zener - if one had had one.)

I've only amended the PROM Editor. I didn't try varying the 1mS program pulse.
I didn't worry about the Vccp duty cycle, even between bits in one location. The code 'fires' all four sequentially, even if '0'.
And the manual interventions to select location/content mean the chip is powered down almost permanently.
1mS program pulse means the recommended duty cycle should be observed if a version of the SoC rapid block-copy 'Promblower' is attempted.

a) It's the Czech that's cryptic! That programming protocol looked familiar.
Yes. It's almost IDENTICAL (even to the 'X' and 'Y'!) to that given for early (c.1975) Texas Instruments PROMS.
(The duration of TI programming pulse X is not given exactly.)
Can't be coincidence. Extreme Soviet reverse-engineering?
See below, then the TESLA data make more sense:
b) If there was a TI SN74S571N I have yet to see the datasheet. And I haven't met any TI 512W x 4B .

SiriusHardware 5th Oct 2019 3:43 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
circuitryboy, thank you for sharing this, especially the 'light bulb' revelation that the Texas PROMS may use a near identical algorithm to the Texas bipolar PROM devices (or possibly the other way around), even though there does not seem to have been an exact 'SN' variant of the 571 device.

The approach of using an MK14 to be the controller is satisfyingly hardcore, but there is one minor snag with that - a lot of people wanting to program these PROMs are trying to get their first MK14 replica (or maybe a non-working original MK14) working, so this creates a catch-22 situation where their PROM programmer can't be used until they have a set of programmed MK14 OS PROMs with which to get the MK14 running.

One way around this paradox would be to program an EPROM with the MK14 OS and make a temporary EPROM-to-two-Proms adaptor with the pins from the EPROM routed to the appropriate IC2 and IC3 socket pins - you could get the MK14 up and running like that and then use it to program a pair of Tesla MK14 OS PROMs for itself. However, this assumes ownership of an EPROM programmer, which not everyone has.

As an alternative, I would also be interested to see your hardware approach married to a cheap, widely available microcontroller like an Arduino. I'm not currently in a position to try this out myself as I don't have any of the Tesla PROMs but I am sure that at least two forum members here do have quite a few of these ICs between them, so hopefully they'll give it a test drive.

I'd be interested to know what sort of programming pass / fail success rate you've had so far, I have read comments to the effect that these MH devices can be a bit temperamental and un-cooperative.

circuitryboy 5th Oct 2019 7:47 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
I knew from previous threads that somebody has analysed the programming sequence for DM74S571 and 'grafted' an SoC
programmer to an Arduino.
It was my intention that supplying proven circuit/timings/voltages would enable the same technique to be applied for "MH" chips.

SiriusHardware 6th Oct 2019 10:48 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
I'm away from base and I don't have all my usual MK14 related material to hand, but if you are referring to the Arduino / SOC programmer hybrid posted up by 'Slothie' in the now closed thread I mentioned above, I believe he drew that before we realised that there were notable differences between the DM and MH devices.

If developed further, i,e, if the Arduino firmware to support that project had ever been written, it would have worked as a standalone DM74S571 programmer, but not as an MH programmer, so Slothie didn't take it any further.

I think the problems we had were

-Uncertainty about the programming voltage and programming pulse timings, although I think that was eventually thrashed out in that closed thread

-An apparent difference in the physical / electrical programming scheme which suggested that the SOC hardware circuit could not be used, unmodified, to program a Tesla MH74S571 even if the programming voltage was correct and the software timings were changed.

That's why your project is of such great interest, and I'm grateful for the time you have taken to put it together and post it here.

SiriusHardware 10th Oct 2019 7:48 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
The forum engine downsizes uploaded images quite aggressively and the circuit diagram for the hardware (in post #5) has ended up quite small and low-rez.

If possible, could you please post that diagram again, but this time put it into a .zip file and attach that, so that it can be unzipped and viewed in its original glory - it's very neat, by the way, it looks as though it has been drawn with hand stencils or with a computer drawing package designed to produce a result which looks like it has.

I think I have a tube of 74C906 ICs rescued from near-oblivion at work, if anyone wants to have a shot at putting one of these together.

circuitryboy 11th Oct 2019 7:43 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
1 Attachment(s)
Here's the full-size circuit (20mins with a drafting pen).
There was an (obvious?) omission from the posting: "PROM address lines are same as parent SoC circuit."
I'll sketch out the programming voltage timings used in the SC/MP code and post soon.
I have now coded a TESLA version of the SoC Promblower but not yet tested it.

SiriusHardware 11th Oct 2019 11:47 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Thanks circuitryboy, appreciated.

I can confirm that I do have some 74C906 and also some 74HCT125, if these would be OK as alternatives to the LS125s.

I was looking around for the transistors and while all the ones in your sketch are available I was wondering if the two NPN Darlington pairs which switch VCC / VPP and the four data bit 'sinks' could all be substituted with a single type of medium power Darlington, such as the BD679? (T0126, 80V, 4A, Hfe 750).

SiriusHardware 11th Oct 2019 6:25 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Just thinking a bit more about this, actually - I happen to know that your MK14 is more maxed-out and has more RAM than most but the lack of a 'straight' run of 512 unused bytes of memory on the standard 'fully expanded' MK14 normally means you have to do each PROM 256 nibbles at a time, so it takes a total of four runs to program a set of two PROMs.

For code which is likely to be programmed into PROMs more than once it might be useful to pre-pack the 512 nibbles of the code to be programmed into the 256 bytes of 'extra RAM', various schemes are possible but you could for example pack them like this:


Ram byte        Contains
0                nibble 0 and nibble 1
1                nibble 2 and nibble 3
2                nibble 4 and nibble 5
3                nibble 6 and nibble 7

...and so on, all the way up to RAM byte 255 / nibble 511. Nowadays we can just write a bit of code on something else to trawl all 512 nibbles from an 8-bit wide hex file and write them out to a 'packed' file ready to be loaded into the 256-byte extra RAM, a luxury we didn't have back in the day when the MK14 was the only 'computer' we had.

It would need a slightly adapted version of the PROM blower code, but pre-packing the code to be blown in this way would allow the 512 locations of each PROM to be blown in one run, halving the chance of mucking something up / loading the wrong section of code / programming the lower half of the PROM twice, etc.

If it is a copy of the MK14's OS that is to be blown into the PROMs then the 'standard' version of the PROM blower code could be altered to read all 512 low nibbles of the OS or all 512 high nibbles of the OS and program them into a PROM in a single run.

circuitryboy 11th Oct 2019 8:48 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Yes, my MK14 was upgraded early on into a more useful device. With the Monitor in EPROM and simple extra address decoding,
the PCB layout allowed the PROM positions to be converted to 2114s. And similar conversion for a pair of the 2111s.

The TESLA programmer was based on the SoC circuit and I only altered the minimum to suit the other PROM.
Now the programming protocol is proven (fortunately quite similar to National SemiC's, compared with the multiple-voltages
requirements of other pin-compatibles) the circuit can be refined/replaced. (I have changed the 74LS125s to a DM81LS97.)

Your suggestion of compressing the input data could be useful approach for someone working with a 'standard' MK14.
The TESLA Promblower code (I have yet to try) has 2byte length for source-data so duplicating the Monitor in one pass will
be one of the tests. Code includes a 3mS cooldown after each bit is blown.

SiriusHardware 14th Oct 2019 7:30 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
We look forward to seeing that, as and when you are able to spare the time.

I've mentioned your heavily modified MK14, briefly, elsewhere in these forums and there was an expression of interest in the additional mods you had done to remove some additional unwanted device images which still appear in the issue V memory map (we know that the unwanted images in the 0200-07FF region were finally designed out in the issue V as standard)

If you don't mind elaborating on those mods - assuming you still have them documented after all this time - it might be best to start a new related thread to talk about those.

For the time being though, I'd rather not distract you from your focus on the Tesla programmer.

SiriusHardware 20th Oct 2019 8:15 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
1 Attachment(s)
Lucky 1 find at a radio rally today - the only size the seller had, and exactly the right number of pins for a 74S571.


SiriusHardware 15th Nov 2019 7:48 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Over on the Vintage computer forums there's someone who has managed to acquire himself a National Introkit, generally acknowledged to be the immediate ancestor of the MK14 on which Circuitryboy's Tesla programmer here is based.

The Introkit doesn't seem to be working and one possibility is that the SCMPKB PROM is corrupt, so I'm busy putting together an Arduino sketch specifically to read the 512 bytes of code from the PROM because I know that the owner of the Introkit has a few Arduinos lying around. While in the initial stages of doing this, I have found, to my surprise, that the SCMPKB code which I have and the code for the old / original MK14 OS do not match (The sketch checksums the code as it reads it from the PROM) - I was always convinced that they were identical.

The SCMPKB code I have was created by Youtube user 'CuriousMarc' as part of the process of repairing his own Introkit in his video here:- I don't know if it is a verbatim image of the original SCMPKB code. It would be surprising if it was not.

The Old / original MK14 OS code I have came from a quiet corner on Martin Lukasec's website, and again I don't know if that was entered afresh by someone working from the listing or whether it was read directly from original 'Old OS' PROMs.

Should they be identical? I've always thought the SCMPKB OS code and the early MK14 OS were one and the same.

I've been testing this using a 'modern' eprom programmed with various OS images - one additional obstacle when reading a real MM5214 PROM is the need for a -12V supply in addition to +5V.

Argus25 16th Nov 2019 2:24 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
I have recently been programming some DM74S287 and some N82S129 types for my SOL-20. I can do these on my BP1400 programmer. With these types there is some partial programming compatibility but not exact, I had the programmer accidentally set for the DM74S287 and it partially programmed a N82S129 with some correct bytes before detecting an error and stopping as one example.

I bought a MH74S287 to try. I can confirm that it will not program with the DM74S287 programming protocol.

I have also been programming some vintage MM5204 UVeproms, for these I use the Martin Eberhard programmer it use the P+5P smart over-programming protocol.

SiriusHardware 16th Nov 2019 10:56 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Broadly, (I hope I am remembering this correctly) the main electrical difference between the DM and MH devices is that on the DM devices, you apply VPP (10.5V) momentarily to the data pins to be programmed, one after the other, whereas on the MH devices you connect the data pins to 0V, again one after the other, while applying VPP to another pin. So the programming regime, electrically speaking, is very different. (The MH devices also require a much longer programming pulse).

Circuitryboy pointed out earlier that the MH device programming scheme seems remarkably similar to that of the Texas SN74S.... family, although, while there are such things as SN74S287s, no one ever seems to have seen an SN74S571 so there is unfortunately no SN74S571 data sheet with which a direct comparison can be made. If you don't mind potentially wasting one more device you might like to try programming an MH74S287 as though it is an SN74S287, if your programmer supports those, rather than as a DM74S287.

Argus25 16th Nov 2019 12:25 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs

Originally Posted by SiriusHardware (Post 1191975)
If you don't mind potentially wasting one more device you might like to try programming an MH74S287 as though it is an SN74S287, if your programmer supports those, rather than as a DM74S287.

Unfortunately the programmer doesn't explicitly support the SN74S287, so I cannot try it.

I just bought a SN74S287 on ebay, I will attempt to program it as a DM74S287 or an 82S129 and I will report back.

SiriusHardware 16th Nov 2019 12:44 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
I would advise you not to try to programme an SN... as though it were a DM.. based on what I said in post #18. The DM programming regime will fire 10.5V pulses at the data pins, when the SN device - which reportedly uses the same regime as the MH devcies - expects the programming current to be drawn out of (sunk from) the data pins. You may just end up damaging your SN.. device.

Given the information / code / circuit which circuitryboy posted in the thread earlier it should actually be possible to use his revised (MH specific) hardware in conjunction with a more generic controller like a PIC or Arduino to program the MH... SN...devices. I might have tried this already but I don't have any of the MH devices myself.

I'd be interested to hear whether circuitryboy ever got the chance to try out his Tesla-modified version of the SOC PROM burner code.

circuitryboy 20th Nov 2019 6:44 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
1 Attachment(s)
We have a couple of new points since my last visit. (These threads go fractal so quickly.)
The one I'm looking at now is possible variations in SCMPKB.
Curiousmarc gives us a crisp reproduction of the NS-supplied teletype listing from the 1976 SCMPKB assembler run. And he's used it to recreate a PROM.
The other sample is from (I once sold Martin an '8060N on ebay.) I've trawled through that site and I can only find the SCMPKB listing that's in a full scan of MK14 Manual Edition 1.
This has been retyped and has several 'points of confusion' but the code is the same.
Can you actually display/list the points where your 'modern' EPROM contents diverge?
It is possible that NS used other code versions in their own units. Observe the display in attached.

SiriusHardware 20th Nov 2019 9:58 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
I think there's an error in Martin's 'Old OS' .obj code.

One byte difference, at 0046 - in paper listings (Old MK14 and SCMPKB) the code at 0046 = CA 08, in Martin's version of the old OS file, the code at 0046/0047 is 08 08.

I still have my 'Old OS' PROMs and if I could find them it would be a simple matter to resolve this, but of course I can not.

SiriusHardware 20th Nov 2019 11:35 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Also, I did check CuriousMarc's hand-entered version of the SCMPKB code against the listing in the SCMPKB manual - 100% the same, no errors.

SiriusHardware 20th Nov 2019 12:06 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Sorry, something I didn't quite make clear earlier... There is a binary (code) version of the 'Old' MK14 OS on Martin's site although it is quite hard to find - go to the MK14 blog page where he is discussing the existence of two MK14 OSes, and on which there are links to the two versions of the manual. (Assuming you don't read Czech, Let your browser translate the page).

(Unfortunately our IT at work here is so locked down it won't let me go to the site, so I can't post a direct link for you).

Above the links to the manual PDFs there is a line talking about the code which ends in the words ...'be downloaded'. Those two words are a clickable link to downloadable versions of both OS codes, along with the source used to generate them, I believe, although I have not examined the source.

It's that .obj code on Martin's site (the old OS version) which I have found has one byte different (at 0046) compared to the documentation for both the SCMPKB listing and the original MK14 listing, which both agree that the byte at that location should be 'CA', not '08'.

circuitryboy 20th Nov 2019 12:36 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Lucky that corruption failed-safe to a NOP. And the instruction would be blanking the 9th digit that the NS display doesn't have!

SiriusHardware 20th Nov 2019 1:51 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
So, a non-fatal error. That would explain why no-one has tripped over it before now. Maybe someone realised that instruction was redundant and changed it in the source, from which the code was then generated. I assume the original code causes no harm, other than to waste a couple of instructions on an unnecessary act.

I believe you once told me (years ago) that the ninth display could be enabled with the addition of a simple wire, in which case the original instruction presumably would serve a purpose?

circuitryboy 20th Nov 2019 5:51 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Yes, it's very possible someone masked out the instruction. (I was saying that without that saying that - it only saves 8 micro cycles, but easier than deleting). NS code is klunky: does a 10 count loop for 8 digit display.

SiriusHardware 20th Nov 2019 6:09 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Indeed, so, now that you've neatly solved that mystery for us, how are you getting on with the Tesla-modified PROM burner code? (swerving neatly back on topic).

SiriusHardware 20th Nov 2019 7:50 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
1 Attachment(s)
OK, just one more post regarding the mysterious change to the byte at 0046 in Martin's version of the Old MK14 OS, it is present and commented on in the .asm file which accompanies the code file.

In case you still did not find that 'MK14 OS Bundle' on the page I mentioned, I have attached it here.

circuitryboy 14th Feb 2020 6:56 am

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
There's been a long interval here, mainly because I'm out of UK since end of October. Managed to get to an 'Internet Shop' in November. Since then a phone on variable 4G doesn't hack it.
I did quickly tack a version of SoC Promblower together, using my timing code sequences already shown. I appended a 3mS cool-down to the 'zap' pulse.
This successfully programmed 512 quartets of SCIOS in one pass of ~9 seconds. Note I followed SCIOS flowchart, which zaps 0s as well as 1s!
There was an error in code so prog+verify worked but not verify-only.
I would recommend a 4mS pause and bypassing the 0s.

circuitryboy 14th Feb 2020 1:08 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
Erratum: "SCIOS flowchart" should read "SoC flowchart"

SiriusHardware 14th Feb 2020 1:58 pm

Re: A Simple Programmer for TESLA "MH74S-" bipolar PROMs
If you are still out somewhere in the back of beyond we appreciate the effort you have gone to to update us in spite of the apparent communications difficulties.

Would it be possible to see the working code either as asm or hex files? (Understand if you would rather not post it, it is your code after all).

All times are GMT +1. The time now is 2:51 am.

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