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:
OBattler
2017-06-03 20:32:58 +02:00
parent 85714741ab
commit 224368b791
12 changed files with 255 additions and 15 deletions

View File

@@ -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,

View File

@@ -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;

View File

@@ -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},