PDA

View Full Version : How to burn 2708s



falter
April 24th, 2017, 10:19 PM
I'm hoping someone might be able to give me a plain English primer on how to burn 2708 eproms. My second SWTPC 6800 came with a Micro Works 2708 burner. I was thinking I might employ it to burn a different monitor for my MSI 6800.

What I'm trying to understand is sort of how I would get a dump of the desired monitor onto the 6800 and then how to burn it. I have the Microworks instructions.. I think what I'm after is just the general concept. I'm wondering things like.. do I have to set it to go to specific addresses? What happens of the amount of data exceeds the capacity of the chip?

Chuck(G)
April 24th, 2017, 10:32 PM
Don't know about your particular burner, but I do remember 2708s.

3-rail power supply, no elegant algorithms--essentially you keep banging on a cell until it takes, then bang a bit more for good measure. Programming is very slow in comparison to modern UVEPROMs.

I'd prefer to use single rail 2716s (not the TMS2716s, which are still 3-rail)--and burn the same data twice. 1702A, 2704 and 2708 were early devices with all of the problems attached thereto.

g4ugm
April 25th, 2017, 01:52 AM
Lets look at the questions in details...
... assuming the manual for you burner is this one:-

http://www.swtpc.com/mholley/MicroWorks/MicroWorks_B08.pdf

and you are using paper tape, cassette tape, or emulated cassette tape..

1. You need to create an object code copy of the desired ROM monitor.

If you have the source assemble to produce a MIKBUG format object tape.
If you have a MIKBUG tape then you are set to go.

2. Use the programmer software to program load the data into RAM

The programmer utility software will allow you to load the tape into memory using the "LOAD" command.
Assuming the code is designed to run at C000 you need to tell the utility to subtract C000 from the start address on the tape so it loads the data into the RAM at address 0000

3. Check the blank ROM is blank

The Programmer software will let you check the ROM is blank. Use the "E" command.

4. Use the Burn command to PROGRAM the ROM

5. Use the V command to check.

6. If you have more than 1K to program then put a new blank e-prom in the programmer

7. Use the M command to move the data for the second eprom down to low memory

goto step 3...

falter
April 25th, 2017, 09:48 PM
Thanks muchly Dave.

I guess the first hangup is the means of getting the code to the computer. Right now the only means of getting data into and out of this 6800 is via tape. I'm just not sure how I'd get what I need onto tape from whatever modern PC I downloaded it from.

I'm wondering if this will work. Basically I'm trying to replace the ROM on this MSI 6800 I have. It is supposed to use MSIBUG but it was changed to something called WEEBUG which is dramatically stripped down and lacks functions like memory examine, load, etc. Since I'll likely never find a copy of MSIBUG, I thought I might try switching it over to SWTBUG or MIKBUG. But I don't know if the MSI will run it as I assume the different 'BUGs' look for specific hardware in specific locations... like the serial cards, etc. I actually tried swapping the 6800 board from my SWTPC into the MSI once (with ram).. but it wouldnt work.

g4ugm
April 26th, 2017, 12:40 AM
You should be able to rig a PC up to emulate the tape. Its "just" RS-232...

falter
January 1st, 2018, 11:32 AM
So I'm finally getting around to trying this. I have my DREAM 6800 'CHIPOS' which is to be burned to a 2708. But reading and re-reading, I'm still not clear on how one gets the code printed here:

https://drive.google.com/file/d/1rekgy68FeuU2pq9u2FNcPXftuKgtg1jQ/view?usp=sharing

Into this 'object code format'.

Can anyone explain to me, like i'm a 5th grade who knows *nothing* about this stuff, how you'd go about doing that, for the purposes of trying to burn it with my SWTPC's 2708 burner? Dave mentioned something about making an 'object code copy' but I have no idea whatsoever how to do that.

If I understand the way this particular card works, I could just manually enter the bytes, but starting at 0000 rather than C000?

Chuck(G)
January 1st, 2018, 11:49 AM
That's certainly a way to do it. In the early days, before magazine publication methods like Paperbytes or the Cauzin Softstrip, that was the only way to do it.

falter
January 1st, 2018, 12:29 PM
I don't think anyone has produced a text file of this particular code.. so yeah.. I guess I will have to enter it. I'm curious though.. if I enter it from 0000 rather than C000.. how does it end up at the address the computer will be looking for it at? Or is it just that it writes from the beginning of the EPROM and the computer itself is wired to treat that EPROM as being at C000?

Chuck(G)
January 1st, 2018, 12:35 PM
Yes, you start with 0000, since that address is the displacement within the EPROM.

Your address decoding circuitry places the contents of the EPROM at a given CPU address. Note that a 2708 has only 10 bit of address lines. Address decoding circuitry supplies the other 6.

falter
January 1st, 2018, 12:37 PM
Thanks Chuck. So.. say I didn't have my SWTPC but a PC programmer instead.. and all I have is the code on that scanned page.. I'm assuming I'd have to write those hex values into a text file (hex or something?) and then somehow convert to binary?

ldkraemer
January 1st, 2018, 05:40 PM
falter,
It took longer for me to get a descent conversion to be able to OCR the PDF than I thought.

Here is your code. (There still may be a mistake or two. Better look it over.
I went thought it once to make sure it appears the same. May have missed something.
I'll try to go over it again tomorrow morning if I don't forget.)

C000 8D 77 CE 02 00 DF 22 CE 00 5F DF 24 DE 22 EE 00
C010 DF 28 DF 14 BD C0 D0 96 14 84 0F 7? 14 8D 21 97
C020 2E DF 2A 96 29 44 44 44 44 8D 15 97 2F CE C0 48
C030 96 28 84 F0 08 08 80 10 24 FA EE 00 AD 00 20 CC
C040 CE 00 2F 08 4A 2A FC A6 00 39 C0 6A C0 A2 C0 AC
C050 C0 BA C0 C1 C0 C8 C0 EE C0 F2 C0 FE C0 CC C0 A7
C060 C0 97 C0 F8 C2 1F C0 D7 C1 5F D6 28 26 25 96 29
C070 81 E0 27 05 81 EE 27 0E 39 4F CE 01 00 A7 00 08
C080 8C 02 00 26 F8 39 30 9E 24 32 97 22 32 97 23 9F
C090 24 35 39 DE 14 6E 00 96 30 5F 9B 15 97 15 D9 14
C0A0 D7 14 DE 14 DF 22 39 DE 14 DF 26 39 30 9E 24 96
C0B0 23 36 96 22 36 9F 24 35 20 E8 96 29 91 2E 27 10
C0C0 39 96 29 91 2E 26 09 39 96 2F 20 F0 96 2F 20 F3
C0D0 DE 22 08 08 DF 22 39 BD C2 97 7D 00 18 27 07 C6
C0E0 A1 D1 29 27 EB 39 C6 9E D1 29 27 D0 20 D5 96 29
C0F0 20 3B 96 29 9B 2E 20 35 8D 38 94 29 20 2F 96 2E
C100 D6 29 C4 0F 26 02 96 2F 5A 26 02 9A 2F 5A 26 02
C110 94 2F 5A 5A 26 0A 7F 00 3F 9B 2F 24 03 7C 00 3F
C120 58 26 0A 7F 00 3F 90 2F 25 03 7C 00 3F DE 28 A7
C130 00 39 86 C0 97 2C 7C 00 2D DE 2C 96 0D AB 00 A8
C140 FF 97 0D 39 07 C1 79 0A C1 7D 15 C1 82 18 C1 85
C150 1E C1 89 29 C1 93 33 C1 DE 55 C1 FA 65 C2 04 CE
C160 C1 44 C6 09 A6 00 91 29 27 09 08 08 08 5A 26 F4
C170 7E C3 60 EE 01 96 2E 6E 00 96 20 20 B0 BD C2 C4
C180 20 AB 97 20 39 16 7E C2 E1 5F 9B 27 97 27 D9 26
C190 D7 26 39 CE C1 BC 84 0F 08 08 4A 2A FB EE 00 DF
C1A0 1E CE 00 08 DF 26 C6 05 96 1E 84 E0 A7 04 09 86
C1B0 03 79 00 1F 79 00 1E 4A 26 F7 5A 26 EB 39 F6 DF
C1C0 49 25 F3 9F E7 9F 3E D9 E7 CF F7 CF 24 9F F7 DF
C1D0 E7 DF B7 DF D7 DD F2 4F D6 DD F3 CF 93 4F DE 26
C1E0 C6 64 8D 06 C6 0A 8D 02 C6 01 D7 0E 5F 91 0E 25
C1F0 05 5C 90 0E 20 F7 E7 00 08 39 0F 9F 12 8E 00 2F
C200 DE 26 20 09 0F 9F 12 9E 26 34 CE 00 30 D6 2B C4
C210 0F 32 A7 00 08 7C 00 27 5A 2A F6 9E 12 0E 39 D6
C220 29 7F 00 3F DE 26 86 01 97 1C C4 0F 26 02 C6 10
C230 37 DF 14 A6 00 97 1E 7F 00 1F D6 2E C4 07 27 09
C240 74 00 1E 76 00 1F 5A 26 F5 D6 2E 8D 28 96 1E 8D
C250 15 D6 2E CB 08 8D 1E 96 1F 8D 0B 7C 00 2F DE 14
C260 08 33 5A 26 CB 39 16 E8 00 AA 00 E7 00 11 27 04
C270 86 01 97 3F 39 96 2F 84 1F 48 48 48 C4 3F 54 54
C280 54 1B 97 1D DE 1C 39 C6 F0 CE 80 10 6F 01 E7 00
C290 C6 06 E7 01 6F 00 39 8D EE 7F 00 18 8D 55 E6 00
C2A0 8D 15 97 17 C6 0F 8D E1 E6 00 54 54 54 54 8D 07
C2B0 48 48 9B 17 97 17 39 C1 0F 26 02 D7 18 86 FF 4C
C2C0 54 25 FC 39 DF 12 8D BF A6 01 2B 07 48 2A F9 6D
C2D0 00 20 07 8D C2 7D 00 18 26 EC 8D 03 DE 12 39 C6
C2E0 04 D7 21 C6 41 F7 80 12 7D 00 21 26 FB C6 01 F7
C2F0 80 12 39 8D 00 37 C6 C8 5A 01 26 FC 33 39 CE 80
C300 12 C6 3B E7 01 C6 7F E7 00 A7 01 C6 01 E7 00 39
C310 8D 13 A6 00 2B FC 8D DD C6 09 0D 69 00 46 8D D3
C320 5A 26 F7 20 17 DF 12 CE 80 12 39 8D F8 36 6A 00
C330 C6 0A 8D BF A7 00 0D 46 5A 26 F7 32 DE 12 39 20
C340 83 86 37 8D B9 DE 02 39 8D F7 A6 00 8D DD 08 9C
C350 04 26 F7 20 0B 8D EA 8D B7 A7 00 08 9C 04 26 F7
C360 8E 00 7F CE C3 E9 DF 00 86 3F 8D 92 8D 43 0E 8D
C370 CE 4D 28 10 8D C9 84 03 27 23 4A 27 D8 4A 27 C8
C380 DE 06 6E 00 8D 0C 97 06 8D 06 97 07 8D 23 20 DF
C390 8D AD 48 48 48 48 97 0F 8D A5 9B 0F 39 8D 12 DE
C3A0 06 8D 25 8D 9A 4D 2B 04 8D E8 A7 00 08 DF 06 20
C3B0 EC 86 10 8D 2B CE 01 C8 86 FF BD C0 7D CE 00 06
C3C0 8D 06 08 8D 03 8D 15 39 A6 00 36 44 44 44 44 8D
C3D0 01 32 DF 12 BD C1 93 C6 05 BD C2 24 86 04 9B 2E
C3E0 97 2E 86 1A 97 2F DE 12 39 7A 00 20 7A 00 21 7D
C3F0 80 12 3B DE 00 6E 00 00 C3 F3 00 80 00 83 C3 60


Larry

Chuck(G)
January 1st, 2018, 06:04 PM
There are ways to get there via utilities. For example, GENHEX can take a raw binary image file and generate a correct Intel.HEX file.

It depends on your programmer--some can take Motorola S, files; nearly all can take Intel .HEX files; many can take raw binary.

The bigger problem to me is finding a programmer to take 2708s. They're not common.

falter
January 1st, 2018, 06:26 PM
3E0 97 2E 86 1A 97 2F DE 12 39 7A 00 20 7A 00 21 7D
C3F0 80 12 3B DE 00 6E 00 00 C3 F3 00 80 00 83 C3 60


Larry

Thank you so much for that Larry! That will make things quite a lot easier.. I can figure out how to convert those into an S file and then read it into my SWTPC.

falter
January 1st, 2018, 06:31 PM
The bigger problem to me is finding a programmer to take 2708s. They're not common.

The good news I guess is we have a burner, via this Microworks board I have. Hopefully it works. I was thinking tonight I'd try it out with reading EPROMs and see what it yields.

falter
January 1st, 2018, 06:42 PM
Dumb question.. with a ZIF socket.. pin 1 is where it has that little indent near the lever right?

Chuck(G)
January 1st, 2018, 06:48 PM
Like this:

http://www.interfacebus.com/zif-socket-24-socketed-UV-EPROM.jpg

falter
January 1st, 2018, 07:00 PM
Okay. I've got my 6800 ready (the burning software is already on an EPROM (on a card) at D000.. so with any luck I should be able to fire this up and read this mystery 2708 that is on my 'Dynamicro' board. Maybe someone could look at the resulting code and tell me what exactly I've got on there.. ie. if it's KEX or something else.

falter
January 1st, 2018, 08:35 PM
I think I may have dumped my first ROM!

This is what I did:

Took a 2708 from my 'Dynamicro MMD-1' homebrew board.
Inserted the chip into the ZIF socket on the Microworks board in the 6800 and powered up.
Went into the Microworks burning program.
Hit X to transfer the contents of the ROM to the 'buffer' ($0000 to $03FF).
Then went back to the monitor prompt (typed * )
Then told it to Punch it out to my PC terminal (after setting $A002-A005 with the start and end memory locations). This is what it produced:

S1130000A1B091B9F9B8F0FDFC80D091D0A8889046
S1130010A0D5FDCD9D80B8BCFDCD95B0BCFDB095FF
S1130020B980C8DCD0B88DB8A5C49CA09580F0F187
S1130030D0E4FDC8A9D4C5FCD4C890D1FCD0C8ED87
S1130040D0FC81C8CCD0FCD0CCC8C8C18C80A8CC92
S1130050B9A0C8B8B8C5B8E4FDB0C5B8B888FCA59F
S1130060C894C0B8C9B9B1C094C0C18FA0B0F8FDDC
S1130070C194C0FC91C8D1CCC194C0B0CCB9C184E6
S1130080D0B0CCB9F480B0C0B9C194C0B0C9B9C1C2
S113009094C0BC8DB0D9B9C1EDD0F8FCA0D8E9CFDB
S11300A0A1ECB8B4A891B9B8BDB9F0A1A091B9FCBC
S11300B0A5C094C0C1EFD0CDAC8FA8EDB8E9C18084
S11300C0D1A8EDB8E48185C485EDB4B891B9A1EDAA
S11300D0B894A9BCC8D9D0D899D1F5B4A198D0A066
S11300E0B9B9A891B9B8BDB9F0A19584C088D1A116
S11300F0E0CDA0B9B9A8E8B8E9CDA080E9A0E8B8F6
S113010021E00019201939E99584A091B9F094C02F
S1130110E9A1E83834E9C1E9D0281139FCFCA0D0C0
S1130120E5D0FC9CC8ACD1FC89C0E5D0E9A8ED3889
S1130130E08080C080E030E0C0E0D03080B0A0C07B
S113014099A0F8FC89C8A5D1FC8CC894D021E0CF33
S1130150203939FC80C8CCCFFC91C884D0FCF4C8C9
S113016084D0FC81C884D0FC89C8C1D0FCE5C8B562
S1130170D0FC94C88CD0FCF1C884D0FCD0D88C803E
S1130180FCD5D884D0FCF5C08C80CD9D80C18C80FA
S11301902108D4202C39CDC8CDCDC0CDCDF1CD3C56
S11301A014303539C1A4CCA115D0203C3921B1D1AA
S11301B0C1B8CDA8DCFCF8FCA0D0BCD13C20BDD893
S11301C0C4D1FD3DA184B8C4F52885B8B8D0D5D133
S11301D0042028F53890C505F8E4D1FCE4BFA1EC6F
S11301E0E5C1D5D1A085B8A0E83821F0D1C1B8CFF8
S11301F028E0FCF8FCA0D0F9D13C20BDD881D0FD8A
S11302003DD4A0CDCDB08D2885B8E9CD9980CDF56C
S1130210F9283C39C1B8CD3C0DB8C094C03C0D3070
S1130220D93921E04D203939CDE4CC3C08C18DCFFA
S1130230213CD0203C3921B1D1C1B8CFF807050702
S113024005E4F0B0C03921CCD0C1B8CDBC0DA0C7F5
S1130250E481FC81C0D9D03C09A0C538C039B0F5CF
S1130260CDF8CCC1D88CD0F8E480F488F587D8F9DF
S1130270D0E9A8EF38FDC488ED34E9F1D180F8F471
S113028080F5201839212011393C0D30D93921D875
S1130290CDC1B8CF95B090FC303D383011FC0CE0A6
S11302A03808FCFCA8C0ACD0CDF8D1C1C0D097B000
S11302B088FCF1D181B08DB8B8E0FCD181F9BCA043
S11302C0D1B9BC80B0C0390CD038E0FCFCFCC4F817
S11302D0D1210D0D2011FC21E9D0203B393C043003
S11302E005FC2109FC2009FCC194C02101D138CFAF
S11302F039A7C094D11430F8B8C894D314212CD39E
S1130300C188D11430211C5138CD39A5C094D1F8FD
S11303100CC8B8C081D4203939C194C01431212407
S113032051C188D11430214451C188D114342134AD
S113033051C188D11430213C51C188D1143021C01D
S1130340D4C188D111ED513C0DB8C894C028097CA2
S1130350702120097C28117C78E48D29292929B56C
S1130360ED20117C21057C35C094C0E9C1D8D03C76
S11303700DB8C894C028097C7C212009FCB8C4F4B9
S1130380D12105FC35C094C00C402811FCFCFCA014
S1130390D89DD12815FCBCD8A0D1FCA7C8A0D1CD2C
S11303A0F8D13C0130117C21ADD1C194D13C0DB8C0
S11303B0C894C0383D38EC81303D38C8C9D13C0FB1
S11303C0A087070707300F7CC194C03C0D30117C17
S11303D03810FCA7C088D40C4428117CE9A817FC69
S11303E0F8BCC881D4E9BC0FA0C5380FFCB0F72114
S11303F02011FCC194C00C413810FCB1B010FC3089

I do not think this is the KEX monitor.. so I'm curious to know what exactly it *is*... anyone have any ideas as to how I'd get some clues as to what was in this EPROM? That would tell me if the Dynamicro board was actually being used for something or just a storage place for misc chips.

I'm assuming I can simply read this back into the buffer by the usual method from the PC terminal if I decided to use this 2708 for something else and then want to put it back?

ldkraemer
January 2nd, 2018, 02:31 AM
falter,
I double checked the Hex Bytes I OCR'd, and found some typo's I made when I corrected the OCR hex bytes.

These Lines need to be changed to the following:

C010 DF 28 DF 14 BD C0 D0 96 14 84 0F 97 14 8D 21 97

C120 5A 26 0A 7F 00 3F 90 2F 25 03 7C 00 3F DE 2A A7

I hope you also found these typo's.

Thanks.

Larry

falter
January 2nd, 2018, 08:29 AM
Thanks Larry!!! I'm going to try assembling all this into an S file and then see if I can load it into my EPROM!

Dwight Elvey
January 2nd, 2018, 09:38 AM
You might write a program in your favorite language to convert the lines you have into S format or Hex.
If on a PC with cut/paste, it could be made quite simple.
Checksums are easily messed up if done manually. As for format, if you convert to binary, there are several
converters to be found on the web, to convert to any type you need.
As for 2708s, if you have a hard time finding a programmer, one can make a simple socket adapter and use
a 2716. Most any programmer will handle that.
Dwight

falter
January 2nd, 2018, 09:46 AM
Thanks Dwight.

Right now I'm trying to figure out how to get an idea as to what was on this 2708 I dumped. The Microworks 2708 burner my 6800 has appears to be working ok. I had the 6800 punch it out what I dumped as an Srecord.. then used a program called srec2bin to turn it into a bin file. I'm pretty sure whatever was on this eprom was intended to work with an Intel based machine, so I don't know if I'm muddling things by converting it from srec to bin. But anyway, looking for a hex editor to view it and see if any strings or anything in it give hints as to what it is.

