Large changes to configuration files again (the old ones might break, be careful);

Applied the mainline PCem slight CPU emulation speedup commit;
Added emulation of removable SCSI hard disks;
CD-ROM image handler now uses C FILE's (with the 64-bit size calls) instead of C++ iostreams, ISO images bigger than 2 GB should work properly again;
Split RLL/ESDI and XT IDE disks to their own bus types;
Turned status bar pane meaning and hard disks and CD-ROM BUS numbers to #define's;
Other miscellaneous cleanups.
This commit is contained in:
OBattler
2017-05-27 03:53:32 +02:00
parent 94680da416
commit a36720f174
56 changed files with 4736 additions and 2682 deletions

View File

@@ -374,20 +374,17 @@ void initpc(int argc, wchar_t *argv[])
SCSIReset(cdrom_drives[i].scsi_device_id, cdrom_drives[i].scsi_device_lun);
}
if (cdrom_drives[i].host_drive == 0)
if (cdrom_drives[i].host_drive == 200)
{
cdrom_null_open(i, cdrom_drives[i].host_drive);
image_open(i, cdrom_image[i].image_path);
}
else if ((cdrom_drives[i].host_drive >= 'A') && (cdrom_drives[i].host_drive <= 'Z'))
{
ioctl_open(i, cdrom_drives[i].host_drive);
}
else
{
if (cdrom_drives[i].host_drive == 200)
{
image_open(i, cdrom_image[i].image_path);
}
else
{
ioctl_open(i, cdrom_drives[i].host_drive);
}
cdrom_null_open(i, cdrom_drives[i].host_drive);
}
}
@@ -412,7 +409,6 @@ void initpc(int argc, wchar_t *argv[])
scsi_card_init();
fullspeed();
ali1429_reset();
shadowbios=0;
for (i = 0; i < CDROM_NUM; i++)
@@ -423,7 +419,7 @@ void initpc(int argc, wchar_t *argv[])
{
image_reset(i);
}
else
else if ((cdrom_drives[i].host_drive >= 'A') && (cdrom_drives[i].host_drive <= 'Z'))
{
ioctl_reset(i);
}
@@ -528,7 +524,6 @@ void resetpchard(void)
loadnvr();
shadowbios = 0;
ali1429_reset();
keyboard_at_reset();
@@ -542,7 +537,7 @@ void resetpchard(void)
{
image_reset(i);
}
else
else if ((cdrom_drives[i].host_drive >= 'A') && (cdrom_drives[i].host_drive <= 'Z'))
{
ioctl_reset(i);
}
@@ -689,10 +684,10 @@ void closepc(void)
cdrom_drives[i].handler->exit(i);
}
dumppic();
disc_close(0);
disc_close(1);
disc_close(2);
disc_close(3);
for (i = 0; i < FDD_NUM; i++)
{
disc_close(i);
}
dumpregs(0);
closevideo();
device_close_all();