Having started my training in electronics with an 80C552 based development board, coupled with an eeprom emulator, the ability to modify and upload code was essentially as easy as it is with an Arduino these days.
Rather than having to erase and burn an eeprom with every change to the code, when you are just learning this can be very often! The eeprom emulator contained up to 64KB in SRAM and the compiled code was uploaded via the PC LPT port. There was a DIP28 socket on a flat-ribbon cable that replaced the eeprom and let the CPU believe it was addressing ordinary eeprom.
This project was born out of the idea of reviving my 80C552 without the expense of an eeprom emulator or eeprom programmer/eraser. My initial thoughts were to interface an Arduino Mega directly to the pins of the eeprom and by reading the address bus and performing a 2D array lookup in flash where the compiled .hex code was stored - provide the relevant data to the 80C552.
This isn't going to work - mainly due to the fact that both the 80C552 and Mega are running at 16MHz - the latency introduced by the Mega - read address bus, lookup data byte, write databyte - will take an enormous amount of time compared with how long a direct read of an eeprom actually takes.