View Single Post
Old 15 July 2008, 08:05   #90
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 7,002
Quote:
Originally Posted by Toni Wilen View Post
It seems there is no check if media is not inserted when calling uaescsi.device CMD_READ and friends.. (HD_SCSICMD works)
The only read command Check4GB uses is TD_READ64 with io_Data/Length/Offset/Actual all 0. This should return either IOERR_NOCMD (if TD64 is not supported) or something like invalid length or so. That's the documented way to check for TD64 support. It should not even try to read anything IMHO. Especially because io_Data is not valid.

Check4GB uses these commands (in this order):

NSCMD_DEVICEQUERY
TD_READ64
HD_SCSICMD Read Capacity
HD_SCSICMD Read(10)


Quote:
What does real scsi.device return in this case? Error 29? (trackdisk "no disk" error)
Don't know (no real Amiga at hand). Trackdisk.device returns 29.

BTW, it cannot be CMD_READ because this is what TSGUI uses and TSGUI does not crash. In TSGUI uaescsi.device returns -5 on an empty drive. TSGUI does not check for TD64 if the drive is not bigger than 4GB. Check4GB always does the check.
thomas is online now  
 
Page generated in 0.05198 seconds with 11 queries