PIIX zero length transfer represents 64 kbytes. Fixes CD-ROM on BeOS.
This commit is contained in:
parent
1ff836bfc1
commit
82ad526745
1 changed files with 2 additions and 0 deletions
|
|
@ -154,6 +154,8 @@ static void piix_bus_master_next_addr(int channel)
|
|||
{
|
||||
piix_busmaster[channel].addr = (*(uint32_t *)(&ram[piix_busmaster[channel].ptr_cur])) & ~1;
|
||||
piix_busmaster[channel].count = (*(uint32_t *)(&ram[piix_busmaster[channel].ptr_cur + 4])) & 0xfffe;
|
||||
if (!piix_busmaster[channel].count)
|
||||
piix_busmaster[channel].count = 0x10000;
|
||||
piix_busmaster[channel].eot = (*(uint32_t *)(&ram[piix_busmaster[channel].ptr_cur + 4])) >> 31;
|
||||
piix_busmaster[channel].ptr_cur += 8;
|
||||
// pclog("New DMA settings on channel %i - Addr %08X Count %04X EOT %i\n", channel, piix_busmaster[channel].addr, piix_busmaster[channel].count, piix_busmaster[channel].eot);
|
||||
|
|
|
|||
Loading…
Reference in a new issue