This is not intended to be a full answer; it's just my take on what the hardware is doing.
Note: There are undoubtedly errors below.
The description below follows all of the signals that feed in to A7
. It should make sense when read from top to bottom.
U10 : 74139 dual 1-of-4 demux ("Address decoder")
Outputs default H
.
Left side on schematic:
A15 = /Enable
A13=L, A14=L, A15=L ⇒ /CS_ROM = L
A13=H, A14=L, A15=L ⇒ /Enable on the chip's other demux = L.
Also connects to /CE2 on the RAM via several NOT
and NAND gates.
The additional gates also hook into the output
of the other half of this gate and the Z80's
refresh line (used for the video circuitry).
Other two outputs unused.
Right side on schematic:
A13=H, A14=L, A15=L ⇒ /Enable = L (as described above)
A11=L, A12=L, /Enable=L ⇒ Latch/Kbd(?) CS = L
This output also hooks into the afore-
mentioned circuitry hooked up to the RAM's
CE2 line.
Other three outputs unused.
U6 : 74251 1-of-8 multiplexer
This appears to be used for scanning the keyboard matrix. It takes one of its inputs from one of the lines of interest but does not output to the circuit we're interested in.
This chip is one of the two chips connected to the Latch/Kbd CS
line.
When Latch/Kbd CS
is L
then this chip's outputs are active. When it's H
the outputs are high-Z.
U7 : 74138 1-of-8 Demux
This chip is one of the two chips connected to the Latch/Kbd CS
line.
Outputs default H
.
Only one output is of interest on this chip (Q7
).
/E0 = Latch/Kbd(?) CS
/E1 = MREQ
E2 = H
A0 (chip) = A3 (on the Z-80 bus)
A1 (chip) = A4 (on the Z-80 bus)
A2 (chip) = A5 (on the Z-80 bus)
/E0
=H
, /E1
=H
, A0
=H, A1
=H, A5
=H ⇒ Q7
= L
Or in other words:
Latch/Kbd CS
=H
, /MREQ
Z80=H
, A3
Z80=H, A4
Z80=H, A5
Z80=H ⇒ Q7
= L
U17 : 3-input NOR gate
The NOR gate's three inputs are Q7
from the U7
demux, MREQ
Z80, and Write
Z80.
Output is connected to the 74174 latch's /CP
line.
U8 : 74174 latch
This latches the input (D2
Z80..D7
Z80) on the rising edge of /CP
.
Inputs:
/CP
: See U17
, immediately above.
D0
..D5
= D2
Z80..D7
Z80
Outputs:
Q0 → Character generator C0, Line out
Q1, Q2, Q3 → Character generator C1, C2, C3
Q4 → Line out
Q5 → U18 NAND (left)
This is the one we're interested in.
U16 : 7400 quad 2-input NAND
One gate is simply used to invert A7
Z80. The output of this, along with Q5
from the latch are fed into a second NAND gate. The output of this goes to A7
on the 6264 SRAM.
Synopsis
TBD. First guess is that it might allow the currently-pressed keyboard keys to be read directly either to the Z80 or to RAM.