SiS 471: Register 69h is read/write, not read/write clear, fixes hangs in SMM on the DEC Venturis 4xx.

This commit is contained in:
OBattler
2024-05-09 01:28:54 +02:00
parent b0542322bf
commit 179c4fc279
2 changed files with 4 additions and 6 deletions

View File

@@ -174,9 +174,7 @@ sis_85c4xx_out(uint16_t port, uint8_t val, void *priv)
case 0x23:
if ((dev->cur_reg >= dev->reg_base) && (dev->cur_reg <= dev->reg_last)) {
valxor = val ^ dev->regs[rel_reg];
if (rel_reg == 0x19)
dev->regs[rel_reg] &= ~val;
else if (rel_reg == 0x00)
if (rel_reg == 0x00)
dev->regs[rel_reg] = (dev->regs[rel_reg] & 0x1f) | (val & 0xe0);
else
dev->regs[rel_reg] = val;

View File

@@ -702,7 +702,7 @@ machine_at_pb450_init(const machine_t *model)
pci_register_slot(0x12, PCI_CARD_NORMAL, 5, 6, 7, 8);
if (gfxcard[0] == VID_INTERNAL)
device_add(&gd5428_vlb_onboard_device);
device_add(machine_get_vid_device(machine));
device_add(&opti895_device);
device_add(&opti602_device);
@@ -2223,10 +2223,10 @@ machine_at_dvent4xx_init(const machine_t *model)
device_add(&sis_85c471_device);
device_add(&ide_cmd640_vlb_pri_device);
device_add(&fdc37c665_ide_device);
device_add(&keyboard_ps2_device);
device_add(&keyboard_ps2_phoenix_device);
if (gfxcard[0] == VID_INTERNAL)
device_add(&s3_phoenix_trio32_onboard_vlb_device);
device_add(machine_get_vid_device(machine));
return ret;
}