Chuck(G)
January 2nd, 2018, 09:58 AM
No strings that I can see, even if the high-order bit is eliminated. Time to run it through a disassembler? Problem is, that I don't have an I/O map of your machine, so it'd be difficult to figure what's happening.

falter
January 2nd, 2018, 10:03 AM
Which machine would you need an I/O map of? The computer this was intended to run on or the 6800 that dumped it?

I think part of the problem with this will be that we have no way of knowing what machine it was intended for. It could be intended for this Dynamicro board, but it could just simply be a ROM from somewhere else that the guy stuck there.

falter
January 2nd, 2018, 10:45 AM
I did some continuity testing on the Dynamicro board and yeah.. it doesn't seem to line up with what a 2708 would expect. The +5V rail links up to pin 12.. which is believe is correct for a 1702 but not 2708.

Chuck(G)
January 2nd, 2018, 12:22 PM
Vss on the 2708 is typically 0V. What do the other power supply pins have on them? (19, 21 and 24)?

Makes me wonder how that 2708 even survived the misapplication of supply currents--if it did.

falter
January 2nd, 2018, 01:13 PM
Vss on the 2708 is typically 0V. What do the other power supply pins have on them? (19, 21 and 24)?

Makes me wonder how that 2708 even survived the misapplication of supply currents--if it did.

Pins 22 and 23 also seem to connect back to the 5V. Pin 19 doesn't connect to any of the power rails and pin 24 doesn't seem to either.

I'm not powering this board up of course.. just testing continuity from various pins.

I'm very doubtful this board was ever actually used with this 2708. I see no modifications to traces, etc that would permit that.

falter
January 2nd, 2018, 03:45 PM
I decided to try erasing the EPROM and seeing if I could write to it. I mentioned to my wife I'd need to get a UV light somewhere.. she offered her nail polish fixer thing. However, that is LED based.. don't know how much if any UV it puts out. Anyway, I tried it for about 20 minutes. Now when I read the contents of the ROM, it's all 00s. I think it's supposed to be FFs right?

Dwight Elvey
January 2nd, 2018, 04:24 PM
That sure sounds like a 1702A socket and not a 2708. Pin 24 likely goes to a regulator or zener. It should be at -9V. That likely is regulated from -12V or -15V supply line.
I was looking at the code you dumped from the 2708 and I don't think it is 8080 or Z80 either.
I doubt the nail polish fixer produces enough UV at a high enough frequency to mean much to the EPROM. It is likely you connected the EPROM wrong if you're getting 0's.
Dwight

ldkraemer
January 2nd, 2018, 04:56 PM
falter,
I took the Hex file and named it in1.txt.

in1.txt
8D 77 CE 02 00 DF 22 CE 00 5F DF 24 DE 22 EE 00
DF 28 DF 14 BD C0 D0 96 14 84 0F 97 14 8D 21 97
2E DF 2A 96 29 44 44 44 44 8D 15 97 2F CE C0 48
96 28 84 F0 08 08 80 10 24 FA EE 00 AD 00 20 CC
CE 00 2F 08 4A 2A FC A6 00 39 C0 6A C0 A2 C0 AC
C0 BA C0 C1 C0 C8 C0 EE C0 F2 C0 FE C0 CC C0 A7
C0 97 C0 F8 C2 1F C0 D7 C1 5F D6 28 26 25 96 29
81 E0 27 05 81 EE 27 0E 39 4F CE 01 00 A7 00 08
8C 02 00 26 F8 39 30 9E 24 32 97 22 32 97 23 9F
24 35 39 DE 14 6E 00 96 30 5F 9B 15 97 15 D9 14
D7 14 DE 14 DF 22 39 DE 14 DF 26 39 30 9E 24 96
23 36 96 22 36 9F 24 35 20 E8 96 29 91 2E 27 10
39 96 29 91 2E 26 09 39 96 2F 20 F0 96 2F 20 F3
DE 22 08 08 DF 22 39 BD C2 97 7D 00 18 27 07 C6
A1 D1 29 27 EB 39 C6 9E D1 29 27 D0 20 D5 96 29
20 3B 96 29 9B 2E 20 35 8D 38 94 29 20 2F 96 2E
D6 29 C4 0F 26 02 96 2F 5A 26 02 9A 2F 5A 26 02
94 2F 5A 5A 26 0A 7F 00 3F 9B 2F 24 03 7C 00 3F
5A 26 0A 7F 00 3F 90 2F 25 03 7C 00 3F DE 2A A7
00 39 86 C0 97 2C 7C 00 2D DE 2C 96 0D AB 00 A8
FF 97 0D 39 07 C1 79 0A C1 7D 15 C1 82 18 C1 85
1E C1 89 29 C1 93 33 C1 DE 55 C1 FA 65 C2 04 CE
C1 44 C6 09 A6 00 91 29 27 09 08 08 08 5A 26 F4
7E C3 60 EE 01 96 2E 6E 00 96 20 20 B0 BD C2 C4
20 AB 97 20 39 16 7E C2 E1 5F 9B 27 97 27 D9 26
D7 26 39 CE C1 BC 84 0F 08 08 4A 2A FB EE 00 DF
1E CE 00 08 DF 26 C6 05 96 1E 84 E0 A7 04 09 86
03 79 00 1F 79 00 1E 4A 26 F7 5A 26 EB 39 F6 DF
49 25 F3 9F E7 9F 3E D9 E7 CF F7 CF 24 9F F7 DF
E7 DF B7 DF D7 DD F2 4F D6 DD F3 CF 93 4F DE 26
C6 64 8D 06 C6 0A 8D 02 C6 01 D7 0E 5F 91 0E 25
05 5C 90 0E 20 F7 E7 00 08 39 0F 9F 12 8E 00 2F
DE 26 20 09 0F 9F 12 9E 26 34 CE 00 30 D6 2B C4
0F 32 A7 00 08 7C 00 27 5A 2A F6 9E 12 0E 39 D6
29 7F 00 3F DE 26 86 01 97 1C C4 0F 26 02 C6 10
37 DF 14 A6 00 97 1E 7F 00 1F D6 2E C4 07 27 09
74 00 1E 76 00 1F 5A 26 F5 D6 2E 8D 28 96 1E 8D
15 D6 2E CB 08 8D 1E 96 1F 8D 0B 7C 00 2F DE 14
08 33 5A 26 CB 39 16 E8 00 AA 00 E7 00 11 27 04
86 01 97 3F 39 96 2F 84 1F 48 48 48 C4 3F 54 54
54 1B 97 1D DE 1C 39 C6 F0 CE 80 10 6F 01 E7 00
C6 06 E7 01 6F 00 39 8D EE 7F 00 18 8D 55 E6 00
8D 15 97 17 C6 0F 8D E1 E6 00 54 54 54 54 8D 07
48 48 9B 17 97 17 39 C1 0F 26 02 D7 18 86 FF 4C
54 25 FC 39 DF 12 8D BF A6 01 2B 07 48 2A F9 6D
00 20 07 8D C2 7D 00 18 26 EC 8D 03 DE 12 39 C6
04 D7 21 C6 41 F7 80 12 7D 00 21 26 FB C6 01 F7
80 12 39 8D 00 37 C6 C8 5A 01 26 FC 33 39 CE 80
12 C6 3B E7 01 C6 7F E7 00 A7 01 C6 01 E7 00 39
8D 13 A6 00 2B FC 8D DD C6 09 0D 69 00 46 8D D3
5A 26 F7 20 17 DF 12 CE 80 12 39 8D F8 36 6A 00
C6 0A 8D BF A7 00 0D 46 5A 26 F7 32 DE 12 39 20
83 86 37 8D B9 DE 02 39 8D F7 A6 00 8D DD 08 9C
04 26 F7 20 0B 8D EA 8D B7 A7 00 08 9C 04 26 F7
8E 00 7F CE C3 E9 DF 00 86 3F 8D 92 8D 43 0E 8D
CE 4D 28 10 8D C9 84 03 27 23 4A 27 D8 4A 27 C8
DE 06 6E 00 8D 0C 97 06 8D 06 97 07 8D 23 20 DF
8D AD 48 48 48 48 97 0F 8D A5 9B 0F 39 8D 12 DE
06 8D 25 8D 9A 4D 2B 04 8D E8 A7 00 08 DF 06 20
EC 86 10 8D 2B CE 01 C8 86 FF BD C0 7D CE 00 06
8D 06 08 8D 03 8D 15 39 A6 00 36 44 44 44 44 8D
01 32 DF 12 BD C1 93 C6 05 BD C2 24 86 04 9B 2E
97 2E 86 1A 97 2F DE 12 39 7A 00 20 7A 00 21 7D
80 12 3B DE 00 6E 00 00 C3 F3 00 80 00 83 C3 60


Then used srec_cat in Linux to create the following three files:


$ srec_cat in1.txt -Needham_Hexadecimal -o Iout16 -Intel -address-length=3
1. Iout16 (16 Bit)


$ srec_cat in1.txt -Needham_Hexadecimal -o Mout16 -Motorola 16
2. Mout16 (16 Bit)


$ srec_cat in1.txt -Needham_Hexadecimal -o NEout -Needham_Hexadecimal
3. NEout (Needham Electronics)


srec_cat in1.txt -Needham_Hexadecimal -o HDout -Hex_Dump
4. HDout (Hex Dump)



Iout16
:020000020000FC
:2000000000008D77CE0200DF22CE005FDF24DE22EE000010D F28DF14BDC0D09614840F97C2
:20002000148D219700202EDF2A9629444444448D15972FCEC 0480030962884F00808801001
:2000400024FAEE00AD0020CC0040CE002F084A2AFCA60039C 06AC0A2C0AC0050C0BAC0C124
:20006000C0C8C0EEC0F2C0FEC0CCC0A70060C097C0F8C21FC 0D7C15FD62826259629007068
:2000800081E0270581EE270E394FCE0100A7000800808C020 026F839309E2432972232971E
:2000A000239F0090243539DE146E0096305F9B159715D9140 0A0D714DE14DF2239DE14DF06
:2000C0002639309E249600B023369622369F243520E896299 12E271000C0399629912E26F0
:2000E0000939962F20F0962F20F300D0DE220808DF2239BDC 2977D00182707C600E0A1D106
:200100002927EB39C69ED12927D020D5962900F0203B96299 B2E20358D389429202F962EA5
:200120000100D629C40F2602962F5A26029A2F5A260201109 42F5A5A260A7F003F9B2F24CE
:20014000037C003F01205A260A7F003F902F25037C003FDE2 AA70130003986C0972C7C0038
:200160002DDE2C960DAB00A80140FF970D3907C1790AC17D1 5C18218C18501501EC1892914
:20018000C19333C1DE55C1FA65C204CE0160C144C609A6009 12927090808085A26F401706E
:2001A0007EC360EE01962E6E00962020B0BDC2C4018020AB9 72039167EC2E15F9B27972762
:2001C000D9260190D72639CEC1BC840F08084A2AFBEE00DF0 1A01ECE0008DF26C605961E16
:2001E00084E0A704098601B00379001F79001E4A26F75A26E B39F6DF01C04925F39FE79F57
:200200003ED9E7CFF7CF249FF7DF01D0E7DFB7DFD7DDF24FD 6DDF3CF934FDE2601E0C6642A
:200220008D06C60A8D02C601D70E5F910E2501F0055C900E2 0F7E70008390F9F128E002F51
:200240000200DE2620090F9F129E2634CE0030D62BC402100 F32A700087C00275A2AF69E37
:20026000120E39D60220297F003FDE268601971CC40F2602C 610023037DF14A600971E7F01
:20028000001FD62EC4072709024074001E76001F5A26F5D62 E8D28961E8D025015D62ECB32
:2002A000088D1E961F8D0B7C002FDE14026008335A26CB391 6E800AA00E700112704027043
:2002C0008601973F39962F841F484848C43F54540280541B9 71DDE1C39C6F0CE80106F0141
:2002E000E7000290C606E7016F00398DEE7F00188D55E6000 2A08D159717C60F8DE1E60034
:20030000545454548D0702B048489B17971739C10F2602D71 886FF4C02C05425FC39DF1205
:200320008DBFA6012B07482AF96D02D00020078DC27D00182 6EC8D03DE1239C602E004D795
:2003400021C641F780127D002126FBC601F702F08012398D0 037C6C85A0126FC3339CE8029
:20036000030012C63BE701C67FE700A701C601E7003903108 D13A6002BFC8DDDC6090D6995
:2003800000468DD303205A26F72017DF12CE8012398DF8366 A000330C60A8DBFA7000D46EE
:2003A0005A26F732DE12392003408386378DB9DE02398DF7A 6008DDD089C03500426F7209D
:2003C0000B8DEA8DB7A700089C0426F703608E007FCEC3E9D F00863F8D928D430E8D037060
:2003E000CE4D28108DC9840327234A27D84A27C80380DE066 E008D0C97068D0697078D2315
:2004000020DF03908DAD48484848970F8DA59B0F398D12DE0 3A0068D258D9A4D2B048DE845
:20042000A70008DF062003B0EC86108D2BCE01C886FFBDC07 DCE000603C08D06088D038DB6
:200440001539A60036444444448D03D00132DF12BDC193C60 5BDC22486049B2E03E0972E64
:20046000861A972FDE12397A00207A00217D03F080123BDE0 06E0000C3F300800083C36053
:00000001FF

Mout16
S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D
S123000000008D77CE0200DF22CE005FDF24DE22EE000010DF 28DF14BDC0D09614840F97BE
S1230010148D219700202EDF2A9629444444448D15972FCEC0 480030962884F0080880100D
S123002024FAEE00AD0020CC0040CE002F084A2AFCA60039C0 6AC0A2C0AC0050C0BAC0C140
S1230030C0C8C0EEC0F2C0FEC0CCC0A70060C097C0F8C21FC0 D7C15FD62826259629007094
S123004081E0270581EE270E394FCE0100A7000800808C0200 26F839309E2432972232975A
S1230050239F0090243539DE146E0096305F9B159715D91400 A0D714DE14DF2239DE14DF52
S12300602639309E249600B023369622369F243520E8962991 2E271000C0399629912E264C
S12300700939962F20F0962F20F300D0DE220808DF2239BDC2 977D00182707C600E0A1D172
S12300802927EB39C69ED12927D020D5962900F0203B96299B 2E20358D389429202F962E22
S12300900100D629C40F2602962F5A26029A2F5A2602011094 2F5A5A260A7F003F9B2F245B
S12300A0037C003F01205A260A7F003F902F25037C003FDE2A A70130003986C0972C7C00D5
S12300B02DDE2C960DAB00A80140FF970D3907C1790AC17D15 C18218C18501501EC18929C1
S12300C0C19333C1DE55C1FA65C204CE0160C144C609A60091 2927090808085A26F401702B
S12300D07EC360EE01962E6E00962020B0BDC2C4018020AB97 2039167EC2E15F9B2797272F
S12300E0D9260190D72639CEC1BC840F08084A2AFBEE00DF01 A01ECE0008DF26C605961EF3
S12300F084E0A704098601B00379001F79001E4A26F75A26EB 39F6DF01C04925F39FE79F44
S12301003ED9E7CFF7CF249FF7DF01D0E7DFB7DFD7DDF24FD6 DDF3CF934FDE2601E0C66427
S12301108D06C60A8D02C601D70E5F910E2501F0055C900E20 F7E70008390F9F128E002F5E
S12301200200DE2620090F9F129E2634CE0030D62BC402100F 32A700087C00275A2AF69E54
S1230130120E39D60220297F003FDE268601971CC40F2602C6 10023037DF14A600971E7F2E
S1230140001FD62EC4072709024074001E76001F5A26F5D62E 8D28961E8D025015D62ECB6F
S1230150088D1E961F8D0B7C002FDE14026008335A26CB3916 E800AA00E700112704027090
S12301608601973F39962F841F484848C43F54540280541B97 1DDE1C39C6F0CE80106F019E
S1230170E7000290C606E7016F00398DEE7F00188D55E60002 A08D159717C60F8DE1E600A1
S1230180545454548D0702B048489B17971739C10F2602D718 86FF4C02C05425FC39DF1283
S12301908DBFA6012B07482AF96D02D00020078DC27D001826 EC8D03DE1239C602E004D723
S12301A021C641F780127D002126FBC601F702F08012398D00 37C6C85A0126FC3339CE80C7
S12301B0030012C63BE701C67FE700A701C601E7003903108D 13A6002BFC8DDDC6090D6943
S12301C000468DD303205A26F72017DF12CE8012398DF8366A 000330C60A8DBFA7000D46AC
S12301D05A26F732DE12392003408386378DB9DE02398DF7A6 008DDD089C03500426F7206B
S12301E00B8DEA8DB7A700089C0426F703608E007FCEC3E9DF 00863F8D928D430E8D03703E
S12301F0CE4D28108DC9840327234A27D84A27C80380DE066E 008D0C97068D0697078D2303
S123020020DF03908DAD48484848970F8DA59B0F398D12DE03 A0068D258D9A4D2B048DE843
S1230210A70008DF062003B0EC86108D2BCE01C886FFBDC07D CE000603C08D06088D038DC4
S12302201539A60036444444448D03D00132DF12BDC193C605 BDC22486049B2E03E0972E82
S1230230861A972FDE12397A00207A00217D03F080123BDE00 6E0000C3F300800083C36081
S5030024D8

