Need to read a 16 bit parallel EPROM and have a Teensy++ 2.0 and some shift registers handy? Perfect!
I bought a dead NAOMI game cartridge (Crackin' DJ) and started on a quest to repair it. Sometimes it would start booting then lock up, sometimes it would reject the cartridge entirely, sometimes it would show up in the test menu and fail all ROM, and sometimes it wouldn't show up at all. Since the game description, ROM CRCs and startup code all live in a 32 Mbit M27C322 EPROM (which is now 14 years old) that seemed like a likely place to start. Let's dump it!
The address 20 address lines are output through three 74HC595 shift registers while the data bus and control lines are connected directly to the EPROM. A Python script dumps it in around 45 minutes.
Sadly, the EPROM dump matched the one from MAME perfectly. Now I have more troubleshooting to do. But, that means that the EPROM reader works perfectly! Get the code and schematics on GitHub.