1702A EPROM Programmer Trouble Shooting

I can program a completely erased 0x00 PROM to completely 0xFF.

I can "program" a completely erased 0x00 PROM to completely 0x00. I did this to check for stuck bits, etc.

This is driving me crazy. It may be a timing issue? I am making a small PCB to adapt the 0v to -47v programming voltages that the programmer uses for my logic analyzer. Would anyone here know where I could find a programming protocol for the 1702? I would like to check my timing against a data sheet.

Sometimes a PROM will have one good byte, then 00, good byte, 00, and sometimes a byte will not be good. Other times several bytes in a row are good. I know the programmer can do all of the bits or none of the bits (those two experiments). At the end is a listing of a few tests.

It can also address all memory locations in the PROM.

I got this ASCII picture off of chipdir. I added the voltages measured at the chip during programming. They are pulsed during programming like the should be.

+--()--+ A2 | 1 24| Vdd -47v A1 | 2 23| Vcc 0v A0 | 3 22| Vcc 0v Data Out 1 (LSB) | 4 21| A3 Data out 2 | 5 20| A4 Data out 3 | 6 19| A5 Data out 4 | 7 18| A6 Data out 5 | 8 17| A7 Data out 6 | 9 16| Vgg -37v Data out 7 |10 15| Vbb 12v Data out 8 |11 14| /CS 0v 0v Vcc |12 13| Program -45v +------+

Here is a result of a few programming attempts.

The columns are: 1-memory location, 2-source data, 3-4-5-data written, 6-source data again

