> It looks like the LS273 and 4066 are not realy required since the 9th line > (RDMSE) > becomes activelow only when all 8 address lines (A8 to A15) are high.ie. a > read of port &FFFE >
I'm not quite sure how you mean.... the CD74HCT22106E is an 8x8 crosspoint switch - i.e. 64 analogue switches (like the 4 in the 4066) each with its own flip flop to keep it in the open or closed state. Each of these 64 switches corresponds to a key on the SAM keyboard -- but, since the SAM's keyboard is actually an 8x9 matrix, I had to extend the crosspoint switch by one row (actually only 5/8ths of a row), hence the ls273 and the two 4066s. If there's a trick I've missed, however, let me know - saving three chips wold be most welcome! The same circuit could be used on the spectrum, and in that case the ls273 and 4066s definitely aren't needed. That said, I suppose that the ls273 could be replaced with a latch or flip flop that has an output enable signal which could be linked to rdmsel, and then the outputs of the flip flops connected directly to the keyboard y connectors, but this might conflict with an existing keyboard (if left plugged in) and would mean that we would have to lose the NMI and RESET function... I'm open to suggestions! Andy