Reply 20 of 21, by mkarcher
The 74F32 is primarily used to provide a sufficient address space for 386DX and 486 systems. The CL-GD542x family of graphics chips only supports address lines up to A23, providing just 16MB of address space. The 542x chips can not distinguish an access to video memory at A000:0 from an RAM access cycle to 16MB + A0000 without external help. The external help is another input pin that enables the address decoder only if it is low. You could just connect this pin to A24, which means the CL-GD542x would only respond to 0..16MB, and disabled at 16MB..32MB. It will still interfere at 32MB + A0000. This was deemed insufficient by Cirrus Logic when they suggested the VL card design (and they needed some OR gates for another purpose anyway), so instead they use one gate of the 74F32 to detect whether both A24 and A25 are low, increasing the supported address space to 64MB. This means the card still interferes with RAM access at 64MB + A0000, but many system designs at that time were limited to 64MB address space anyway, so this is an acceptable compromise. This way of interfacing the CL-GD542x to the local bus thus allows operation in systems with up to 64MB address space, but as the Cirrus chip is completely taken off the bus at 16MB..64MB, the linear frame buffer, if enabled, is always located in the first 16MB. As this makes little sense, Cirrus Logic doesn't recommend to use the simple 74F32 solution if LFB usage is desired, but suggests a more complex solution involving a custom programmed PAL for high address decoding instead.
Except for keeping the 542x off the bus at 16MB..64MB, the 74F32 is also used to generate the BIOS read signal. We know that BIOS reads are working if the system is posting with something on the screen, as the BIOS is required to set up the graphics card to generate any kind of output at VGA frequencies. Furthermore, it seems more like data is bad than the cirrus chip responding or not responding at the wrong time, so I think the 74F32 is unlikely to be the culprit. The 74F32 only sees the top two address bits to decide whether the 542x should be enabled, so a failure of that chip would not explain why the text can be written to the screen memory, but the character shapes or character code numbers are messed up.