I thought I'd make an official thread for the various stages of this project as I complete them.
I've just finished stage 1, which is a rudimentary serial over audio interface for initial programming. This allows a small program up to 4K to be relayed as a set of pulses through a PC's sound card. It uses high and low levels, nothing fancy. The left channel is used as the clock and the right channel contains the logic level for the current bit.
The audio channels are fed to a LM358 with both amps configured as schmitt triggers, These in turn trigger a pulse from one half of a 556 in monostable mode. This provides a good level of stability. The data is fed to a 74HC164 (shift register) and the clock counts up a 74HC193 (4 bit counter). The 8 output of the counter is connected to a monstable 555 which outputs a write pulse and resets the counter. The falling edge of this pulse is used to count up a set of 3 193s which act as a 12 bit address counter (for a total of 4096 bytes)
I've thrown together a few LEDs to monitor all the bus activity. The next stage will be to add memory and a CPU. I will probably make a separate board for this since wiring the bus connections has already made the underside of this one a bit messy. Initially I will use a battery backup to retain the data. I have some serial EEPROMs but those will require additional circuitry to integrate. The first bit of software to be loaded (aside from test programs) will be for interfacing with SD cards and the FAT file system. This will then become the primary source for software updates (which will make full use of the 16 bit address space, and possibly page additional memory as well).
I've been putting it through its paces today and determined that the maximum data rate is 428bps - so that would take 76.6 seconds to load a 4K program.