FF00 8D AE FE FF 8D FF01 22 FE FE FE 22 FF02 24 00 00 24 24 FF03 FC FE FE FE FC FF04 C6 00 00 C6 C6 FF05 7F FE FE FF 7F FF06 D1 00 00 D1 D1 FF07 F3 F2 F2 F3 F3 FF08 F4 00 00 F4 F4 FF09 F0 F4 F4 F4 F0 FF0A 01 00 00 01 01 FF0B 24 24 24 24 24 FF0C 74 00 00 74 74 FF0D 39 7C 7C 7D 39 FF0E 01 00 00 01 01 FF0F 8D 8C 8C 8D 8D FF10 EF 00 00 EF EF FF11 C0 EE EE EE C0 FF12 30 00 00 30 30 FF13 2B 3A 3A 3B 2B FF14 3C 00 00 3C 3C FF15 C1 FC FC FD C1 FF16 09 00 00 09 09 FF17 2F 2E 2E 2F 2F FF18 0A 00 00 0A 0A FF19 C1 CA CA CB C1 FF1A 11 00 00 11 11 FF1B 2B 3A 3A 3B 2B FF1C 34 00 00 34 34 FF1D C1 F4 F4 F5 C1 FF1E 16 00 00 16 16 FF1F 2E 3E 3E 3E 2E FF20 30 F0 F6 F6 30 FF21 C0 FE FE FE C0 FF22 07 00 00 07 07 FF23 39 7E 7E 7F 39 FF24 F6 00 00 F6 F6 FF25 F0 F6 F6 F6 F0 FF26 00 00 00 00 00 FF27 57 56 56 57 57 FF28 39 00 00 39 39 FF29 8D BC BC BD 8D FF2A D5 00 00 D5 D5 FF2B C0 D4 D4 D4 C0 FF2C 53 00 00 53 53 FF2D 26 76 76 76 26 FF2E FA 00 00 FA FA FF2F 8D FE FE FF 8D FF30 CF 00 00 CF CF FF31 C1 DE DE DF C1 FF32 39 00 00 39 39 FF33 27 3E 3E 3F 27 FF34 1C 00 00 1C 1C FF35 C1 DC DC DD C1 FF36 31 00 00 31 31 FF37 26 36 36 36 26 FF38 F0 00 00 F0 F0 FF39 4F FE FE FF 4F FF3A 8D 00 00 8D 8D FF3B 17 9E 9E 9F 17 FF3C C0 00 00 C0 C0 FF3D 02 C2 C2 C2 02 FF3E D7 00 00 D7 D7 FF3F F9 FE FE FF F9 FF40 8D 28 FE FF 8D FF41 20 FE FE FF 20 FF42 8D 00 00 8D 8D FF43 0F FE FE FF 0F FF44 7A 00 00 7A 7A FF45 00 7A 7A 7A 00 FF46 F9 00 00 F9 F9 FF47 27 FE FE FF 27 FF48 05 00 00 05 05 FF49 E7 E6 E6 E7 E7 FF4A 00 00 00 00 00 FF4B 08 08 08 08 08 FF4C 20 00 00 20 20 FF4D F4 F4 F4 F4 F4 FF4E 4C 00 00 4C 4C FF4F 27 6E 6E 6F 27 FF50 D8 00 00 D8 D8 FF51 20 F8 F8 F8 20 FF52 58 00 00 58 58 FF53 8D DC DC DD 8D FF54 BA 00 00 BA BA FF55 58 FA FA FA 58 FF56 58 00 00 58 58 FF57 58 58 58 58 58 FF58 58 00 00 58 58 FF59 1B 5A 5A 5B 1B FF5A D7 00 00 D7 D7 FF5B F8 FE FE FE F8 FF5C 8D 00 00 8D 8D FF5D B1 BC BC BD B1 FF5E 1B 00 00 1B 1B FF5F DB DA DA DB DB FF60 F8 F8 FA FE F8 FF61 39 FE FE FF 39 FF62 8D 00 00 8D 8D FF63 EF EE EE EF EF FF64 D7 00 00 D7 D7 FF65 FA FE FE FE FA FF66 8D 00 00 8D 8D FF67 EB EE EE EF EB FF68 D7 00 00 D7 D7 FF69 FB FE FE FF FB FF6A DE 00 00 DE DE FF6B FA FE FE FE FA FF6C 39 00 00 39 39 FF6D 16 3E 3E 3F 16 FF6E 54 00 00 54 54 FF6F 54 54 54 54 54 FF70 54 00 00 54 54 FF71 54 D6 D6 D6 54 FF72 8D 00 00 8D 8D FF73 01 8C 8C 8D 01 FF74 16 00 00 16 16 FF75 C4 D6 D6 D6 C4 FF76 0F 00 00 0F 0F FF77 CB CE CE CF CB FF78 30 00 00 30 30 FF79 C1 F0 F0 F1 C1 FF7A 39 00 00 39 39 FF7B 23 3A 3A 3B 23 FF7C 04 00 00 04 04 FF7D CB CE CE CF CB FF7E 07 00 00 07 07 FF7F 01 06 06 07 01 FF80 01 00 8C 8D 01 FF81 8C FE FE FF 8C FF82 C6 00 00 C6 C6 FF83 20 FE FE FE 20 FF84 37 00 00 37 37 FF85 8D BE BE BF 8D FF86 9D 00 00 9D 9D FF87 57 DE DE DF 57 FF88 24 00 00 24 24 FF89 FB FE FE FF FB FF8A 33 00 00 33 33 FF8B F7 F6 F6 F7 F7 FF8C F0 00 00 F0 F0 FF8D 01 F0 F0 F1 01 FF8E 39 00 00 39 39 FF8F DE FE FE FE DE FF90 FA 00 00 FA FA FF91 08 FA FA FA 08 FF92 DF 00 00 DF DF FF93 FA FE FE FE FA FF94 96 00 00 96 96 FF95 FA FE FE FE FA FF96 8D 00 00 8D 8D FF97 D5 DC DC DD D5 FF98 96 00 00 96 96 FF99 FB FE FE FF FB FF9A 8D 00 00 8D 8D FF9B D1 DC DC DD D1 FF9C 8C 00 00 8C 8C FF9D 8D 8C 8C 8D 8D FF9E C3 00 00 C3 C3 FF9F 8D CE CE CF 8D FFA0 E1 00 E6 E7 E1 FFA1 A6 FE FE FE A6 FFA2 00 00 00 00 00 FFA3 8D DE DE DF 8D FFA4 C8 00 00 C8 C8 FFA5 8D CC CC CD 8D FFA6 DB 00 00 DB DB FFA7 8D DE DE DF 8D FFA8 AA 00 00 AA AA FFA9 E7 EE EE EF E7 FFAA 00 00 00 00 00 FFAB 9E 9E 9E 9E 9E FFAC F6 00 00 F6 F6 FFAD C6 F6 F6 F6 C6 FFAE 0D 00 00 0D 0D FFAF 8D 8C 8C 8D 8D FFB0 D0 00 00 D0 D0 FFB1 C6 DE DE DE C6 FFB2 0A 00 00 0A 0A FFB3 8D 8E AE AF 8D FFB4 CC 00 00 CC CC FFB5 C6 CE CE CE C6 FFB6 2E 00 00 2E 2E FFB7 8D AE AE AF 8D FFB8 C8 00 00 C8 C8 FFB9 BD FC FC FD BD FFBA FF 00 00 FF FF FFBB 00 FE FE FE 00 FFBC 17 00 00 17 17 FFBD 8D 9E 9E 9F 8D FFBE C3 00 00 C3 C3 FFBF 81 C2 C2 C3 81 FFC0 4C 00 6E 6E 4C FFC1 27 EE EE EF 27 FFC2 8C 00 00 8C 8C FFC3 81 8C 8C 8D 81 FFC4 4A 00 00 4A 4A FFC5 26 6E 6E 6E 26 FFC6 04 00 00 04 04 FFC7 8D 8C 8C 8D 8D FFC8 99 00 00 99 99 FFC9 6E FE FE FE 6E FFCA 00 00 00 00 00 FFCB 81 80 80 81 81 FFCC 4D 00 00 4D 4D FFCD 27 6E 6E 6F 27 FFCE CE 00 00 CE CE FFCF 81 CE CE CF 81 FFD0 4E 00 00 4E 4E FFD1 27 6E 6E 6F 27 FFD2 BC 00 00 BC BC FFD3 81 BC BC BD 81 FFD4 50 00 00 50 50 FFD5 26 76 76 76 26 FFD6 D4 00 00 D4 D4 FFD7 3B FE FE FF 3B FFD8 8E 00 00 8E 8E FFD9 00 8E 8E 8E 00 FFDA F3 00 00 F3 F3 FFDB C6 F6 F6 F6 C6 FFDC 03 00 00 03 03 FFDD 37 36 36 37 37 FFDE 37 00 00 37 37 FFDF F7 F6 F6 F7 F7 FFE0 F0 00 F0 F0 F0 FFE1 00 FE FE FE 00 FFE2 F6 00 00 F6 F6 FFE3 F0 FE FE FE F0 FFE4 02 00 00 02 02 FFE5 2B 2A 2A 2B 2B FFE6 19 00 00 19 19 FFE7 C4 DC DC DC C4 FFE8 04 00 00 04 04 FFE9 CA CE CE CE CA FFEA D1 00 00 D1 D1 FFEB F7 F6 F6 F7 F7 FFEC F0 00 00 F0 F0 FFED 00 F0 F0 F0 00 FFEE 9F 00 00 9F 9F FFEF F6 FE FE FE F6 FFF0 9F 00 00 9F 9F FFF1 FA FE FE FE FA FFF2 D6 00 00 D6 D6 FFF3 F2 F6 F6 F6 F2 FFF4 2B 00 00 2B 2B FFF5 0A 2A 2A 2A 0A FFF6 20 00 00 20 20 FFF7 B3 B2 B2 B3 B3 FFF8 01 00 00 01 01 FFF9 00 00 00 00 00 FFFA FF 00 00 FF FF FFFB EE FE FE FE EE FFFC 01 00 00 01 01 FFFD 04 04 04 04 04 FFFE FF 00 00 FF FF FFFF D8 FE FE FE D8

