ATAPI sector accesses can not be split over multiple transfers. Fixes Windows XP installer.

This commit is contained in:
SarahW 2018-03-03 21:32:24 +00:00
commit c07b76dc8e
7 changed files with 32 additions and 8 deletions

View file

@ -134,6 +134,12 @@ uint8_t atapi_read_drq(atapi_device_t *atapi_dev)
return atapi_dev->bus_state & BUS_REQ;
}
void atapi_set_transfer_granularity(atapi_device_t *atapi_dev, int size)
{
if (atapi_dev->max_transfer_len > size)
atapi_dev->max_transfer_len -= (atapi_dev->max_transfer_len % size);
}
void atapi_process_packet(atapi_device_t *atapi_dev)
{
// pclog("atapi_process_packet: state=%i\n", atapi_dev->state);