IDE: Semi-implement READ_VERIFY and suppress debug output (#557)

This commit is contained in:
Alex Oughton
2022-02-26 13:39:36 -05:00
committed by GitHub
parent badc9953e7
commit 41b8b1fc30

16
ide.cpp
View File

@@ -913,13 +913,13 @@ static int handle_hdd(ide_config *ide)
return 1;
}
ide->drive[ide->regs.drv].spb = ide->regs.sector_count;
printf("New block size: %d\n", ide->drive[ide->regs.drv].spb);
dbg_printf("New block size: %d\n", ide->drive[ide->regs.drv].spb);
ide->regs.status = ATA_STATUS_RDY | ATA_STATUS_IRQ;
ide_set_regs(ide);
break;
case 0x08: // reset (fail)
printf("Reset command (08h) for HDD not supported\n");
dbg_printf("Reset command (08h) for HDD not supported\n");
return 1;
case 0x10 ... 0x1F: // recalibrate
@@ -928,6 +928,12 @@ static int handle_hdd(ide_config *ide)
ide_set_regs(ide);
break;
case 0x40: // READ VERIFY
dbg_printf("Received read verify command. Not implemented but returning OK.\n");
ide->regs.status = ATA_STATUS_RDY | ATA_STATUS_IRQ;
ide_set_regs(ide);
break;
case 0x91: // initialize device parameters
ide_set_geometry(&ide->drive[ide->regs.drv], ide->regs.sector_count, ide->regs.head + 1);
ide->regs.status = ATA_STATUS_RDY | ATA_STATUS_IRQ;
@@ -935,8 +941,8 @@ static int handle_hdd(ide_config *ide)
break;
default:
printf("(!) Unsupported command (%04X)\n", ide->base);
ide_print_regs(&ide->regs);
dbg_printf("(!) Unsupported command (%04X)\n", ide->base);
dbg_print_regs(&ide->regs);
return 1;
}
@@ -958,7 +964,7 @@ void ide_io(int num, int req)
ide->regs.status = ATA_STATUS_RDY;
ide_set_regs(ide);
printf("IDE %04X reset finish\n", ide->base);
dbg_printf("IDE %04X reset finish\n", ide->base);
}
}
else if (req == 4) // command