In my USB disk driver (USBDRIVE), here's what I've done.

USBDRIVE does not try to "virtualize" the sector sizes as others are suggesting 
here as a possibility -- I figure doing that has the potential to cause as many 
problems as the alternative (using defective utilities/programs that are 
hard-coded for 512-byte sectors).

USBDRIVE will only assign drive letters to disks/partitions that it believes 
DOS can handle properly.  E.g., USBDRIVE will "ignore" partitions that aren't 
formatted properly (NTFS, HPFS, FAT32 in certain cases, etc.).

Likewise, it will "ignore" disks with sector sizes larger than what DOS says it 
can handle (this particular detail is part of the easily accessible DOS "List 
of Lists").  In the source code for USBDRIVE (starting at line 289 in the 
latest official release of USBDRIVE.A36), I have a comment that shows you how 
you can modify MS-DOS and IBM-DOS to handle sector sizes larger than 512 bytes. 
 It involves using DEBUG (or something similar) to modify the DOS kernel 
(MSDOS.SYS or IBMDOS.COM).  I don't know if the same method will work with 
FreeDOS or not.  With the modification, DOS itself can supposedly handle sector 
sizes up to 8192 bytes, which means you can read/write to the disk using 
standard DOS internal calls.  Programs and utilities that do not let DOS "do 
the work for them" may have problems.

Booting from such a device is another level of complexity, and I'm not sure 
which versions of DOS (if any) can boot from a disk with sector sizes larger 
than 512 bytes.

RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
Freedos-user mailing list

Reply via email to