In looking for a 64K x 8 Parallel EEPROM, one of the most available chips is the 27SF512. Google would indicate this is commonly used by auto enthusiasts to replace chips in various cars. I have found dedicated programmers that cost up to hundreds of dollars, but I don't really want to do that. I would like to program it from my computer via an Arduino on a serial connection.
From the datasheet:
The programming mode for SST27SF512 is activated by asserting 11.4-12V on OE#/VPP pin, VDD = 4.5-5.5V, and VIL on CE# pin. These devices are programmed byteby-byte with the desired data at the desired address using a single pulse (CE# pin low for SST27SF512 and PGM# pin low for SST27SF010/020) of 20 µs. Using the MTP programming algorithm, the Byte-Programming process continues byte-by-byte until the entire chip has been programmed.
I get that I need to apply high voltage to the VPP pin, and that CE then becomes a clock pin of some kind. I just have no idea what the MTP programming algorithm is.
Best case I can just put the address I want to write and the data on the appropriate pins and put CE low to store the data. It appears that maybe I have to write every byte in sequence though. Thats ok too, but I have failed to find any firm details on the exact protocol to use.
It also looks like I need to fully erase the chip to all 1's before any programming, but that seems much more straightforward.
I would like to make sure I understand what I'm doing before I shell out for a batch of chips.