Better FDC enabling/disabling on W83877*. Fixes floppy drive on FIC VA-503+ in Windows 9x.

This commit is contained in:
SarahW 2019-05-18 15:48:43 +01:00
commit 8b46bbe1af

View file

@ -167,9 +167,7 @@ static void w83877tf_write_3fx(uint16_t port, uint8_t val, void *p)
case 0x3f0: /*Enable/index register*/ case 0x3f0: /*Enable/index register*/
if (val == 0xaa) if (val == 0xaa)
{ {
fdc_remove(); fdc_3f1_enable(1);
if (w83877tf->enable_regs && w83877tf->regs[0x20] >= 0x40)
fdc_add();
w83877tf->enable_regs = 0; w83877tf->enable_regs = 0;
} }
else if (!w83877tf->enable_regs) else if (!w83877tf->enable_regs)
@ -180,7 +178,7 @@ static void w83877tf_write_3fx(uint16_t port, uint8_t val, void *p)
/*The FDC conflicts with the 3fx config registers, so disable /*The FDC conflicts with the 3fx config registers, so disable
it when enabling config registers*/ it when enabling config registers*/
if (w83877tf->enable_regs) if (w83877tf->enable_regs)
fdc_remove(); fdc_3f1_enable(0);
} }
else else
w83877tf->index = val; w83877tf->index = val;