Reply to
logjam
Loading thread data ...

It has been ages,so i do not remember the best and fastest method; however i do remember that there were many schemes, even some (fairly good ones) from Intel, but the best and fastest method guarranteed that every bit got what it needed and no more (that is why it was so fast). I think the basic scheme was: program a bit once, and read - if OK, program 4 more times; if bad read, program 2nd time and read - if OK, program 8 more times. Net result was 5 total program pulses for each "initial" pulse required to get a good read. Most bits took the 5 ties; on rare occasion one would need more. I think that was derived from a 5 time-constant charge curve. Note only bits that have to be "set" (ie programmed) need this; all others can be ignored providing a blank check was done beforehand.

Reply to
Robert Baer

You can find the 1702A programming algorithm at

formatting link

on page 7-17. It's quite a bit more funky than the comparatively modern 2704/2708/2716 etc. algorithms, in that you are supposed to put the complement of the address in for a while and then the true form of the address, etc.

One gotcha that may have found you here: do not fully program byte 0, then fully program byte 1, etc. You have to do the first program of byte 0, then the first program of byte 1, ... up through the end, and then you start back over at byte 0 and repeat for 32 times in total.

remeber a discussion of "charge migration" occuring if you did too much programming in one area of the device and not enough in others. This is somehow related to the voodoo of putting the complement of the address in before the address and the 32 overall cycles. This might explain some of the spotty programming success you have.

