>>> Well changing out a 555 is no big deal, if that's what you're thinking.
It may not be the 555 of course. That is not our pressing problem for the moment though...
I have found out a LOAD of information this afternoon... I have been looking at the schematics for the other cards (16K static RAM card and the 80 column VDU) and I think I have worked out how they work - and applied that to what I suspect. Interestingly, I can see how the BOOTSTRAP PROM now works a bit more (i.e. the BOOT code and the hardware I have gleaned seem to match!).
Each 8K RAM card has a write protect register of 8 bits. This write protects or write enables a block of 1K of RAM within the 8K depending upon the state of the bits you write.
The I/O address of this write protect register depends upon the link setting on the RAM card as follows:
Block 0 = I/O port 1F.
Block 1 = I/O port 3F.
Block 2 = I/O port 5F.
Block 3 = I/O port 7F.
Block 4 = I/O port 9F.
Block 5 = I/O port BF.
Block 6 = I/O port DF.
You can't set the RAM cards up for block 7.
The I/O ports for the VDU card are mapped into I/O space F0..F3.
F0 Write = set the high bits of the base of the memory card that will be used for the VDU DMA. This seems to use D7..D3 for setting A15..A11. The BOOTSTRAP ROM seems to initialise this to C0; so the base of the VDU screen should be located at C000 which is block 6 (which is where I thought it was based upon the two links inserted into your last memory card).
F1 Write = set INTERRUPT enable bits. D0 = enable interrupt 5 = KEYBOARD STROBE interrupt. D1 = enable interrupt 6 = BRK KEY interrupt.
F0 Read = Read the state of the keyboard bits.
F1 Read = Read the status. D0 = KEYBOARD STROBE latch. D1 = BRK KEY latch.
F2 Read = Reset KEYBOARD STROBE latch.
F3 Read = Reset BRK KEY latch.
The BOOTSTRAP ROM appears to perform a read of I/O port F3 (Reset BRK KEY latch) on first entry to clear the mapping bit (i.e. enable the RAM). I wonder if this is a dual-purpose instruction or it is just a convenient port to read because it is there?
Anyhow, as you can see, I am getting further. I think I now know how to read the keyboard and how to write characters to the VDU...
We should be able to read the 1702 missing bits by wiring up a little adapter board to 'switch around' the data lines from the 1702 BOOTSTRAP ROM. Just thinking out loud here... If we wire a DIL socket to a DIL plug and wire the socket pin for pin with the plug EXCEPT for the data lines. If we swap the data lines around from the ROM socket to the plug (i.e. swap D0 and D4, D1 and D5, D2 and D6 and D3 and D7) this should give us a different set of characters on the VDU screen. However, this time, the two missing bits are included. I should be able to reassemble the full complement of 256 bytes using this method.
If we can work out how to use the serial port that would be a great help of course... I could write a little monitor that would permit us to load code via the serial port...
I will have a look at the I/O card tomorrow if I have time.
Dave