How CGA works on *MODERN* systems?
Posted: Sat Mar 15, 2025 2:21 pm
Hello. I already tried googling this for a pretty long time, but everyone and their mom only love to prefer talking about the original CGA systems instead, or modern clones I guess. Perhaps it's Google itself, since its got a tendency to ignore my keywords however it pleases lately.
Anyways, how CGA works on modern systems? Info seems sparse, I don't develop an OS nor know that much about PC's internals, whether it be internal registers, its address map(s) or however it deals with memory remapping, but I'm curious.
I know the approaches from the time: Through BIOS, through registers, and both.
Is VGA really a CGA superset, meaning it's still mostly hardware based? Or, do (compatible) UEFI/CSM systems happen to apply an emulation layer, effectively converting graphics on the fly for a more modern VGA display mode? I'd understand if that only worked for the BIOS approach, but according to the CGA compatibility tester, at least some registers appear to be implemented in this system!, if not all but those related to display timings. This is why I wonder whether it's hardware based or not, because I found conflicting info (unless it is actually possible to emulate the registers from software through memory remapping; I don't know the capabilities).
In fact, I noticed some games had a tendency to display with wrong colors + odd bugs on only some other computers; does that mean these only support the BIOS approach and ignore registers?
Anyways, how CGA works on modern systems? Info seems sparse, I don't develop an OS nor know that much about PC's internals, whether it be internal registers, its address map(s) or however it deals with memory remapping, but I'm curious.
I know the approaches from the time: Through BIOS, through registers, and both.
Is VGA really a CGA superset, meaning it's still mostly hardware based? Or, do (compatible) UEFI/CSM systems happen to apply an emulation layer, effectively converting graphics on the fly for a more modern VGA display mode? I'd understand if that only worked for the BIOS approach, but according to the CGA compatibility tester, at least some registers appear to be implemented in this system!, if not all but those related to display timings. This is why I wonder whether it's hardware based or not, because I found conflicting info (unless it is actually possible to emulate the registers from software through memory remapping; I don't know the capabilities).
In fact, I noticed some games had a tendency to display with wrong colors + odd bugs on only some other computers; does that mean these only support the BIOS approach and ignore registers?