Thread: Emulation error
View Single Post
Old 03 February 2014, 11:10   #14
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,560
Originally Posted by jdow View Post
Technically, though, the error results are dead wrong. HDToolBox will properly run if you return TDERR_BadUnitNum. That is the expected return. Allowing HFERR_NoBoard to work was a concession for the ApolloSCSI.

HDToolBox works on the Microbotics HardFrame, which returned proper values. And RDPrepX works on the Commodore scsi.device in A3000s and GVP's scsi boards. That shows BadUnitNum is the expected return. It would be nice to get it right in memorial of Steve Beats and Randall Jesup if not me. Steve did the original work on the Commodore drivers. Randall did lots of cleanup and developed the RDBs in conjunction with me and GVP. Those were fun days. (Amigas read disks faster than any other OS around. It was used for testing disk speeds for several years in the early days. That's how I got some cheap drives. {^_-})
I coudn't get hdtoolbox to keep enumerating without using NoBoard. Perhaps it was changed in later hdtoolbox versions (OS3.5+?). I'll need to to retest all versions someday..

(Low level disk work is a "joy". All manner of interesting bugs turn up. I just discovered Windows will happily truncate off the end of a disk to report the size as a multiple of 822580 bytes - 512 bytes/sector, 63 cylinders, 255 sectors/cylinder. Yick. I gotta boot to CloneZilla and take a new copy of that 18G SCSI disk to get the last blocks. SIGH! It's not that important. It's just annoying.)
AFAIK this limit only existed in Windows 2000 and older. XP and later can access all blocks, even if "geometry" does not match but you need to use IOCTL_DISK_GET_LENGTH_INFO to get the real size of drive. Other standard methods return "geometry compatible" size. WinUAE HD to HDF converter will use this method too.
Toni Wilen is offline  
Page generated in 0.05085 seconds with 9 queries