I can also tell you, you really do want to keep the duty cycle less than 20 percent. I remember getting impatient, adjusting the one-shots in my programmer (yes, it was a bunch of one shots!) for a higher duty cycle, and then seeing a distinct red glow through the quartz window on top of the device before all the magic smoke got out :-).

I dragged out that old programmer about a decade ago when I got a hankering to revive a lot of my S-100 stuff.

Tim.

Reply to
Tim Shoppa

Found this page, it leads to a datasheet for a 1702A which was a little different programming wise:

formatting link

--
 JosephKK
 Gegen dummheit kampfen die Gotter Selbst, vergebens.  
  --Schiller
Reply to
joseph2k

Are torturing yourself delibelately ? I'm quite old but the first EPROM I have programmed was 2716 with Vpp at 12.5V and some russian 2708 with Vpp at 24V Do you like tubes too ? :) greetings, Vasile

Reply to
vasile

The programmer had A0 and D0 stuck high "most" of the time. The solder joint has been fixed and I have been happily burning 1702A 256 byte EPROMs. : D

Reply to
logjam

Congrats, but why 1702s? Did you just have a thousand of them you need to use up or something? :-)

Thanks, Rich

Reply to
Rich Grise

I build replica Altair 8800 computer kits. The replica ROM card needs

1702s! : ) I pay about $4 for these 256 byte chips! : )

Grant

Reply to
logjam

Back in those daze, for the (Santa Clara Valley) Homebrew Computer Club (remember Gordon French who started it?), i made (it seems) hundreds of the front panel boards; clones that included de-glitching fixes and got rid of a lot of jumpers (final run had zero jumers as i remember). Sold them at cost to everyone that wanted them, many went to the group in LA for re-sale. Got my nose pinched by whatshisname at Altair for selling (at cost) copies of their BASIC with reversed assembly listing; the idiot claimed it was patented (*no* software could be patented then) and his wording was not that far from blackmail (as i remember). He also complained about the clone boards, but i sucessfully argued that my boards were different and better (ie a different design). Had to stop seling or giving away the BASIC stuff, tho.

Reply to
Robert Baer

Well, that _is_ the honorable thing to do. Software might or might not be patentable (I think it shouldn't be), but it _is_ copyright, i.e., owned by the writer, essentially automatically. You wrote it, you own the copyright. I feel a little guilty every time I use one of my stolen programs, but it usually passes. ;-)

Cheers! Rich

Reply to
Rich Grise

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.