Fixed SVGA 15bpp and 16bpp low resolution renderers;

IDE WIN_DRIVE_DIAGNOSTICS fix per patch by greatpsycho;
The two Laser XT boards now allow using up to 1152 kB RAM per report from greatpsycho.
This commit is contained in:
OBattler
2017-06-11 17:40:34 +02:00
parent cdd855d258
commit 760b4f89ae
4 changed files with 119 additions and 30 deletions

View File

@@ -1252,21 +1252,28 @@ void writeide(int ide_board, uint16_t addr, uint8_t val)
case WIN_SETIDLE1: /* Idle */
case WIN_CHECKPOWERMODE1:
case WIN_SLEEP1:
if (ide_drive_is_cdrom(ide))
if (val == WIN_DRIVE_DIAGNOSTICS)
{
cdrom[atapi_cdrom_drives[ide->channel]].status = BUSY_STAT;
callbackide(ide_board);
}
else
{
ide->atastat = BUSY_STAT;
if (ide_drive_is_cdrom(ide))
{
cdrom[atapi_cdrom_drives[ide->channel]].status = BUSY_STAT;
}
else
{
ide->atastat = BUSY_STAT;
}
timer_process();
if (ide_drive_is_cdrom(ide))
{
cdrom[atapi_cdrom_drives[ide->channel]].callback = ((val == WIN_DRIVE_DIAGNOSTICS) ? 200 : 30) * IDE_TIME;
}
idecallback[ide_board] = ((val == WIN_DRIVE_DIAGNOSTICS) ? 200 : 30) * IDE_TIME;
timer_update_outstanding();
}
timer_process();
if (ide_drive_is_cdrom(ide))
{
cdrom[atapi_cdrom_drives[ide->channel]].callback = 30*IDE_TIME;
}
idecallback[ide_board]=30*IDE_TIME;
timer_update_outstanding();
return;
case WIN_IDENTIFY: /* Identify Device */