Using a Raspberry Pi to read an old 27C512 5V CMOS EPROM
Trying to track down an old Elektor project from 1998 - in a novel technique an EPROM was used to realise a state machine to perform pattern matching in SPDIF audio data on the fly. The original project details that created the ROM contents are lost so I used a Raspberry Pi to read the old PROM via GPIO and some simple python
Back in 2000 I purchased a kit that had been published in Elektor 07-08/1998 - known as the "Simple CopyBit Killer" that would allow home musicians to made digital copies (on MiniDisc or DAT machines) of their own digital recordings that the clumsy copy-protection mechanism SCMS would prevent.The design used a very clever pattern-matching state machine realised in a 27C512 ROM along with a handful of widely available components.
I recently retrieved some of my old audio gear from storage including my minidisc deck and the Elektor SCMS killer that I'd assembled all those years ago. Coincidentally I discovered audio enthusiasts were still looking for copies of the ROM contents to build the project again and the kit had achieved something of a legendary status :-)
The original project mentions a small Pascal programme was used to generate the binary contents of the ROM but did not offer any listing of the code. The original author and the company that supplied the pre-programmed ROM parts have long since disappeared.
I searched all over the internet and asked Elektor customer support (and the Editor) but apparently all pre-2000 project details have been discarded during Elektor office moves and website re-structuring..
I had a spare Raspberry Pi (model 2B) lying around so hooked up the 27C512 on some breadboard directly to the Pi's GPIO. I found a couple of other projects that had done similar things and modified some python to give me a binary image of the EPROM's contents. Looking at the binary contents the data looked reasonable. I had read and powered the 5V part directly from the Pi's 3V3 GPIO so was worried about data integrity as the original TI datasheet for the 27C512 said "minimum Vcc = 4.5V"... I had inserted 1ms pauses after setting address/OE/CE etc. so I wasn't reading the chip at high speed, I figured the pauses would help the data stabilise if the low Vcc was causing issues. I was able to verify the ROM contents using a separate USB-TL866 reader and the two binary images were identical so reading at 3V3 was good for me!
$ md5sum elektor_scms_rom.bin 64bd11d7cd3a2ffcde307e94fd8fd679 elektor_scms_rom.bin $ md5sum TMS27C512@DIP28.BIN 64bd11d7cd3a2ffcde307e94fd8fd679 TMS27C512@DIP28.BIN
( More details at: https://bit.ly/27C512dump )
The SCMS copybit killer still works as designed, so I have no reason to believe that the data inside the ROM is not good, but I'm curious to see that after 20+years it would be good to get details of the original design to verify it 100%.
Still looking for "Dipl.-Ing. Hans-Juergen Hanft" the original article's author and/or "Georg Stippler/Stippler Elektronik" the supplier of the programmed ROMs - if anyone has any details/clues/leads as to the original source that generated the ROM contents.please help! :-)
Or anyone with an original ROM to compare md5sum...?
Updates van de auteur