Fixed some CD-ROM-related bugs;

Added sanity checks to the device close functions of the Hercules family graphics cards;
Cleaned up, fixed the bugs in, and reworked the implementation of the Adaptec/BusLogic BIOS command handler;
Removed some scsi_device.c functions that have now become useless;
Removed some excess stuff from pc_init_modules().
This commit is contained in:
OBattler
2018-10-11 10:34:12 +02:00
parent defada30d4
commit b8d3992c07
8 changed files with 283 additions and 281 deletions

View File

@@ -8,7 +8,7 @@
*
* Generic CD-ROM drive core.
*
* Version: @(#)cdrom.c 1.0.0 2018/10/09
* Version: @(#)cdrom.c 1.0.1 2018/10/11
*
* Author: Miran Grca, <mgrca8@gmail.com>
*
@@ -160,6 +160,9 @@ void
cdrom_seek(cdrom_drive_t *dev, uint32_t pos)
{
/* cdrom_log("CD-ROM %i: Seek %08X\n", dev->id, pos); */
if (!dev)
return;
dev->seek_pos = pos;
if (dev->handler && dev->handler->stop)
dev->handler->stop(dev->id);
@@ -234,6 +237,9 @@ cdrom_close_handler(uint8_t id)
{
cdrom_drive_t *dev = &cdrom_drives[id];
if (!dev)
return;
switch (dev->host_drive) {
case 200:
image_close(id);
@@ -242,6 +248,8 @@ cdrom_close_handler(uint8_t id)
null_close(id);
break;
}
dev->handler = NULL;
}