Added a second S3 ViRGE/DX card, this one with VBE 2.0 BIOS;
Added the ability to use a standalone MPU-401 if the selected sound card is not SB16 or AWE32.
This commit is contained in:
@@ -3925,7 +3925,7 @@ static void *s3_virge_988_init()
|
||||
return virge;
|
||||
}
|
||||
|
||||
static void *s3_virge_375_init()
|
||||
static void *s3_virge_375_init(wchar_t *romfn)
|
||||
{
|
||||
virge_t *virge = malloc(sizeof(virge_t));
|
||||
memset(virge, 0, sizeof(virge_t));
|
||||
@@ -3940,7 +3940,7 @@ static void *s3_virge_375_init()
|
||||
s3_virge_hwcursor_draw,
|
||||
s3_virge_overlay_draw);
|
||||
|
||||
rom_init(&virge->bios_rom, L"roms/86c375_1.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
|
||||
rom_init(&virge->bios_rom, romfn, 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
|
||||
if (PCI)
|
||||
mem_mapping_disable(&virge->bios_rom.mapping);
|
||||
|
||||
@@ -4021,6 +4021,16 @@ static void *s3_virge_375_init()
|
||||
return virge;
|
||||
}
|
||||
|
||||
static void *s3_virge_375_1_init()
|
||||
{
|
||||
return s3_virge_init(L"roms/86c375_1.bin");
|
||||
}
|
||||
|
||||
static void *s3_virge_375_4_init()
|
||||
{
|
||||
return s3_virge_init(L"roms/86c375_4.bin");
|
||||
}
|
||||
|
||||
static void s3_virge_close(void *p)
|
||||
{
|
||||
virge_t *virge = (virge_t *)p;
|
||||
@@ -4054,11 +4064,16 @@ static int s3_virge_988_available()
|
||||
return rom_present(L"roms/diamondstealth3000.VBI");
|
||||
}
|
||||
|
||||
static int s3_virge_375_available()
|
||||
static int s3_virge_375_1_available()
|
||||
{
|
||||
return rom_present(L"roms/86c375_1.bin");
|
||||
}
|
||||
|
||||
static int s3_virge_375_4_available()
|
||||
{
|
||||
return rom_present(L"roms/86c375_4.bin");
|
||||
}
|
||||
|
||||
static void s3_virge_speed_changed(void *p)
|
||||
{
|
||||
virge_t *virge = (virge_t *)p;
|
||||
@@ -4190,9 +4205,22 @@ device_t s3_virge_375_device =
|
||||
{
|
||||
"S3 ViRGE/DX",
|
||||
0,
|
||||
s3_virge_375_init,
|
||||
s3_virge_375_1_init,
|
||||
s3_virge_close,
|
||||
s3_virge_375_available,
|
||||
s3_virge_375_1_available,
|
||||
s3_virge_speed_changed,
|
||||
s3_virge_force_redraw,
|
||||
s3_virge_add_status_info,
|
||||
s3_virge_config
|
||||
};
|
||||
|
||||
device_t s3_virge_375_4_device =
|
||||
{
|
||||
"S3 ViRGE/DX (VBE 2.0)",
|
||||
0,
|
||||
s3_virge_375_4_init,
|
||||
s3_virge_close,
|
||||
s3_virge_375_4_available,
|
||||
s3_virge_speed_changed,
|
||||
s3_virge_force_redraw,
|
||||
s3_virge_add_status_info,
|
||||
|
||||
@@ -4,3 +4,4 @@
|
||||
extern device_t s3_virge_device;
|
||||
extern device_t s3_virge_988_device;
|
||||
extern device_t s3_virge_375_device;
|
||||
extern device_t s3_virge_375_4_device;
|
||||
|
||||
@@ -101,6 +101,7 @@ static VIDEO_CARD video_cards[] =
|
||||
{"Phoenix S3 Trio64", "px_trio64", &s3_phoenix_trio64_device, GFX_PHOENIX_TRIO64},
|
||||
{"Plantronics ColorPlus", "plantronics", &colorplus_device, GFX_COLORPLUS},
|
||||
{"S3 ViRGE/DX", "virge375", &s3_virge_375_device, GFX_VIRGEDX},
|
||||
{"S3 ViRGE/DX (VBE 2.0)", "virge375_vbe20", &s3_virge_375_4_device, GFX_VIRGEDX4},
|
||||
{"Trident TGUI9440", "tgui9440", &tgui9440_device, GFX_TGUI9440},
|
||||
{"Trident TVGA8900D", "tvga8900d", &tvga8900d_device, GFX_TVGA},
|
||||
{"Tseng ET4000AX", "et4000ax", &et4000_device, GFX_ET4000},
|
||||
|
||||
Reference in New Issue
Block a user