Reverted Direct3D to 2048x2048 buffer and suppressed the EGA/(S)VGA overscan, if enabled, in 2048x modes, fixes Direct3D freezes;

Improved the BusLogic incoming mailbox code;
The BusLogic callback is now three-phases and outgoing mailbox interrupts are emulated correctly;
Fixed the CD-ROM command READ DISC INFORMATION (0x51), fixes NetBSD crashing 86Box with segmentation fault when using the AHA-154x;
Added the CD-ROM command PAUSE/RESUME ALT (0xC2).
This commit is contained in:
OBattler
2017-01-24 01:03:23 +01:00
parent bd28cc5e57
commit bc5ac4a699
21 changed files with 308 additions and 278 deletions

View File

@@ -194,14 +194,22 @@ double disc_real_period(int drive)
dusec = (double) TIMER_USEC;
return (ddbp * dusec);
/* This is a giant hack but until the timings become even more correct, this is needed to make floppies work right on that BIOS. */
if (romset == ROM_MRTHOR)
{
return (ddbp * dusec) / 2.0;
}
else
{
return (ddbp * dusec);
}
}
void disc_poll(int drive)
{
if (drive >= FDD_NUM)
{
disc_poll_time[drive] += (int) (32.0 * TIMER_USEC);
disc_poll_time[drive] += (int) (((romset == ROM_MRTHOR) ? 16.0 : 32.0) * TIMER_USEC);
return;
}