NEout (Needham Electronics)
$A00000000,
00 00 8D 77 CE 02 00 DF 22 CE 00 5F DF 24 DE 22
EE 00 00 10 DF 28 DF 14 BD C0 D0 96 14 84 0F 97
14 8D 21 97 00 20 2E DF 2A 96 29 44 44 44 44 8D
15 97 2F CE C0 48 00 30 96 28 84 F0 08 08 80 10
24 FA EE 00 AD 00 20 CC 00 40 CE 00 2F 08 4A 2A
FC A6 00 39 C0 6A C0 A2 C0 AC 00 50 C0 BA C0 C1
C0 C8 C0 EE C0 F2 C0 FE C0 CC C0 A7 00 60 C0 97
C0 F8 C2 1F C0 D7 C1 5F D6 28 26 25 96 29 00 70
81 E0 27 05 81 EE 27 0E 39 4F CE 01 00 A7 00 08
00 80 8C 02 00 26 F8 39 30 9E 24 32 97 22 32 97
23 9F 00 90 24 35 39 DE 14 6E 00 96 30 5F 9B 15
97 15 D9 14 00 A0 D7 14 DE 14 DF 22 39 DE 14 DF
26 39 30 9E 24 96 00 B0 23 36 96 22 36 9F 24 35
20 E8 96 29 91 2E 27 10 00 C0 39 96 29 91 2E 26
09 39 96 2F 20 F0 96 2F 20 F3 00 D0 DE 22 08 08
DF 22 39 BD C2 97 7D 00 18 27 07 C6 00 E0 A1 D1
29 27 EB 39 C6 9E D1 29 27 D0 20 D5 96 29 00 F0
20 3B 96 29 9B 2E 20 35 8D 38 94 29 20 2F 96 2E
01 00 D6 29 C4 0F 26 02 96 2F 5A 26 02 9A 2F 5A
26 02 01 10 94 2F 5A 5A 26 0A 7F 00 3F 9B 2F 24
03 7C 00 3F 01 20 5A 26 0A 7F 00 3F 90 2F 25 03
7C 00 3F DE 2A A7 01 30 00 39 86 C0 97 2C 7C 00
2D DE 2C 96 0D AB 00 A8 01 40 FF 97 0D 39 07 C1
79 0A C1 7D 15 C1 82 18 C1 85 01 50 1E C1 89 29
C1 93 33 C1 DE 55 C1 FA 65 C2 04 CE 01 60 C1 44
C6 09 A6 00 91 29 27 09 08 08 08 5A 26 F4 01 70
7E C3 60 EE 01 96 2E 6E 00 96 20 20 B0 BD C2 C4
01 80 20 AB 97 20 39 16 7E C2 E1 5F 9B 27 97 27
D9 26 01 90 D7 26 39 CE C1 BC 84 0F 08 08 4A 2A
FB EE 00 DF 01 A0 1E CE 00 08 DF 26 C6 05 96 1E
84 E0 A7 04 09 86 01 B0 03 79 00 1F 79 00 1E 4A
26 F7 5A 26 EB 39 F6 DF 01 C0 49 25 F3 9F E7 9F
3E D9 E7 CF F7 CF 24 9F F7 DF 01 D0 E7 DF B7 DF
D7 DD F2 4F D6 DD F3 CF 93 4F DE 26 01 E0 C6 64
8D 06 C6 0A 8D 02 C6 01 D7 0E 5F 91 0E 25 01 F0
05 5C 90 0E 20 F7 E7 00 08 39 0F 9F 12 8E 00 2F
02 00 DE 26 20 09 0F 9F 12 9E 26 34 CE 00 30 D6
2B C4 02 10 0F 32 A7 00 08 7C 00 27 5A 2A F6 9E
12 0E 39 D6 02 20 29 7F 00 3F DE 26 86 01 97 1C
C4 0F 26 02 C6 10 02 30 37 DF 14 A6 00 97 1E 7F
00 1F D6 2E C4 07 27 09 02 40 74 00 1E 76 00 1F
5A 26 F5 D6 2E 8D 28 96 1E 8D 02 50 15 D6 2E CB
08 8D 1E 96 1F 8D 0B 7C 00 2F DE 14 02 60 08 33
5A 26 CB 39 16 E8 00 AA 00 E7 00 11 27 04 02 70
86 01 97 3F 39 96 2F 84 1F 48 48 48 C4 3F 54 54
02 80 54 1B 97 1D DE 1C 39 C6 F0 CE 80 10 6F 01
E7 00 02 90 C6 06 E7 01 6F 00 39 8D EE 7F 00 18
8D 55 E6 00 02 A0 8D 15 97 17 C6 0F 8D E1 E6 00
54 54 54 54 8D 07 02 B0 48 48 9B 17 97 17 39 C1
0F 26 02 D7 18 86 FF 4C 02 C0 54 25 FC 39 DF 12
8D BF A6 01 2B 07 48 2A F9 6D 02 D0 00 20 07 8D
C2 7D 00 18 26 EC 8D 03 DE 12 39 C6 02 E0 04 D7
21 C6 41 F7 80 12 7D 00 21 26 FB C6 01 F7 02 F0
80 12 39 8D 00 37 C6 C8 5A 01 26 FC 33 39 CE 80
03 00 12 C6 3B E7 01 C6 7F E7 00 A7 01 C6 01 E7
00 39 03 10 8D 13 A6 00 2B FC 8D DD C6 09 0D 69
00 46 8D D3 03 20 5A 26 F7 20 17 DF 12 CE 80 12
39 8D F8 36 6A 00 03 30 C6 0A 8D BF A7 00 0D 46
5A 26 F7 32 DE 12 39 20 03 40 83 86 37 8D B9 DE
02 39 8D F7 A6 00 8D DD 08 9C 03 50 04 26 F7 20
0B 8D EA 8D B7 A7 00 08 9C 04 26 F7 03 60 8E 00
7F CE C3 E9 DF 00 86 3F 8D 92 8D 43 0E 8D 03 70
CE 4D 28 10 8D C9 84 03 27 23 4A 27 D8 4A 27 C8
03 80 DE 06 6E 00 8D 0C 97 06 8D 06 97 07 8D 23
20 DF 03 90 8D AD 48 48 48 48 97 0F 8D A5 9B 0F
39 8D 12 DE 03 A0 06 8D 25 8D 9A 4D 2B 04 8D E8
A7 00 08 DF 06 20 03 B0 EC 86 10 8D 2B CE 01 C8
86 FF BD C0 7D CE 00 06 03 C0 8D 06 08 8D 03 8D
15 39 A6 00 36 44 44 44 44 8D 03 D0 01 32 DF 12
BD C1 93 C6 05 BD C2 24 86 04 9B 2E 03 E0 97 2E
86 1A 97 2F DE 12 39 7A 00 20 7A 00 21 7D 03 F0
80 12 3B DE 00 6E 00 00 C3 F3 00 80 00 83 C3 60

HDout (Hex Dump)
00000000: 8D 77 CE 02 00 DF 22 CE 00 5F DF 24 DE 22 EE 00 #.wN.._"N.__$^"n.
00000010: DF 28 DF 14 BD C0 D0 96 14 84 0F 97 14 8D 21 97 #_(_.=@P.......!.
00000020: 2E DF 2A 96 29 44 44 44 44 8D 15 97 2F CE C0 48 #._*.)DDDD.../N@H
00000030: 96 28 84 F0 08 08 80 10 24 FA EE 00 AD 00 20 CC #.(.p....$zn.-. L
00000040: CE 00 2F 08 4A 2A FC A6 00 39 C0 6A C0 A2 C0 AC #N./.J*|&.9@j@"@,
00000050: C0 BA C0 C1 C0 C8 C0 EE C0 F2 C0 FE C0 CC C0 A7 #@:@A@H@n@r@~@L@'
00000060: C0 97 C0 F8 C2 1F C0 D7 C1 5F D6 28 26 25 96 29 #@.@xB.@WA_V(&%.)
00000070: 81 E0 27 05 81 EE 27 0E 39 4F CE 01 00 A7 00 08 #.`'..n'.9ON..'..
00000080: 8C 02 00 26 F8 39 30 9E 24 32 97 22 32 97 23 9F #...&x90.$2."2.#.
00000090: 24 35 39 DE 14 6E 00 96 30 5F 9B 15 97 15 D9 14 #$59^.n..0_....Y.
000000A0: D7 14 DE 14 DF 22 39 DE 14 DF 26 39 30 9E 24 96 #W.^._"9^._&90.$.
000000B0: 23 36 96 22 36 9F 24 35 20 E8 96 29 91 2E 27 10 ##6."6.$5 h.)..'.
000000C0: 39 96 29 91 2E 26 09 39 96 2F 20 F0 96 2F 20 F3 #9.)..&.9./ p./ s
000000D0: DE 22 08 08 DF 22 39 BD C2 97 7D 00 18 27 07 C6 #^".._"9=B.}..'.F
000000E0: A1 D1 29 27 EB 39 C6 9E D1 29 27 D0 20 D5 96 29 #!Q)'k9F.Q)'P U.)
000000F0: 20 3B 96 29 9B 2E 20 35 8D 38 94 29 20 2F 96 2E # ;.).. 5.8.) /..
00000100: D6 29 C4 0F 26 02 96 2F 5A 26 02 9A 2F 5A 26 02 #V)D.&../Z&../Z&.
00000110: 94 2F 5A 5A 26 0A 7F 00 3F 9B 2F 24 03 7C 00 3F #./ZZ&...?./$.|.?
00000120: 5A 26 0A 7F 00 3F 90 2F 25 03 7C 00 3F DE 2A A7 #Z&...?./%.|.?^*'
00000130: 00 39 86 C0 97 2C 7C 00 2D DE 2C 96 0D AB 00 A8 #.9.@.,|.-^,..+.(
00000140: FF 97 0D 39 07 C1 79 0A C1 7D 15 C1 82 18 C1 85 #...9.Ay.A}.A..A.
00000150: 1E C1 89 29 C1 93 33 C1 DE 55 C1 FA 65 C2 04 CE #.A.)A.3A^UAzeB.N
00000160: C1 44 C6 09 A6 00 91 29 27 09 08 08 08 5A 26 F4 #ADF.&..)'....Z&t
00000170: 7E C3 60 EE 01 96 2E 6E 00 96 20 20 B0 BD C2 C4 #~C`n...n.. 0=BD
00000180: 20 AB 97 20 39 16 7E C2 E1 5F 9B 27 97 27 D9 26 # +. 9.~Ba_.'.'Y&
00000190: D7 26 39 CE C1 BC 84 0F 08 08 4A 2A FB EE 00 DF #W&9NA<....J*{n._
000001A0: 1E CE 00 08 DF 26 C6 05 96 1E 84 E0 A7 04 09 86 #.N.._&F....`'...
000001B0: 03 79 00 1F 79 00 1E 4A 26 F7 5A 26 EB 39 F6 DF #.y..y..J&wZ&k9v_
000001C0: 49 25 F3 9F E7 9F 3E D9 E7 CF F7 CF 24 9F F7 DF #I%s.g.>YgOwO$.w_
000001D0: E7 DF B7 DF D7 DD F2 4F D6 DD F3 CF 93 4F DE 26 #g_7_W]rOV]sO.O^&
000001E0: C6 64 8D 06 C6 0A 8D 02 C6 01 D7 0E 5F 91 0E 25 #Fd..F...F.W._..%
000001F0: 05 5C 90 0E 20 F7 E7 00 08 39 0F 9F 12 8E 00 2F #.\.. wg..9...../
00000200: DE 26 20 09 0F 9F 12 9E 26 34 CE 00 30 D6 2B C4 #^& .....&4N.0V+D
00000210: 0F 32 A7 00 08 7C 00 27 5A 2A F6 9E 12 0E 39 D6 #.2'..|.'Z*v...9V
00000220: 29 7F 00 3F DE 26 86 01 97 1C C4 0F 26 02 C6 10 #)..?^&....D.&.F.
00000230: 37 DF 14 A6 00 97 1E 7F 00 1F D6 2E C4 07 27 09 #7_.&......V.D.'.
00000240: 74 00 1E 76 00 1F 5A 26 F5 D6 2E 8D 28 96 1E 8D #t..v..Z&uV..(...
00000250: 15 D6 2E CB 08 8D 1E 96 1F 8D 0B 7C 00 2F DE 14 #.V.K.......|./^.
00000260: 08 33 5A 26 CB 39 16 E8 00 AA 00 E7 00 11 27 04 #.3Z&K9.h.*.g..'.
00000270: 86 01 97 3F 39 96 2F 84 1F 48 48 48 C4 3F 54 54 #...?9./..HHHD?TT
00000280: 54 1B 97 1D DE 1C 39 C6 F0 CE 80 10 6F 01 E7 00 #T...^.9FpN..o.g.
00000290: C6 06 E7 01 6F 00 39 8D EE 7F 00 18 8D 55 E6 00 #F.g.o.9.n....Uf.
000002A0: 8D 15 97 17 C6 0F 8D E1 E6 00 54 54 54 54 8D 07 #....F..af.TTTT..
000002B0: 48 48 9B 17 97 17 39 C1 0F 26 02 D7 18 86 FF 4C #HH....9A.&.W...L
000002C0: 54 25 FC 39 DF 12 8D BF A6 01 2B 07 48 2A F9 6D #T%|9_..?&.+.H*ym
000002D0: 00 20 07 8D C2 7D 00 18 26 EC 8D 03 DE 12 39 C6 #. ..B}..&l..^.9F
000002E0: 04 D7 21 C6 41 F7 80 12 7D 00 21 26 FB C6 01 F7 #.W!FAw..}.!&{F.w
000002F0: 80 12 39 8D 00 37 C6 C8 5A 01 26 FC 33 39 CE 80 #..9..7FHZ.&|39N.
00000300: 12 C6 3B E7 01 C6 7F E7 00 A7 01 C6 01 E7 00 39 #.F;g.F.g.'.F.g.9
00000310: 8D 13 A6 00 2B FC 8D DD C6 09 0D 69 00 46 8D D3 #..&.+|.]F..i.F.S
00000320: 5A 26 F7 20 17 DF 12 CE 80 12 39 8D F8 36 6A 00 #Z&w ._.N..9.x6j.
00000330: C6 0A 8D BF A7 00 0D 46 5A 26 F7 32 DE 12 39 20 #F..?'..FZ&w2^.9
00000340: 83 86 37 8D B9 DE 02 39 8D F7 A6 00 8D DD 08 9C #..7.9^.9.w&..]..
00000350: 04 26 F7 20 0B 8D EA 8D B7 A7 00 08 9C 04 26 F7 #.&w ..j.7'....&w
00000360: 8E 00 7F CE C3 E9 DF 00 86 3F 8D 92 8D 43 0E 8D #...NCi_..?...C..
00000370: CE 4D 28 10 8D C9 84 03 27 23 4A 27 D8 4A 27 C8 #NM(..I..'#J'XJ'H
00000380: DE 06 6E 00 8D 0C 97 06 8D 06 97 07 8D 23 20 DF #^.n..........# _
00000390: 8D AD 48 48 48 48 97 0F 8D A5 9B 0F 39 8D 12 DE #.-HHHH...%..9..^
000003A0: 06 8D 25 8D 9A 4D 2B 04 8D E8 A7 00 08 DF 06 20 #..%..M+..h'.._.
000003B0: EC 86 10 8D 2B CE 01 C8 86 FF BD C0 7D CE 00 06 #l...+N.H..=@}N..
000003C0: 8D 06 08 8D 03 8D 15 39 A6 00 36 44 44 44 44 8D #.......9&.6DDDD.
000003D0: 01 32 DF 12 BD C1 93 C6 05 BD C2 24 86 04 9B 2E #.2_.=A.F.=B$....
000003E0: 97 2E 86 1A 97 2F DE 12 39 7A 00 20 7A 00 21 7D #...../^.9z. z.!}
000003F0: 80 12 3B DE 00 6E 00 00 C3 F3 00 80 00 83 C3 60 #..;^.n..Cs....C`

If I did it correctly, any of them should program the EPROM properly.

UPDATED to get VALID DATA.

Thanks.

Larry

Dwight Elvey
January 2nd, 2018, 05:26 PM
falter,
I took the Hex file and named it in.txt.

in.txt
0000 8D77CE0200DF22CE005FDF24DE22EE00
0010 DF28DF14BDC0D09614840F97148D2197
0020 2EDF2A9629444444448D15972FCEC048
0030 962884F00808801024FAEE00AD0020CC
0040 CE002F084A2AFCA60039C06AC0A2C0AC
0050 C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A7
0060 C097C0F8C21FC0D7C15FD62826259629
0070 81E0270581EE270E394FCE0100A70008
0080 8C020026F839309E243297223297239F
0090 243539DE146E0096305F9B159715D914
00A0 D714DE14DF2239DE14DF2639309E2496
00B0 23369622369F243520E89629912E2710
00C0 399629912E260939962F20F0962F20F3
00D0 DE220808DF2239BDC2977D00182707C6
00E0 A1D12927EB39C69ED12927D020D59629
00F0 203B96299B2E20358D389429202F962E
0100 D629C40F2602962F5A26029A2F5A2602
0110 942F5A5A260A7F003F9B2F24037C003F
0120 5A260A7F003F902F25037C003FDE2AA7
0130 003986C0972C7C002DDE2C960DAB00A8
0140 FF970D3907C1790AC17D15C18218C185
0150 1EC18929C19333C1DE55C1FA65C204CE
0160 C144C609A600912927090808085A26F4
0170 7EC360EE01962E6E00962020B0BDC2C4
0180 20AB972039167EC2E15F9B279727D926
0190 D72639CEC1BC840F08084A2AFBEE00DF
01A0 1ECE0008DF26C605961E84E0A7040986
01B0 0379001F79001E4A26F75A26EB39F6DF
01C0 4925F39FE79F3ED9E7CFF7CF249FF7DF
01D0 E7DFB7DFD7DDF24FD6DDF3CF934FDE26
01E0 C6648D06C60A8D02C601D70E5F910E25
01F0 055C900E20F7E70008390F9F128E002F
0200 DE2620090F9F129E2634CE0030D62BC4
0210 0F32A700087C00275A2AF69E120E39D6
0220 297F003FDE268601971CC40F2602C610
0230 37DF14A600971E7F001FD62EC4072709
0240 74001E76001F5A26F5D62E8D28961E8D
0250 15D62ECB088D1E961F8D0B7C002FDE14
0260 08335A26CB3916E800AA00E700112704
0270 8601973F39962F841F484848C43F5454
0280 541B971DDE1C39C6F0CE80106F01E700
0290 C606E7016F00398DEE7F00188D55E600
02A0 8D159717C60F8DE1E600545454548D07
02B0 48489B17971739C10F2602D71886FF4C
02C0 5425FC39DF128DBFA6012B07482AF96D
02D0 0020078DC27D001826EC8D03DE1239C6
02E0 04D721C641F780127D002126FBC601F7
02F0 8012398D0037C6C85A0126FC3339CE80
0300 12C63BE701C67FE700A701C601E70039
0310 8D13A6002BFC8DDDC6090D6900468DD3
0320 5A26F72017DF12CE8012398DF8366A00
0330 C60A8DBFA7000D465A26F732DE123920
0340 8386378DB9DE02398DF7A6008DDD089C
0350 0426F7200B8DEA8DB7A700089C0426F7
0360 8E007FCEC3E9DF00863F8D928D430E8D
0370 CE4D28108DC9840327234A27D84A27C8
0380 DE066E008D0C97068D0697078D2320DF
0390 8DAD48484848970F8DA59B0F398D12DE
03A0 068D258D9A4D2B048DE8A70008DF0620
03B0 EC86108D2BCE01C886FFBDC07DCE0006
03C0 8D06088D038D1539A60036444444448D
03D0 0132DF12BDC193C605BDC22486049B2E
03E0 972E861A972FDE12397A00207A00217D
03F0 80123BDE006E0000C3F300800083C360

Then used srec_cat in Linux to create the following three files:


$ srec_cat in.txt -fl -o Iout16 -Intel -address-length=3
1. Iout16 (16 Bit)


$ srec_cat in.txt -fl -o Mout16 -Motorola 16
2. Mout16 (16 Bit)


$ srec_cat in.txt -fl -o NEout -Needham_Hexadecimal
3. NEout (Needham Electronics)

Iout16
:020000020000FC
:20000000D34D34F03EFB084D36D340C5DB6084D34E450C5DB 80C4DB6104D34D34D740C5D1D
:20002000BC0C5D780430B40F4F7AD78F38D05F7BD78F03DB5 F7BD34DB4D840C5D80F7ADB10
:20004000DE38E38E38E38F03D79F7BD850840B4E3CD34DF4F 7ADBCF38174D3CD3CF34D744E
:20006000DB8140104D34003D34DB4082D34E34084D34D85D3 CE00D8014203AD34DFD0B4EA5
:20008000800B40360B4002D34E740B40400B40B50B40BC0B4 1040B41760B41440B40820B71
:2000A000403BD34EB40B4F7B0B417C0B6D450B40FB0B5E450 FADBCDBADB9F7ADBDD34EF473
:2000C000F35134DBBD39F35104DBBD04DFDE05084D35D3403 BD34D3CD34F34F02D36D34D34
:2000E000BA17CDFDDF4F44DB8DF6F7BDB6DF6F7BDB7F45D34 F74DB8DF9DFD0C4D78E84D39D
:200100004F7ADF4E45F41D79F7BD790FDD78D340340FBD780 C4D780C5DB6DFD0C4D780C57F
:20012000DBADFDDF4F44DB8F7AD34074DB7DFAF7ADB6DFAF4 5DB8DF9DB413CF7ADBDF75D70
:2001400084DBBD74D340B4DFDF7ADBDF75D84DBAD3DDFDF7A D85DB4174F7AD85DB4177D30D
:2001600040F40C4DB6D3CD3C0C5DB6DFD0430B6F7BEC3D34D 7CDBBD3B0BAD341340350F5D1
:20018000DBDDBB101DFD0BAF440F5DBDDBB0F4DB40F9F7ADB DD34174DB4DC1F7ADBDF41DC4
:2001A00084DB4DF9F03DFCF78DBDDB4D85F7AD84D35D340FA DBD0B8D05DBAD36F7AD85E416
:2001C0000DBAD36F40D85E40DBAD36D35D74F78D85E40E40D BAD00EC5D34DC5F41D85DB855
:2001E000D37EC2D34DC5D35DB4E40DBAD00EC5D34DC5F74D8 5DB9D37EC2D34DC50C4D80063
:200200003BD35DF4D34DFDF3A0B4F7BD82EC2D34D830C4D82 F7AD03001D3403CD35E341482
:200220005F7BD03DFDD3B0B5EFDD000B5EC3D790B5F36D7C0 B5F39D35E74D440B5F3DDBD14
:200240000B5F77DF70B50C4E790B5140EB90B6D38084D35EB 40B5E380BAD3D03AD34F75D8F
:20026000BDDBBD3DD3CD3CD3CE40DBA178D35EF4EC40B7EB4 104D35F7AD84E84D34F7ADB36
:200280004DB40740430B60B8D35F34DB4001F7BDB4DFDD7AE C40B6135E45F41DBBF7BDBBBD
:2002A0000FDDBAD35F740FBDBADFD0840B5042F38D05D3CD3 CE00D80141104D340C5D350AA
:2002C00034D44084D34D3C0C5DBA0BAD39F7AD44F3813403B D38D3DF3AD35074D37EFDD3B6
:2002E0004D45EFDD34D44E00DBA17BE40DBA101DFD17A0C5D 350B4E3DDB9177F4513BF45C0
:20030000DC40FD13B08517B085DB8F4517B0C5D350F413B0C 507B0C50FB0C3176E050FA01F
:20032000C3177085F77E050C4DBAD351340BAEB8F03D3A0BA D00F03D360BAD350FBD04E475
:200340005F75D04DB9D35174D39E42F74D04DB417B13BD34D 3CDFDD05F45D76F04D34D85C5
:20036000D36D340C4DBADB4D3DD05F45D76F44DBADF8084D3 4DF40FAD810B8D36D74D05DF0
:20038000F603BD34D3CEC2D34DBBE40D8017AF44D76D04DFD 0FAD36DB4DBDEC5D34DC50C66
:2003A0004DBAF3AD35F7BD420B8D05DBAD360BAD74D36DF4D FB0C5D7803AD34F7BD44EC547
:2003C000D34D450FAD840B8D3BDBBD3DD36E34EF8D34D44EF AD34D45E40DBA1790FAD84FB7
:2003E00003DBCF7AD44F03D36E74D790FAD84081D3CF03D44 F7AD45F03D01EC2D34D850C28
:200400004D78D36EB4D3CDF7E40DBA081DFDD7A13CD34000D 3413BD34D75DBBD38D36EF40E
:20042000F3AD35F7BDC5DFDF7AD85F38D45E3CE3CE3C0B8DC 5E78E78D36F34E78D41F7BD43
:20044000430C4D42DFD0BA174084F34D74E85D3513BD34D36 F740BAD3A13BD35E85D34DF43
:20046000DF03104EC5D34D7CF03E7913AD34D36034F03D79F 7BD7B0BAD05F0313513AD34FD
:20048000E78E78E78E78F03D3BD36074E3CE3CF41D7BF7BD7 BDFD0B5D05DBAD360FBD7CFAC
:2004A0003A145E02D360B4E78DB9142DFD0C5D76F0304503A D35D81D3BE3CD8017DE83D368
:2004C00060F4D34DB4D3BF030B6EC3D34D7CDBA102F03D370 C4D76DFD0BAD36134D380FBB7
:2004E000DB50BAE3517BF34D76EC3D34DB5DBA1410BAD3517 BD36174F34D76DFDF03D34DA7
:20050000FB0BA0BCE40D35DBA142DF7DFD084F34D37D34D76 0BADC113BD350BAEC513BD3EC
:20052000403BD350BAD3513BD34DFDD37D74F03D7703AD34D 81142F030C30BAD3DD03EBDCD
:20054000D34E3AF030F7D37DB4E40DBA17BDB4D7B0C5D7608 4F34D76DFDF0317CDFAE80DA1
:2005600034D37DF40BAD00F0304503BD34D03E3AE40DBA17B DF60C4D76DFDDB4D37E34F37E
:200580007F3ADFBF0307D0C4D36DFDF0317B03AD34F030C3D 3CF42D37E74D38DBA17BDB47B
:2005A000D01F03100F0307B03BD34D3CF42D38DBA17BD37EB 4F04D34EC50840B713D0C5D31
:2005C00034F3ADC5F03F76F03E37D04F03D37EF4084E03DBC D74F030BDF38D37DBBDB7E0D9
:1A05E0000DBB0FCE00DBB0BCD37F340C4D3AE84D34F03D02F 7BD3AF03D3A0F
:00000001FF

