87c521 programmer - Page 1
Forum section: electronics / general

author: Stonent
author_rank: Super Contributor
timestamp: May 21, 2014, 03:29:17 am
content: A few years back I mentioned I had a few Intel 87C521 chips and I'd really like to do something with them, even if it's just make a centipede that sits on my desk and blinks lights.These are all date coded 1980, does anyone know of a DIY programmer for them that could be built on a breadboard? Pretty much everything I'm finding is a commercial programmer, and that's not really worth the money just to give these some kind of use. I have access to a real serial port if needed but no parallel port unless I dig through some junk and build something.

author: 22swg
author_rank: Frequent Contributor
timestamp: May 21, 2014, 07:07:20 am
content: I have a couple of these , I think they are 8051 core , you could do a bb mcu / serial programmer , but you need > 24 I/O pins , TX RX and a clock and Vpp I started way back using an 8255 ! perhaps now a PIC16F877 could do it , the encryption bytes may be an issue if it has them ?think this is right....Quick-Pulse ProgrammingThe setup for microcontroller quick-pulse programming is shown in Figure 26. Note that the device is running with a 4 to 6 MHzoscillator. The reason the oscillator needs to be running is that the device is executing internal address and program data transfers.The address of the EPROM location to be programmed is applied to ports 1 and 2, as shown in Figure 26. The code byte to beprogrammed into that location is applied to port 0. RST, PSEN and pins of ports 2 and 3 specified in Table 8 are held at the ‘ProgramCode Data’ levels indicated in Table 8. The ALE/PROG is pulsed low 5 times as shown in Figure 27.To program the encryption table, repeat the 5 pulse programming sequence for addresses 0 through 1FH, using the ‘Pgm EncryptionTable’ levels. Do not forget that after the encryption table is programmed, verification cycles will produce only encrypted data.To program the security bits, repeat the 5 pulse programming sequence using the ‘Pgm Security Bit’ levels. After one security bit isprogrammed, further programming of the code memory and encryption table is disabled. However, the other security bits can stillbe programmed.

author: amyk
author_rank: Super Contributor
timestamp: May 21, 2014, 12:01:44 pm
content: Are you sure they're made by Intel? I can't find any reference to Intel having made an 87C521, but AMD sure has; the datasheet is here:http://www.ryston.cz/pdf5/87541.pdfProgramming algorithm is outlined in there; a shift register could be used to solve the problem of limited I/O, and if you have a bench supply that can output the Vpp (12.75V) then that will also work.

author: Stonent
author_rank: Super Contributor
timestamp: May 21, 2014, 03:25:32 pm
content: Yes Intel P87C521.They are in a 40 Pin DIP package, labeledP87C521L1027A32FIntel (M) (C) 1980

author: 22swg
author_rank: Frequent Contributor
timestamp: May 21, 2014, 04:07:00 pm
content: These are one time program devices ( no window ) they may already have been programmed ? My 87C251 had uv windows

author: Stonent
author_rank: Super Contributor
timestamp: May 21, 2014, 04:29:31 pm
content: Quote from: 22swg on May 21, 2014, 04:07:00 pmThe ones I had came out of a full tube, so I assume they had never been programmed.

author: rsjsouza
author_rank: Super Contributor
timestamp: May 21, 2014, 05:43:37 pm
content: These areP87C52-1from Intel... The datasheet indicates they should be EPROM, but I wonder if someone with a deep enough pocket had ordered this (supposedly) OTP version...(edit) foundthis pagethat mentions a programmer...

author: SeanB
author_rank: Super Contributor
timestamp: May 21, 2014, 07:19:55 pm
content: Development versions were cerdip packages so you could erase, but for small runs they used a plastic package and the same code. Often you could order the devices direct from Intel with the data already programmed into it. Made manufacturing easier then for a run of 2-3 thousand devices.

author: rsjsouza
author_rank: Super Contributor
timestamp: May 21, 2014, 07:54:30 pm
content: That would be a bummer SeanB...In early 1990s I used a lot of the CerDIP EPROM '51 variants... 87C51FA and FB versions at an astounding 16kB ROM / 128B RAM! The FC version was deemed too expensive for our product... (I wish I could remember the price)

