[Electronic Now project, In circuit programmables]
So, starting around 1985, most manufacturers have removed this information from their databooks. Expect most CMOS parts to have proprietary algorithms. Also expect as parts are redesigned to be faster, the old programming algorithms may be obselete, or have certain parameters in them shift.
But if you are convincing, some of the manufacturers will give you the information on a nondisclosure basis. (I've heard National and TI are pretty nice. Lattice and AMD, downright rude.)
And there is a new trend in industry that will help the hobbyist. Manufacturers would like to control their inventory, but the way older parts are programmed adds extra (possibly) expensive steps to the process of making a circuit board: procuring and inventorying the unprogrammed parts, programming them, reinventorying the programmed parts (and insuring they are programmed and marked correctly), making sure they are available to be inserted in the circuit board, and placed the right location ...
And after all of that, the board is tested in Automatic Test Equipment. This automatic test equipment has the same sort of electronics that a device programmer has (and have been used for this at many companies). So why not design parts that can easily (without destroying connected circuitry) programmed during the final test stage and skip many of the steps mentioned in the previous paragraph.
In order to do this, the semiconductor companies have to make the parts easy to program, and release the programming algorithms. Intel and Lattice with their Flex and ispLSI families are doing this.
The following is aimed at the level of the basement hacker, restricted to lower complexity parts. Which is what I've found in the surplus market.
Just remember that if you build your own programmer, factor in some money for test data (that is, destroyed parts). Unless you're using cheap parts, the $500 to $700 you tried to avoid spending for an inexpensive programmer could add up sooner than you expected.
Here's a list of articles and databooks that I've scraped together. Grouped by devices supported and in order of usefulness (IMHO).
This is a simple programmer limited to the 16v8 and 20v8 parts. It consists of two circuit cards, one a general purpose parallel port for the IBM PC and a programmer card with the drivers, ZIF socket, and voltage regulators. (Very similar to the Elektor project.)
Various kits and software available from:
30 Wicks Road
E. Northport, NY 17731
"Project: GAL programmer"
by Manfred Nosswitz.
Elektor Electronics (magazine), May 1992
This is a simple (5 IC's, 7 transistors, 2 voltage reg.) board driven by a program (in this case for an IBM PC or clone) using the computer's printer port. It supports the 16v8, 20v8 original and A versions.
"Project: GAL Programmer Upgrade"
by M. Nosswitz
Elektor Electronics, June 1993
An add-on board with a D/A converter to allow a variable programming voltage, and a new software driver. Now programs B version GALS, 22V10's, 20RA10's, and the GAL6001 PLA.
The software and PC boards are available through the Elektor publishers/franchises in various countries. In the US this is Old Colony Sound Lab (the publishers of Audio Amateur, and the former publisher of the US edition of Elektor Electronics).
Old Colony Sound Lab
P.O. Box 243
Peterborough, NH 03458
Tel: (603) 924-6371-6526
Fax: (603) 924-9467
In the UK
Elektor Electronics (Publishing)
P. O. Box 1414
Dorchester DT2 8YH
The item number for the software is 1701, the US price as of June 1993 is $22.30, the UK price 11.15 pounds. The software upgrade is item 1881, $21.50 or 10.75 pounds. The PC board is item 920030, US $22.30, UK 11.15 pounds. The PC board for the upgrade is 930060, $9.50 or 4.75 pounds.
Back issues may still be available from Old Colony, otherwise the address is:
Worldwide Subcription Service, Ltd.
Unit 4, Gibbs Reed Farm
Pashley Road, Ticehurst TN5 7HE
"Generic Array Logic (GAL)"
by D. Gembris
Elektor Electronics, April 1992
A description of the architechture of a GAL, along with the programming algorithms. Unfortunatly this describes the nonvolatile memory layout for the original version parts, and the A version parts would not work if this information were used. Some other information is left out, including describing the nonvolatile memory register that contains the part ID code and manufacturer. (This article is useful if you want to disassemble the software from the previous reference, but incomplete otherwise. Not really needed if you want to build and use the project as is.)
Judging from the algorithms in their 1988 databook, Samsung is a second source for Cypress. Their CPL 20 family is the same as the Cypress devices. In addition, they have 24 pin devices with the same technology that implement the 20L10, 20L8, 20R8, 20R6, and 20R4 devices.
"EPLD programmer design"
by John Cromie
Electronics & Wireless World, February 1989
An article describing a single chip microprocessor driven programmer (using a Hitachi 63701) that programs the devices. "Contact the author for software.", a common trend in this publication's "projects".
A single board Z80 based programmer for the PEEL18CV8 using keyboard entry. No algorithm description. PLD and EPROM for z80 program needed to duplicate. (Listed price was cheap, about $80 in 1990.)
A programmer for the original PAL family (too many to list). Implemented in the form of a IBM PC expansion card. (And sold for a while by Microway). Design is implemented with PALs.
"PAL Programmable Array Logic Handbook"
Monolithic Memories, 1981
"Designing with Programmable Array Logic"
by Tech. Staff of Monolithic Memories
A hardback copy of the MMI databook, including the programming algorithms.
"Interface, Bipolar LSI, Bipolar Memory, Programmable Logic Databook"
National Semiconductor, 1983
Databook back when they still published the algorithms.
"The TTL Data Book, Volume 4, Bipolar Programmable Logic and Memory"
Texas Instruments, 1985
Databook back when they still published the algorithms.
"The IC Master", 1986
TI actually published some of the algorithms in the advertising pages in the Custom/Semicustom section.
This has the algorithms for the bipolar amPAL devices that existed at the time, including the amPAL22V10. These differ from the 1983 algorithms, which were preliminary.
A programmer for the low end 20 pin PLA family. Implemented in those devices. Device mapping for only two of the members. (Earlier databooks may have this information.)
A circuit description for a programmer for the oldest Signetics PLA device. No Algorithm. Contact author for software.
"Bipolar and Mos Memory Databook"
Algorithm desciption. (IMHO, why bother ;-) )