A day came where I needed to burn an EPROM, but I didn't have access to a regular commerical EPROM burner, so instead of forking over $300, I decided to look around and see how hard it was to make my own. (Luckily, I had access to an EPROM eraser since I was doing PIC programming.)
A little google-searching later, I found the fantastic specifications listed at http://www.mikeg2.freeserve.co.uk/eprom/eprom.html, and made myself a shopping list. One trip to the local micro-electronics store and Radio Shack and I was ready to build it. Probably the most expensive piece was the project board. (I think I spent about $60, including some tools.)
After reading over the schematic and realizing there wasn't any software to run the board under Linux, I figured I'd just write my own software. Turns out that I didn't like how the schematic was built, and after reading the 27c801 datasheet I decided the the programming time listed on the project ("20 minutes") was just totally unrealistic. It shouldn't take that long. The datasheet spec'd 52 seconds.
So I made some changes to the wiring:
Changes to design: ------------------ Parallel port control pins: addr clock: /C0 (par pin 1 - same as original design) enable programming: /C3 (par pin 17 - instead of 16) enable EPROM: /C1 (par pin 14 - wired to EPROM /CE pin 22) addr reset: C2 (par pin 16 - instead of 14) Hi Addr Counter pin Q9 is not wired to anything. 15V 300mA power supply.
For construction details (NOT including my changes above), I made a mirror of the original project site here.
When I was done, the programming time was under 2 minutes, with the reading time near 15 seconds (instead of 10 minutes).
You can find a Tar/GZ file with the programming software, or you can browse the code. It has been written under the GNU General Public License.
4040 +---\/---+ 1 -|Q11 Vdd|- 16 2 -|Q5 Q10|- 15 3 -|Q4 Q9|- 14 4 -|Q6 Q7|- 13 5 -|Q3 Q8|- 12 6 -|Q2 R|- 11 7 -|Q1 /CP|- 10 8 -|Vss Q0|- 9 +--------+Parallel port pin-out