author: westfw
author_rank: Super Contributor
timestamp: May 21, 2014, 08:24:04 pm
content: I have some 8752s lying around too (real ones, with windows!) I keep thinking that I should do something with them, but I can't decide between "build the classic 4-chip 8052 system! Because it's classic!" and "throw them away! If you really want to program an 8051, get one of the modern chips with serial-programmable lots-of-flash and a decent set of on-chip peripherals."

author: 22swg
author_rank: Frequent Contributor
timestamp: May 21, 2014, 08:37:54 pm
content: ShawnB Hit the chip on the head we sometimes got boards from the factory with mods or updates with 87xx chips , before they could get ROM based chips onto the production line usually they replaced 8041 keyboard controllers.westfw are there not any DIY 8752 program circuits around... I will check my magazines from the 1980's

author: westfw
author_rank: Super Contributor
timestamp: May 22, 2014, 06:54:23 am
content: Hmm. I actually have an ancient device programmer that will program 8051s, and my idea was to burn a bootloader that read serial eeprom into big RAM chips.(The traditional 4-chip system I refer to has an 8052, perhaps with built-in 8052 BASIC, a RAM chip (typical 8k) for data, an EPROM for code (typical 32k), and some decode logic. For examplehttp://www.dos4ever.com/8031board/8031board.htmlPeople forgo programming the 8051 itself and just operate it in external memory mode, because it is (was) easy to find EPROM programmers (and "obsolete" ROM 8052s who internal code could be ignored were cheap on the surplus market.) You could do the same thing these days with a parallel flash chip, or NVRAM, replacing the EPROM; those would be relatively easy to program (no more weird voltage requirements.))

author: 22swg
author_rank: Frequent Contributor
timestamp: May 22, 2014, 08:41:39 am
content: westfw . Thanks for the link , I probably have some of those IC's somewhere in my junk, like the idea of a resident boot loading rom to ram and on stripboardI had all the gear to program UVPROM (DOS based ! ART programmer ) think I recycled some of it...still have a bag of 27C512's , might look into designing a PIC based 87xx programmer if i get timeEditWhy do i keep this stuff ! been through my archive , find my chips are not 78C521 but C7851H ...

author: westfw
author_rank: Super Contributor
timestamp: May 22, 2014, 08:46:27 am
content: (oops. 5 chips; I forgot the address latch.)

author: Stonent
author_rank: Super Contributor
timestamp: May 23, 2014, 12:12:06 am
content: Well now I'm very interested in the 8052 basic computer that boots off the external eprom.

author: SeanB
author_rank: Super Contributor
timestamp: May 23, 2014, 01:06:34 am
content: I have a LED clock that uses an 8748 chip as a microcontroller. Must try to read it sometime to get a copy of the ROM programmed into it. I got it at a hamfest, but it came with no info, though I was able to dead bug a keyboard to it to set time, and it uses a RTC clock on board which keeps really good time.

author: 22swg
author_rank: Frequent Contributor
timestamp: May 23, 2014, 07:47:55 am
content: Stonentyour original post has got my grey cell buzzing … probably cause its old stuff, I put apossible875x programmer design together from bits I have got and trying to keep the soldering to a minimum … Chose PIC16Fxxxx as I have blocks of code for I2C , key pad etc working…. version 1 attached.

author: Stonent
author_rank: Super Contributor
timestamp: May 23, 2014, 04:38:04 pm
content: In the schematic (http://www.dos4ever.com/8031board/8031board.html) for the computer linked earlier, the author uses:74HCT0074HCT13874HCT57362256 SRAMand various EpromsLast night I found a board in my collection that has all of these:74HC00B1 Quad 2-input NAND gate74HC138E 3-to-8 line decoder/demultiplexer; inverting74HC373AP Octal D-type transparent latch; 3-stateAT28C256 256K 32K x 8 paged parallel EEPROMD43256BCZ-70L 32K x 8 Static Mix-Mos RAMIf I understand the datasheet correctly, the 373 and 573 are essentially the same chip but with a different pinout.Does anyone think the 43256 SRAM would work in place of the 62256? (pinout seems the same)And does anyone think that using HC instead of HCT could cause a problem in this circuit. If I understand what I read, HC doesn't necessarily go all the way to 5V on a high like an HCT does.

author: dannyf
author_rank: Super Contributor
timestamp: May 23, 2014, 05:29:02 pm
content: QuoteQuoteWow! It brought back memories of me working on my very first mcus in the 1980s.We have come a loooooooong way since then.

author: 22swg
author_rank: Frequent Contributor
timestamp: May 23, 2014, 08:01:40 pm
content: Stonent.. The 74 logic chips should not be a problem , check the pin out as you have found, The D43256BCZ-70L would appear to be near to the speed of the 62256 at 70ns read time , ( hence the -70) , depends on the MIPS of the cpu at 12 ish ? Mhz and any memory timing delays in SW.

author: Stonent
author_rank: Super Contributor
timestamp: May 24, 2014, 08:41:03 pm
content: I went ahead and just bought the hct chips locally. It will save me from desoldering. While I was at that store I picked up an unknown 2x30 LCD with screw terminals that happens to have a tiny Philips 8051 varient on it.

author: hwarin
author_rank: Newbie
timestamp: October 02, 2018, 11:05:24 pm
content: Hi,I would like to read the contents of a (unique ?) AMD D87C521 but I don't think that I have any programmer able to use it (as I've only got a TL866A at hands and a WILLEM that I've never been able to use properly).I've found the datasheet here :https://www.datasheetarchive.com/pdf/download.php?id=89e77838ffbc5fa000d9ed2b62e45407420089&type=O&term=87C521If lock bits aren't activated :==> Do you think that I may build a sort of "reader" for this thing, possibly using an Arduino and a 8255 ?==> Does someone have a schematic or whatever readilly available ?Thanks for your help.Regards - Hervé

author: westfw
author_rank: Super Contributor
timestamp: October 03, 2018, 01:44:36 am
content: QuoteIt looks like it should be pin, voltage, and read-algorithm ("program verify") compatible with a standard 80c51 - are you sure you can't just read it with your TL866?

author: hwarin
author_rank: Newbie
timestamp: October 04, 2018, 10:18:52 pm
content: Hi, Westfw,Thanks for your interest for my question - In fact, I'm not certain about TL866 capacity to properly read this MCU - I can find the Intel 87C52 component but from my understanding, it should (may ?) need a crystal and so on for proper use as per AMD's datasheet. I've never did such an operation and I wouldn't take risks with this D87C521.Any help/precision welcome.Regards - Hervé

author: technix
author_rank: Super Contributor
timestamp: October 05, 2018, 02:25:05 am
content: These are OTP EPROM parts... AFAIK the best current solution to use them is not using the internal EPROM at all, and hook it up to some external EEPROM and boot from there. Actually if you give them external EEPROM try Von Neumann connect it, since executable external SRAM makes some weird and wonderful projects.

author: hwarin
author_rank: Newbie
timestamp: October 07, 2018, 04:25:22 pm
content: @technix : My goal is not to "use/program" a 87c521 but to dump an existing one, what have (probably) been programmed years ago in order to recover the code.So far, to be fully complete, I've found in a garage sale a small unknown box with a PCB containing all the hardware necessary to make a Minitel external display (French ancestral videotext terminal). As it don't seems to be working, I'd like to try to dump the code in the hope that something remains readable ...Hervé

author: technix
author_rank: Super Contributor
timestamp: October 07, 2018, 07:18:08 pm
content: Quote from: hwarin on October 07, 2018, 04:25:22 pmDepending on the chip, your best chance might be EA hot swapping. Boot the MCU with EA pin tied LOW so it would fetch its first instructions from external bus, then raise the pin after the program counter has been placed in the external address space to bring the original EPROM contents back onto the bus so you can read and dump it.

author: hwarin
author_rank: Newbie
timestamp: October 13, 2018, 11:17:17 pm
content: Well - I don't really see how would this trick could work.If I start the MPU on external adress (I need a clock, of course) then it won't read any proper vector and will execute garbage, but will continue to drive the address bus. Switching back to internal address space will then execute something random from a random location and I'll never get anything.Am I wrong ?

author: technix
author_rank: Super Contributor
timestamp: October 14, 2018, 03:04:04 am
content: Quote from: hwarin on October 13, 2018, 11:17:17 pmYou need to supply your EEPROM for the chip. This way it boots to your program.