added null devices and refactored tables

This commit is contained in:
Jess Lovelace
2022-02-02 17:48:04 -05:00
parent a69033fc9e
commit 4849deb156
12 changed files with 429 additions and 332 deletions

View File

@@ -1291,29 +1291,38 @@ static const device_t iab_device = {
#endif
static const device_t isa_none_device = {
"None",
"isa_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static const struct {
const char *internal_name;
const device_t *dev;
} boards[] = {
{ "none", NULL },
{ "ibmxt", &ibmxt_device },
{ "genericxt", &genericxt_device },
{ "ibmat", &ibmat_device },
{ "genericat", &genericat_device },
{ "p5pak", &p5pak_device },
{ "a6pak", &a6pak_device },
{ "ems5150", &ems5150_device },
{ "ev159", &ev159_device },
{ &isa_none_device },
{ &ibmxt_device },
{ &genericxt_device },
{ &ibmat_device },
{ &genericat_device },
{ &p5pak_device },
{ &a6pak_device },
{ &ems5150_device },
{ &ev159_device },
#ifdef USE_ISAMEM_BRAT
{ "brat", &brat_device },
{ &brat_device },
#endif
#ifdef USE_ISAMEM_RAMPAGE
{ "rampage", &rampage_device },
{ &rampage_device },
#endif
#ifdef USE_ISAMEM_IAB
{ "iab", &iab_device },
{ &iab_device },
#endif
{ "", NULL }
{ NULL }
};

View File

@@ -746,16 +746,25 @@ static const device_t a6pak_device = {
};
static const device_t isartc_none_device = {
"None",
"isartc_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static const struct {
const char *internal_name;
const device_t *dev;
} boards[] = {
{ "none", NULL },
{ "ev170", &ev170_device },
{ "pii147", &pii147_device },
{ "p5pak", &p5pak_device },
{ "a6pak", &a6pak_device },
{ "", NULL },
{ &isartc_none_device },
{ &ev170_device },
{ &pii147_device },
{ &p5pak_device },
{ &a6pak_device },
{ NULL },
};

View File

@@ -31,7 +31,6 @@
typedef struct {
const char *internal_name;
const device_t *device;
} mouse_t;
@@ -62,17 +61,17 @@ static const device_t mouse_internal_device = {
static mouse_t mouse_devices[] = {
{ "none", &mouse_none_device },
{ "internal", &mouse_internal_device },
{ "logibus", &mouse_logibus_device },
{ "msbus", &mouse_msinport_device },
{ &mouse_none_device },
{ &mouse_internal_device },
{ &mouse_logibus_device },
{ &mouse_msinport_device },
#if 0
{ "genibus", &mouse_genibus_device },
#endif
{ "mssystems", &mouse_mssystems_device },
{ "msserial", &mouse_msserial_device },
{ "ltserial", &mouse_ltserial_device },
{ "ps2", &mouse_ps2_device },
{ &mouse_mssystems_device },
{ &mouse_msserial_device },
{ &mouse_ltserial_device },
{ &mouse_ps2_device },
{ NULL, NULL }
};

View File

@@ -66,8 +66,8 @@ null_close(void *priv)
}
static const device_t null_device = {
"Null HDC", "null", 0, 0,
static const device_t hdc_none_device = {
"None", "hdc_none", 0, 0,
null_init, null_close, NULL,
{ NULL }, NULL, NULL, NULL
};
@@ -86,8 +86,8 @@ inthdc_close(void *priv)
}
static const device_t inthdc_device = {
"Internal controller", "inthdc", 0, 0,
static const device_t hdc_internal_device = {
"Internal", "hdc_internal", 0, 0,
inthdc_init, inthdc_close, NULL,
{ NULL }, NULL, NULL, NULL
};
@@ -97,30 +97,30 @@ static const struct {
const char *internal_name;
const device_t *device;
} controllers[] = {
{ "none", &null_device },
{ "internal", &inthdc_device },
{ "st506_xt", &st506_xt_xebec_device },
{ "st506_xt_dtc5150x", &st506_xt_dtc5150x_device },
{ "st506_xt_st11_m", &st506_xt_st11_m_device },
{ "st506_xt_wd1002a_wx1", &st506_xt_wd1002a_wx1_device },
{ "st506_at", &st506_at_wd1003_device },
{ "st506_xt_st11_r", &st506_xt_st11_r_device },
{ "st506_xt_wd1002a_27x", &st506_xt_wd1002a_27x_device },
{ "esdi_at", &esdi_at_wd1007vse1_device },
{ "ide_isa", &ide_isa_device },
{ "ide_isa_2ch", &ide_isa_2ch_device },
{ "xtide_at", &xtide_at_device },
{ "xtide_at_386", &xtide_at_386_device },
{ "xtide_at_ps2", &xtide_at_ps2_device },
{ "xta_wdxt150", &xta_wdxt150_device },
{ "xtide_acculogic", &xtide_acculogic_device },
{ "xtide", &xtide_device },
{ "esdi_mca", &esdi_ps2_device },
{ "ide_pci", &ide_pci_device },
{ "ide_pci_2ch", &ide_pci_2ch_device },
{ "ide_vlb", &ide_vlb_device },
{ "ide_vlb_2ch", &ide_vlb_2ch_device },
{ "", NULL }
{ &hdc_null_device },
{ &hdc_internal_device },
{ &st506_xt_xebec_device },
{ &st506_xt_dtc5150x_device },
{ &st506_xt_st11_m_device },
{ &st506_xt_wd1002a_wx1_device },
{ &st506_at_wd1003_device },
{ &st506_xt_st11_r_device },
{ &st506_xt_wd1002a_27x_device },
{ &esdi_at_wd1007vse1_device },
{ &ide_isa_device },
{ &ide_isa_2ch_device },
{ &xtide_at_device },
{ &xtide_at_386_device },
{ &xtide_at_ps2_device },
{ &xta_wdxt150_device },
{ &xtide_acculogic_device },
{ &xtide_device },
{ &esdi_ps2_device },
{ &ide_pci_device },
{ &ide_pci_2ch_device },
{ &ide_vlb_device },
{ &ide_vlb_2ch_device },
{ NULL }
};

View File

@@ -102,17 +102,17 @@ fdc_log(const char *fmt, ...)
typedef const struct {
const char *internal_name;
const device_t *device;
} fdc_cards_t;
/* All emulated machines have at least one integrated FDC controller */
static fdc_cards_t fdc_cards[] = {
{ "internal", NULL },
{ "b215", &fdc_b215_device },
{ "dtk_pii151b", &fdc_pii151b_device },
{ "dtk_pii158b", &fdc_pii158b_device },
{ "", NULL },
{ &fdc_null_device },
{ &fdc_internal_device },
{ &fdc_b215_device },
{ &fdc_pii151b_device },
{ &fdc_pii158b_device },
{ NULL }
};
@@ -2373,6 +2373,26 @@ fdc_3f1_enable(fdc_t *fdc, int enable)
}
const device_t fdc_none_device = {
"None",
"fdc_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
const device_t fdc_internal_device = {
"None",
"fdc_internal",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
const device_t fdc_internal_device = {};
const device_t fdc_xt_device = {
"PC/XT Floppy Drive Controller",
"fdc_xt",

View File

@@ -80,18 +80,18 @@ static const struct {
const char *internal_name;
const joystick_if_t *joystick;
} joysticks[] = {
{ "none", &joystick_none },
{ "2axis_2button", &joystick_2axis_2button },
{ "2axis_4button", &joystick_2axis_4button },
{ "2axis_6button", &joystick_2axis_6button },
{ "2axis_8button", &joystick_2axis_8button },
{ "3axis_2button", &joystick_3axis_2button },
{ "3axis_4button", &joystick_3axis_4button },
{ "4axis_4button", &joystick_4axis_4button },
{ "ch_flighstick_pro", &joystick_ch_flightstick_pro },
{ "sidewinder_pad", &joystick_sw_pad },
{ "thrustmaster_fcs", &joystick_tm_fcs },
{ "", NULL }
{ &joystick_none },
{ &joystick_2axis_2button },
{ &joystick_2axis_4button },
{ &joystick_2axis_6button },
{ &joystick_2axis_8button },
{ &joystick_3axis_2button },
{ &joystick_3axis_4button },
{ &joystick_4axis_4button },
{ &joystick_ch_flightstick_pro },
{ &joystick_sw_pad },
{ &joystick_tm_fcs },
{ NULL }
};
static joystick_instance_t *joystick_instance = NULL;

View File

@@ -78,7 +78,6 @@ typedef struct netpkt {
} netpkt_t;
typedef struct {
const char *internal_name;
const device_t *device;
void *priv;
int (*poll)(void *);

View File

@@ -17,20 +17,29 @@
lpt_port_t lpt_ports[PARALLEL_MAX];
static const device_t lpt_none_device = {
"None",
"lpt_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static const struct {
const char *internal_name;
const lpt_device_t *device;
} lpt_devices[] = {
{"none", NULL},
{"dss", &dss_device},
{"lpt_dac", &lpt_dac_device},
{"lpt_dac_stereo", &lpt_dac_stereo_device},
{"text_prt", &lpt_prt_text_device},
{"dot_matrix", &lpt_prt_escp_device},
{"postscript", &lpt_prt_ps_device},
{"plip", &lpt_plip_device},
{"dongle_savquest", &lpt_hasp_savquest_device},
{"", NULL}
{&lpt_none_device},
{&dss_device},
{&lpt_dac_device},
{&lpt_dac_stereo_device},
{&lpt_prt_text_device},
{&lpt_prt_escp_device},
{&lpt_prt_ps_device},
{&lpt_plip_device},
{&lpt_hasp_savquest_device},
{NULL}
};

View File

@@ -70,27 +70,37 @@
#include <86box/net_wd8003.h>
static const device_t net_none_device = {
"None",
"net_none",
0, NET_TYPE_NONE,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static netcard_t net_cards[] = {
{ "none", NULL, NULL },
{ "3c503", &threec503_device, NULL },
{ "pcnetisa", &pcnet_am79c960_device, NULL },
{ "pcnetisaplus", &pcnet_am79c961_device, NULL },
{ "ne1k", &ne1000_device, NULL },
{ "ne2k", &ne2000_device, NULL },
{ "pcnetracal", &pcnet_am79c960_eb_device, NULL },
{ "ne2kpnp", &rtl8019as_device, NULL },
{ "wd8003e", &wd8003e_device, NULL },
{ "wd8003eb", &wd8003eb_device, NULL },
{ "wd8013ebt", &wd8013ebt_device, NULL },
{ "plip", &plip_device, NULL },
{ "ethernextmc", &ethernext_mc_device, NULL },
{ "wd8003eta", &wd8003eta_device, NULL },
{ "wd8003ea", &wd8003ea_device, NULL },
{ "pcnetfast", &pcnet_am79c973_device, NULL },
{ "pcnetpci", &pcnet_am79c970a_device, NULL },
{ "ne2kpci", &rtl8029as_device, NULL },
{ "pcnetvlb", &pcnet_am79c960_vlb_device, NULL },
{ "", NULL, NULL }
{ &net_none_device, NULL },
{ &threec503_device, NULL },
{ &pcnet_am79c960_device, NULL },
{ &pcnet_am79c961_device, NULL },
{ &ne1000_device, NULL },
{ &ne2000_device, NULL },
{ &pcnet_am79c960_eb_device, NULL },
{ &rtl8019as_device, NULL },
{ &wd8003e_device, NULL },
{ &wd8003eb_device, NULL },
{ &wd8013ebt_device, NULL },
{ &plip_device, NULL },
{ &ethernext_mc_device, NULL },
{ &wd8003eta_device, NULL },
{ &wd8003ea_device, NULL },
{ &pcnet_am79c973_device, NULL },
{ &pcnet_am79c970a_device, NULL },
{ &rtl8029as_device, NULL },
{ &pcnet_am79c960_vlb_device, NULL },
{ NULL, NULL }
};

View File

@@ -51,45 +51,54 @@ int scsi_card_current[SCSI_BUS_MAX] = { 0, 0 };
static uint8_t next_scsi_bus = 0;
static const device_t scsi_none_device = {
"None",
"scsi_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
typedef const struct {
const char *internal_name;
const device_t *device;
} SCSI_CARD;
static SCSI_CARD scsi_cards[] = {
{ "none", NULL, },
{ "aha154xa", &aha154xa_device, },
{ "aha154xb", &aha154xb_device, },
{ "aha154xc", &aha154xc_device, },
{ "aha154xcf", &aha154xcf_device, },
{ "aha154xcp", &aha154xcp_device, },
{ "bt542b", &buslogic_542b_device, },
{ "bt542bh", &buslogic_542bh_device, },
{ "bt545s", &buslogic_545s_device, },
{ "bt545c", &buslogic_545c_device, },
{ "lcs6821n", &scsi_lcs6821n_device, },
{ "rt1000b", &scsi_rt1000b_device, },
{ "t128", &scsi_t128_device, },
{ "t130b", &scsi_t130b_device, },
{ &scsi_none_device, },
{ &aha154xa_device, },
{ &aha154xb_device, },
{ &aha154xc_device, },
{ &aha154xcf_device, },
{ &aha154xcp_device, },
{ &buslogic_542b_device, },
{ &buslogic_542bh_device, },
{ &buslogic_545s_device, },
{ &buslogic_545c_device, },
{ &scsi_lcs6821n_device, },
{ &scsi_rt1000b_device, },
{ &scsi_t128_device, },
{ &scsi_t130b_device, },
#ifdef WALTJE
{ "wd33c93", &scsi_wd33c93_device, },
{ &scsi_wd33c93_device, },
#endif
{ "aha1640", &aha1640_device, },
{ "bt640a", &buslogic_640a_device, },
{ "ncr53c90", &ncr53c90_mca_device, },
{ "spock", &spock_device, },
{ "bt958d", &buslogic_958d_pci_device, },
{ "ncr53c810", &ncr53c810_pci_device, },
{ "ncr53c815", &ncr53c815_pci_device, },
{ "ncr53c820", &ncr53c820_pci_device, },
{ "ncr53c825a", &ncr53c825a_pci_device, },
{ "ncr53c860", &ncr53c860_pci_device, },
{ "ncr53c875", &ncr53c875_pci_device, },
{ "dc390", &dc390_pci_device, },
{ "bt445s", &buslogic_445s_device, },
{ "bt445c", &buslogic_445c_device, },
{ "", NULL, },
{ &aha1640_device, },
{ &buslogic_640a_device, },
{ &ncr53c90_mca_device, },
{ &spock_device, },
{ &buslogic_958d_pci_device, },
{ &ncr53c810_pci_device, },
{ &ncr53c815_pci_device, },
{ &ncr53c820_pci_device, },
{ &ncr53c825a_pci_device, },
{ &ncr53c860_pci_device, },
{ &ncr53c875_pci_device, },
{ &dc390_pci_device, },
{ &buslogic_445s_device, },
{ &buslogic_445c_device, },
{ NULL, },
};

View File

@@ -42,7 +42,6 @@
typedef struct {
const char *internal_name;
const device_t *device;
} SOUND_CARD;
@@ -81,39 +80,57 @@ static void (*filter_cd_audio)(int channel, double *buffer, void *p) = NULL;
static void *filter_cd_audio_p = NULL;
static const device_t sound_none_device = {
"None",
"sound_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static const device_t sound_internal_device = {
"Internal Sound Card",
"sound_internal",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static const SOUND_CARD sound_cards[] =
{
{ "none", NULL },
{ "internal", NULL },
{ "adlib", &adlib_device },
{ "adlibgold", &adgold_device },
{ "azt2316a", &azt2316a_device },
{ "azt1605", &azt1605_device },
{ "cs4236b", &cs4236b_device },
{ "sb", &sb_1_device },
{ "sb1.5", &sb_15_device },
{ "sb2.0", &sb_2_device },
{ "sbprov1", &sb_pro_v1_device },
{ "sbprov2", &sb_pro_v2_device },
{ "sb16", &sb_16_device },
{ "sb16_pnp", &sb_16_pnp_device },
{ "sb32_pnp", &sb_32_pnp_device },
{ "sbawe32", &sb_awe32_device },
{ "sbawe32_pnp", &sb_awe32_pnp_device },
{ "sbawe64_gold", &sb_awe64_gold_device },
{ &sound_none_device },
{ &sound_internal_device },
{ &adlib_device },
{ &adgold_device },
{ &azt2316a_device },
{ &azt1605_device },
{ &cs4236b_device },
{ &sb_1_device },
{ &sb_15_device },
{ &sb_2_device },
{ &sb_pro_v1_device },
{ &sb_pro_v2_device },
{ &sb_16_device },
{ &sb_16_pnp_device },
{ &sb_32_pnp_device },
{ &sb_awe32_device },
{ &sb_awe32_pnp_device },
{ &sb_awe64_gold_device },
#if defined(DEV_BRANCH) && defined(USE_PAS16)
{ "pas16", &pas16_device },
{ &pas16_device },
#endif
{ "pssj_isa", &pssj_isa_device },
{ "wss", &wss_device },
{ "adlib_mca", &adlib_mca_device },
{ "ncraudio", &ncr_business_audio_device },
{ "sbmcv", &sb_mcv_device },
{ "sbpromcv", &sb_pro_mcv_device },
{ "es1371", &es1371_device },
{ "ad1881", &ad1881_device },
{ "cs4297a", &cs4297a_device },
{ "", NULL }
{ &pssj_isa_device },
{ &wss_device },
{ &adlib_mca_device },
{ &ncr_business_audio_device },
{ &sb_mcv_device },
{ &sb_pro_mcv_device },
{ &es1371_device },
{ &ad1881_device },
{ &cs4297a_device },
{ NULL }
};

View File

@@ -39,7 +39,6 @@
typedef struct {
const char *internal_name;
const device_t *device;
} VIDEO_CARD;
@@ -49,176 +48,193 @@ static video_timings_t timing_default = {VIDEO_ISA, 8, 16, 32, 8, 16, 32};
static int was_reset = 0;
static const device_t vid_none_device = {
"None",
"vid_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static const device_t vid_internal_device = {
"Internal Video Card",
"vid_none",
0, 0,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
static const VIDEO_CARD
video_cards[] = {
{ "none", NULL },
{ "internal", NULL },
{ "egawonder800", &atiega_device },
{ "mach64gx_isa", &mach64gx_isa_device },
{ "ati28800k", &ati28800k_device },
{ "ati18800v", &ati18800_vga88_device },
{ "ati28800", &ati28800_device },
{ "compaq_ati28800", &compaq_ati28800_device },
{ &vid_none_device },
{ &vid_internal_device },
{ &atiega_device },
{ &mach64gx_isa_device },
{ &ati28800k_device },
{ &ati18800_vga88_device },
{ &ati28800_device },
{ compaq_ati28800_device },
#if defined(DEV_BRANCH) && defined(USE_XL24)
{ "ati28800w", &ati28800_wonderxl24_device },
{ &ati28800_wonderxl24_device },
#endif
{ "ati18800", &ati18800_device },
{ &ati18800_device },
#if defined(DEV_BRANCH) && defined(USE_VGAWONDER)
{ "ati18800w", &ati18800_wonder_device },
{ &ati18800_wonder_device },
#endif
{ "cga", &cga_device },
{ "superega", &sega_device },
{ "cl_gd5401_isa", &gd5401_isa_device },
{ "cl_gd5402_isa", &gd5402_isa_device },
{ "cl_gd5420_isa", &gd5420_isa_device },
{ "cl_gd5422_isa", &gd5422_isa_device },
{ "cl_gd5426_isa", &gd5426_isa_device },
{ "cl_gd5426_diamond_a1_isa", &gd5426_diamond_speedstar_pro_a1_isa_device },
{ "cl_gd5428_isa", &gd5428_isa_device },
{ "cl_gd5429_isa", &gd5429_isa_device },
{ "cl_gd5434_isa", &gd5434_isa_device },
{ "cl_gd5434_diamond_a3_isa", &gd5434_diamond_speedstar_64_a3_isa_device },
{ "compaq_cga", &compaq_cga_device },
{ "compaq_cga_2", &compaq_cga_2_device },
{ "compaq_ega", &cpqega_device },
{ "ega", &ega_device },
{ "g2_gc205", &g2_gc205_device },
{ "hercules", &hercules_device },
{ "hercules_plus", &herculesplus_device },
{ "incolor", &incolor_device },
{ "im1024", &im1024_device },
{ "iskra_ega", &iskra_ega_device },
{ "kasan16vga", &et4000_kasan_isa_device },
{ "mda", &mda_device },
{ "genius", &genius_device },
{ "nga", &nga_device },
{ "ogc", &ogc_device },
{ "oti037c", &oti037c_device },
{ "oti067", &oti067_device },
{ "oti077", &oti077_device },
{ "pvga1a", &paradise_pvga1a_device },
{ "wd90c11", &paradise_wd90c11_device },
{ "wd90c30", &paradise_wd90c30_device },
{ "plantronics", &colorplus_device },
{ "pgc", &pgc_device },
{ "radius_isa", &radius_svga_multiview_isa_device },
{ "rtg3106", &realtek_rtg3106_device },
{ "stealthvram_isa", &s3_diamond_stealth_vram_isa_device },
{ "orchid_s3_911", &s3_orchid_86c911_isa_device },
{ "ami_s3_924", &s3_ami_86c924_isa_device },
{ "metheus928_isa", &s3_metheus_86c928_isa_device },
{ "px_86c801_isa", &s3_phoenix_86c801_isa_device },
{ "px_s3_v7_801_isa", &s3_spea_mirage_86c801_isa_device },
{ "sigma400", &sigma_device },
{ "tvga8900b", &tvga8900b_device },
{ "tvga8900d", &tvga8900d_device },
{ "tvga9000b", &tvga9000b_device },
{ "tgkorvga", &et4000k_isa_device },
{ "et2000", &et2000_device },
{ "et4000ax", &et4000_isa_device },
{ "et4000w32", &et4000w32_device },
{ "et4000w32i", &et4000w32i_isa_device },
{ "vga", &vga_device },
{ "v7_vga_1024i", &v7_vga_1024i_device },
{ "wy700", &wy700_device },
{ "ibm1mbsvga", &gd5428_mca_device },
{ "et4000mca", &et4000_mca_device },
{ "radius_mc", &radius_svga_multiview_mca_device },
{ "mach64gx_pci", &mach64gx_pci_device },
{ "mach64vt2", &mach64vt2_device },
{ "et4000w32p_revc_pci", &et4000w32p_revc_pci_device },
{ "et4000w32p_pci", &et4000w32p_cardex_pci_device },
{ "et4000w32p_nc_pci", &et4000w32p_noncardex_pci_device },
{ "cl_gd5430_pci", &gd5430_pci_device, },
{ "cl_gd5434_pci", &gd5434_pci_device },
{ "cl_gd5436_pci", &gd5436_pci_device },
{ "cl_gd5440_pci", &gd5440_pci_device },
{ "cl_gd5446_pci", &gd5446_pci_device },
{ "cl_gd5446_stb_pci", &gd5446_stb_pci_device },
{ "cl_gd5480_pci", &gd5480_pci_device },
{ "ctl3d_banshee_pci", &creative_voodoo_banshee_device },
{ "stealth32_pci", &et4000w32p_pci_device },
{ "spea_mercurylite_pci", &s3_spea_mercury_lite_86c928_pci_device },
{ "stealth64v_pci", &s3_diamond_stealth64_964_pci_device },
{ "elsawin2kprox_964_pci", &s3_elsa_winner2000_pro_x_964_pci_device },
{ "mirocrystal20sv_pci", &s3_mirocrystal_20sv_964_pci_device },
{ "bahamas64_pci", &s3_bahamas64_pci_device },
{ "px_vision864_pci", &s3_phoenix_vision864_pci_device },
{ "stealthse_pci", &s3_diamond_stealth_se_pci_device },
{ "px_trio32_pci", &s3_phoenix_trio32_pci_device },
{ "stealth64d_pci", &s3_diamond_stealth64_pci_device },
{ "n9_9fx_pci", &s3_9fx_pci_device },
{ "px_trio64_pci", &s3_phoenix_trio64_pci_device },
{ "elsawin2kprox_pci", &s3_elsa_winner2000_pro_x_pci_device },
{ "mirovideo40sv_pci", &s3_mirovideo_40sv_ergo_968_pci_device },
{ "n9_9fx_771_pci", &s3_9fx_771_pci_device },
{ "px_vision968_pci", &s3_phoenix_vision968_pci_device },
{ "spea_mercury64p_pci", &s3_spea_mercury_p64v_pci_device },
{ "n9_9fx_531_pci", &s3_9fx_531_pci_device },
{ "px_vision868_pci", &s3_phoenix_vision868_pci_device },
{ "px_trio64vplus_pci", &s3_phoenix_trio64vplus_pci_device },
{ "trio64v2dx_pci", &s3_trio64v2_dx_pci_device },
{ "virge325_pci", &s3_virge_325_pci_device },
{ "stealth3d_2000_pci", &s3_diamond_stealth_2000_pci_device },
{ "stealth3d_3000_pci", &s3_diamond_stealth_3000_pci_device },
{ "stb_velocity3d_pci", &s3_stb_velocity_3d_pci_device },
{ "virge375_pci", &s3_virge_375_pci_device },
{ "stealth3d_2000pro_pci", &s3_diamond_stealth_2000pro_pci_device },
{ "virge385_pci", &s3_virge_385_pci_device },
{ "virge357_pci", &s3_virge_357_pci_device },
{ "stealth3d_4000_pci", &s3_diamond_stealth_4000_pci_device },
{ "trio3d2x", &s3_trio3d2x_pci_device },
{ &cga_device },
{ &sega_device },
{ &gd5401_isa_device },
{ &gd5402_isa_device },
{ &gd5420_isa_device },
{ &gd5422_isa_device },
{ &gd5426_isa_device },
{ gd5426_diamond_speedstar_pro_a1_isa_device },
{ &gd5428_isa_device },
{ &gd5429_isa_device },
{ &gd5434_isa_device },
{ gd5434_diamond_speedstar_64_a3_isa_device },
{ &compaq_cga_device },
{ &compaq_cga_2_device },
{ &cpqega_device },
{ &ega_device },
{ &g2_gc205_device },
{ &hercules_device },
{ &herculesplus_device },
{ &incolor_device },
{ &im1024_device },
{ &iskra_ega_device },
{ &et4000_kasan_isa_device },
{ &mda_device },
{ &genius_device },
{ &nga_device },
{ &ogc_device },
{ &oti037c_device },
{ &oti067_device },
{ &oti077_device },
{ &paradise_pvga1a_device },
{ &paradise_wd90c11_device },
{ &paradise_wd90c30_device },
{ &colorplus_device },
{ &pgc_device },
{ &radius_svga_multiview_isa_device },
{ &realtek_rtg3106_device },
{ s3_diamond_stealth_vram_isa_device },
{ &s3_orchid_86c911_isa_device },
{ &s3_ami_86c924_isa_device },
{ &s3_metheus_86c928_isa_device },
{ &s3_phoenix_86c801_isa_device },
{ s3_spea_mirage_86c801_isa_device },
{ &sigma_device },
{ &tvga8900b_device },
{ &tvga8900d_device },
{ &tvga9000b_device },
{ &et4000k_isa_device },
{ &et2000_device },
{ &et4000_isa_device },
{ &et4000w32_device },
{ &et4000w32i_isa_device },
{ &vga_device },
{ &v7_vga_1024i_device },
{ &wy700_device },
{ &gd5428_mca_device },
{ &et4000_mca_device },
{ &radius_svga_multiview_mca_device },
{ &mach64gx_pci_device },
{ &mach64vt2_device },
{ et4000w32p_revc_pci_device },
{ &et4000w32p_cardex_pci_device },
{ et4000w32p_noncardex_pci_device },
{ &gd5430_pci_device, },
{ &gd5434_pci_device },
{ &gd5436_pci_device },
{ &gd5440_pci_device },
{ &gd5446_pci_device },
{ gd5446_stb_pci_device },
{ &gd5480_pci_device },
{ creative_voodoo_banshee_device },
{ &et4000w32p_pci_device },
{ s3_spea_mercury_lite_86c928_pci_device },
{ &s3_diamond_stealth64_964_pci_device },
{ s3_elsa_winner2000_pro_x_964_pci_device },
{ s3_mirocrystal_20sv_964_pci_device },
{ &s3_bahamas64_pci_device },
{ s3_phoenix_vision864_pci_device },
{ &s3_diamond_stealth_se_pci_device },
{ &s3_phoenix_trio32_pci_device },
{ &s3_diamond_stealth64_pci_device },
{ &s3_9fx_pci_device },
{ &s3_phoenix_trio64_pci_device },
{ s3_elsa_winner2000_pro_x_pci_device },
{ s3_mirovideo_40sv_ergo_968_pci_device },
{ &s3_9fx_771_pci_device },
{ s3_phoenix_vision968_pci_device },
{ s3_spea_mercury_p64v_pci_device },
{ &s3_9fx_531_pci_device },
{ s3_phoenix_vision868_pci_device },
{ s3_phoenix_trio64vplus_pci_device },
{ &s3_trio64v2_dx_pci_device },
{ &s3_virge_325_pci_device },
{ s3_diamond_stealth_2000_pci_device },
{ s3_diamond_stealth_3000_pci_device },
{ s3_stb_velocity_3d_pci_device },
{ &s3_virge_375_pci_device },
{ s3_diamond_stealth_2000pro_pci_device },
{ &s3_virge_385_pci_device },
{ &s3_virge_357_pci_device },
{ s3_diamond_stealth_4000_pci_device },
{ &s3_trio3d2x_pci_device },
#if defined(DEV_BRANCH) && defined(USE_MGA)
{ "mystique", &mystique_device },
{ "mystique_220", &mystique_220_device },
{ &mystique_device },
{ &mystique_220_device },
#endif
{ "tgui9440_pci", &tgui9440_pci_device },
{ "tgui9660_pci", &tgui9660_pci_device },
{ "tgui9680_pci", &tgui9680_pci_device },
{ "voodoo_banshee_pci", &voodoo_banshee_device },
{ "voodoo3_2k_pci", &voodoo_3_2000_device },
{ "voodoo3_3k_pci", &voodoo_3_3000_device },
{ "mach64gx_vlb", &mach64gx_vlb_device },
{ "et4000w32i_vlb", &et4000w32i_vlb_device },
{ "et4000w32p_revc_vlb", &et4000w32p_revc_vlb_device },
{ "et4000w32p_vlb", &et4000w32p_cardex_vlb_device },
{ "stealth32_vlb", &et4000w32p_vlb_device },
{ "et4000w32p_nc_vlb", &et4000w32p_noncardex_vlb_device },
{ "cl_gd5424_vlb", &gd5424_vlb_device },
{ "cl_gd5426_vlb", &gd5426_vlb_device },
{ "cl_gd5428_vlb", &gd5428_vlb_device },
{ "cl_gd5428_diamond_b1_vlb", &gd5428_diamond_speedstar_pro_b1_vlb_device },
{ "cl_gd5429_vlb", &gd5429_vlb_device },
{ "cl_gd5430_vlb", &gd5430_diamond_speedstar_pro_se_a8_vlb_device },
{ "cl_gd5434_vlb", &gd5434_vlb_device },
{ "metheus928_vlb", &s3_metheus_86c928_vlb_device },
{ "mirocrystal8s_vlb", &s3_mirocrystal_8s_805_vlb_device },
{ "mirocrystal10sd_vlb", &s3_mirocrystal_10sd_805_vlb_device },
{ "px_86c805_vlb", &s3_phoenix_86c805_vlb_device },
{ "px_s3_v7_805_vlb", &s3_spea_mirage_86c805_vlb_device },
{ "stealth64v_vlb", &s3_diamond_stealth64_964_vlb_device },
{ "mirocrystal20sv_vlb", &s3_mirocrystal_20sv_964_vlb_device },
{ "mirocrystal20sd_vlb", &s3_mirocrystal_20sd_864_vlb_device },
{ "bahamas64_vlb", &s3_bahamas64_vlb_device },
{ "px_vision864_vlb", &s3_phoenix_vision864_vlb_device },
{ "stealthse_vlb", &s3_diamond_stealth_se_vlb_device },
{ "px_trio32_vlb", &s3_phoenix_trio32_vlb_device },
{ "stealth64d_vlb", &s3_diamond_stealth64_vlb_device },
{ "n9_9fx_vlb", &s3_9fx_vlb_device },
{ "px_trio64_vlb", &s3_phoenix_trio64_vlb_device },
{ "spea_miragep64_vlb", &s3_spea_mirage_p64_vlb_device },
{ "px_vision968_vlb", &s3_phoenix_vision968_vlb_device },
{ "px_vision868_vlb", &s3_phoenix_vision868_vlb_device },
{ "ht216_32", &ht216_32_standalone_device },
{ "tgui9400cxi_vlb", &tgui9400cxi_device },
{ "tgui9440_vlb", &tgui9440_vlb_device },
{ "virge357_agp", &s3_virge_357_agp_device },
{ "stealth3d_4000_agp", &s3_diamond_stealth_4000_agp_device },
{ "trio3d2x_agp", &s3_trio3d2x_agp_device },
{ "velocity100_agp", &velocity_100_agp_device },
{ "voodoo3_2k_agp", &voodoo_3_2000_agp_device },
{ "voodoo3_3k_agp", &voodoo_3_3000_agp_device },
{ "", NULL }
{ &tgui9440_pci_device },
{ &tgui9660_pci_device },
{ &tgui9680_pci_device },
{ voodoo_banshee_device },
{ &voodoo_3_2000_device },
{ &voodoo_3_3000_device },
{ &mach64gx_vlb_device },
{ &et4000w32i_vlb_device },
{ et4000w32p_revc_vlb_device },
{ &et4000w32p_cardex_vlb_device },
{ &et4000w32p_vlb_device },
{ et4000w32p_noncardex_vlb_device },
{ &gd5424_vlb_device },
{ &gd5426_vlb_device },
{ &gd5428_vlb_device },
{ gd5428_diamond_speedstar_pro_b1_vlb_device },
{ &gd5429_vlb_device },
{ &gd5430_diamond_speedstar_pro_se_a8_vlb_device },
{ &gd5434_vlb_device },
{ &s3_metheus_86c928_vlb_device },
{ s3_mirocrystal_8s_805_vlb_device },
{ s3_mirocrystal_10sd_805_vlb_device },
{ &s3_phoenix_86c805_vlb_device },
{ s3_spea_mirage_86c805_vlb_device },
{ &s3_diamond_stealth64_964_vlb_device },
{ s3_mirocrystal_20sv_964_vlb_device },
{ s3_mirocrystal_20sd_864_vlb_device },
{ &s3_bahamas64_vlb_device },
{ s3_phoenix_vision864_vlb_device },
{ &s3_diamond_stealth_se_vlb_device },
{ &s3_phoenix_trio32_vlb_device },
{ &s3_diamond_stealth64_vlb_device },
{ &s3_9fx_vlb_device },
{ &s3_phoenix_trio64_vlb_device },
{ s3_spea_mirage_p64_vlb_device },
{ s3_phoenix_vision968_vlb_device },
{ s3_phoenix_vision868_vlb_device },
{ &ht216_32_standalone_device },
{ tgui9400cxi_device },
{ &tgui9440_vlb_device },
{ &s3_virge_357_agp_device },
{ s3_diamond_stealth_4000_agp_device },
{ &s3_trio3d2x_agp_device },
{ velocity_100_agp_device },
{ &voodoo_3_2000_agp_device },
{ &voodoo_3_3000_agp_device },
{ NULL }
};