More RTL8029AS fixes from TheCollector1995;

FDC now updates the floppy drive's DENSEL on receiving updates from the Super I/O chip;
Commented out ASIS P/I-P55TP4XE and ASUS P/I-P55T2P4 because they are too buggy;
Completely illegal instructions now also log the second byte for purposes of prefixed instruction identification;
PIC now sets mask to 0 on reset.
This commit is contained in:
OBattler
2016-08-13 17:29:14 +02:00
parent 91075fb627
commit f1367357b0
5 changed files with 52 additions and 23 deletions

View File

@@ -184,14 +184,18 @@ void fdc_update_enh_mode(int enh_mode)
fdc.enh_mode = enh_mode;
}
static void fdc_rate(int drive);
int fdc_get_rwc(int drive)
{
return fdc.rwc[drive];
fdc_rate(drive);
}
void fdc_update_rwc(int drive, int rwc)
{
fdc.rwc[drive] = rwc;
fdc_rate(drive);
}
int fdc_get_boot_drive()
@@ -207,16 +211,21 @@ void fdc_update_boot_drive(int boot_drive)
void fdc_update_densel_polarity(int densel_polarity)
{
fdc.densel_polarity = densel_polarity;
fdc_rate(0);
fdc_rate(1);
}
void fdc_update_densel_force(int densel_force)
{
fdc.densel_force = densel_force;
fdc_rate(0);
fdc_rate(1);
}
void fdc_update_drvrate(int drive, int drvrate)
{
fdc.drvrate[drive] = drvrate;
fdc_rate(drive);
}
void fdc_update_drv2en(int drv2en)