View Single Post
Old 05 September 2011, 08:29   #46
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
Quote:
Originally Posted by fgh View Post
[*]There are no maxtransfer issues on SCSI equipment
IDE-like max transfer problem is impossible (you don't get last read/write position back from SCSI commands so drivers' can't misuse it). Technically some scsi driver may have bugs causing similar issues.

AFAIK no one has ever reported any problems.

Quote:
[*]It might affect any IDE device using scsi.device (CF, SD, SSD or HDD)
Yes.

Quote:
[*]It makes no sense to use 0xFE00 over 0x1FE00
Yes. Even 0x20000 should still work because problem only happens if more than 256 sectors needs to be transferred (256*512 = 0x20000)

Quote:
Mask
Mask was designed for DMA controllers to prevent DMA transfers to unsupported memory. For example 24-bit controller (like A590/A2091 DMAC) can't DMA to 32-bit RAM or some have LONG transfer alignment requirement (like original rev 1 DMAC). NOTE!!: "24-bit" in this context means controller have 24 bit address lines. Not that memory has 24-bit data bits

Controllers do following test: if ((transfer start address & mask) == transfer start address) then { do the DMA normally } else { use PIO or DMA to supported ram (worst case chip ram), then use CPU to copy it to final address }

It does not make any sense to change mask when using non-DMA (like Amiga IDE) controllers. I am not sure if they simply ignore the mask.
Toni Wilen is offline  
 
Page generated in 0.06361 seconds with 11 queries