Kris Sekula's EPROM Emulator Offers an Arduino-Compatible Open Source Way to Hack Old Hardware
Built around an Arduino Nano and off-the-shelf parts, the EPROM Emulator lets you replace physical EPROMs and reprogram on-the-fly.
Developer Kris Sekula has launched an open source tool designed to make working with classic hardware easier: an Arduino-based drop-in hardware emulator for erasable programmable read-only memories (EPROMs).
"EPROM Emulator is a tool that can temporarily replace an EPROM memory chip inside your 'target' device," Sekula explains. "You can plug it into your computer and 'upload' a new version of code in seconds (instead of removing, UV erasing, reprogramming, and re-installing a traditional EPROM chip)."
"This type of tool used to be very popular (and essential) in the days of 8-bit computers (think of your Commodore, Atari, ZX Spectrum, etc.) It was the fastest way to develop a firmware. It's a must-have for anyone dealing with those old platforms, testing different 'loads' or writing low-level code."
The EPROM Emulator came about when Sekula started running into problems with a commercial board, and is designed to use readily-available and off-the-shelf parts rather than more esoteric components like GALs and GPLDs — "nothing that would require sophisticated tools to implement," he explains.
The board comes assembled and tested, with a 3D-printed base plate to keep the emulator steady and protect the desk surface. A 28-pin probe allows the emulator to replace physical 27C64, 27C128, 27C256, and 27C512 EPROM parts in target devices — and while 2716 and 2732 chips are supported in firmware, a 24-pin probe would be needed. "Alternatively," Sekula notes, "you can use the included 28 pin emulator probe, but leave the top 4 pins 'sticking out' - in that case, power has to be provided to the emulator via USB."
The emulator is now available ready-assembled and tested from the My Geeky Hobby Tindie store, priced at $55; full source code and design files are available on GitHub under the permissive Apache 2.0 license. More details on the design can be found on Sekula's blog, My Geeky Hobby.