Mout16
S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D
S1230000D34D34F03EFB084D36D340C5DB6084D34E450C5DB8 0C4DB6104D34D34D740C5D19
S1230010BC0C5D780430B40F4F7AD78F38D05F7BD78F03DB5F 7BD34DB4D840C5D80F7ADB1C
S1230020DE38E38E38E38F03D79F7BD850840B4E3CD34DF4F7 ADBCF38174D3CD3CF34D746A
S1230030DB8140104D34003D34DB4082D34E34084D34D85D3C E00D8014203AD34DFD0B4ED1
S1230040800B40360B4002D34E740B40400B40B50B40BC0B41 040B41760B41440B40820BAD
S1230050403BD34EB40B4F7B0B417C0B6D450B40FB0B5E450F ADBCDBADB9F7ADBDD34EF4BF
S1230060F35134DBBD39F35104DBBD04DFDE05084D35D3403B D34D3CD34F34F02D36D34D90
S1230070BA17CDFDDF4F44DB8DF6F7BDB6DF6F7BDB7F45D34F 74DB8DF9DFD0C4D78E84D309
S12300804F7ADF4E45F41D79F7BD790FDD78D340340FBD780C 4D780C5DB6DFD0C4D780C5FC
S1230090DBADFDDF4F44DB8F7AD34074DB7DFAF7ADB6DFAF45 DB8DF9DB413CF7ADBDF75DFD
S12300A084DBBD74D340B4DFDF7ADBDF75D84DBAD3DDFDF7AD 85DB4174F7AD85DB4177D3AA
S12300B040F40C4DB6D3CD3C0C5DB6DFD0430B6F7BEC3D34D7 CDBBD3B0BAD341340350F57E
S12300C0DBDDBB101DFD0BAF440F5DBDDBB0F4DB40F9F7ADBD D34174DB4DC1F7ADBDF41D81
S12300D084DB4DF9F03DFCF78DBDDB4D85F7AD84D35D340FAD BD0B8D05DBAD36F7AD85E4E3
S12300E00DBAD36F40D85E40DBAD36D35D74F78D85E40E40DB AD00EC5D34DC5F41D85DB832
S12300F0D37EC2D34DC5D35DB4E40DBAD00EC5D34DC5F74D85 DB9D37EC2D34DC50C4D80050
S12301003BD35DF4D34DFDF3A0B4F7BD82EC2D34D830C4D82F 7AD03001D3403CD35E34147F
S12301105F7BD03DFDD3B0B5EFDD000B5EC3D790B5F36D7C0B 5F39D35E74D440B5F3DDBD21
S12301200B5F77DF70B50C4E790B5140EB90B6D38084D35EB4 0B5E380BAD3D03AD34F75DAC
S1230130BDDBBD3DD3CD3CD3CE40DBA178D35EF4EC40B7EB41 04D35F7AD84E84D34F7ADB63
S12301404DB40740430B60B8D35F34DB4001F7BDB4DFDD7AEC 40B6135E45F41DBBF7BDBBFA
S12301500FDDBAD35F740FBDBADFD0840B5042F38D05D3CD3C E00D80141104D340C5D350F7
S123016034D44084D34D3C0C5DBA0BAD39F7AD44F3813403BD 38D3DF3AD35074D37EFDD313
S12301704D45EFDD34D44E00DBA17BE40DBA101DFD17A0C5D3 50B4E3DDB9177F4513BF452D
S1230180DC40FD13B08517B085DB8F4517B0C5D350F413B0C5 07B0C50FB0C3176E050FA09D
S1230190C3177085F77E050C4DBAD351340BAEB8F03D3A0BAD 00F03D360BAD350FBD04E403
S12301A05F75D04DB9D35174D39E42F74D04DB417B13BD34D3 CDFDD05F45D76F04D34D8563
S12301B0D36D340C4DBADB4D3DD05F45D76F44DBADF8084D34 DF40FAD810B8D36D74D05D9E
S12301C0F603BD34D3CEC2D34DBBE40D8017AF44D76D04DFD0 FAD36DB4DBDEC5D34DC50C24
S12301D04DBAF3AD35F7BD420B8D05DBAD360BAD74D36DF4DF B0C5D7803AD34F7BD44EC515
S12301E0D34D450FAD840B8D3BDBBD3DD36E34EF8D34D44EFA D34D45E40DBA1790FAD84F95
S12301F003DBCF7AD44F03D36E74D790FAD84081D3CF03D44F 7AD45F03D01EC2D34D850C16
S12302004D78D36EB4D3CDF7E40DBA081DFDD7A13CD34000D3 413BD34D75DBBD38D36EF40C
S1230210F3AD35F7BDC5DFDF7AD85F38D45E3CE3CE3C0B8DC5 E78E78D36F34E78D41F7BD51
S1230220430C4D42DFD0BA174084F34D74E85D3513BD34D36F 740BAD3A13BD35E85D34DF61
S1230230DF03104EC5D34D7CF03E7913AD34D36034F03D79F7 BD7B0BAD05F0313513AD342B
S1230240E78E78E78E78F03D3BD36074E3CE3CF41D7BF7BD7B DFD0B5D05DBAD360FBD7CFEA
S12302503A145E02D360B4E78DB9142DFD0C5D76F0304503AD 35D81D3BE3CD8017DE83D3B6
S123026060F4D34DB4D3BF030B6EC3D34D7CDBA102F03D370C 4D76DFD0BAD36134D380FB15
S1230270DB50BAE3517BF34D76EC3D34DB5DBA1410BAD3517B D36174F34D76DFDF03D34D15
S1230280FB0BA0BCE40D35DBA142DF7DFD084F34D37D34D760 BADC113BD350BAEC513BD36B
S1230290403BD350BAD3513BD34DFDD37D74F03D7703AD34D8 1142F030C30BAD3DD03EBD5C
S12302A0D34E3AF030F7D37DB4E40DBA17BDB4D7B0C5D76084 F34D76DFDF0317CDFAE80D40
S12302B034D37DF40BAD00F0304503BD34D03E3AE40DBA17BD F60C4D76DFDDB4D37E34F32D
S12302C07F3ADFBF0307D0C4D36DFDF0317B03AD34F030C3D3 CF42D37E74D38DBA17BDB43A
S12302D0D01F03100F0307B03BD34D3CF42D38DBA17BD37EB4 F04D34EC50840B713D0C5D00
S12302E034F3ADC5F03F76F03E37D04F03D37EF4084E03DBCD 74F030BDF38D37DBBDB7E0B8
S11D02F00DBB0FCE00DBB0BCD37F340C4D3AE84D34F03D02F7 BD3AF03D3AFE
S5030030CC

NEout (Needham Electronics)
$A00000000,
D3 4D 34 F0 3E FB 08 4D 36 D3 40 C5 DB 60 84 D3
4E 45 0C 5D B8 0C 4D B6 10 4D 34 D3 4D 74 0C 5D
BC 0C 5D 78 04 30 B4 0F 4F 7A D7 8F 38 D0 5F 7B
D7 8F 03 DB 5F 7B D3 4D B4 D8 40 C5 D8 0F 7A DB
DE 38 E3 8E 38 E3 8F 03 D7 9F 7B D8 50 84 0B 4E
3C D3 4D F4 F7 AD BC F3 81 74 D3 CD 3C F3 4D 74
DB 81 40 10 4D 34 00 3D 34 DB 40 82 D3 4E 34 08
4D 34 D8 5D 3C E0 0D 80 14 20 3A D3 4D FD 0B 4E
80 0B 40 36 0B 40 02 D3 4E 74 0B 40 40 0B 40 B5
0B 40 BC 0B 41 04 0B 41 76 0B 41 44 0B 40 82 0B
40 3B D3 4E B4 0B 4F 7B 0B 41 7C 0B 6D 45 0B 40
FB 0B 5E 45 0F AD BC DB AD B9 F7 AD BD D3 4E F4
F3 51 34 DB BD 39 F3 51 04 DB BD 04 DF DE 05 08
4D 35 D3 40 3B D3 4D 3C D3 4F 34 F0 2D 36 D3 4D
BA 17 CD FD DF 4F 44 DB 8D F6 F7 BD B6 DF 6F 7B
DB 7F 45 D3 4F 74 DB 8D F9 DF D0 C4 D7 8E 84 D3
4F 7A DF 4E 45 F4 1D 79 F7 BD 79 0F DD 78 D3 40
34 0F BD 78 0C 4D 78 0C 5D B6 DF D0 C4 D7 80 C5
DB AD FD DF 4F 44 DB 8F 7A D3 40 74 DB 7D FA F7
AD B6 DF AF 45 DB 8D F9 DB 41 3C F7 AD BD F7 5D
84 DB BD 74 D3 40 B4 DF DF 7A DB DF 75 D8 4D BA
D3 DD FD F7 AD 85 DB 41 74 F7 AD 85 DB 41 77 D3
40 F4 0C 4D B6 D3 CD 3C 0C 5D B6 DF D0 43 0B 6F
7B EC 3D 34 D7 CD BB D3 B0 BA D3 41 34 03 50 F5
DB DD BB 10 1D FD 0B AF 44 0F 5D BD DB B0 F4 DB
40 F9 F7 AD BD D3 41 74 DB 4D C1 F7 AD BD F4 1D
84 DB 4D F9 F0 3D FC F7 8D BD DB 4D 85 F7 AD 84
D3 5D 34 0F AD BD 0B 8D 05 DB AD 36 F7 AD 85 E4
0D BA D3 6F 40 D8 5E 40 DB AD 36 D3 5D 74 F7 8D
85 E4 0E 40 DB AD 00 EC 5D 34 DC 5F 41 D8 5D B8
D3 7E C2 D3 4D C5 D3 5D B4 E4 0D BA D0 0E C5 D3
4D C5 F7 4D 85 DB 9D 37 EC 2D 34 DC 50 C4 D8 00
3B D3 5D F4 D3 4D FD F3 A0 B4 F7 BD 82 EC 2D 34
D8 30 C4 D8 2F 7A D0 30 01 D3 40 3C D3 5E 34 14
5F 7B D0 3D FD D3 B0 B5 EF DD 00 0B 5E C3 D7 90
B5 F3 6D 7C 0B 5F 39 D3 5E 74 D4 40 B5 F3 DD BD
0B 5F 77 DF 70 B5 0C 4E 79 0B 51 40 EB 90 B6 D3
80 84 D3 5E B4 0B 5E 38 0B AD 3D 03 AD 34 F7 5D
BD DB BD 3D D3 CD 3C D3 CE 40 DB A1 78 D3 5E F4
EC 40 B7 EB 41 04 D3 5F 7A D8 4E 84 D3 4F 7A DB
4D B4 07 40 43 0B 60 B8 D3 5F 34 DB 40 01 F7 BD
B4 DF DD 7A EC 40 B6 13 5E 45 F4 1D BB F7 BD BB
0F DD BA D3 5F 74 0F BD BA DF D0 84 0B 50 42 F3
8D 05 D3 CD 3C E0 0D 80 14 11 04 D3 40 C5 D3 50
34 D4 40 84 D3 4D 3C 0C 5D BA 0B AD 39 F7 AD 44
F3 81 34 03 BD 38 D3 DF 3A D3 50 74 D3 7E FD D3
4D 45 EF DD 34 D4 4E 00 DB A1 7B E4 0D BA 10 1D
FD 17 A0 C5 D3 50 B4 E3 DD B9 17 7F 45 13 BF 45
DC 40 FD 13 B0 85 17 B0 85 DB 8F 45 17 B0 C5 D3
50 F4 13 B0 C5 07 B0 C5 0F B0 C3 17 6E 05 0F A0
C3 17 70 85 F7 7E 05 0C 4D BA D3 51 34 0B AE B8
F0 3D 3A 0B AD 00 F0 3D 36 0B AD 35 0F BD 04 E4
5F 75 D0 4D B9 D3 51 74 D3 9E 42 F7 4D 04 DB 41
7B 13 BD 34 D3 CD FD D0 5F 45 D7 6F 04 D3 4D 85
D3 6D 34 0C 4D BA DB 4D 3D D0 5F 45 D7 6F 44 DB
AD F8 08 4D 34 DF 40 FA D8 10 B8 D3 6D 74 D0 5D
F6 03 BD 34 D3 CE C2 D3 4D BB E4 0D 80 17 AF 44
D7 6D 04 DF D0 FA D3 6D B4 DB DE C5 D3 4D C5 0C
4D BA F3 AD 35 F7 BD 42 0B 8D 05 DB AD 36 0B AD
74 D3 6D F4 DF B0 C5 D7 80 3A D3 4F 7B D4 4E C5
D3 4D 45 0F AD 84 0B 8D 3B DB BD 3D D3 6E 34 EF
8D 34 D4 4E FA D3 4D 45 E4 0D BA 17 90 FA D8 4F
03 DB CF 7A D4 4F 03 D3 6E 74 D7 90 FA D8 40 81
D3 CF 03 D4 4F 7A D4 5F 03 D0 1E C2 D3 4D 85 0C
4D 78 D3 6E B4 D3 CD F7 E4 0D BA 08 1D FD D7 A1
3C D3 40 00 D3 41 3B D3 4D 75 DB BD 38 D3 6E F4
F3 AD 35 F7 BD C5 DF DF 7A D8 5F 38 D4 5E 3C E3
CE 3C 0B 8D C5 E7 8E 78 D3 6F 34 E7 8D 41 F7 BD
43 0C 4D 42 DF D0 BA 17 40 84 F3 4D 74 E8 5D 35
13 BD 34 D3 6F 74 0B AD 3A 13 BD 35 E8 5D 34 DF
DF 03 10 4E C5 D3 4D 7C F0 3E 79 13 AD 34 D3 60
34 F0 3D 79 F7 BD 7B 0B AD 05 F0 31 35 13 AD 34
E7 8E 78 E7 8E 78 F0 3D 3B D3 60 74 E3 CE 3C F4
1D 7B F7 BD 7B DF D0 B5 D0 5D BA D3 60 FB D7 CF
3A 14 5E 02 D3 60 B4 E7 8D B9 14 2D FD 0C 5D 76
F0 30 45 03 AD 35 D8 1D 3B E3 CD 80 17 DE 83 D3
60 F4 D3 4D B4 D3 BF 03 0B 6E C3 D3 4D 7C DB A1
02 F0 3D 37 0C 4D 76 DF D0 BA D3 61 34 D3 80 FB
DB 50 BA E3 51 7B F3 4D 76 EC 3D 34 DB 5D BA 14
10 BA D3 51 7B D3 61 74 F3 4D 76 DF DF 03 D3 4D
FB 0B A0 BC E4 0D 35 DB A1 42 DF 7D FD 08 4F 34
D3 7D 34 D7 60 BA DC 11 3B D3 50 BA EC 51 3B D3
40 3B D3 50 BA D3 51 3B D3 4D FD D3 7D 74 F0 3D
77 03 AD 34 D8 11 42 F0 30 C3 0B AD 3D D0 3E BD
D3 4E 3A F0 30 F7 D3 7D B4 E4 0D BA 17 BD B4 D7
B0 C5 D7 60 84 F3 4D 76 DF DF 03 17 CD FA E8 0D
34 D3 7D F4 0B AD 00 F0 30 45 03 BD 34 D0 3E 3A
E4 0D BA 17 BD F6 0C 4D 76 DF DD B4 D3 7E 34 F3
7F 3A DF BF 03 07 D0 C4 D3 6D FD F0 31 7B 03 AD
34 F0 30 C3 D3 CF 42 D3 7E 74 D3 8D BA 17 BD B4
D0 1F 03 10 0F 03 07 B0 3B D3 4D 3C F4 2D 38 DB
A1 7B D3 7E B4 F0 4D 34 EC 50 84 0B 71 3D 0C 5D
34 F3 AD C5 F0 3F 76 F0 3E 37 D0 4F 03 D3 7E F4
08 4E 03 DB CD 74 F0 30 BD F3 8D 37 DB BD B7 E0
0D BB 0F CE 00 DB B0 BC D3 7F 34 0C 4D 3A E8 4D
34 F0 3D 02 F7 BD 3A F0 3D 3A

If I did it correctly, any of them should program the EPROM properly.

Thanks.

Larry


Ah Larry,
None of these files match the original file????
Dwight

ldkraemer
January 2nd, 2018, 05:44 PM
Dwight,
YES, I finally found that when I started checking. That is what I get for assuming that srec_info -guess would detect the
correct format of the HEX File. I've changed it to the correct format, so it decodes properly. I've updated the previous page.
It should be correct now.

Thanks.

Larry

Chuck(G)
January 2nd, 2018, 05:47 PM
If I take the s-record file, I get the following converted to .hex:



:10000000A1B091B9F9B8F0FDFC80D091D0A888904A
:10001000A0D5FDCD9D80B8BCFDCD95B0BCFDB09503
:10002000B980C8DCD0B88DB8A5C49CA09580F0F18B
:10003000D0E4FDC8A9D4C5FCD4C890D1FCD0C8ED8B
:10004000D0FC81C8CCD0FCD0CCC8C8C18C80A8CC96
:10005000B9A0C8B8B8C5B8E4FDB0C5B8B888FCA5A3
:10006000C894C0B8C9B9B1C094C0C18FA0B0F8FDE0
:10007000C194C0FC91C8D1CCC194C0B0CCB9C184EA
:10008000D0B0CCB9F480B0C0B9C194C0B0C9B9C1C6
:1000900094C0BC8DB0D9B9C1EDD0F8FCA0D8E9CFDF
:1000A000A1ECB8B4A891B9B8BDB9F0A1A091B9FCC0
:1000B000A5C094C0C1EFD0CDAC8FA8EDB8E9C18088
:1000C000D1A8EDB8E48185C485EDB4B891B9A1EDAE
:1000D000B894A9BCC8D9D0D899D1F5B4A198D0A06A
:1000E000B9B9A891B9B8BDB9F0A19584C088D1A11A
:1000F000E0CDA0B9B9A8E8B8E9CDA080E9A0E8B8FA
:1001000021E00019201939E99584A091B9F094C033
:10011000E9A1E83834E9C1E9D0281139FCFCA0D0C4
:10012000E5D0FC9CC8ACD1FC89C0E5D0E9A8ED388D
:10013000E08080C080E030E0C0E0D03080B0A0C07F
:1001400099A0F8FC89C8A5D1FC8CC894D021E0CF37
:10015000203939FC80C8CCCFFC91C884D0FCF4C8CD
:1001600084D0FC81C884D0FC89C8C1D0FCE5C8B566
:10017000D0FC94C88CD0FCF1C884D0FCD0D88C8042
:10018000FCD5D884D0FCF5C08C80CD9D80C18C80FE
:100190002108D4202C39CDC8CDCDC0CDCDF1CD3C5A
:1001A00014303539C1A4CCA115D0203C3921B1D1AE
:1001B000C1B8CDA8DCFCF8FCA0D0BCD13C20BDD897
:1001C000C4D1FD3DA184B8C4F52885B8B8D0D5D137
:1001D000042028F53890C505F8E4D1FCE4BFA1EC73
:1001E000E5C1D5D1A085B8A0E83821F0D1C1B8CFFC
:1001F00028E0FCF8FCA0D0F9D13C20BDD881D0FD8E
:100200003DD4A0CDCDB08D2885B8E9CD9980CDF570
:10021000F9283C39C1B8CD3C0DB8C094C03C0D3074
:10022000D93921E04D203939CDE4CC3C08C18DCFFE
:10023000213CD0203C3921B1D1C1B8CFF807050706
:1002400005E4F0B0C03921CCD0C1B8CDBC0DA0C7F9
:10025000E481FC81C0D9D03C09A0C538C039B0F5D3
:10026000CDF8CCC1D88CD0F8E480F488F587D8F9E3
:10027000D0E9A8EF38FDC488ED34E9F1D180F8F475
:1002800080F5201839212011393C0D30D93921D879
:10029000CDC1B8CF95B090FC303D383011FC0CE0AA
:1002A0003808FCFCA8C0ACD0CDF8D1C1C0D097B004
:1002B00088FCF1D181B08DB8B8E0FCD181F9BCA047
:1002C000D1B9BC80B0C0390CD038E0FCFCFCC4F81B
:1002D000D1210D0D2011FC21E9D0203B393C043007
:1002E00005FC2109FC2009FCC194C02101D138CFB3
:1002F00039A7C094D11430F8B8C894D314212CD3A2
:10030000C188D11430211C5138CD39A5C094D1F801
:100310000CC8B8C081D4203939C194C0143121240B
:1003200051C188D11430214451C188D114342134B1
:1003300051C188D11430213C51C188D1143021C021
:10034000D4C188D111ED513C0DB8C894C028097CA6
:10035000702120097C28117C78E48D29292929B570
:10036000ED20117C21057C35C094C0E9C1D8D03C7A
:100370000DB8C894C028097C7C212009FCB8C4F4BD
:10038000D12105FC35C094C00C402811FCFCFCA018
:10039000D89DD12815FCBCD8A0D1FCA7C8A0D1CD30
:1003A000F8D13C0130117C21ADD1C194D13C0DB8C4
:1003B000C894C0383D38EC81303D38C8C9D13C0FB5
:1003C000A087070707300F7CC194C03C0D30117C1B
:1003D0003810FCA7C088D40C4428117CE9A817FC6D
:1003E000F8BCC881D4E9BC0FA0C5380FFCB0F72118
:1003F0002011FCC194C00C413810FCB1B010FC308D
:0000000000000000

falter
January 2nd, 2018, 05:57 PM
I ran it under the led light again.. and I see some of the 00s turning into 0Fs.

falter
January 2nd, 2018, 06:04 PM
Nevermind.. it was the 2708 not sitting properly in the ZIF socket. I gave it a good push down, now it is reading in the same data that was there originally. LED 'UV' substitute fail. Going to have to purchase an actual eraser.

falter
January 2nd, 2018, 06:07 PM
Just to allay any confusion -- there are two codes in this thread. The one that starts with A1 is the 'mystery code' this 2708 already had on it. The one that starts with 8D is 'CHIPOS', what I ultimately intend to program to this device. That's the one Larry is working on.

Since the only burner I have available is the one installed in my SWTPC 6800, I took it upon myself to take Larry's very helpful work and convert it to S record format. That would be the only way to Load it back into the 6800 for burning right? I also changed the addresses from Cxxx to 0xxx, per the Microworks instructions.

Here is the CHIPOS code as I have it, to be sent back to the 6800:

S11300008D77CE0200DF22CE005FDF24DE22EE00
S1130010DF28DF14BDC0D09614840F97148D2197
S11300202EDF2A9629444444448D15972FCEC048
S1130030962884F00808801024FAEE00AD0020CC
S1130040CE002F084A2AFCA60039C06AC0A2C0AC
S1130050C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A7
S1130060C097C0F8C21FC0D7C15FD62826259629
S113007081E0270581EE270E394FCE0100A70008
S11300808C020026F839309E243297223297239F
S1130090243539DE146E0096305F9B159715D914
S11300A0D714DE14DF2239DE14DF2639309E2496
S11300B023369622369F243520E89629912E2710
S11300C0399629912E260939962F20F0962F20F3
S11300D0DE220808DF2239BDC2977D00182707C6
S11300E0A1D12927EB39C69ED12927D020D59629
S11300F0203B96299B2E20358D389429202F962E
S1130100D629C40F2602962F5A26029A2F5A2602
S1130110942F5A5A260A7F003F9B2F24037C003F
S11301205A260A7F003F902F25037C003FDE28A7
S1130130003986C0972C7C002DDE2C960DAB00A8
S1130140FF970D3907C1790AC17D15C18218C185
S11301501EC18929C19333C1DE55C1FA65C204CE
S1130160C144C609A600912927090808085A26F4
S11301707EC360EE01962E6E00962020B0BDC2C4
S113018020AB972039167EC2E15F9B279727D926
S1130190D72639CEC1BC840F08084A2AFBEE00DF
S11301A01ECE0008DF26C605961E84E0A7040986
S11301B00379001F79001E4A26F75A26EB39F6DF
S11301C04925F39FE79F3ED9E7CFF7CF249FF7DF
S11301D0E7DFB7DFD7DDF24FD6DDF3CF934FDE26
S11301E0C6648D06C60A8D02C601D70E5F910E25
S11301F0055C900E20F7E70008390F9F128E002F
S1130200DE2620090F9F129E2634CE0030D62BC4
S11302100F32A700087C00275A2AF69E120E39D6
S1130220297F003FDE268601971CC40F2602C610
S113023037DF14A600971E7F001FD62EC4072709
S113024074001E76001F5A26F5D62E8D28961E8D
S113025015D62ECB088D1E961F8D0B7C002FDE14
S113026008335A26CB3916E800AA00E700112704
S11302708601973F39962F841F484848C43F5454
S1130280541B971DDE1C39C6F0CE80106F01E700
S1130290C606E7016F00398DEE7F00188D55E600
S11302A08D159717C60F8DE1E600545454548D07
S11302B048489B17971739C10F2602D71886FF4C
S11302C05425FC39DF128DBFA6012B07482AF96D
S11302D00020078DC27D001826EC8D03DE1239C6
S11302E004D721C641F780127D002126FBC601F7
S11302F08012398D0037C6C85A0126FC3339CE80
S113030012C63BE701C67FE700A701C601E70039
S11303108D13A6002BFC8DDDC6090D6900468DD3
S11303205A26F72017DF12CE8012398DF8366A00
S1130330C60A8DBFA7000D465A26F732DE123920
S11303408386378DB9DE02398DF7A6008DDD089C
S11303500426F7200B8DEA8DB7A700089C0426F7
S11303608E007FCEC3E9DF00863F8D928D430E8D
S1130370CE4D28108DC9840327234A27D84A27C8
S1130380DE066E008D0C97068D0697078D2320DF
S11303908DAD48484848970F8DA59B0F398D12DE
S11303A0068D258D9A4D2B048DE8A70008DF0620
S11303B0EC86108D2BCE01C886FFBDC07DCE0006
S11303C08D06088D038D1539A60036444444448D
S11303D00132DF12BDC193C605BDC22486049B2E
S11303E0972E861A972FDE12397A00207A00217D
S11303F080123BDE006E0000C3F300800083C360

So if I have it right, all I have to do is fire up the 6800 with my blank 2708 in the burner, (L)oad the data above from my PC terminal (sent as a text file), and (B)urn it to the chip in Microworks.

I'm going to order a UV eraser.. I suppose for now I could put the chip in the window to get some UV from the sun..

falter
January 2nd, 2018, 06:41 PM
Yeah there's some weirdness going on with this burner. Depending on how I seat the chip, it either reads all 0s or starts with A1, but then the rest of the code is different than what I posted previously. I'm not sure if that's corruption from my attempts at erasing it though. Could be that.

I also am misunderstanding how S records are put together. I tried to simply copy the formatting the machine punched out to me, but I notice the lines I've created are two characters shorter than what the 6800 punched out to me. I think there's a checksum or something I need to add?

Chuck(G)
January 2nd, 2018, 07:18 PM
Let's look at the last record in the file you displayed:

S11303F080123BDE006E0000C3F300800083C360

This says you have a type 1 record (16 bit address + data), a byte count (address+data+checksum) of 13 hex or 19 decimal.
The record has an address of 03F0, and the data is 80 12 3B DE 00 6E 00 00 C3 F3 00 80 00 83 C3 60 and the checksum is missing.

falter
January 2nd, 2018, 08:43 PM
Can I add a checksum? Or reformat the record so it doesn't require one?

Chuck(G)
January 2nd, 2018, 10:01 PM
You can easily add a checksum, but are you sure it's that byte that is missing? Do you have the binary data?

Dwight Elvey
January 2nd, 2018, 10:40 PM
Here is a .HEX file that I created with the attached Forth file ( using winforth32 ).
I used the original text from the article.
I used the base address of 0000 as would be typical for most EPROM programmers.
I can easily create an other .HEX file with what ever address you need to load it into for your programmer.
You just need to give me the base address.
You'd need to convert it to a S file first though. I'm not familiar with S format so I just did Intel Hex.

[code]
:100000008D77CE0200DF22CE005FDF24DE22EE00FD
:10001000DF28DF14BDC0D09614840F97148D21977B
:100020002EDF2A9629444444448D15972FCEC048AA
:10003000962884F00808801024FAEE00AD0020CC76
:10004000CE002F084A2AFCA60039C06AC0A2C0ACA0
:10005000C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A757
:10006000C097C0F8C21FC0D7C15FD628262596293B
:1000700081E0270581EE270E394FCE0100A70008B2
:100080008C020026F839309E243297223297239F9B
:10009000243539DE146E0096305F9B159715D91487
:1000A000D714DE14DF2239DE14DF2639309E249617
:1000B00023369622369F243520E89629912E2710E9
:1000C000399629912E260939962F20F0962F20F318
:1000D000DE220808DF2239BDC2977D00182707C6FA
:1000E000A1D12927EB39C69ED12927D020D59629F3
:1000F000203B96299B3E20358D389429202F962E04
:10010000D629C40F2602962F5A26029A2F5A260254
:10011000942F5A5A260A7F003F9B2F24037C003FCE
:100120005A260A7F003F902F25037C003FDE2AA745
:10013000003986C0972C7C002DDE2C960DAB00A8F2
:10014000FF970D3907C1790AC17D15C18218C185C1
:100150001EC18929C19333C1DE55C1FA65C204CE1B
:10016000C144C609A600912927090808085A26F4EA
:100170007EC360EE01962E6E00962020B0BDC2C44E
:1001800020AB972039167EC2E15F9B279727D92608
:10019000D72639CEC1BC840F08084A2AFBEE00DF77
:1001A0001ECE0008DF26C605961E84E0A7040986C0
:1001B0000379001F79001E4A26F75A26EB39F6DFC3
:1001C0004925F39FE79F3ED9E7CFF7CF249FF7DF22
:1001D000E7DFB7DFD7DDF24FD6DDF3CF934FDE2627
:1001E000C6648D06C60A8D02C601D70E5F910E25E7
:1001F000055C900E20F7E70008390F9F128E002F16
:10020000DE2620090F9F129E2634CE0030D62BC428
:100210000F32A700087C00275A2AF69E120E39D6F5
:10022000297F003FDE268601971CC40F2602C610D8
:1002300037DF14A600971E7F001FD62EC4072709AB
:1002400074001E76001F5A26F5D62E8D28961E8D36
:1002500015D62ECB088D1E961F8D0B7C002FDE144A
:1002600008335A26CB3916E800AA00E70011270440
:100270008601973F39962F841F484848C43F545448
:10028000541B971DDE1C39C6F0CE80106F01E70007
:10029000C606E7016F00398DEE7F00188D55E60091
:1002A0008D159717C60F8DE1E600545454548D0769
:1002B00048489B17971739C10F2602D71886FF4CE4
:1002C0005425FC39DF128DBFA6012B07482AF96D28
:1002D0000020078DC27D001826EC8D03DE1239C627
:1002E00004D721C641F780127D002126FBC601F7B9
:1002F0008012398D0037C6C85A0126FC3339CE806D
:1003000012C63BE701C67FE700A701C601E700390A
:100310008D13A6002BFC8DDDC6090D6900468DD3FD
:100320005A26F72017DF12CE8012398DF8366A0061
:10033000C60A8DBFA7000D465A26F732DE123920B5
:100340008386378DB9DE02398DF7A6008DDD089CE5
:100350000426F7200B8DEA8DB7A700089C0426F748
:100360008E007FCEC3E9DF00863F8D928D430E8D05
:10037000CE4D2A108DC9840327234A27D84A27C8BB
:10038000DE066E008D0C97068D0697078D2320DF50
:100390008DAD48484848970F8DA59B0F398D12DE25
:1003A000068D258D9A4D2B048DE8A70008DF062032
:1003B000EC86108D2BCE01C886FFBDC07DCE000691
:1003C0008D06088D038D1539A60036444444448D35
:1003D0000132DF12BDC193C605BDC22486049B2EBD
:1003E000972E861A972FDE12397A00207A00217DAC
:1003F00080123BDE006E0000C3F300800083C360BC
:00000001FF

[\code]

Here is my file:

[code]
\ TXT TO HEX DKE 1 jan 2018

hex
create HexBuf 30 allot
\ Put the fixed values in the Hex Line we will build.
ascii : HexBuf c! \ always starts wit a :
ascii 1 HexBuf 1 + c!
ascii 0 HexBuf 2 + c! \ I'm building 16d bytes or $10
ascii 0 HexBuf 7 + c!
ascii 0 HexBuf 8 + c! \ 00 is the data type
$0D HexBuf $2B + c!
$0A HexBuf $2C + c! \ 0D 0A is end of line
\ line is $2D long
\ Address goes at offset 3
\ data follows the type at offset 9 but I'll be putting bytes
\ on the line in backwards order because I'll be taking them off
\ the data stack in reverse order. The first byte off the stack
\ will go at offset $27 which is in front of the check sum that
\ goes at $29 ( note each byt takes 2 characters ).

\ We need to make a file to write the hex file into

0 value PromAddr

0 value HexHandle
: MakeHexFile ( - | filename )
bl word count r/w
create-file abort" Can find file"
to HexHandle
0 to PromAddr ;

0 value LinePntr
0 value ChkSum

\ I am making the address start at 0 because I don't know the loaction
\ where the EPROM data is expected to go???
\ starting at 0 would be typical for an EPROM programmer.

: HexLine ( 16dValues - )
$27 to LinePntr \ init pointer to line I'm building
$10 to ChkSum \ init the check sum
PromAddr 0 <# # # # # #> \ builds the address string ( already in hex )
3 HexBuf + swap cmove \ Address string into buffer
PromAddr $10 /mod + +to ChkSum
10 +to PromAddr
$10 0 do \ 16d value per line
dup +to ChkSum \ keep running CheckSum
0 <# # # #>
LinePntr HexBuf + swap cmove \ move string to buffer
-2 +to LinePntr
loop
$7000 ChkSum - $0FF and 0 <# # # #> \ check sum value
$29 HexBuf + swap cmove
HexBuf $2D HexHandle write-File Abort" Unable to write to file " ;

: EndFile ( - )
HexBuf 1 + to LinePntr
7 0 do
ascii 0 LinePntr c!
1 +to LinePntr
loop
ascii 1 LinePntr c! 1 +to LinePntr
ascii F LinePntr c! 1 +to LinePntr
ascii F LinePntr c! 1 +to LinePntr
$0D LinePntr c! 1 +to LinePntr
$0A LinePntr c! 1 +to LinePntr
HexBuf LinePntr HexBuf - HexHandle write-file Abort" Unable to write to file "
HexHandle close-file drop ;




MakeHexFile Falter.Hex

8D 77 CE 02 00 DF 22 CE 00 5F DF 24 DE 22 EE 00 HexLine
DF 28 DF 14 BD C0 D0 96 14 84 0F 97 14 8D 21 97 HexLine
2E DF 2A 96 29 44 44 44 44 8D 15 97 2F CE C0 48 HexLine
96 28 84 F0 08 08 80 10 24 FA EE 00 AD 00 20 CC HexLine
CE 00 2F 08 4A 2A FC A6 00 39 C0 6A C0 A2 C0 AC HexLine
C0 BA C0 C1 C0 C8 C0 EE C0 F2 C0 FE C0 CC C0 A7 HexLine
C0 97 C0 F8 C2 1F C0 D7 C1 5F D6 28 26 25 96 29 HexLine
81 E0 27 05 81 EE 27 0E 39 4F CE 01 00 A7 00 08 HexLine
8C 02 00 26 F8 39 30 9E 24 32 97 22 32 97 23 9F HexLine
24 35 39 DE 14 6E 00 96 30 5F 9B 15 97 15 D9 14 HexLine
D7 14 DE 14 DF 22 39 DE 14 DF 26 39 30 9E 24 96 HexLine
23 36 96 22 36 9F 24 35 20 E8 96 29 91 2E 27 10 HexLine
39 96 29 91 2E 26 09 39 96 2F 20 F0 96 2F 20 F3 HexLine
DE 22 08 08 DF 22 39 BD C2 97 7D 00 18 27 07 C6 HexLine
A1 D1 29 27 EB 39 C6 9E D1 29 27 D0 20 D5 96 29 HexLine
20 3B 96 29 9B 3E 20 35 8D 38 94 29 20 2F 96 2E HexLine

D6 29 C4 0F 26 02 96 2F 5A 26 02 9A 2F 5A 26 02 HexLine
94 2F 5A 5A 26 0A 7F 00 3F 9B 2F 24 03 7C 00 3F HexLine
5A 26 0A 7F 00 3F 90 2F 25 03 7C 00 3F DE 2A A7 HexLine
00 39 86 C0 97 2C 7C 00 2D DE 2C 96 0D AB 00 A8 HexLine
FF 97 0D 39 07 C1 79 0A C1 7D 15 C1 82 18 C1 85 HexLine
1E C1 89 29 C1 93 33 C1 DE 55 C1 FA 65 C2 04 CE HexLine
C1 44 C6 09 A6 00 91 29 27 09 08 08 08 5A 26 F4 HexLine
7E C3 60 EE 01 96 2E 6E 00 96 20 20 B0 BD C2 C4 HexLine
20 AB 97 20 39 16 7E C2 E1 5F 9B 27 97 27 D9 26 HexLine
D7 26 39 CE C1 BC 84 0F 08 08 4A 2A FB EE 00 DF HexLine
1E CE 00 08 DF 26 C6 05 96 1E 84 E0 A7 04 09 86 HexLine
03 79 00 1F 79 00 1E 4A 26 F7 5A 26 EB 39 F6 DF HexLine
49 25 F3 9F E7 9F 3E D9 E7 CF F7 CF 24 9F F7 DF HexLine
E7 DF B7 DF D7 DD F2 4F D6 DD F3 CF 93 4F DE 26 HexLine
C6 64 8D 06 C6 0A 8D 02 C6 01 D7 0E 5F 91 0E 25 HexLine
05 5C 90 0E 20 F7 E7 00 08 39 0F 9F 12 8E 00 2F HexLine

