non-standard CGA


2021-02-17 (updated 2021-02-17)

The original CGA standard allowed direct access to the BIOS and registers on a CGA video card. Some games took advantage of this to for various effects such as using 4 custom colors in CGA's 4 color mode (instead of one of the preset pallets). When CGA was the best IBM could do for their customers, developers did such things. As EGA, VGA, and later video standards become the norm and CGA was considered obsolete, manufactures began making cards with CGA compatibility that did not allow direct access to the BIOS and registers. So, older games will not work correctly, or not at all, on these cards. But, even when CGA was all there was, some manufactures just didn't care to include this feature. So, some CGA games may not work on some contemporary cards either. Here's a discussion that includes some of the issues. There is a testing tool for CGA cards,cards with CGA mode, and emulators.



So, does anyone want to bother tagging these games? The could be a CGA specific group for this. OR, we could use a generic group to contain simular issues in other standards such as EGA and VGA.

There is also game that fail due to hacking in the other direction, taking advantage of lax standards in cards to create effects. this video shows how an EGA demo works on a lax card but fails to display full colors on a fully compliant EGA card.

2021-02-18
re: non-standard CGA
So, some CGA games may not work on some contemporary cards[...] So, does anyone want to bother tagging these games? The could be a CGA specific group for this. OR, we could use a generic group to contain simular issues in other standards such as EGA and VGA.


If this site were UHL (Universal Hardware List) this would be a good tag for each hardware entry. Then I would check out a hardware piece and see "Oh this is not CGA-compatible and this, and this" and so on. But its a bit too much for a game software entry IMO. Its not so much an attribute of the game that it does not work on a certain card, its an attribute of the card/hardware that it is not compatible to a certain standard. You can argue that its an attribute of the game because it uses certain programming techniques in displaying / making use of features that are not supported by some not fully compatible cards. But it sounds too detailed. I am perfectly fine personally with just the display-cga tag. If someone wants to do it and find a good solution, go ahead.