View Single Post
Old 18 October 2012, 17:53   #18
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,524
Quote:
Originally Posted by thomas View Post
I still don't see a reason why a (hard drive) file system would need to call TD_GETGEOMETRY. Scsi.device does not even support TD_GETGEOMETRY.
Forget it, I thought it was needed.

Quote:
Do these old controllers with crashing drivers support disks bigger than 4GB? If they don't, the discussion is pointless.
Good point, but see below.

Quote:
1. calculate the last block of the partition. If it is inside the first 4GB of the drive, use CMD_READ and CMD_WRITE. No 64 bit or SCSI support needed.
A590 with pre-7.0 ROM and CDTV SCSI expansion (all available ROM versions) have 1G limit (returns error if >1G access) when using CMD_READ/WRITE but HD_SCSICMD is "unlimited".

AFAIK there are also other old true SCSI controllers that convert CMD_READ/WRITE to SCSI Read(6) and Write(6) which has 1G limit. HD_SCSICMD and Read/Write(10) works fine, even if drive is >4G. (But on the other hand some controllers simply hang if drive is too big..)

This is the remaining annoying problem.

ADDED: I guess this should work: if end of partition is <4G and CMD_READ fails, re-read using HD_SCSICMD SCSI Read(6). Select DS if it succeeds.

Last edited by Toni Wilen; 18 October 2012 at 19:24.
Toni Wilen is online now  
 
Page generated in 0.05875 seconds with 11 queries