My old ROM burner was for very small ROMs and only had 8 address lines. Here is the new burner using 12 address lines:
Nothing special about this project. An Arduino Nano is used to serially shift bits into a chain of 74HC194 4-bit bidirectional universal shift registers. These setup the address for the inserted ROM. The Arduino manages the write enable and output enable state of the ROM. Write detection is handled by polling for a completed bit signal on the ROM itself. The ROM is an AT28C64B 8Kx8 parallel EEPROM with page write. I haven't tried the page write feature yet, but if write times get to be an annoyance I could always hook it up.
The various control lines are specified in my burner sketch as an array of logical combinations at each time step:
I need to add some circuitry to early out of the time step count, maybe with a new control line that signals the end of an instruction.
I haven't tested any of the instructions pasted above so they might be completely wrong. Just some content in place to test the burner. Now I'm ready to author a few instructions, hook up the con lines, and get on with some more advanced computing!