I'm thinking on using a single global variable (because it can't be further simplified) selected by a checkbox on config dialog, to let each machine to list compatible cards, also let video cards to load or not depending on configuration and compatibilities within them, or choosing BIOS like those cards made with 8088 code for 8 bit bus and (faster?) 286+ code for 16 bit bus. In that case if there's no 8088 BIOS don't load this card for machines with XT bus...
Here is a short example of how it may look with a 16 bit variable:
Code: Select all
some_global_var = 0 use only integrated graphics
some_global_var > 0 add all posible video cards for each machine according to bitmask
0123456789ABCDEF
||||||||||||||||
|||||||||||||||+- 0 PRIMARY - 1 SECONDARY *
||||||||||||||+-- 0 XT BUS - 1 AT BUS
|||||||||||||+--- 0 MCA BUS - 1 EISA BUS
||||||||||||+---- 0 VLB BUS - 1 PCI BUS
|||||||||||+----- 0 Absent - 1 MDA
||||||||||+------ 0 Absent - 1 CGA
|||||||||+------- 0 Absent - 1 Hercules
||||||||+-------- 0 Absent - 1 AT&T/Olivetti
|||||||+--------- 0 Absent - 1 Tandy
||||||+---------- 0 Absent - 1 PGA
|||||+----------- 0 Absent - 1 EGA
||||+------------ 0 Absent - 1 VGA
|||+------------- 0 Absent - 1 MCGA
||+-------------- 0 Absent - 1 8514a
|+--------------- 0 Absent - 1 XGA
+---------------- 0 Absent - 1 SVGA and latter
* With 0 disable integrated graphics and use optional cards, with 1 keep integrated graphics and add another cards, like mixing MDA and VGA or any compatible configurations.
I'm only giving the idea, all changes, suggestions and patches are welcome because I won't write any code, this is beyond my programming skills, sorry...