Relatively Universal-ROM-Programmer
This is a version 2.0 with all pins mounted as well as a reliable 3M ZIF socket. It is meant to be a cheap way to program any 24/28/32 pin ROM requiring from 5V to 27V programming/erasure voltage.
Requires a dev board with a processor or microcontroller. Like a 65uino or Arduino Uno for instance. (NOT INCLUDED)
Software
- Don't attach the Programmer shield while power is on.
- Don't turn on power if the controller (Arduino/65uino/Nucleo board) isn't programmed with appropriate firmware.
- Don't insert a ROM in the socket until you're ready to write it. Don't leave a ROM in the socket during reset or programming.
Firestarter firmware
If you just want to get started fast, there's an amazing third party firmware and desktop software available in the form of Henols'sFirestarter. Firestarter is recommended if you just want to program ROMs cheaply and don't care too much about the technical details.
Remember: Don't insert a ROM in the socket until you're ready to write it. Don't leave a ROM in the socket during reset or programming. Program Arduino before attaching shield. Attach shield before powering on Arduino
Documentation
The Relatively Universal ROM Programmer relies on the standard JEDEC ROM footprint and common "high voltage" pins to work. BJT drivers handle putting the 12-27V programming voltage on the relevant pins. Which "high voltage" pins are active can be selected in software but jumpers have to be set for the different package sizes. A common configuration is to connect "A" to 5V and B to "A13", which covers the Winbond 27C512 and many other common 28 pin ROMs. This configuration also covers the 32 pin SST39SF010 (5V programmable).
The "high voltage", VPE, is calibrated using the trimpot on the front of the board after activating the regulator in software. Please be aware that some dev boards WILL put VPE on several pins during reset - especially if reset is held down manually. This MAY damage a chip in the socket (especially if it's only 5V programmable). Clarity: It's best to NOT reset the controller with a ROM in the socket to be on the safe side.
Documentation will be updated with FAQ