EEPROM writer with Arduino

I want to be able to burn ROM file on 28256 type of parallel EEPROMs. It seems to me that it's pretty simple: the chip enable and the output enable pins have to be held high while the write enable pin has to be set low momentarily to finish a writing cycle. I assume the .rom file I want to program on the memory consists of memory addresses followed by data/instruction. Therefor, for each cycle I need two bytes: address+data. I wonder how long the delay should be between each writing cycle? How can I view the content of a .rom file? I want to use Processing or Python to be able to manage the .rom file and send it over serial. Also, many bytes the Arduino can transfer at a time? Can I read the RDY/BUSY pin of the EEPROM with the Arduino so that I know when each writing cycle finishes? Any ideas would be appreciated!

The datasheet for the device will give the timings. It looks like you would need 15x Address, 8x Data & 3x Control pins to program so an UNO will be no use without external components. You could use a HEX viewer to see contents of .rom file (If your using Windows then try HxD - Freeware Hex Editor and Disk Editor | mh-nexus) if it's not ASCII like the .hex files for Arduino. To decode the meaning of the .rom file you will need to know what processor the code is written for (assuming it's not just data)

The Arduino should have no trouble writing an EEPROM. Where I work, almost all of our products have some sort of non-volatile memory (Flash, serial EEPROM or parallel EEPROM). There are user parameters & options that the user can store in non-volatile memory, which means the on-board microprocessor can write to this memory. We don't use the Arduino, but this kind of thing is done "everyday", and any microprocessor/microcontroller can do it!

The one thing I would recommend is that you read-back and verify the data after writing, especially during development. It can read faster than you can write, so it shouldn't take much time away from whatever else your program is doing.

However, I don't know how to communicate with Python, and I don't know what a .ROM file is... Typically, the data file won't store an address for every byte, since that would just be a sequence of numbers counting-up. You just need the starting address, or a starting address for a block of data. Of course, your program will have to write each byte to a specific address, so you 'll probably need a create "counting-variable" for the addresses. The ROM file might simply be a "raw" file... A sequence of bytes with an assumed starting address of zero???

We have a commercial stand-alone programmer that we use for loading the firmware (typically into Flash) and for programming PLDs. We use Motorola .S files for the Flash and JEDEC files for the PLDs. Our programmer supports 8 different file types, but it does not support .ROM, so I'm guessing that's not an industry standard. In our case, so don't need to worry about the .S format details. Our development system/compiler generates .S files, and our programmer can read them.

When our on-board microprocessor writes to Flash (after the firmware is loaded & running), there is no "file format". It's just a variable-value being written to a particluar address (an address "known" by the firmware).