bakemono wrote on 2022-08-17, 21:06:
The fact that characters show repeating data and there is a fault detectable by software (video memory test?) makes me think that the problem is with the video memory address bus (A3 line?)
Good idea. Font handling on the MCGA is quite special, though. The processor copies the font data from the BIOS ROM into standard video RAM, and then invokes some hardware magic that copies the contents of a special part of the standard video RAM (which is dynamic VRAM) into the font SRAM. The processor has no way to verify the contents of the font SRAM, so a problem in font SRAM addressing can't be the sole failure if the fault is detectable by software. Apart from this, CGA3 (pin 7 of the font SRAM, pin 27 of U11) would indeed be a primary suspect.
When transferring the font from VRAM to SRAM, the VRAM addresses are generated by U11 on VMA0 to VMA7. Row/column multiplexing is handled inside U11, so these lines carry both the row and the column addresses. On the other hand, when the processor accesses video memory, VMA0 to VMA7 are driven by the multiplexers U49/U50. As I described in Re: 8-bit guy gets ultra-rare NOS IBM (prototype?) from Computer Reset then proceeds to obliterate it , font upload puts CGA3 also on "A12" of the video memory, which is on VMA4 during row addressing, whereas VMA4 contains A4 during column addressing. As the text screens look mostly right, the VMA4 line is obviously not shorted to ground/Vcc, because in that case, we would see something erratic on 8 out of 16 characters. If A12 on the processor side was broken, the lower half of the fonts wouldn't get filled in video RAM, but still get read by the font transfer process, so half of the characters would be garbage, not repeating the other half.
What might possibly cause the issue: Broken video memory ignoring row address 4, but respecting column address 4. Very unlikely fault, and next-to-impossible fault on both VRAMs at the same time. Another possible cause: U50 driving VMA4 low when it shouldn't during a font transfer. For scan-out and font-transfer, column address bits are not used; a whole row is transferred to the VRAM shift registers. If VMA4 is stuck low only when U11 drives the VMA (hypothesis: U50 roguely drives it to ground instead of being disabled), but works while U50 passes column addresses, this symptom might be explainable.
abrunetto wrote on 2022-08-17, 18:31:
Anyway, the point is R15 is part of the input circuit to IREF which is on IMS G171 IC which provides MCGA graphics.
I checked the schematic you posted: +5V is appropriate at that point. It won't work with -12V. There are alternate IREF circuits that require -12V, so maybe IBM changed the circuit. As you see, the possible reasons I discussed for the character display failure are strictly on video RAM stuff, which is clearly separated from the G171 IREF supply, I don't think the missing cap may cause the issue. It might cause vertical banding ("jail bars") though, if -12V is used in the IREF circuit.