ATAPI sector accesses can not be split over multiple transfers. Fixes Windows XP installer.
This commit is contained in:
parent
f59e405737
commit
c07b76dc8e
7 changed files with 32 additions and 8 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue