I thought an EPROM emulator would be a cool application of a Teensy 4.0 and a small PCB.
The EPROM is emulated using a Teensy 4.0 which has more than enough speed to sample the 16 address lines, retrieve the data from a 64KB array, and then drive the data lines.
It supports EPROMs sizes up to the 64KB 27C512. Uploading a new ROM image takes seconds and is as simple as updating the data array then reprogramming the it using the Arduino’s IDE.
The small PCB contains three SMT buffers to convert voltages since the Teensy is not 5V tolerant. This board plugs into the EPROM socket and the Teensy plugs into this board.
The setup you see below is somewhat tall because, rather than soldering the Teensy directly to the board, I used sockets between the Teensy and the PCBA which added a lot of height. Without these sockets it would be much shorter.
The PCB Files and source code are on Github: https://github.com/MicroCoreLabs/Projects/tree/master/EPROM_Emulator
Below are a few pictures of it emulating the 32KB ROM in an IBM PCjr.