DE 26 20 09 0F 9F 12 9E 26 34 CE 00 30 D6 2B C4 HexLine
0F 32 A7 00 08 7C 00 27 5A 2A F6 9E 12 0E 39 D6 HexLine
29 7F 00 3F DE 26 86 01 97 1C C4 0F 26 02 C6 10 HexLine
37 DF 14 A6 00 97 1E 7F 00 1F D6 2E C4 07 27 09 HexLine
74 00 1E 76 00 1F 5A 26 F5 D6 2E 8D 28 96 1E 8D HexLine
15 D6 2E CB 08 8D 1E 96 1F 8D 0B 7C 00 2F DE 14 HexLine
08 33 5A 26 CB 39 16 E8 00 AA 00 E7 00 11 27 04 HexLine
86 01 97 3F 39 96 2F 84 1F 48 48 48 C4 3F 54 54 HexLine
54 1B 97 1D DE 1C 39 C6 F0 CE 80 10 6F 01 E7 00 HexLine
C6 06 E7 01 6F 00 39 8D EE 7F 00 18 8D 55 E6 00 HexLine
8D 15 97 17 C6 0F 8D E1 E6 00 54 54 54 54 8D 07 HexLine
48 48 9B 17 97 17 39 C1 0F 26 02 D7 18 86 FF 4C HexLine
54 25 FC 39 DF 12 8D BF A6 01 2B 07 48 2A F9 6D HexLine
00 20 07 8D C2 7D 00 18 26 EC 8D 03 DE 12 39 C6 HexLine
04 D7 21 C6 41 F7 80 12 7D 00 21 26 FB C6 01 F7 HexLine
80 12 39 8D 00 37 C6 C8 5A 01 26 FC 33 39 CE 80 HexLine

12 C6 3B E7 01 C6 7F E7 00 A7 01 C6 01 E7 00 39 HexLine
8D 13 A6 00 2B FC 8D DD C6 09 0D 69 00 46 8D D3 HexLine
5A 26 F7 20 17 DF 12 CE 80 12 39 8D F8 36 6A 00 HexLine
C6 0A 8D BF A7 00 0D 46 5A 26 F7 32 DE 12 39 20 HexLine
83 86 37 8D B9 DE 02 39 8D F7 A6 00 8D DD 08 9C HexLine
04 26 F7 20 0B 8D EA 8D B7 A7 00 08 9C 04 26 F7 HexLine
8E 00 7F CE C3 E9 DF 00 86 3F 8D 92 8D 43 0E 8D HexLine
CE 4D 2A 10 8D C9 84 03 27 23 4A 27 D8 4A 27 C8 HexLine
DE 06 6E 00 8D 0C 97 06 8D 06 97 07 8D 23 20 DF HexLine
8D AD 48 48 48 48 97 0F 8D A5 9B 0F 39 8D 12 DE HexLine
06 8D 25 8D 9A 4D 2B 04 8D E8 A7 00 08 DF 06 20 HexLine
EC 86 10 8D 2B CE 01 C8 86 FF BD C0 7D CE 00 06 HexLine
8D 06 08 8D 03 8D 15 39 A6 00 36 44 44 44 44 8D HexLine
01 32 DF 12 BD C1 93 C6 05 BD C2 24 86 04 9B 2E HexLine
97 2E 86 1A 97 2F DE 12 39 7A 00 20 7A 00 21 7D HexLine
80 12 3B DE 00 6E 00 00 C3 F3 00 80 00 83 C3 60 HexLine

EndFile
[\code]

Not sure how to do a code tag??

Dwight

Dwight Elvey
January 2nd, 2018, 10:51 PM
You'll need to get a real UV light. Even under the sun it'll take a month or more. You need the higher frequency UV that can only come from a naked arc lamp or a quartz UV light ( not what is called a black light ).
Dwight

Chuck(G)
January 2nd, 2018, 11:03 PM
If you can't find an appropriately-priced EPROM eraser, look for what's called a "germicidal lamp" which use UV-C to do their work.

When I first started with EPROMs, my first EPROM eraser was a coffee can with a clothes dryer germicidal lamp mounted inside. Apparently those haven't been made in many years.

Sunlight isn't really rich enough in UV-C do work in a reasonable amount of time.

ldkraemer
January 3rd, 2018, 06:20 AM
falter,
In reference to you posting in #36, here is a Motorola S file that should be correct with the checksums.


$srec_cat in1.txt -Needham_Hexadecimal -offset 0000 -o Mout16 -Motorola 16 -obs 16

S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D
S11300008D77CE0200DF22CE005FDF24DE22EE00F9
S1130008DF28DF14BDC0D09614840F97148D219770
S11300102EDF2A9629444444448D15972FCEC04898
S1130018962884F00808801024FAEE00AD0020CC5D
S1130020CE002F084A2AFCA60039C06AC0A2C0AC80
S1130028C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A730
S1130030C097C0F8C21FC0D7C15FD628262596290D
S113003881E0270581EE270E394FCE0100A700087D
S11300408C020026F839309E243297223297239F5F
S1130048243539DE146E0096305F9B159715D91444
S1130050D714DE14DF2239DE14DF2639309E2496CD
S113005823369622369F243520E89629912E271098
S1130060399629912E260939962F20F0962F20F3C0
S1130068DE220808DF2239BDC2977D00182707C69B
S1130070A1D12927EB39C69ED12927D020D596298D
S1130078203B96299B2E20358D389429202F962EA7
S1130080D629C40F2602962F5A26029A2F5A2602E0
S1130088942F5A5A260A7F003F9B2F24037C003F53
S11300905A260A7F003F902F25037C003FDE2AA7C3
S1130098003986C0972C7C002DDE2C960DAB00A869
S11300A0FF970D3907C1790AC17D15C18218C18531
S11300A81EC18929C19333C1DE55C1FA65C204CE84
S11300B0C144C609A600912927090808085A26F44C
S11300B87EC360EE01962E6E00962020B0BDC2C4A9
S11300C020AB972039167EC2E15F9B279727D9265C
S11300C8D72639CEC1BC840F08084A2AFBEE00DFC4
S11300D01ECE0008DF26C605961E84E0A704098606
S11300D80379001F79001E4A26F75A26EB39F6DF02
S11300E04925F39FE79F3ED9E7CFF7CF249FF7DF5A
S11300E8E7DFB7DFD7DDF24FD6DDF3CF934FDE2658
S11300F0C6648D06C60A8D02C601D70E5F910E2511
S11300F8055C900E20F7E70008390F9F128E002F39
S1130100DE2620090F9F129E2634CE0030D62BC443
S11301080F32A700087C00275A2AF69E120E39D609
S1130110297F003FDE268601971CC40F2602C610E5
S113011837DF14A600971E7F001FD62EC4072709B1
S113012074001E76001F5A26F5D62E8D28961E8D35
S113012815D62ECB088D1E961F8D0B7C002FDE1442
S113013008335A26CB3916E800AA00E70011270431
S11301388601973F39962F841F484848C43F545432
S1130140541B971DDE1C39C6F0CE80106F01E700EA
S1130148C606E7016F00398DEE7F00188D55E6006D
S11301508D159717C60F8DE1E600545454548D073E
S113015848489B17971739C10F2602D71886FF4CB2
S11301605425FC39DF128DBFA6012B07482AF96DEF
S11301680020078DC27D001826EC8D03DE1239C6E7
S113017004D721C641F780127D002126FBC601F772
S11301788012398D0037C6C85A0126FC3339CE801F
S113018012C63BE701C67FE700A701C601E70039B5
S11301888D13A6002BFC8DDDC6090D6900468DD3A1
S11301905A26F72017DF12CE8012398DF8366A00FE
S1130198C60A8DBFA7000D465A26F732DE1239204B
S11301A08386378DB9DE02398DF7A6008DDD089C74
S11301A80426F7200B8DEA8DB7A700089C0426F7D0
S11301B08E007FCEC3E9DF00863F8D928D430E8D86
S11301B8CE4D28108DC9840327234A27D84A27C837
S11301C0DE066E008D0C97068D0697078D2320DFC3
S11301C88DAD48484848970F8DA59B0F398D12DE91
S11301D0068D258D9A4D2B048DE8A70008DF062097
S11301D8EC86108D2BCE01C886FFBDC07DCE0006EF
S11301E08D06088D038D1539A60036444444448D8C
S11301E80132DF12BDC193C605BDC22486049B2E0D
S11301F0972E861A972FDE12397A00207A00217DF5
S11301F880123BDE006E0000C3F300800083C360FE
S5030040BC

Thanks.

Larry

Dwight Elvey
January 3rd, 2018, 06:58 AM
I'm curious about the first line of code:

S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D

Is that the code that the 6800 needs to program the following code?
Dwight

falter
January 3rd, 2018, 12:01 PM
I'm curious about the first line of code:

S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D

Is that the code that the 6800 needs to program the following code?
Dwight

Yeah I'm kind of curious about that code also..

ldkraemer
January 3rd, 2018, 12:07 PM
I am afraid I can't say for sure. But, I do know it's the code that Debian's (8.x - 32 Bit) srec_cat inserted when

$srec_cat in1.txt -Needham_Hexadecimal -offset 0000 -o Mout16 -Motorola 16 -obs 16

was executed.

Larry

Chuck(G)
January 3rd, 2018, 12:11 PM
Take a look at it--it starts off "http://srec..."

Since the second line is also loaded at 0000, it's overwritten when read by a PROM programmer.

So, perhaps a way of identifying the source?

Dwight Elvey
January 3rd, 2018, 12:46 PM
I see it at:

Mout16
S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D

Or at least the first few bytes.
I'd discard it if it isn't something for your programmer.

Looking at the Wikipedia, it says you should have C1702As for the EPROMs in the Dynamicro and not 2708. So I'd guess it was just to make it look like there was something there. There is a E&L unit on ebay with two EPROMs that look right, for a medium high price. The switches are messed up and missing the processor.
Dwight

ldkraemer
January 3rd, 2018, 01:51 PM
Chuck,
Thanks, I finally found the references. I had been using the manpage that was in Debian 8.x (32 Bit Linux) and I didn't think
to look for more information on the Internet. If I ever knew it was available, I had forgotten.



http://srecord.sourceforge.net/
http://srecord.sourceforge.net/man/man5/srec_motorola.html
http://srecord.sourceforge.net/man/man5/srec_intel.html
http://srecord.sourceforge.net/man/man5/srec_needham.html


Larry

Chuck(G)
January 3rd, 2018, 03:17 PM
It's also on Wikip:

https://en.wikipedia.org/wiki/SREC_(file_format)

And includes the later variants with 24 and 32-bit addresses and 16-bit length fields.

falter
January 3rd, 2018, 05:35 PM
So that first bit is just sort of a shout out by whoever developed the translation software?

Chuck(G)
January 3rd, 2018, 05:49 PM
That's the way I read it. Delete it--it doesn't have any functional value.

falter
January 3rd, 2018, 06:43 PM
Okay so with that deleted, I can load most of the code into my 6800.. but at some point it fails for some reason. Normally when you load something, you hit L, send your file.. and nothing happens until it finishes (sometimes you have to hit reset). On mine, it'll sit there for quite a while and then suddenly break out and be spitting characters out onto the command prompt. Either I have a problem with the 6800, or something in that code isn't being digested well. I've verified from 0000 several addresses out it gets read in ok. Somewhere in the middle it breaks.

falter
January 3rd, 2018, 07:10 PM
Okay I found where it's going wrong.

I find these strings hard to understand.. from my limited understanding, if we have a line like this:

S11300E8E7DFB7DFD7DDF24FD6DDF3CF934FDE2658 - the last address value should be $00EF - 4F. Which it is.

The next line reads:

S11300F0C6648D06C60A8D02C601D70E5F910E2511

So address 00F0 should be C6. But it's not. My 6800 has it as FD. The next address is 6D, DF, 3C. So something is goofed in the line for 00E8, and it spirals out of control from there.

Chuck(G)
January 3rd, 2018, 10:11 PM
A couple of thoughts.

Does your loader program use the memory at 00F0?
Have you tried setting the area where you're going to load to all 00 before running your loader? You may not be reading mis-loaded data, but stuff that was already there.

Dwight Elvey
January 4th, 2018, 06:55 AM
It has been a while since I looked at 6800 code. Looking at the web, I see that the 6800 starts executing at address 0. I would expect that that area would contain ROM and not RAM. It might have some type of switch to remap addresses after reset but that is not likely.
Should the code that you are loading have some offset? What does the memory map of your machine look like?
Dwight

falter
January 4th, 2018, 07:31 AM
I can manually go in and edit the contents of everything from 0000 right past 3000. I actually loaded in TSC BASIC which uses the same RAM area and then some.. no problem. I think there's something wrong in the srecord.

Chuck(G)
January 4th, 2018, 08:58 AM
If I take that one line an convert it to binary via MOT2BIN, I get:

C6 64 8D 06 C6 0A 8D 02 C6 01 D7 0E 5F 91 0E 25

So it appears that there's something wrong in your setup.

Dwight Elvey
January 4th, 2018, 02:35 PM
There is something wrong with the address counting. In the S records, there are 16 ( 0x10 ) bytes.
The lines are only incrementing by 8 addresses. They should be 0x10, no 0x8.
It looks like it is S records for a 32 bit wide memory.
The byte count is right at 0x13.
At least that is what I'm seeing. Chuck, am I wrong?
I'll modify my program to do S records later tonight when I get to
my home computer.
Dwight

Chuck(G)
January 4th, 2018, 04:17 PM
No, good spotting! Looks as if the converter was assuming a 16-bit addressing granularity, rather than 8 bit. Such machines exist, but not encountered very often today.

KaosEngineer
January 4th, 2018, 05:31 PM
Thanks Dwight.

Right now I'm trying to figure out how to get an idea as to what was on this 2708 I dumped. The Microworks 2708 burner my 6800 has appears to be working ok. I had the 6800 punch it out what I dumped as an Srecord.. then used a program called srec2bin to turn it into a bin file. I'm pretty sure whatever was on this eprom was intended to work with an Intel based machine, so I don't know if I'm muddling things by converting it from srec to bin. But anyway, looking for a hex editor to view it and see if any strings or anything in it give hints as to what it is.
I'd suggest HexEdit 4.0 (www.hexedit.com). It can Export binary data to S-records or intel Hex files as well as Import them.

42856

KaosEngineer
January 4th, 2018, 05:53 PM
S-record file with MIKBUG and SWTBUG for a 2K EPROM/EEPROM adapter with a jumper to select either the first 1K or second 1K as the 2708 it replaces only has 9 address lines on the 2716 there are 10 (A0..A9). You'd set A9 to a logic 0 for MIKBUG startup or to a logic 1 for SWTBUG.

URL: http://www.swtpc.com/mholley/ROM_Emulator/SwtMik.txt

Many more documents on the SWTCP 6800 at: http://www.swtpc.com/mholley/index.html

A USB TL866CS or TL866A listed on eBay can program 2716's but not the 2708 as they require a higher programming voltage level than this programmer can provide.

There are adapter boards to change from 2708/16 EPROMs to 23xx EEPROMs too. You don't need a UV eraser to modify the program.

http://www.go4retro.com/products/23xx-adapter/

ldkraemer
January 4th, 2018, 06:47 PM
Will this code work better?


$srec_cat in1.txt -Needham_Hexadecimal -o Mout8 -Motorola 8 -obs 16

S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D
S11300008D77CE0200DF22CE005FDF24DE22EE00F9
S1130010DF28DF14BDC0D09614840F97148D219768
S11300202EDF2A9629444444448D15972FCEC04888
S1130030962884F00808801024FAEE00AD0020CC45
S1130040CE002F084A2AFCA60039C06AC0A2C0AC60
S1130050C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A708
S1130060C097C0F8C21FC0D7C15FD62826259629DD
S113007081E0270581EE270E394FCE0100A7000845
S11300808C020026F839309E243297223297239F1F
S1130090243539DE146E0096305F9B159715D914FC
S11300A0D714DE14DF2239DE14DF2639309E24967D
S11300B023369622369F243520E89629912E271040
S11300C0399629912E260939962F20F0962F20F360
S11300D0DE220808DF2239BDC2977D00182707C633
S11300E0A1D12927EB39C69ED12927D020D596291D
S11300F0203B96299B2E20358D389429202F962E2F
S1130100D629C40F2602962F5A26029A2F5A26025F
S1130110942F5A5A260A7F003F9B2F24037C003FCA
S11301205A260A7F003F902F25037C003FDE2AA732
S1130130003986C0972C7C002DDE2C960DAB00A8D0
S1130140FF970D3907C1790AC17D15C18218C18590
S11301501EC18929C19333C1DE55C1FA65C204CEDB
S1130160C144C609A600912927090808085A26F49B
S11301707EC360EE01962E6E00962020B0BDC2C4F0
S113018020AB972039167EC2E15F9B279727D9269B
S1130190D72639CEC1BC840F08084A2AFBEE00DFFB
S11301A01ECE0008DF26C605961E84E0A704098635
S11301B00379001F79001E4A26F75A26EB39F6DF29
S11301C04925F39FE79F3ED9E7CFF7CF249FF7DF79
S11301D0E7DFB7DFD7DDF24FD6DDF3CF934FDE266F
S11301E0C6648D06C60A8D02C601D70E5F910E2520
S11301F0055C900E20F7E70008390F9F128E002F40
S1130200DE2620090F9F129E2634CE0030D62BC442
S11302100F32A700087C00275A2AF69E120E39D600
S1130220297F003FDE268601971CC40F2602C610D4
S113023037DF14A600971E7F001FD62EC407270998
S113024074001E76001F5A26F5D62E8D28961E8D14
S113025015D62ECB088D1E961F8D0B7C002FDE1419
S113026008335A26CB3916E800AA00E70011270400
S11302708601973F39962F841F484848C43F5454F9
S1130280541B971DDE1C39C6F0CE80106F01E700A9
S1130290C606E7016F00398DEE7F00188D55E60024
S11302A08D159717C60F8DE1E600545454548D07ED
S11302B048489B17971739C10F2602D71886FF4C59
S11302C05425FC39DF128DBFA6012B07482AF96D8E
S11302D00020078DC27D001826EC8D03DE1239C67E
S11302E004D721C641F780127D002126FBC601F701
S11302F08012398D0037C6C85A0126FC3339CE80A6
S113030012C63BE701C67FE700A701C601E7003933
S11303108D13A6002BFC8DDDC6090D6900468DD317
S11303205A26F72017DF12CE8012398DF8366A006C
S1130330C60A8DBFA7000D465A26F732DE123920B1
S11303408386378DB9DE02398DF7A6008DDD089CD2
S11303500426F7200B8DEA8DB7A700089C0426F726
S11303608E007FCEC3E9DF00863F8D928D430E8DD4
S1130370CE4D28108DC9840327234A27D84A27C87D
S1130380DE066E008D0C97068D0697078D2320DF01
S11303908DAD48484848970F8DA59B0F398D12DEC7
S11303A0068D258D9A4D2B048DE8A70008DF0620C5
S11303B0EC86108D2BCE01C886FFBDC07DCE000615
S11303C08D06088D038D1539A60036444444448DAA
S11303D00132DF12BDC193C605BDC22486049B2E23
S11303E0972E861A972FDE12397A00207A00217D03
S11303F080123BDE006E0000C3F300800083C36004
S5030040BC


