I don't have control over the protocol either - I am just emulating a Microchip 24LC00 EEPROM.
You have complete control over the protocol, just do exactly what the 24LC00 would do!
See for instance the Read-Operations from the datasheet
8.1 Current address read
When this is initated by the master, your slave's will only see that its onRequest()-function is called. You return the byte from the current address-counter. End of operation.
8.2 Random Read
The master starts this by initiating a write
. Your slave's onReceive() will be called, and you have to remember the address that came with the write. The next thing you'll see is onRequest() again, now you return the data found at the address you received with the write call.
and so on...
Why would I want a 25 Euro Arduino mimic an EEPROM that sells for 50 Cent, or is this just a proof of concept thing?