videogamer555 wrote on 2022-11-30, 06:11:
So with EGA with only 64KB, it does 640x350 with only 4-colors (using the first bit plane). But with an EGA card with at least 112KB, it can handle 2 planes of 64KB each, which allows all 16 colors to be used. Is that what you mean?
EGA always has four bit planes internally. The design of the EGA card is focussed around a 32-bit memory interface. Because the 32 bit memory interface is four times as wide as the bus interface, but every bus address maps to a complete 32-bit word of EGA memory, the concept of 4 planes was established. An EGA card with 64KB doesn't have a "single plane" (of 64KB), as your reply seems to assume, but it has four planes, of 16KB each. The EGA memory interface supports four "banks". Each of the banks has 64KB and consists of 16KB per plane. So the size of each plane is 16KB, 32KB (two banks populated), 48KB (three banks populated) or 64KB.
The 640x350 mode requires planes of 32KB each, so you got enough bits per plane. If the EGA card only has 16KB per plane, the graphics controller is configured to generate a virtual plane 0 from planes 0 and 1 and a virtual plane 2 from planes 2 and 3. So we get sufficiently bug virtual planes, but only two of them. If the EGA card has two banks populated (128KB), the concept if virtual planes is not enabled, so four planes are actually usable. Two virtual planes allow for four colors only, whereas four planes allow for 16 colors. Even on 64KB EGA cards, the creation of two virtual planes is only invoked in modes with 640x350 pixels. Mode 0Dh and 0Eh always operate with four planes and 16 colors, irrespective of the amount of installed memory.