And here is the Original ROM:
S1130000A1B091B9F9B8F0FDFC80D091D0A8889046
S1130010A0D5FDCD9D80B8BCFDCD95B0BCFDB095FF
S1130020B980C8DCD0B88DB8A5C49CA09580F0F187
S1130030D0E4FDC8A9D4C5FCD4C890D1FCD0C8ED87
S1130040D0FC81C8CCD0FCD0CCC8C8C18C80A8CC92
S1130050B9A0C8B8B8C5B8E4FDB0C5B8B888FCA59F
S1130060C894C0B8C9B9B1C094C0C18FA0B0F8FDDC
S1130070C194C0FC91C8D1CCC194C0B0CCB9C184E6
S1130080D0B0CCB9F480B0C0B9C194C0B0C9B9C1C2
S113009094C0BC8DB0D9B9C1EDD0F8FCA0D8E9CFDB
S11300A0A1ECB8B4A891B9B8BDB9F0A1A091B9FCBC
S11300B0A5C094C0C1EFD0CDAC8FA8EDB8E9C18084
S11300C0D1A8EDB8E48185C485EDB4B891B9A1EDAA
S11300D0B894A9BCC8D9D0D899D1F5B4A198D0A066
S11300E0B9B9A891B9B8BDB9F0A19584C088D1A116
S11300F0E0CDA0B9B9A8E8B8E9CDA080E9A0E8B8F6
S113010021E00019201939E99584A091B9F094C02F
S1130110E9A1E83834E9C1E9D0281139FCFCA0D0C0
S1130120E5D0FC9CC8ACD1FC89C0E5D0E9A8ED3889
S1130130E08080C080E030E0C0E0D03080B0A0C07B
S113014099A0F8FC89C8A5D1FC8CC894D021E0CF33
S1130150203939FC80C8CCCFFC91C884D0FCF4C8C9
S113016084D0FC81C884D0FC89C8C1D0FCE5C8B562
S1130170D0FC94C88CD0FCF1C884D0FCD0D88C803E
S1130180FCD5D884D0FCF5C08C80CD9D80C18C80FA
S11301902108D4202C39CDC8CDCDC0CDCDF1CD3C56
S11301A014303539C1A4CCA115D0203C3921B1D1AA
S11301B0C1B8CDA8DCFCF8FCA0D0BCD13C20BDD893
S11301C0C4D1FD3DA184B8C4F52885B8B8D0D5D133
S11301D0042028F53890C505F8E4D1FCE4BFA1EC6F
S11301E0E5C1D5D1A085B8A0E83821F0D1C1B8CFF8
S11301F028E0FCF8FCA0D0F9D13C20BDD881D0FD8A
S11302003DD4A0CDCDB08D2885B8E9CD9980CDF56C
S1130210F9283C39C1B8CD3C0DB8C094C03C0D3070
S1130220D93921E04D203939CDE4CC3C08C18DCFFA
S1130230213CD0203C3921B1D1C1B8CFF807050702
S113024005E4F0B0C03921CCD0C1B8CDBC0DA0C7F5
S1130250E481FC81C0D9D03C09A0C538C039B0F5CF
S1130260CDF8CCC1D88CD0F8E480F488F587D8F9DF
S1130270D0E9A8EF38FDC488ED34E9F1D180F8F471
S113028080F5201839212011393C0D30D93921D875
S1130290CDC1B8CF95B090FC303D383011FC0CE0A6
S11302A03808FCFCA8C0ACD0CDF8D1C1C0D097B000
S11302B088FCF1D181B08DB8B8E0FCD181F9BCA043
S11302C0D1B9BC80B0C0390CD038E0FCFCFCC4F817
S11302D0D1210D0D2011FC21E9D0203B393C043003
S11302E005FC2109FC2009FCC194C02101D138CFAF
S11302F039A7C094D11430F8B8C894D314212CD39E
S1130300C188D11430211C5138CD39A5C094D1F8FD
S11303100CC8B8C081D4203939C194C01431212407
S113032051C188D11430214451C188D114342134AD
S113033051C188D11430213C51C188D1143021C01D
S1130340D4C188D111ED513C0DB8C894C028097CA2
S1130350702120097C28117C78E48D29292929B56C
S1130360ED20117C21057C35C094C0E9C1D8D03C76
S11303700DB8C894C028097C7C212009FCB8C4F4B9
S1130380D12105FC35C094C00C402811FCFCFCA014
S1130390D89DD12815FCBCD8A0D1FCA7C8A0D1CD2C
S11303A0F8D13C0130117C21ADD1C194D13C0DB8C0
S11303B0C894C0383D38EC81303D38C8C9D13C0FB1
S11303C0A087070707300F7CC194C03C0D30117C17
S11303D03810FCA7C088D40C4428117CE9A817FC69
S11303E0F8BCC881D4E9BC0FA0C5380FFCB0F72114
S11303F02011FCC194C00C413810FCB1B010FC3089


Larry

KaosEngineer
January 4th, 2018, 07:32 PM
I'm curious about the first line of code:

S0220000687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D

Is that the code that the 6800 needs to program the following code?
Dwight

S0 record is a header record most likely discarded by the programmer. (gotta be quicker replying keeps asking 4 me to login again and loses my message)

S0 - record type
length of record data = 0x22 = 34 = 2 address bytes + 31 data bytes + 1 checksum byte = 34
address 2 bytes - 0x0000
data bytes = 687474703A2F2F737265636F72642E736F75726365 666F7267652E6E65742F1D = "http://srecord.sourceforge.net/"
checksum (1 byte) = 0x1D.

KaosEngineer

P.S. ldkraemer's S-record created with srec_cat command line has an address counter problem. It is only incrementing by 8 for each line of 16 data bytes.

Dwight Elvey
January 4th, 2018, 08:07 PM
Hi Larry
Oops, there is something wrong with my check sums.
I need to look at my code.
Dwight

Fixed my mistake:

S11300008D77CE0200DF22CE005FDF24DE22EE00F9
S1130010DF28DF14BDC0D09614840F97148D219768
S11300202EDF2A9629444444448D15972FCEC04888
S1130030962884F00808801024FAEE00AD0020CC45
S1130040CE002F084A2AFCA60039C06AC0A2C0AC60
S1130050C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A708
S1130060C097C0F8C21FC0D7C15FD62826259629DD
S113007081E0270581EE270E394FCE0100A7000845
S11300808C020026F839309E243297223297239F1F
S1130090243539DE146E0096305F9B159715D914FC
S11300A0D714DE14DF2239DE14DF2639309E24967D
S11300B023369622369F243520E89629912E271040
S11300C0399629912E260939962F20F0962F20F360
S11300D0DE220808DF2239BDC2977D00182707C633
S11300E0A1D12927EB39C69ED12927D020D596291D
S11300F0203B96299B2E20358D389429202F962E2F
S1130100D629C40F2602962F5A26029A2F5A26025F
S1130110942F5A5A260A7F003F9B2F24037C003FCA
S11301205A260A7F003F902F25037C003FDE2AA732
S1130130003986C0972C7C002DDE2C960DAB00A8D0
S1130140FF970D3907C1790AC17D15C18218C18590
S11301501EC18929C19333C1DE55C1FA65C204CEDB
S1130160C144C609A600912927090808085A26F49B
S11301707EC360EE01962E6E00962020B0BDC2C4F0
S113018020AB972039167EC2E15F9B279727D9269B
S1130190D72639CEC1BC840F08084A2AFBEE00DFFB
S11301A01ECE0008DF26C605961E84E0A704098635
S11301B00379001F79001E4A26F75A26EB39F6DF29
S11301C04925F39FE79F3ED9E7CFF7CF249FF7DF79
S11301D0E7DFB7DFD7DDF24FD6DDF3CF934FDE266F
S11301E0C6648D06C60A8D02C601D70E5F910E2520
S11301F0055C900E20F7E70008390F9F128E002F40
S1130200DE2620090F9F129E2634CE0030D62BC442
S11302100F32A700087C00275A2AF69E120E39D600
S1130220297F003FDE268601971CC40F2602C610D4
S113023037DF14A600971E7F001FD62EC407270998
S113024074001E76001F5A26F5D62E8D28961E8D14
S113025015D62ECB088D1E961F8D0B7C002FDE1419
S113026008335A26CB3916E800AA00E70011270400
S11302708601973F39962F841F484848C43F5454F9
S1130280541B971DDE1C39C6F0CE80106F01E700A9
S1130290C606E7016F00398DEE7F00188D55E60024
S11302A08D159717C60F8DE1E600545454548D07ED
S11302B048489B17971739C10F2602D71886FF4C59
S11302C05425FC39DF128DBFA6012B07482AF96D8E
S11302D00020078DC27D001826EC8D03DE1239C67E
S11302E004D721C641F780127D002126FBC601F701
S11302F08012398D0037C6C85A0126FC3339CE80A6
S113030012C63BE701C67FE700A701C601E7003933
S11303108D13A6002BFC8DDDC6090D6900468DD317
S11303205A26F72017DF12CE8012398DF8366A006C
S1130330C60A8DBFA7000D465A26F732DE123920B1
S11303408386378DB9DE02398DF7A6008DDD089CD2
S11303500426F7200B8DEA8DB7A700089C0426F726
S11303608E007FCEC3E9DF00863F8D928D430E8DD4
S1130370CE4D2A108DC9840327234A27D84A27C87B
S1130380DE066E008D0C97068D0697078D2320DF01
S11303908DAD48484848970F8DA59B0F398D12DEC7
S11303A0068D258D9A4D2B048DE8A70008DF0620C5
S11303B0EC86108D2BCE01C886FFBDC07DCE000615
S11303C08D06088D038D1539A60036444444448DAA
S11303D00132DF12BDC193C605BDC22486049B2E23
S11303E0972E861A972FDE12397A00207A00217D03
S11303F080123BDE006E0000C3F300800083C36004
S5030040BC

I match Larry's so we are both likely correct.
I'm not sure if the S5 record is needed.

KaosEngineer
January 5th, 2018, 12:22 AM
Hi Larry
Oops, there is something wrong with my check sums.
I need to look at my code.
Dwight

Fixed my mistake:

S11300008D77CE0200DF22CE005FDF24DE22EE00F9
S1130010DF28DF14BDC0D09614840F97148D219768
S11300202EDF2A9629444444448D15972FCEC04888
S1130030962884F00808801024FAEE00AD0020CC45
S1130040CE002F084A2AFCA60039C06AC0A2C0AC60
S1130050C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A708
S1130060C097C0F8C21FC0D7C15FD62826259629DD
S113007081E0270581EE270E394FCE0100A7000845
S11300808C020026F839309E243297223297239F1F
S1130090243539DE146E0096305F9B159715D914FC
S11300A0D714DE14DF2239DE14DF2639309E24967D
S11300B023369622369F243520E89629912E271040
S11300C0399629912E260939962F20F0962F20F360
S11300D0DE220808DF2239BDC2977D00182707C633
S11300E0A1D12927EB39C69ED12927D020D596291D
S11300F0203B96299B2E20358D389429202F962E2F
S1130100D629C40F2602962F5A26029A2F5A26025F
S1130110942F5A5A260A7F003F9B2F24037C003FCA
S11301205A260A7F003F902F25037C003FDE2AA732
S1130130003986C0972C7C002DDE2C960DAB00A8D0
S1130140FF970D3907C1790AC17D15C18218C18590
S11301501EC18929C19333C1DE55C1FA65C204CEDB
S1130160C144C609A600912927090808085A26F49B
S11301707EC360EE01962E6E00962020B0BDC2C4F0
S113018020AB972039167EC2E15F9B279727D9269B
S1130190D72639CEC1BC840F08084A2AFBEE00DFFB
S11301A01ECE0008DF26C605961E84E0A704098635
S11301B00379001F79001E4A26F75A26EB39F6DF29
S11301C04925F39FE79F3ED9E7CFF7CF249FF7DF79
S11301D0E7DFB7DFD7DDF24FD6DDF3CF934FDE266F
S11301E0C6648D06C60A8D02C601D70E5F910E2520
S11301F0055C900E20F7E70008390F9F128E002F40
S1130200DE2620090F9F129E2634CE0030D62BC442
S11302100F32A700087C00275A2AF69E120E39D600
S1130220297F003FDE268601971CC40F2602C610D4
S113023037DF14A600971E7F001FD62EC407270998
S113024074001E76001F5A26F5D62E8D28961E8D14
S113025015D62ECB088D1E961F8D0B7C002FDE1419
S113026008335A26CB3916E800AA00E70011270400
S11302708601973F39962F841F484848C43F5454F9
S1130280541B971DDE1C39C6F0CE80106F01E700A9
S1130290C606E7016F00398DEE7F00188D55E60024
S11302A08D159717C60F8DE1E600545454548D07ED
S11302B048489B17971739C10F2602D71886FF4C59
S11302C05425FC39DF128DBFA6012B07482AF96D8E
S11302D00020078DC27D001826EC8D03DE1239C67E
S11302E004D721C641F780127D002126FBC601F701
S11302F08012398D0037C6C85A0126FC3339CE80A6
S113030012C63BE701C67FE700A701C601E7003933
S11303108D13A6002BFC8DDDC6090D6900468DD317
S11303205A26F72017DF12CE8012398DF8366A006C
S1130330C60A8DBFA7000D465A26F732DE123920B1
S11303408386378DB9DE02398DF7A6008DDD089CD2
S11303500426F7200B8DEA8DB7A700089C0426F726
S11303608E007FCEC3E9DF00863F8D928D430E8DD4
S1130370CE4D2A108DC9840327234A27D84A27C87B
S1130380DE066E008D0C97068D0697078D2320DF01
S11303908DAD48484848970F8DA59B0F398D12DEC7
S11303A0068D258D9A4D2B048DE8A70008DF0620C5
S11303B0EC86108D2BCE01C886FFBDC07DCE000615
S11303C08D06088D038D1539A60036444444448DAA
S11303D00132DF12BDC193C605BDC22486049B2E23
S11303E0972E861A972FDE12397A00207A00217D03
S11303F080123BDE006E0000C3F300800083C36004
S5030040BC

I match Larry's so we are both likely correct.
I'm not sure if the S5 record is needed.An S0 (start) record is written at the start of file and an S5 (record count) record is written at the end of file.

I had a programmer that required S0 to signal that S1 records would be following and S5 count verified that all the S1 lines were received.

S5030040BC - S5 record count - size 03 bytes, count (2 bytes here = 0x40 = 64) and the 1 byte checksum. Looks good.
--
KaosEngineer

ldkraemer
January 5th, 2018, 06:30 AM
Here is an interesting article about using a 2716 EPROM (most programmers support the 2716 EPROM) in a Machined IC Socket as an Adapter.
It would be easy to create a PCB that did the same thing, for a few dollars.

http://tkc8800.com/post/an-adapter-for-replacing-2708-eproms-with-2716-eproms

Larry

Chuck(G)
January 5th, 2018, 08:19 AM
That was done quite a bit. You could even use a 2764 in a similar manner, or even a 2864 EEPROM, which is a lot easier to find and program.

Dwight Elvey
January 5th, 2018, 10:10 AM
Rather than bust the thinner tip of the bottom socket, I prefer to just remove the pin frm the socket. I have a block of wood with a hole drilled a little larger than the top of the pin. I put the socket upside down and use a short needle nose pliers to push the pin out. ( not that hard to do )
This is safer as you don't have a chance of the lower socket being pushed in the boards socket enough to accidentally making contact with the boards socket.
I've always done it this way.
As was mentioned, one can add a 3 pin inline strip to make an address select for the normally tied address. You now have two different possible images to select from. As I've said before, I've been know to through together an adapter to do thing like read ROMs that have multiple selects. It just takes a few minutes if you have a pile of 24 machine pin socket.
Dwight

dave_m
January 5th, 2018, 03:21 PM
There is something wrong with the address counting. In the S records, there are 16 ( 0x10 ) bytes.
The lines are only incrementing by 8 addresses. They should be 0x10, no 0x8.
It looks like it is S records for a 32 bit wide memory.
The byte count is right at 0x13.
At least that is what I'm seeing. Chuck, am I wrong?
I'll modify my program to do S records later tonight when I get to
my home computer.
Dwight

Dwight,
You are right. The address field should be incrementing by $10 (16 dec). Not only that, but the End-of-file record is missing. After the S5 record count (which is optional), there should be a S9 record indicating file termination:
S9030000FC.
-Dave

falter
January 6th, 2018, 11:23 AM
I tried the last code posted but it fails at 02A0 - it starts off as 8D (correct), but then does D1 (should be 15) then 59 (should be 97). Typo somewhere maybe? I verified that I could enter my own bytes in those locations and the computer read them back properly, so I think this is another error in the S record, not the computer itself.

Appreciate all the help!

falter
January 6th, 2018, 06:53 PM
Found another way.

I took the original code Larry generated, stripped out the address info and created a single text string from it. Then, a-la Bill Degnan, created a text file with M0000 appended to the beginning, to feed to the SWTPC and fool it into thinking I was typing all that code out. It didn't work initially.. but I realized my cheap USB to serial was probably the culprit. I switched to my Thinkpad 380XD.. but that didn't work either. I had a brainwave that the setting the character delay meant the addresses the computer was going through were being spit out too slow, thus my 'script' was typing characters when there was no prompt for them. I swapped in my Corsham card (very useful thing, that!) and pumped it up to 1200baud while setting a transmitted character delay of 500msec. It worked! Entered the whole thing properly. Then to save it, I did the usual punch routine. Here is what the 6800 fired back for the 'CHIPOS' S file:

S11300008D77CE0200DF22CE005FDF24DE22EE00F9
S1130010DF28DF14BDC0D09614840F97148D219768
S11300202EDF2A9629444444448D15972FCEC04888
S1130030962884F00808801024FAEE00AD0020CC45
S1130040CE002F084A2AFCA60039C06AC0A2C0AC60
S1130050C0BAC0C1C0C8C0EEC0F2C0FEC0CCC0A708
S1130060C097C0F8C21FC0D7C15FD62826259629DD
S113007081E0270581EE270E394FCE0100A7000845
S11300808C020026F839309E243297223297239F1F
S1130090243539DE146E0096305F9B159715D914FC
S11300A0D714DE14DF2239DE14DF2639309E24967D
S11300B023369622369F243520E89629912E271040
S11300C0399629912E260939962F20F0962F20F360
S11300D0DE220808DF2239BDC2977D00182707C633
S11300E0A1D12927EB39C69ED12927D020D596291D
S11300F0203B96299B2E20358D389429202F962E2F
S1130100D629C40F2602962F5A26029A2F5A26025F
S1130110942F5A5A260A7F003F9B2F24037C003FCA
S11301205A260A7F003F902F25037C003FDE2AA732
S1130130003986C0972C7C002DDE2C960DAB00A8D0
S1130140FF970D3907C1790AC17D15C18218C18590
S11301501EC18929C19333C1DE55C1FA65C204CEDB
S1130160C144C609A600912927090808085A26F49B
S11301707EC360EE01962E6E00962020B0BDC2C4F0
S113018020AB972039167EC2E15F9B279727D9269B
S1130190D72639CEC1BC840F08084A2AFBEE00DFFB
S11301A01ECE0008DF26C605961E84E0A704098635
S11301B00379001F79001E4A26F75A26EB39F6DF29
S11301C04925F39FE79F3ED9E7CFF7CF249FF7DF79
S11301D0E7DFB7DFD7DDF24FD6DDF3CF934FDE266F
S11301E0C6648D06C60A8D02C601D70E5F910E2520
S11301F0055C900E20F7E70008390F9F128E002F40
S1130200DE2620090F9F129E2634CE0030D62BC442
S11302100F32A700087C00275A2AF69E120E39D600
S1130220297F003FDE268601971CC40F2602C610D4
S113023037DF14A600971E7F001FD62EC407270998
S113024074001E76001F5A26F5D62E8D28961E8D14
S113025015D62ECB088D1E961F8D0B7C002FDE1419
S113026008335A26CB3916E800AA00E70011270400
S11302708601973F39962F841F484848C43F5454F9
S1130280541B971DDE1C39C6F0CE80106F01E700A9
S1130290C606E7016F00398DEE7F00188D55E60024
S11302A08D159717C60F8DE1E600545454548D07ED
S11302B048489B17971739C10F2602D71886FF4C59
S11302C05425FC39DF128DBFA6012B07482AF96D8E
S11302D00020078DC27D001826EC8D03DE1239C67E
S11302E004D721C641F780127D002126FBC601F701
S11302F08012398D0037C6C85A0126FC3339CE80A6
S113030012C63BE701C67FE700A701C601E7003933
S11303108D13A6002BFC8DDDC6090D6900468DD317
S11303205A26F72017DF12CE8012398DF8366A006C
S1130330C60A8DBFA7000D465A26F732DE123920B1
S11303408386378DB9DE02398DF7A6008DDD089CD2
S11303500426F7200B8DEA8DB7A700089C0426F726

Not sure how it compares to the others posted yet but I'll have a look and see if I can spot any discrepancies to figure out where we were going wrong. Just to be sure, I read this new S record file back in and it worked flawlessly.

I also re-dumped the 2708 I was playing with, after notcing some bytes had changed. I don't know if this is because I managed to corrupt it a bit with my attempts to erase it, or if I hadn't had it seated in the (somewhat decrepit) ZIF socket. Here is the S record in case it tells anyone anything newly useful:

