by Bret » Sun Sep 20, 2009 2:48 am
While it would be possible to do that, it's not a good idea. Such a scenario would allow you to change the quantity of accessible INT 13h disk numbers, partition types and sizes, DOS Drive Letters, etc. while another program was already running. Many programs, if they need to access and manage the drives, take an "inventory" of how many there are at the beginning of the program and assume it can't change while the program is running. Having the number or type of available disks or partitions or drive letters change while a program is running could be catastrophic. In addition, it would take quite a bit more TSR memory to do something like that.
USBDRIVE treats USB disks as removable hard drives, not permanent hard drives the way most other drivers do. With USBDRIVE, it may be easier to think of USB drives more like floppy drives than hard drives, but with the floppy slots being virtual instead of physical. You can change the number of physical slots that are reserved for USB Devices with the /Devices:# option, the number of "virtual slots" it reserves for INT 13h disk numbers with the /Disks:# option, and the number of "virtual slots" it reserves for partitions/DOS drive letters with the /Drives:# option.
If you only intend to use one USB disk at a time, and will only have one partition on it, you can set /Devices, /Disks, and /Drives all to 1 (this will also minimize the amount of TSR memory). If you want to be able to copy directly between two USB disks each with one partition, set all of the values to 2. If you have a multimedia card reader with 4 slots, but you only need to access one of the slots at a time, set /Devices to 1, /Disks to 4, and /Drives to 1. If you have a single USB disk with multiple partitions, set /Devices and /Disks to 1, and /Drives to the number of DOS partitions on the disk.
*********************
I know the recent version of USBDRIVE doesn't work any more for some drives that used to be OK. I'm working on that now, and hope to have it fixed later this week.