Using the Arduino Uno as a Normal EEPROM

Hi I am in need of low storage EEPROMs and thought to myself if it is possible to use the arduino as a parallel EEPROM, the program i need on it is something for a 6502 computer, and I didnt buy the right type of EEPROM.

Is this even possible to do? Could I use the Data pins as address lines?
I couldnt find anything on the web about this, and decided to post a question.
Thanks in advance! :slight_smile:

No, that is not possible. The EEPROM address/data lines are not accessible thru the IO ports.
See page 15 of the datasheet
http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf

It is possible to have a program running on the Arduino that would emulate an EEPROM, by reading certain input lines and storing or reading data out of the internal EEPROM.

Of course the operational timing would be completely different than any standard EEPROM chip.

It would be trivially easy to read a few input pins and look up a list of what output corresponds to that input and present the output on some output pins.

But normal EEPROM's have timing specifications in nanoseconds. The naive Arduino solution would take milliseconds to do the same thing. A thousand times slower. Depending on what you are using it for, it probably won't work.

Emulating an I2C or SPI EEPROM would be more feasible.

Of course it's possible to emulate an EEPROM, but the timing (speed) sucks :frowning:

Nonetheless a Mega with its many I/O ports should accomplish reading or writing of a byte in a few or even less than a ยตs. If the 6502 can wait for completion of the code that's a viable solution. How fast should your EEPROM be?