S1130000A1321339FB3A727DFE02D213502A0A1030
S113001022577FCD1F003A3C7F4F97323C7F3217E7
S11300203980CA5C503A8D3AA7C41EA09780F273F7
S113003050E67FCA2B5447FE54CA9051FE50CA6DF5
S113004050FE03CA4E50FE52CCC848C30E002A4C80
S11300503922483A3A453AE67F32453A3A087EA789
S1130060CA94403A4939B1C29440C30FA0327A7D50
S1130070C39440FE11CAD14CC39440324E39C38656
S113008050324E39F680324239C39440324939C332
S113009094403E0D325B39C3EF5078FE20DA6B4F4B
S11300A0216C3A342A11393A3D3970232211397EB0
S11300B0A7C29440C3EF50CD2E0F2A6D3AEBC30074
S11300C0512A6F3AE60385C6076F343A1139216D18
S11300D03A962BBECADB50DA19517734219A502252
S11300E03B392A11393A3D3970239786C20A512186
S11300F0624F223B392A6A3AEBCD2200EB226A3A5C
S113010021600019221B39EB9786221139F29440A1
S1130110EB216A3A34EBC3E9502A11397EFE20D22E
S1130120E550FE1ECA2C51FE09C2E550EB2A6F3A77
S1130130E00080C0006030E0C0E050308030A0C0FB
S11301401BA078FE0BCAA751FE0ECA945221624F1F
S1130150223B39FE02CACC4FFE11CA8450FE74CA37
S11301608450FE83CA8650FE09CAC150FE65CAB7D0
S113017050FE14CA8C50FE71CA8450FE50DA0E0030
S1130180FE55DA8450FE77C20E00CD1F00C30E0068
S1130190210856222C39CDC84DCDC24DCDF34D3E4C
S11301A016323539C3A64C211752223E3921B35198
S11301B0C3B84F2A5E7E78FE20D2BE513E20BDDAFF
S11301C0C4517D3D21863A46772A873AB8D2D55123
S11301D006202A773A904705FAE4517EE63F236EDB
S11301E067C3D75122873A226A3A21F051C3B84FE4
S11301F02A607E78FE20D2FB513E20BDDA01527D7A
S11302003DD6204FCD32002A873AEBCD1B00CDF7E7
S1130210792A3E39C3B84F3E0FB8C294403E0D32DE
S11302205B3921624F223B39CDE44E3E08C38F4FE8
S1130230213C52223E3921B351C3B84F78070707F6
S113024007E6F0324039214C52C3B84F3E0FA04765
S1130250E603FE03C25B523E0BA0473A4039B0F5B9
S1130260CD784EC1DA8E5278E680F608F507DA7B4F
S113027052EB2A6F3A7DC6086F34EBF1D30078F65F
S11302808077221839232211393E0D325B392158E7
S11302904FC3B84F9732127E323D3A32117E0E6010
S11302A03A087EFEAAC2AE52CDF853C3C252973268
S11302B0087EF3D301328D3A3AE07CD301FB3EA0B1
S11302C0D33B3E803242390E503AE07CFEFEC4F805
S11302D05321000022137E21EB52223B393E04328B
S11302E0057E210B7E22097EC394402103533A4F9D
S11302F039A7C2165316307AB8CA165314212C5390
S1130300C308531632211C533A4F39A7C216537AE5
S11303100E48B8C20354223B39C3944016312124F9
S113032053C308531630214453C30853163421349D
S113033053C308531630213C53C30853163021C00D
S113034054C30853116F533E0DB8CA94402A097E12
S1130350702322097E2A137E78E60F29292929B5DC
S11303606F22137E21057E35C29440EBC3DA523EE0
S11303700DB8CA94402A097E7E2322097EB8C4F6A9
S11303805321057E35C294400E422A137E7CFEA082
S1130390DA9F532A177EBCDAA2537CA7CAA253CD94
S11303A0F8533E0132117E21AD53C316533E0DB8AE
S11303B0CA94403A3D3AEE01323D3ACACB533E0F1D
S11303C0A007070707320F7EC394403E0232117E16
S11303D03A127EA7C20A540E442A137EEB2A177ED1
S11303E07ABCCA0354EB3E0FA0473A0F7EB0772382
S11303F022137EC394400E413A107EB132107E32F5

Thanks again for everyone'e help. I really hope this Microworks 2708 burner... you know.. works. We will find out once I get the UV eraser. Oh, on that score.. I found this special lightbulb we'd had tucked away for a while.. it says 'blacklight, ultra violet light'. It's not a flourescent.. standard incandescent style bulb. Anyone know if these emit the UV light we need?

gekaufman
January 6th, 2018, 08:05 PM
Thanks again for everyone'e help. I really hope this Microworks 2708 burner... you know.. works. We will find out once I get the UV eraser. Oh, on that score.. I found this special lightbulb we'd had tucked away for a while.. it says 'blacklight, ultra violet light'. It's not a flourescent.. standard incandescent style bulb. Anyone know if these emit the UV light we need?

Joining the thread late, but you're not even close, you need shortwave UV (which would cause eye damage if unshielded).

There are several eprom erasers starting at $15 on Ebay, for example:

https://www.ebay.com/itm/Ultraviolet-Light-UV-EPROM-Eraser-Erase-Eraseable-Timer-K9O8/132128369061?epid=1979026674&hash=item1ec376e9a5:g:b-kAAOSwuLZYytTr

Alternately, I can erase and burn 2708's if you don't mind shipping them with the appropriate .bin or .hex file.

- Gary

Dwight Elvey
January 6th, 2018, 08:07 PM
I'm not paying too much attention to the original code in the 2708. If obviously wasn't for the computer it was plugged into.
You are missing 160 bytes in the output. The code goes to 03F0 your listing only goes to 0350. What you have does match to
up to 035F but it is missing a block of code.
Dwight

falter
January 6th, 2018, 10:12 PM
Yeah I just noticed that. Cut and paste error. It's there in my file.

I've ordered an eraser. I can't wait to see if this burner board works!

Dwight Elvey
January 7th, 2018, 06:04 AM
I have one of the S100 bytesaver card 2708 burners. As I recall, there is a switch and the I just treat it like it was a block of RAM to be written into. I was curious, is you burner the same basic idea or is it a single port that you put the bytes through, serially?
Dwight

falter
January 7th, 2018, 07:28 AM
With mine you load the data into the computer's RAM ($0000 to $03FF). Then tell it to burn. It has some kind of high voltage switch. That's the only switch on it.

falter
January 11th, 2018, 05:18 PM
Well, I gave it a go. I got a proper EPROM eraser and got FFs across the board once it was done. So I loaded my data as required, fired up the Microworks burning software and waited. The burn process reported no hard errors, but alas, nothing was changed. Now... it does ask if the HV switch is on or off. I assume that stands for High Voltage. But what I'm not clear on is what bearing that switch has here. I note there are a few voltage regulators on this board, and space for another that is unoccupied. I think that one is supposed to be a 7912 or something. I don't know if that is what the HV is for or if it activates something else. Or if it has any bearing on my issue. Thoughts?

Chuck(G)
January 11th, 2018, 05:27 PM
ISTR that the 2708 takes something like +25V for programming.

falter
January 11th, 2018, 06:11 PM
I wonder why the extra VR was left out then.. hmm. Back to the documentation.

falter
January 11th, 2018, 07:07 PM
Ok so the 7912 is there for power supplies that are 19v, 'like the Smoke Signal Broadcasting 6800'. Since mine is a stock SWTPC and I don't believe the MP-P psu is 19v, I think this is ok.

Info on the H/V switch is maddeningly non-existent. There is no mention of it whatsoever in the manual. The only thing that possibly refers to it is a brochure for the card, where it talks of a 'safety switch from the high voltages generated'. So I'm wondering if the 'is HV on' prompt is an instruction to flip the HV or high voltage switch, to begin programming. Kinda makes me a bit nervous given my 6800s age. Maybe I want to have a fire extinguisher handy? ;)

falter
January 11th, 2018, 07:23 PM
Okay yeah, you need the HV switch on. I did that, and it definitely worked. Sort of. I got hard errors from 0130 to 013F. I verified the contents of the rest of the chip and it all looks good. For 0130-013F, the second digit for each byte were all 0s. So for example 68 would be 60, A1 would be A0. I'm going to try erasing again. I think the programmer is working ok, but maybe this old 2708 is hooped.

Chuck(G)
January 11th, 2018, 08:31 PM
Dunno--I'd think that if you managed to erase the chip to all FFs, it wouldn't seem as if a bit would spontaneously flip to 0.

falter
January 11th, 2018, 09:39 PM
Yeah I think I goofed. On going through the burning software more, I realized when I had done the Erase test, it had been warning me that some addresses were not FF. So I will attempt another erase and try again.

Chuck(G)
January 11th, 2018, 10:03 PM
If the 2708 won't fully erase, it's time to bronze it and use it as a tie clip. Or something, but not as a PROM.

falter
January 12th, 2018, 07:03 AM
Yeah. I tried with the eraser again last night.. but it's the same thing.. the burner software reports that 0130-013F is still not FF. Strange that it's a neat segment like that.. not like, 0130-0133 or 0136-013A.

I'll try one more time with the eraser. Otherwise, I guess we gotta buy another.

Dwight Elvey
January 12th, 2018, 09:19 AM
Make sure the window is absolutely clean. If it is a clear hard quartz, I often use a dull knife to scrape it clean. If it is the frosted cover, you have to use cleaner, like googone.
Dwight

falter
January 12th, 2018, 06:41 PM
Yeah I gave it a really good cleaning. There wasn't any tape on it from what I could see. I ran it in the eraser again and initially it looked good.. all FFs.. but when I switched on the high voltage and did another erase test, same addresses were wrong again. I don't think it's my burner, although without another 2708 it's hard to be sure. I'm looking for another one and we'll see what's what.

Dwight Elvey
January 12th, 2018, 09:00 PM
Actually, now that you mention it, it sound more like a problem in the programmer than the EPROM. I was thinking, what a strange failure for the EPROM. It wouldn't be all that strange if it were the programmer.
Dwight

Chuck(G)
January 12th, 2018, 10:06 PM
Well, a second 2708 would pretty much settle the question, wouldn't it?

falter
January 12th, 2018, 10:30 PM
I wouldn' be surprised if the programmer, the computer, or both, had issues. They are 40 years old, of course. I have noticed that the programmer doesn't always 'see' the EPROM correctly. Sometimes it'll show weird data when I do the erase test or dump contents... like all 00s or something. Then I reseat in the ZIF socket and it goes back to reading whatever should be there. It did pass that erase test once and even dumped all FFs into system RAM when I ran the transfer command. But as soon as I flipped on the high voltage switch.. it went right back to 0130-013F being all F0. I don't know how EPROM'S fail but I am suspicious of how the affected addresses are in a neat, tidy sequence like that. It makes me wonder if the programmer is reading that area wrong for some reason. When I ran a burn, mistakenly thinking all was good, it did change the first digit of the contents for each address in the affected area to what it was supposed to be. But it left the 0 there. So what should be 86 was showing as 80. I don't know. Just felt like, for EPROM corruption, it was a bit too orderly.

falter
January 22nd, 2018, 04:02 PM
Okay so I got a second 2708 in today and made an attempt with it. I put it in the eraser for '9' (whatever that represents.. I'm assuming minutes). I then put it in the programmer and did an erase test. It all came back FFs. So I loaded in my code and attempted a write. No luck. It seemed like for each address, it was writing the right digit, but not the left. ie: 60 becomes 30, 2D becomes 7D, etc...

I'm wondering if I didn't let the EPROM erase long enough.. or if we actually have a problem of some kind with the programmer. I've noticed it will sometimes say everything's all clear until you put it in high voltage mode.

Dwight Elvey
January 22nd, 2018, 07:26 PM
There is probably something wrong with your programmer. FF is the erased state. 0 is the programmed state. Even an open socket won't program as 0. It is because there is a problem with the buffer on your programmer. It is driving 0's for the 4 LSBs. That seems quite clear to me.
Dwight

falter
January 22nd, 2018, 10:00 PM
I decided to try it with some known good ICs swapped onto the programmer. Thank goodness the original owner used sockets. After a 30 min erase, the burner board only found one hard error.. a 00ff. I decided to try it again.. same deal. So then I thought I'd see how it programmed, just to see what it produced on the 'good' addresses. Except for 00ff, it wrote everything correctly. I then shut the machine off, turned it on, and read from the chip again. Again, everything perfect but 00ff. Could we still be dealing with a board malfunction here?

Dwight Elvey
January 23rd, 2018, 05:12 AM
That sounds more like a software issue. It may not be waiting long enough after turning the programming voltage off before switching the addresses. Each address would tend to get a little bit of programming that it wasn't suppose to but the last address would get a small hit for every change. Is there a schematic some place I could look at?

After thinking about it some, it is likely that the 6821 chip is not being initialized before you turn on the programming voltage.
Try this:
Do a read of the device with an empty socket and the programming voltage off. Then put the EPROM into the socket and program it.
If that doesn't work, try replacing the transistor.
I see the schematic and it is possible that the programming voltage isn't bleeding off fast enough. That might be an issue with CR3 being open.
Dwight

falter
January 23rd, 2018, 08:03 AM
When you say put the EPROM into the socket and program, you mean, with the computer still on?

I played around a bit more with it and found it's quite random. On one test, I got all FFs when I dumped to memory, but when I went to write I got zillions of soft and hard errors. On another occasion, I read the contents, found some addresses weren't FF (after erasure), then re-read. Then a different address would show the wrong contents. Tried a write anyway but of course it all came out wrong. I powered off, powered on a few times and reread the chip.. and it is consistent in where it's wrong. I've also noticed sometimes if I moved the chip around in the ZIF socket and then lock it again, I might get a different result..

How long should it take to properly erase a 2708? I wonder if I'm doing something wrong there also.

Dwight Elvey
January 23rd, 2018, 10:16 AM
Hi
You should only insert or remove the EPROM, when the computer is on, the programming program has started, but waiting for you to tell it to program, such that the program has set up the 6821 and the programming voltage switch it off. You should not turn off or on the computer with the EPROM in the programmers socket!
Erasure time should be 10 to 15 minutes, maybe longer depending on the UV light source you are using.
You should check the pin contacts with a meter if you are seeing different results by inserting and removing the EPROM. Especially check that the ground pin is making contact. A fault there can damage your EPROM or damage the programmers circuit, if the programming voltage is applied.
Dwight

falter
January 23rd, 2018, 12:28 PM
Hi
You should only insert or remove the EPROM, when the computer is on, the programming program has started, but waiting for you to tell it to program, such that the program has set up the 6821 and the programming voltage switch it off. You should not turn off or on the computer with the EPROM in the programmers socket!
Erasure time should be 10 to 15 minutes, maybe longer depending on the UV light source you are using.
You should check the pin contacts with a meter if you are seeing different results by inserting and removing the EPROM. Especially check that the ground pin is making contact. A fault there can damage your EPROM or damage the programmers circuit, if the programming voltage is applied.
Dwight

Ah.. I thought you had to shut it off when you switched the eprom in or out.. thought it might short the chip or something with power on.

daver2
January 23rd, 2018, 01:20 PM
The programming software should disconnect all the power supply voltages from the EPROM when it has finished reading from or writing to it.

Likewise, when the computer is turned on, the programmer design should be such that voltages are not applied to the EPROM socket.

This should permit you to insert and remove devices from the ZIF socket without powering down your computer every time!

When I built a 2708 EPROM programmer many years ago, I included red LEDs to indicate the varying voltages. The rule was to only remove or insert an EPROM when all the LEDs were OFF.

Dave

falter
January 23rd, 2018, 02:14 PM
The programming software should disconnect all the power supply voltages from the EPROM when it has finished reading from or writing to it.

Likewise, when the computer is turned on, the programmer design should be such that voltages are not applied to the EPROM socket.

This should permit you to insert and remove devices from the ZIF socket without powering down your computer every time!

When I built a 2708 EPROM programmer many years ago, I included red LEDs to indicate the varying voltages. The rule was to only remove or insert an EPROM when all the LEDs were OFF.

Dave

My board has a High Voltage switch with an led that turns on when you switch it. The software prompts you to set it on and off for programming. I had assumed the ZIF socket was always live because it seemed to be reading the eprom even with the HV switch off. But maybe its reading nothing. I coud swear I had the switch off and it read the contents of the nearly perfect EPROM back to me once though..

Dwight Elvey
January 23rd, 2018, 02:56 PM
My board has a High Voltage switch with an led that turns on when you switch it. The software prompts you to set it on and off for programming. I had assumed the ZIF socket was always live because it seemed to be reading the eprom even with the HV switch off. But maybe its reading nothing. I coud swear I had the switch off and it read the contents of the nearly perfect EPROM back to me once though..

The switch only works with the programmer initialized and powered up. When you power on or off your computer, It can be in almost any state to the 2708. Look at the schematic. The switch doesn't block the programming voltage, it controls a 7406.
Not all programmers turn off the VCC, when not reading the chip or programming. Most do but it is not essential. This programmer doesn't turn off either power level. It should hold the programming voltage off though. You should check this at the socket. With the switch off there should be no high voltage at the programming pin when reading. With the high voltage switch on and reading, there still should be no high voltage on the programming pin. The only time there should be a voltage is when it is actually programming and even then, it should be pulsing to about 25V.
Since the 7406 doesn't control the voltage unless it is powered up, it is quite likely you are programming the part when you turn your computer on and off.
Anyway, try erasing and first turn on your computer. Start your program to initialize the 6821. Then put the EPROM in the socket. and program it. If you still see FF going to 00, it means that it isn't controlling the programming voltage. This could be the 7406, transistor, the diode or even the resistor that connects the high voltage to the base of the transistor.
The fact that it is programming the last location indicates that the programming voltage is on when it should not be. This can happen, independently of the switch position, it there is a failure of the parts I mentioned or at turn on/turn off of the computer.
Dwight

falter
January 23rd, 2018, 03:22 PM
Okay. I think I will clean the ZIF socket though first (if that's possible). I played around some more and found if I moved the chip around in the ZIF and then looked at memory contents, it got closer to what I was looking for.. ie. it had the first few addresses correct and then went off, then correct again and then off some more. It changes based on how I've got the EPROM positioned in the socket (either more towards left side or right).

falter
January 23rd, 2018, 04:03 PM
Okay this time it worked! Brushed of the ZIF socket 'fins' a bit. Erased the EPROM for 10 min, fired up the computer. Loaded the CHIPOS data into RAM from my S file. Plugged the chip into the ZIF socket, fired up the burning software and burned (with turning the high voltage on and off as prompted). No problems at all. Then I exited the software, removed the EPROM and powered the machine off. Powered it back on, inserted the EPROM, fired up the software, transferred contents to memory and verified. It's correct all the way through.

Whether it'll do this again is anyone's guess -- I should probably try it with that other EPROM I have just to see if that EPROM was really dead or not. But yay, I have my CHIPOS for this Dream 6800 I plan to build once the TVT is done. Can't wait.

Chuck(G)
January 23rd, 2018, 04:44 PM
If you don't already have it in your toolkit, invest in an can of Caig "DeoxiT" DN5 (aerosol spray) or CRC "QD Contact Cleaner" (your choice). Either is really good and useful for oxidized metal contacts.

Dwight Elvey
January 23rd, 2018, 05:37 PM
Okay this time it worked! Brushed of the ZIF socket 'fins' a bit. Erased the EPROM for 10 min, fired up the computer. Loaded the CHIPOS data into RAM from my S file. Plugged the chip into the ZIF socket, fired up the burning software and burned (with turning the high voltage on and off as prompted). No problems at all. Then I exited the software, removed the EPROM and powered the machine off. Powered it back on, inserted the EPROM, fired up the software, transferred contents to memory and verified. It's correct all the way through.

Whether it'll do this again is anyone's guess -- I should probably try it with that other EPROM I have just to see if that EPROM was really dead or not. But yay, I have my CHIPOS for this Dream 6800 I plan to build once the TVT is done. Can't wait.

You missed a possibly important step. You didn't say you initialized the programming software. It puts the 6821 in a proper state.
Dwight

falter
January 23rd, 2018, 07:28 PM
Oh I wrote that wrong. I fired up the software *before* putting in the chip. Then I did the burn command and switched on the high voltage when requested.

I'm tempted to try the other 'bad' 2708 I had.. see if I get the same result, or if my method was the problem the whole time.

Dwight Elvey
January 23rd, 2018, 09:11 PM
The programming of the FF address was likely the powering down with the chip in place. As the 5V was going down, I suspect the 7406 lost control of the transistor that turned on the high voltage. There was likely enough charge on the capacitors of the charge pump to program the last address.
I don't know the states that the 6821 come up in during reset. That may have been a issue then as well.
The flaky socket wasn't helping any either.
Dwight

Dwight Elvey
January 24th, 2018, 02:30 PM
I was looking at the schematic:

http://www.swtpc.com/mholley/MicroWorks/Schematic100.jpg

If they'd moved the switch to ground to U5-2 and swapped the on off label on the PC board, it wouldn't bother it to turn the PC power on and off while the 2708 was plugged in.
Dwight