9 ICs
3E ’04 3H ’157
4C ’86 4D ’86 4E ’1’ 4F ’194A
5D 27128 5F ’194A 5H ’32
4E — 74LS174: Row-bit latch (174): D1=V4,D5=V1,D6=V2 registered on the 4H phase (CLK pin 9); H4 is a separate line feeding 4D pin 2 -> $CGV4L/CGV1L/CGV2L to 4D flip XORs (pins 4/12/9). ~CL=+5. FFs 2/3/4 unused. — verified 2026-07-25
4E ✓
74LS174
+5V
~CL
1
+5V
V4
D1
3
V4
4H · CLK <- 4H phase (CN-2 D4 net, from 5/8 4N pin 5). CORRECTED 2026-07-27: was wrongly recorded as H4; the drawing shows 4H and H4 as separate lines in the same bundle
CLK
9
4H
V1
D5
13
V1
V2
D6
14
V2
$CGV4L · -> 4D pin 4
Q1
2
$CGV4L
$CGV1L · -> 4D pin 12
Q5
12
$CGV1L
$CGV2L · -> 4D pin 9
Q6
15
$CGV2L
GND:8=GND VCC:16=+5V
4D — 74LS86: Char ROM row-address XORs: $CGA0=H4^$CHHCORR (5D A0); $CGA1=$CGV1L^$CHVCORR (A1); $CGA2=$CGV2L^$CHVCORR (A2); $CGA3=$CGV4L^$CHVCORR (A3). Row bits from 4E latch, flip corrections from 4C. — verified 2026-07-25
4D ✓
74LS86
$CHHCORR · <- 4C pin 6
B1
1
$CHHCORR
H4 · <- H4 (CN-2 C6 net, from 5/8 3K pin 5) - a DIFFERENT signal from the 4H clocking 4E
A1
2
H4
$CGV4L · <- 4E pin 2
A2
4
$CGV4L
$CHVCORR · <- 4C pin 8
B2
5
$CHVCORR
$CGV2L · <- 4E pin 15
A3
9
$CGV2L
$CHVCORR · <- 4C pin 8
B3
10
$CHVCORR
$CGV1L · <- 4E pin 12
A4
12
$CGV1L
$CHVCORR · <- 4C pin 8
B4
13
$CHVCORR
$CGA0 · -> 5D pin 10 (A0)
Y1
3
$CGA0
$CGA3 · -> 5D pin 7 (A3)
Y2
6
$CGA3
$CGA2 · -> 5D pin 8 (A2)
Y3
8
$CGA2
$CGA1 · -> 5D pin 9 (A1)
Y4
11
$CGA1
GND:7=GND VCC:14=+5V
4C — 74LS86: Flip-control XORs: g1 buffers FLIP->$CGFLIP; g2 (/$CHHFLIP^$CGFLIP)->$CHHCORR to 4D.1; g3 (CHVFLIP^$CGFLIP)->$CHVCORR to 4D.5/10/13; g4 (CHHFLIPa^$CGFLIP)->$CHHSEL to 3H.1 SEL — verified 2026-07-25
4C ✓
74LS86
FLIP · <- 2/8 io control reg (7A DB7)
A1
1
FLIP
GND · tied GND (XOR = buffer)
B1
2
GND
/$CHHFLIP · <- 3E pin 2 (/$CHHFLIP inverted)
A2
4
/$CHHFLIP
$CGFLIP · <- 4C pin 3
B2
5
$CGFLIP
CHVFLIP · <- 6/8 char attribute latch
A3
9
CHVFLIP
$CGFLIP · <- 4C pin 3
B3
10
$CGFLIP
$CGFLIP · <- 4C pin 3
A4
12
$CGFLIP
CHHFLIPa · <- 7D pin 10 (sheet 6) raw char h-flip
B4
13
CHHFLIPa
$CGFLIP · FLIP buffered -> 4C pins 5,10,12
Y1
3
$CGFLIP
$CHHCORR · -> 4D pin 1 (H-flip corr for $CGA0/H4 term)
Y2
6
$CHHCORR
$CHVCORR · -> 4D pins 5,10,13 (V-flip corr). NOTE Robert read pin 14 but that is 4D VCC -> used 13; confirm
Y3
8
$CHVCORR
$CHHSEL · -> 3H pin 1 SEL (pixel-shift direction)
Y4
11
$CHHSEL
GND:7=GND VCC:14=+5V
3E — 74LS04: /$CHHFLIP inverter (04): CHHFLIPa (7D.10 sheet 6) -> /$CHHFLIP -> 4C pin 4. Shared 04 package (other gate = /DOCS on sheet 6). — verified 2026-07-25
3E ✓
74LS04
CHHFLIPa · <- 7D pin 10 (sheet 6) raw char h-flip
A
1
CHHFLIPa
drawn on a2-6-charvram - click to jump there · /D0CS · char window D000-D7FF select from 2/8 | renamed 2026-07-27: same net as io 3B pin 6 /$D0CS (D000-D7FF) - was a letter-O vs zero split
A3
5
/D0CS
↗
drawn on a2-8-colormixer - click to jump there · CH6M · <- 7/8 pixel clock
A
13
CH6M
↗
/$CHHFLIP · -> 4C pin 4
Y
2
/$CHHFLIP
drawn on a2-6-charvram - click to jump there · $D0CS · -> 6F pin 10 + 4H pin 13 | renamed 2026-07-27: same net as io 3B pin 6 /$D0CS (D000-D7FF) - was a letter-O vs zero split
Y3
6
$D0CS
↗
drawn on a2-8-colormixer - click to jump there · /$CH6M · output is not lettered on the sheet; /$CH6M is our name (Robert confirmed the gate itself, 2026-07-27)
Y
12
/$CH6M
↗
GND:7=GND VCC:14=+5V
5H — 74LS32: Gate 4 of the shared 32 package (other gates on 6/8 make PHIMAIN): 6M OR GND = buffered CH6M pixel clock -> 4F/5F shifter CLK and to 8/8. — verified 2026-07-25
5H ✓
74LS32
drawn on a2-6-charvram - click to jump there · PHIB · <- sync 5/8 (phi-B)
A2
4
PHIB
↗
drawn on a2-6-charvram - click to jump there · $PHIW · <- 5H pin 8 (feedback)
B2
5
$PHIW
↗
drawn on a2-6-charvram - click to jump there · PHISC · <- CN-1 B15 (from C board / screen timing)
A3
9
PHISC
↗
drawn on a2-6-charvram - click to jump there · $ARBQ1 · <- 4H pin 5 (grant FF Q1)
B3
10
$ARBQ1
↗
6M · <- 5/8 (6MHz pixel clock)
A4
12
6M
GND · tied GND (OR = buffer)
B4
13
GND
drawn on a2-6-charvram - click to jump there · PHIMAIN · -> CPU sheet 1/8: gated main clock = PHIB OR $PHIW
Y2
6
PHIMAIN
↗
drawn on a2-6-charvram - click to jump there · $PHIW · g3 out = PHISC OR grant -> 5H pin 5
Y3
8
$PHIW
↗
CH6M · -> 4F/5F pin 11 (CLK) + to 8/8
Y4
11
CH6M
GND:7=GND VCC:14=+5V
5D — 27128: Character generator ROM (27128). A4-A13 = char code AC0-AC9 (from 6/8); A0-A3 = row address $CGA0-$CGA3 (from 4D flip XORs). ~CE(20)/~OE(22)/GND(14) to GND - permanently enabled; VPP(1)/~PGM(27)/VCC(28) to +5. D0-D3 = $CY0-3 -> 5F (Y plane); D4-D7 = $CZ0-3 -> 4F (Z plane). — verified 2026-07-25
5D ✓
27128
AC8 · AC8
A12
2
AC8
AC3 · AC3
A7
3
AC3
AC2 · AC2
A6
4
AC2
AC1 · AC1
A5
5
AC1
AC0 · AC0
A4
6
AC0
$CGA3 · $CGA3 <- 4D pin 6
A3
7
$CGA3
$CGA2 · $CGA2 <- 4D pin 8
A2
8
$CGA2
$CGA1 · $CGA1 <- 4D pin 11
A1
9
$CGA1
$CGA0 · $CGA0 <- 4D pin 3
A0
10
$CGA0
GND · ~CE tied GND (always enabled)
~CE
20
GND
AC6 · AC6
A10
21
AC6
GND · ~OE tied GND (always enabled)
~OE
22
GND
AC7 · AC7
A11
23
AC7
AC5 · AC5
A9
24
AC5
AC4 · AC4
A8
25
AC4
AC9 · AC9
A13
26
AC9
$CY0 · -> 5F (Y plane, low nibble)
D0
11
$CY0
$CY1 · -> 5F
D1
12
$CY1
$CY2 · -> 5F
D2
13
$CY2
$CY3 · -> 5F
D3
15
$CY3
$CZ0 · -> 4F (Z plane, high nibble)
D4
16
$CZ0
$CZ1 · -> 4F
D5
17
$CZ1
$CZ2 · -> 4F
D6
18
$CZ2
$CZ3 · -> 4F
D7
19
$CZ3
VPP:1=+5V GND:14=GND ~PGM:27=+5V VCC:28=+5V
4F — 74LS194A: Z-plane pixel shifter (194): loads $CZ0-3 (5D D4-D7) when 4-3H high, then shifts left (normal) or right (flipped) per $CHS0/CHS1 from 3H. QA+QD -> 3H group 1 -> CHARZ. — verified 2026-07-25
4F ✓
74LS194A
+5V
~CL
1
+5V
GND · shift-right serial in tied GND
SR
2
GND
$CZ3
A
3
$CZ3
$CZ2
B
4
$CZ2
$CZ1
C
5
$CZ1
$CZ0
D
6
$CZ0
GND · shift-left serial in tied GND
SL
7
GND
$CHS0 · <- 3H pin 12 (4Y)
S0
9
$CHS0
$CHS1 · <- 3H pin 9 (3Y)
S1
10
$CHS1
CH6M · <- 5H pin 11
CLK
11
CH6M
$CZQD · -> 3H pin 6 (flip direction)
QD
12
$CZQD
$CZQA · -> 3H pin 5 (1A, normal direction)
QA
15
$CZQA
GND:8=GND VCC:16=+5V
5F — 74LS194A: Y-plane pixel shifter (194): loads $CY0-3 (5D D0-D3) when 4-3H high, then shifts per $CHS0/CHS1 from 3H. QA(15)->3H pin 2, QD(12)->3H pin 3 -> CHARY. — verified 2026-07-25
5F ✓
74LS194A
+5V
~CL
1
+5V
GND · shift-right serial in tied GND
SR
2
GND
$CY3
A
3
$CY3
$CY2
B
4
$CY2
$CY1
C
5
$CY1
$CY0
D
6
$CY0
GND · shift-left serial in tied GND
SL
7
GND
$CHS0 · <- 3H pin 12 (4Y)
S0
9
$CHS0
$CHS1 · <- 3H pin 9 (3Y)
S1
10
$CHS1
CH6M · <- 5H pin 11
CLK
11
CH6M
$CYQD · -> 3H pin 3 (2B)
QD
12
$CYQD
$CYQA · -> 3H pin 2 (2A)
QA
15
$CYQA
GND:8=GND VCC:16=+5V
3H — 74LS157: Quad 2-to-1 mux (157), SEL=$CHHSEL. Groups 1&2 pick pixel-shift direction: QA (normal) vs QD (flipped) -> CHARZ (pin7) / CHARY (pin4). Groups 3&4 build the shifter mode: $CHS1=(+5 / 4-3H), $CHS0=(4-3H / +5) so both shifters load on 4-3H then shift left (normal) or right (flipped). — verified 2026-07-25
3H ✓
74LS157
$CHHSEL · <- 4C pin 11 (per-char h-flip XOR global FLIP)
SEL
1
$CHHSEL
$CYQA · <- 5F pin 15 QA
2A
2
$CYQA
$CYQD · <- 5F pin 12 QD
2B
3
$CYQD
$CZQA · <- 4F QA (normal)
1A
5
$CZQA
$CZQD · <- 4F QD (flipped)
1B
6
$CZQD
4-3H · <- 4N pin 9 (sync)
3B
10
4-3H
+5V
3A
11
+5V
+5V
4B
13
+5V
4-3H · <- 4N pin 9 (sync)
4A
14
4-3H
GND · strobe tied GND - always enabled
~G
15
GND
CHARY · -> 8/8 colour mixer
2Y
4
CHARY
CHARZ · -> 8/8 colour mixer
1Y
7
CHARZ
$CHS1 · -> 4F/5F pin 10 (S1)
3Y
9
$CHS1
$CHS0 · -> 4F/5F pin 9 (S0)
4Y
12
$CHS0
GND:8=GND VCC:16=+5V