This is part of an ongoing pursuit of laziness. Doing the same thing over and over is tedious. We need to cut that out.
A good example of a repetitive task is flashing ROM code to an EEPROM for your homebrew 8-bit computer. Or, to be more precise, my homebrew 8-bit computer, the 65C02-based Zolatron.
The Zolatron 65C02-based homebrew computer.
Every time I needed to test (or use) a change made to the ROM code I would have to power off the Zolatron, pull the EEPROM from its socket, put it in the programmer device, run the build script, remove the chip from the programmer, place it back in the Zolatron and power on again. Gah!
That led me to explore alternatives to EEPROMs. One idea was to use a microcontroller as a ROM. You’d upload the ROM code to the MCU’s flash along with a small program that would watch the signals that tell the ROM when it needs to be active, at which point it would read the address bus, look up the relevant byte from the ROM code and send it out on the data bus.
This is not an original idea. It has been done many times, most notably, perhaps, with the excellent OneRom project. I have two of these devices but, at the time I started this project, the OneRom didn’t support emulation for the 28C256 EEPROM (that has since changed). And besides, as good as the hardware and software for the OneRom are, it still represents an off-the-shelf solution, and you don’t learn anything from that. Nor do you have the joy of constant defeats and disappointments that you get with creating something yourself.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.