Give the AP440FX the original ViRGE instead, fixes #4740.

This commit is contained in:
OBattler
2024-08-22 04:59:51 +02:00
parent cf3870e354
commit f9e457f3e8
4 changed files with 21 additions and 6 deletions

View File

@@ -527,6 +527,7 @@ extern const device_t s3_trio64v2_dx_onboard_pci_device;
/* S3 ViRGE */
extern const device_t s3_virge_325_pci_device;
extern const device_t s3_virge_325_onboard_pci_device;
extern const device_t s3_diamond_stealth_2000_pci_device;
extern const device_t s3_diamond_stealth_3000_pci_device;
extern const device_t s3_stb_velocity_3d_pci_device;

View File

@@ -324,10 +324,10 @@ machine_at_ap440fx_init(const machine_t *model)
device_add(&intel_flash_bxt_ami_device);
if (sound_card_current[0] == SOUND_INTERNAL)
device_add(&cs4236b_device);
device_add(machine_get_snd_device(machine));
if (gfxcard[0] == VID_INTERNAL)
device_add(&s3_virge_375_onboard_pci_device);
device_add(machine_get_vid_device(machine));
return ret;
}

View File

@@ -13758,7 +13758,7 @@ const machine_t machines[] = {
.device = NULL,
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = &s3_virge_375_onboard_pci_device,
.vid_device = &s3_virge_325_onboard_pci_device,
.snd_device = &cs4236b_device,
.net_device = NULL
},

View File

@@ -4306,7 +4306,7 @@ s3_virge_reset(void *priv)
static void *
s3_virge_init(const device_t *info)
{
const char *bios_fn;
const char *bios_fn = NULL;
virge_t *virge = (virge_t *) calloc(1, sizeof(virge_t));
reset_state = calloc(1, sizeof(virge_t));
@@ -4319,7 +4319,7 @@ s3_virge_init(const device_t *info)
virge->onboard = !!(info->local & 0x100);
switch (info->local) {
if (!virge->onboard) switch (info->local) {
case S3_VIRGE_325:
bios_fn = ROM_VIRGE_325;
break;
@@ -4333,7 +4333,7 @@ s3_virge_init(const device_t *info)
bios_fn = ROM_STB_VELOCITY_3D;
break;
case S3_VIRGE_DX:
bios_fn = virge->onboard ? NULL : ROM_VIRGE_DX;
bios_fn = ROM_VIRGE_DX;
break;
case S3_DIAMOND_STEALTH3D_2000PRO:
bios_fn = ROM_DIAMOND_STEALTH3D_2000PRO;
@@ -4816,6 +4816,20 @@ const device_t s3_virge_325_pci_device = {
.config = s3_virge_config
};
const device_t s3_virge_325_onboard_pci_device = {
.name = "S3 ViRGE (325) On-Board PCI",
.internal_name = "virge325_onboard_pci",
.flags = DEVICE_PCI,
.local = S3_VIRGE_325 | 0x100,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = NULL },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_config
};
const device_t s3_diamond_stealth_2000_pci_device = {
.name = "S3 ViRGE (Diamond Stealth 3D 2000) PCI",
.internal_name = "stealth3d_2000_pci",