HCFORMAT V1.3 (c) 1992,1993 IMSL Software INTRODUCTION ------------ The HCFORMAT utility formats floppy disks with capacities ranging from 20% to 128% higher than the standard DOS FORMAT. These high-capacity floppy disk formats can be used on any PC with high-density 3.5" or 5.25" drives. The highest capacity formats provided are: 1.804 Mbyte format on 3.5" HD disks, instead of the normal 1.44 Mb (22 sectors per track, 82 tracks) 1.476 Mbyte format on 5.25" HD disks, instead of the normal 1.2 Mb (18 sectors per track, 82 tracks) 984 Kbyte format on 3.5" DD disks, instead of the normal 720 Kb (12 sectors per track, 82 tracks) 820 Kbyte format on 5.25" DD disks, instead of the normal 360 Kb (10 sectors per track, 82 tracks) Other formats provided are: 1.44 Mbyte format on 5.25" HD disks, compatible with the 1.44 Mb format of 3.5" HD disks (18 sectors per track, 80 tracks) 720 Kbyte format on 5.25" DD disks, compatible with the 720 Kb format of 3.5" DD disks (9 sectors per track, 80 tracks) 1.76 Mbyte format on 3.5" HD disks, limited to 80 tracks for universal drive compatibility (22 sectors per track, 80 tracks) 960 Kbyte format on 3.5" DD disks, limited to 80 tracks for universal drive compatibility (12 sectors per track, 80 tracks) 820 Kbyte format on 3.5" DD disks, limited to standard density for better media compatibility (10 sectors per track, 82 tracks) 800 Kbyte format on either 5.25" or 3.5" DD disks, for a little additional capacity over the 720 Kb format without exceeding track or density specifications (10 sectors per track, 80 tracks) These higher capacities are obtained primarily by making better use of the unformatted disk capacity than DOS FORMAT does, in ways which are safe and fully supported by the drives and the diskette BIOS. However, the highest-capacity formats make use of techniques which slightly exceed the drive or media specifications. These techniques (identified below) are usually safe, and are used by default, but can be turned off if desired. HCFORMAT has been thoroughly tested through several generations of DOS, with many different PCs and floppy drives, and works reliably on all known systems. These formats do not use any data compression - you can use Doublespace, Stacker, or PKZIP on top of these capacities. The ability of Stacker to create self-mounting floppy disks can be used, along with the similar ability of HCFORMAT, to create floppy disks of up to 3.6 Mb capacity which can be used on any system. The HC TSR driver must be installed by HCFORMAT to read or write most of the high-capacity disk formats (see the TSR command below). PACKAGE CONTENTS ---------------- HCFLOPPY.DOC - this file HCFORMAT.EXE - main utility COPYANY.EXE - disk copy utility FORMATTING WITH HCFORMAT ------------------------ The high-capacity disk formats are created by the utility HCFORMAT. The syntax is very similar to the standard DOS FORMAT commmand: HCFORMAT d: [/F:xxxx] | [/L] [/3] [/T:tt] [/[+|-]M] [/Q] where: d: is the drive containing the disk to format (A: or B:) /F:xxxx optionally specifies the format capacity, where xxxx is: 1.804 (or 1804) for 1.804 Mb format on a 3.5" HD disk 1.76 (or 1760) for 1.76 Mb format on a 3.5" HD disk 1.476 (or 1476) for 1.476 Mb format on a 5.25" HD disk 1.44 (or 1440) for 1.44 Mb format on a 5.25" HD disk 984 for 984 Kb format on a 3.5" DD disk 960 for 960 Kb format on a 3.5" DD disk 820 for 820 Kb format on a 3.5" or 5.25" DD disk 800 for 800 Kb format on a 3.5" or 5.25" DD disk 720 for 720 Kb format on a 5.25" DD disk The default format is the highest capacity supported by the drive type (1.804 Mb for 3.5" or 1.476 Mb for 5.25") /L specifies that a low-density (DD) disk is to be formatted, changing the default formats to 984 Kb for 3.5" or 820 Kb for 5.25" /3 specifies that a 5.25" disk is to be formatted for 3.5" compatibility (1.44 Mb for a high-density disk, 720 Kb for a low-density disk) /T:tt specifies the number of tracks to be formatted (minimum 80). HCFORMAT uses 82 by default. The DOS standard is 80. /Q specifies a quick re-format of a previously-formatted disk, re-initializing only the DOS FAT and root directory to erase the disk /M formats the disk as self-mountable (defined below) /+M makes an existing high-capacity disk self-mountable /-M removes self-mountable format, reversing the effect of /+M Use either /F:xxxx or a combination of the /L /3 /T switches to specify the format. The /F:xxxx switch always overrides the /L /3 /T switches if specified. /3 always formats 80 tracks, overriding /T if specified. The switches /Q, /+M, and /-M can only be used on previously-formatted disks, and each should be the only switch on the command line if specified. The switches /F:xxxx, /L, /3, /T, and /M can only be used when formatting new disks or unconditionally re-formatting disks, and can be combined in any order subject to the override rules above. Drive letters and switches are not case-sensitive. Example: >HCFORMAT A: /F:1.44 HCFORMAT V1.2 (c) 1992,1993 IMSL Software Formatting A: as 1440 Kb Insert disk to be formatted and press Enter to proceed ... Cyl c Hd h (counts while formatting) Done > HCFORMAT low-level formats the disk, verifying as it formats. If an error is detected, HCFORMAT will report it and continue. HCFORMAT does NOT mark faulty sectors as Bad in the FAT like DOS FORMAT - it is recommended that faulty disks not be used, or else they should be thoroughly tested and marked with a separate disk test utility like Norton Disk Doctor or PC Tools which can do a proper job of it. When low-level formatting is complete, HCFORMAT initializes the boot sector, FAT, and root directory for DOS. If /Q (Quick format) is specified, the disk is assumed to be already formatted, and the low-level format step is skipped. The existing format type is read from the disk, and only the DOS FAT and root directory initialization is performed. HCFORMAT /Q will Quick Format any floppy disk with valid boot sector parameters, including standard DOS disks and self-mountable high-capacity disks. However, the HC TSR driver must be installed to Quick Format HC disks with capacities of 1.44 Mb or higher. Self-mountable disk format is described in a separate section below. HCFORMAT will create only the specified high-capacity formats - DOS FORMAT should be used for all other standard disk formats. HCFORMAT will not disallow any combination of formats and drive types - it will only display a warning message (for example, HCFORMAT will write the 5.25" 1.44 Mb format on a 3.5" disk after displaying a warning, but this is NOT the same 1.44 Mb low-level format as normally used on a 3.5" disk). The default formats use 82 tracks, which is the practical maximum on most disks and drives. The /T:tt switch can be used to specify any number of tracks from the DOS standard of 80 up to whatever maximum you want to try on a particular disk and drive. This can produce format capacities slightly different from the specific formats quoted here (e.g. 830 instead of 820), but the actual capacity is always correctly displayed by HCFORMAT and correctly handled by DOS. However, the /F switch accepts only the specific 80-track and 82-track format capacities listed here. HCFORMAT supplies a variable DOS V4.0+ volume serial number, but not a volume label (use the DOS LABEL utility afterward if you want a volume label). HCFORMAT does not support installing bootable system files on the floppy disk (you can do this with the DOS SYS command, but only the 800/820 Kb 3.5" and, on some systems, the 960/984 Kb non-self-mountable format are bootable). HCFORMAT does not save Unformat information, but if you run a separate FAT preservation utility such as DOS V5.0 MIRROR, PC Tools MIRROR, or Norton IMAGE on the floppy disk before doing a Quick format, it is possible to recover the contents by running the corresponding UNFORMAT utility immediately afterward. You can create a "SafeFormat" batch file or command line macro to always perform MIRROR before HCFORMAT /Q if you prefer. As with standard DOS formats, you should never attempt to use a format requiring high-density (HD) media with double-density (DD) media. HCFORMAT always displays a reminder message to this effect when high-density media is required. Attempting to format double-density media as high density will probably result in a large number of read errors or verification errors while formatting. You should specify the /L switch with DD media. HCFORMAT supports only physical floppy drives 0 and 1 (A: and B:). TECHNICAL INFORMATION ON DISK FORMATS ------------------------------------- HCFORMAT uses the following physical format techniques in various combinations: - smaller gaps between sectors to fit more sectors on a track - 80 tracks (single-step) instead of 40 on 5.25" DD disks - 1024-byte sector size (instead of 512) to reduce the amount of sector overhead (gaps, headers, and trailers) on the track - 20% higher recording density on 3.5" DD disks by using the higher data rate intended for 5.25" DD disks - 82 tracks instead of 80, allowed by almost all drives and disks - multi-pass formatting to place two different physical formats on the same track to support self-mounting HCFORMAT also makes us of the following DOS format variations: - single-sector clusters instead of double-sector clusters on DD disks to waste less space per file - smaller root directory on 800/820 Kb disks, mainly to allow self-mounting - "virtual" FAT2 on self-mounting 1.44-1.804 Mb disks DOS is able to accept almost any disk format which fits its basic model of a fixed track/head/sector organization and 512-byte data sector size. This includes the HC formats, with the condition that 1024-byte sectors must be translated to equivalent 512-byte sectors for DOS. However, DOS always leaves it up to the diskette BIOS to handle setting the appropriate drive hardware parameters. While any standard PC BIOS is able to handle all the allowable variations in drive parameters if told what to do, the BIOS normally makes certain assumptions based on long-established DOS disk formats. These assumptions must be explicitly overridden if you want to do something different. This is the case with the HC formats which require non-standard combinations of data rate, track stepping, and sector size. The 1.76+ Mbyte formats on 3.5" HD disks, and the 1.44+ Mbyte formats on 5.25" HD disks, use a 1024-byte sector size instead of the standard DOS 512-byte sector size. Attempting to read a disk in one of these formats without the HC TSR driver installed will normally result in a "Sector not found" error. When the HC TSR driver is installed, the disk will appear to DOS to have normal 512-byte sectors, with twice the actual number of sectors per track. The 720 Kbyte format on 5.25" DD disks uses 80 tracks instead of 40, and is identical to the 3.5" DD 720 Kb format (and to the old quad-density 5.25" disk format skipped over by IBM). Attempting to read a disk in this format without the HC TSR driver installed will appear to succeed initially, but will usually result in a "Sector not found" error when files beyond the first cylinder are accessed. When the HC TSR driver is installed, the drive is set to the correct 80-track mode on the initial access. The 800 Kbyte format on either 3.5" or 5.25" DD disks uses 10 sectors per track instead of 9. DOS correctly handles this difference, and no additional steps are required. The 5.25" 800 Kb disks still need the HC TSR driver installed to set 80-track mode, but the 3.5" 800 Kb disks can be read by DOS unaided, and do not require the driver. The 960 Kbyte format on 3.5" DD disks uses 12 sectors per track instead of 9. This format is written using the higher 300 Kpbs data rate intended for 5.25" HD drives which rotate at 360 rpm, instead of the normal 250 Kbps rate intended for 300 rpm 3.5" drives. Most BIOS versions automatically recognize the data rate on the disk regardless of physical disk type, but a few do not (see compatibility notes below). Also, while some BIOS versions correctly assume that this is an 80-track format, others incorrectly assume 40 tracks. If the BIOS recognizes the 300 Kbps data rate and assumes 80 tracks, the 960 Kb disk is directly readable by DOS unaided. Otherwise, the HC TSR driver is required to select 80-track mode and/or the correct data rate. Note that the use of 300 Kpbs data rate instead of 250 Kbps for the 960 Kb format pushes the DD media to a 20% higher density than normal, but it seems to be reliable (unlike trying to use the 500 Kbps HD data rate on DD media, which seldom works and is never reliable). The highest-capacity format for each media type (1.804 Mb, 1.476 Mb, 984 Mb and 820 Mb) uses 82 tracks instead of 80. Standard floppy drives do not limit the heads to stop at the 80th track - the heads are free to keep stepping until they hit the head stop (you will hear a clunking sound if this happens). Since the head movement range is designed a little larger than necessary in order to allow for drive variations, it is usually possible to fit in at least 82 tracks instead of the standard 80. DOS and the diskette BIOS don't care how many tracks there, as long as the number of tracks is specified correctly in the boot sector parameters of the disk. ADDITIONAL FUNCTIONS OF HCFORMAT -------------------------------- HCFORMAT also has several other functions, invoked by the following keyword commands: HCFORMAT TSR ON | OFF STATUS [/?] where: TSR loads the HC TSR driver OFF turns the HC TSR driver off (disables translation) ON turns the HC TSR driver back on (re-enables translation) STATUS displays the HC TSR driver status and BIOS drive status /? (or no parameter) displays command line syntax help Keywords can be abbreviated to the minimum unique length, and are not case-sensitive. TSR: The command HCFORMAT TSR installs the resident HC driver, which occupies a little over 2 Kbytes of memory. This command should normally be placed in the AUTOEXEC.BAT file to load the driver every time the system boots. If the HC TSR driver is already loaded, you will receive an error message. Once installed, the driver operates automatically with any of the high- capacity formats, and is fully transparent to standard disk formats. The HC TSR driver is compatible with all programs which access the floppy drives through the BIOS, including Windows 3.1, SMARTDRV, and Stacker. It is also compatible with most disk utilities, including Norton Utilities and PC Tools, with a few sensible exceptions (see Compatibility Notes below). The HC TSR driver can be loaded HIGH, but note that while it occupies only a little over 2 Kb when resident, HCFORMAT requires up to 20 Kb to load initially (or you can load the driver with MOUNT.EXE instead of HCFORMAT as described below, in which case it requires only about 3 Kb to load initially). If you receive the following non-fatal warning message when loading the HC TSR driver: Warning - Internal buffer moved up to 64K physical memory boundary HC TSR should be loaded at a different address to save memory it indicates that the driver's internal 1024-byte disk I/O buffer would have crossed a 64K physical memory boundary at the address where it was loaded, which is not allowed by the hardware DMA controller. The driver has therefore moved its buffer up to start at the boundary, wasting a few bytes of unusable memory. You can probably avoid this by simply re-arranging the order in which TSRs are loaded. The operation of the HC TSR driver will be unaffected in any case. ON/OFF: The HC TSR driver can be turned off (disabled) and back on (enabled) with these commands. This is only necessary if you wanted to view or access HC disks without the driver's translation, or if you suspect some interference with another disk utiltity (both unlikely). The HC TSR driver is On (enabled) when initially loaded. It cannot be unloaded from memory unless you use a separate TSR unloading utility, but it can be temporarily disabled by the OFF command. When the OFF command is issued, a flag is set in the driver which causes it to pass all disk I/O commands through without modification. Issuing the ON command clears this flag and causes the driver to resume normal processing. The On command also causes a drive reset and re-read in order to insure that any disks currently in the drives are correctly recognized. If you turn off the HC TSR driver, or remove it from memory with a TSR unloading utility, any 720+ Kb DD disks currently in the drives can continue to be accessed normally until they are removed. However, any attempt to access any 1.44+ Mb HC disks left in the drives will result in a "Sector not found" error. STATUS: The command HCFORMAT STATUS displays the current status of the HC TSR driver (Not installed/On/Off) and the driver version number. It also shows the BIOS-reported disk type and status of each of the floppy disks. The disk types which may be reported are: 5.25" 360 Kb DD 5.25" 1.2 Mb HD 5.25" 720+ Kb HC 80-track 5.25" 1.44+ Mb HC 1024-byte sectors 3.5" 720+ Kb DD 3.5" 960+ Kb HC 300 Kbps 3.5" 1.44 Mb HD 3.5" 1.76+ Mb HC 1024-byte sectors Disks with 1024-byte sectors which are in self-mountable format have the word "Mounted" appended to their type. Example: >HCFORMAT STATUS HC TSR V1.2 On A: 5.25" 1.2 Mb HD B: 3.5" 1.76+ Mb HC 1024-byte sectors Mounted Drives which have not yet been accessed, or do not exist as physical drives, or are not high-density floppy drives are shown as "n/a". Drives from which the disk has been removed continue to show their status as of the last disk access. The STATUS command does not cause HCFORMAT to re-access the disk. The STATUS command shows physical disk type reported by the BIOS and the HC TSR driver, not the disk capacity reported by DOS. Neither the BIOS nor the HC TSR driver distinguish between similar formats such as the 720 Kb, 800 Kb and 820 Kb formats, so these are simply shown as "720+ Kb". 3.5" disks in the 800/820 Kb format are not reported as HC type, since they do not require any translation by the HC TSR driver. SELF-MOUNTABLE FORMAT --------------------- A high-capacity disk normally cannot be read by DOS on a system without the HC TSR driver installed (with the exception of the 3.5" 800/820 Kb format, and sometimes the 960/984 Kb format, depending on the BIOS). This is obviously a problem if you ever need to read your disks on another system which may not have the driver installed. The solution is to place a loadable copy of the driver on the high-capacity disk itself, and install it on the destination system directly from the high-capacity disk in a "self-mounting" process. The /M switch causes HCFORMAT to place a loadable copy of the HC TSR driver called MOUNT.EXE on the disk when it is formatted. Running MOUNT.EXE from the floppy disk installs a copy of the HC TSR driver which is identical to that installed by the HCFORMAT TSR command. A disk with MOUNT.EXE on it in a loadable format is called Self-Mountable. In the case of 720-820 Kb 5.25" HC disks, or 960/984 Kb 3.5" HC disks, no special disk formatting required to make them self-mountable - the file MOUNT.EXE is simply copied to the disk as the first file, and the disk can be mounted by running MOUNT.EXE from the floppy disk. MOUNT.EXE must be the first physical file on the disk and must be small enough to fit entirely on cylinder 0. MOUNT.EXE lacks the formatting and command functions of HCFORMAT, and is therefore much smaller. MOUNT.EXE is marked as a hidden/read-only file on the disk, and therefore does not appear in a standard directory listing. The /+M switch can be used to make an existing 720-984 Kb disk self- mountable by placing MOUNT.EXE at the beginning of the disk, even if existing files already occupy that space. Any existing files occupying the beginning of the disk are safely moved to make room for MOUNT.EXE. An appropriate error message will be displayed if a file named MOUNT.EXE is already found on the disk, or if the disk is full and there is no room for MOUNT.EXE (there must be 2 Kb of space free). If you have a full 720-960 Kb disk which you want to make self-mountable, you must reformat it as the next higher capacity to make room for MOUNT.EXE. If you subsequently want to make the disk non-mountable, use the /-M switch of HCFORMAT. Alternatively, you can simply remove the read-only protection and un-hide MOUNT.EXE with the command: ATTRIB -R -H A:MOUNT.EXE and then delete the file MOUNT.EXE. Remember, if you try to access files on a 720-820 KB 5.25" high-capacity disk (or a 960 Kb 3.5" disk on some systems) without installing the HC TSR driver, the operation will fail with a disk error at the first attempt to read beyond cylinder 0. MOUNT.EXE is able to load successfully because it is small enough to fit entirely on cylinder 0. Self-mounting formats with 1024-byte sectors: Things are a little more complicated with the 1.44-1.804 Mb high-density HC formats. Since they use 1024-byte sectors, they cannot be read at all by DOS without the HC TSR driver installed. Therefore, some special formatting on the first track is required to make them self-mountable on another system. When used with high-capacity 1.44-1.804 Mb floppy disks, the /M switch of HCFORMAT reformats track 0 of the disk to have two separate areas in different formats. Part of the track is a standard DOS format with 512-byte sectors, and MOUNT.EXE is placed in this readable area. The other part of the track is a high-capacity format with 1024-byte sectors, where the standard high-capacity boot sector and FAT are placed. None of the disk capacity is lost by this formatting (however, DOS must be tricked a little by the HC TSR driver to get away with this!). When read by DOS without the HC TSR driver installed, the Mountable disk will initially appear to be a DOS disk of very small capacity (8 sectors total), labelled "HC DISK V1", with a single file called MOUNT.EXE occupying the entire disk. The directory listing contains a message with instructions to run MOUNT instead of file names: Volume in drive A is HC Disk V1 Directory of A:\ 1This is 0 2a high- 0 3capacty 0 4disk. 0 5Run 0 6MOUNT 0 7to 0 8access. 0 MOUNT EXE 2048 17-09-93 9 File(s) 0 bytes free When you run MOUNT from the floppy disk, it installs the HC TSR driver. The disk will then be automatically mounted and appear as a normal high- capacity 1.44-1.804 Mb disk, with no trace of MOUNT on it. This process is known as "mounting" the disk, and the disk is then reported as "Mounted" by the STATUS command. If the HC TSR driver is already installed, self-mountable disks are automatically mounted on the initial access, and there is no need to run MOUNT. There is no indication that such a disk is mounted unless you run HCFORMAT STATUS. You can use these disks in exactly the same way as non-mountable HC disks. Only the normal high-capacity disk will appear as long as the HC TSR driver is operating, even if the disk is removed and reloaded later. Any other self-mountable disks inserted will also be mounted automatically. If you remove or turn off the HC TSR driver, the mounted disk will again appear in its original form, showing MOUNT.EXE and the directory instructions as the only contents. No changes are written to the disk by mounting or unmounting it. The /+M switch of HCFORMAT can be used to make an existing 1.44-1.804 Mb HC disk self-mountable by reformatting track 0. Any existing disk contents are preserved. The conversion can be reversed by the /-M switch, restoring the normal non-mountable high-capacity format. Using /+M on a high-capacity disk which is already in self-mountable format, or /-M on a high-capacity disk which is not in self-mountable format, has no effect. FALLBACK PROCEDURES ------------------- If you ever need to read a non-self-mountable 720-984 Kb HC disk on a system without the HC TSR driver, and the driver is not available, there is a simple way to temporarily mount these disks using the DOS DEBUG utility or BASIC. You must change the BIOS media state byte at memory location 40:90 hex (for drive A:) or 40:91 hex (for drive B:) to select the correct drive mode (single-step/80-track and 300 Kbps data rate). This fix will last as long as the disk stays in the drive. With DEBUG: > DEBUG -e 40:90 57 (substitute 40:91 for drive B:) -q (quit DEBUG) With BASIC: DEFSEG &H40 OUT &H90 &H57 (substitute 91 for drive B:) You can write the three numbers "40:90 57" on the disk label if you want to remember them. Additional fallback for 960/984 Kb disks: If you get a "General failure" error trying to read a self-mountable 960/984 Kb disk on a machine without the HC TSR driver, the problem is that the BIOS is not automatically trying the 300 Kbps data rate. The above DEBUG/BASIC fallback procedure will fix it, but there is also another way to get DOS to load MOUNT from the disk: enter the machine's Setup mode, change the floppy drive type from 3.5" 1.44 Mb to 5.25" 1.2 Mb, and re-boot. The BIOS will then assume that the drive is a 5.25" 1.2 Mb drive, and will automatically try the 300 Kbps data rate. Don't forget to change the drive type back after loading MOUNT. COPYANY ------- The 1.44 Mbyte and 720 Kb formats on 5.25" disks appear to DOS to be exactly the same as for 3.5" disks, and allow disk copying back and forth. There is one problem: DOS DISKCOPY recognizes different physical drive types and will refuse to copy from a 3.5" drive to a 5.25" drive (although the opposite direction works, and DISKCOMP will work as long as the drives are specified in the correct order). The COPYANY utility is provided to avoid this problem with DISKCOPY. COPYANY will copy any floppy disk exactly to any other disk in a compatible format without worrying about the drive type. Compatible means that the number of tracks and the number of sectors per track of the destination disk must be equal to (or greater than) the source disk. Both source and destination disks must be pre-formatted, and the source and destination drives must be different. DOS DISKCOPY will handle copying in the same drive or between compatible drives, even for high-capacity formats as long as the HC TSR driver is installed. In addition, COPYANY will automatically handle disks in high-capacity format (1024-byte sector format or 80-track DD format) even without the HC TSR driver installed. This provides a disk copy capability in the event that the driver is not installed on the host system. Syntax: >COPYANY B: A: (order is source: dest:) COPYANY V1.0 (c) 1992 IMSL Software Copying B: to A: - Press Enter when ready to proceed ... Copying 1440 Kb Cyl c Hd h (counts while copying) Done > COPYANY will not reproduce a self-mountable copy of a 1.44 Mb disk. It will copy the high-capacity portion of the disk if the disk is mounted. The resulting copy can then be converted with HCFORMAT /+M if desired. COPYANY cannot copy the unmounted disk. PROBLEMS/COMPATIBILITY NOTES ---------------------------- Compatibility with DOS versions and different types of PCs: HCFORMAT has been extensively tested with PCDOS and MSDOS V3.3 through V6.0, on a variety of 286/386/486 machines including IBM, Compaq, Toshiba, AST, Zenith, clones with various AMI and Phoenix BIOS versions, and on systems with various combinations of floppy and hard disks. The utilities have been made compatible with the few quirks found, and should operate reliably on any machine. DOS problems: The HC TSR driver is dependent on one major assumption about the way that DOS operates: DOS always tests for a hardware disk change indication prior to accessing the disk, and reads the new disk parameters from the boot sector if a change is detected. The driver relies on this action to detect when a HC disk requiring translation is inserted. This is a very safe assumption, since DOS is designed to operate this way. However, there are a few cases where programs or DOS itself may violate this assumption. In particular, DOS may fail to re-read the type of disk from the boot sector after a disk change indication if the same disk is re-inserted. This will result in a disk read failure if you remove and re-insert a disk with 1024-byte sectors, since the disk change indication causes the HC TSR driver to stop translating the disk format until the new disk type is read. If this should happen, simply remove and re-insert the disk, and then do a DIR listing on it (always a good idea when inserting a new HC disk). An example of a program bypassing the disk type check after a disk change is probably the bug in PKZIP V2.04C reported below. Some older versions of DOS (like Zenith DOS V3.3+) fail to recheck the disk parameters between operations. This can cause strange effects (like reporting the wrong amount of free space on the disk) if you have issued a command which changes the disk parameters without physically switching disks (e.g. MOUNT, or HCFORMAT /Q). Issuing a CHKDSK command after such operations avoids problems with these older versions of DOS. BIOS variations: A minor BIOS quirk which you may notice is that the floppy disk controller on some machines returns an error code reported by DOS as "General failure" rather than the correct "Sector not found" when attempting to read a disk with 1024-byte sectors without the HC TSR driver installed. HCFORMAT therefore assumes that the BIOS might return almost any error code when initially accessing such a disk in order to work on all machines. Another variation between machines is whether or not the BIOS will handle 960/984 Kb disks without the HC TSR driver installed. The BIOS on most machines automatically tries all 3 possible data rates (500/300/250 Kbps) on each newly loaded disk to find the correct one, regardless of physical drive type. However, on some machines the BIOS does not do this (e.g. AMI and Phoenix 386 BIOS clones), and the disk is not readable without the driver to select the correct data rate. Even when the data rate is selected correctly, the BIOS does not know whether there should be 40 or 80 tracks on this type of disk - some machines correctly assume 80 tracks (e.g. Zenith, AST), while others incorrectly assume 40 tracks (e.g. Compaq, Phoenix 286 BIOS clones). If the BIOS assumes 80 tracks, DOS can read the disk without translation. If not, then the HC TSR driver is required to set 80-track mode, and the disk must be made self-mountable if you may want to use it on another such system which does not have the driver installed. If the BIOS of the target machine does not automatically recognize the 300 Kbps data rate on a 3.5" 960/984 Kb disk, the disk cannot self-mount on that machine (while it might be possible to create a unique self-mounting 960/984 Kb format for such machines, it's really too much trouble since they are the exception). The fallback procedures described above for changing the drive media state byte or drive type will work around the problem if you are ever stuck needing to read the disk on such a machine without the HC TSR driver. Most BIOS and DOS versions need the HC TSR driver to select 80-track mode for 720-820 Kb 5.25" disks, but there are a few BIOS versions around which do so on their own, whether by accident or because they are smarter. On these machines you may find that the 720-820 Kb 5.25" disks are readable without the driver. Disk Repair Utilities (e.g. Norton Disk Doctor): Most disk utilities accept the high capacity formats without problems. However, disk repair utilities like Norton Disk Doctor should not be allowed to attempt FAT repairs on high capacity diskettes. Since they do not recognize the specific format, they may assume that the FAT is damaged and attempt to "repair" it by converting it to one of the standard DOS formats. (For that matter, I have not found these disk repair utilities to be intelligent enough to turn loose on any disk.) The best defence against disk problems is to run a FAT backup utiltity like MIRROR or IMAGE on the disk - you can then recover the files if the disk is damaged by quick-formatting it and running the corresponding FAT recovery utiltiy. PKZIP V2.04C/V2.04E PKZIP version 2.04C had a problem with non-standard disks when using its new option to span multiple disks with a single ZIP file. The problem appears as a "Sector not found" error when loading the 3rd or 4th disk of a high-capacity backup set. Apparently PKZIP bypasses DOS and assumes that new disks are the same format as the previous one, instead of following the normal practice of reading the boot sector to determine the disk format. The maintenance release 2.04E of PKZIP (which quickly followed the inital 2.04C release of version 2) fixed this problem. Using DOS disks in an Apple MacIntosh: Newer Macs can read and write the DOS 1.44 Mb HD floppy disk format using utilities such as Apple File Exchange or DOS Mounter. The HC formats are NOT compatible with these utilities, and cannot be used to exchange data with a Mac. TIPS ---- Running HCFORMAT under Windows: Make sure that you load the HC TSR driver BEFORE starting Windows; otherwise it will be loaded only for a single temporary DOS session. Making multi-disk sets self-mounting: Only the first disk of a multi-disk set need be made self-mounting - all subsequent disks will be automatically mounted once the HC TSR driver is installed from the first disk. Maximum number of tracks: Many drives will successfully read and format 83 or 84 tracks, but the lowest common denominator appears to be 82 (the HCFORMAT default). Experiment if you like, but best to stick to 82 maximum for compatibility between drives. Compatibility with untested machines: If you are trying an HCFORMAT disk on a new machine or a different version of DOS, it is a good idea to check out the disk with CHKDSK and DIR after inserting it, MOUNTing it, reformatting it, or quick-formatting it. As noted above under Compatibility Notes, there are some quirks to beware of with older versions of DOS. RELEASE HISTORY --------------- V0.9 - Beta test V1.0 - Initial release - BIOS/FDC variations between different machines accomodated V1.1 - HCMOUNT combined into MOUNT, separate UNMOUNT utility added - HCFORMAT aborts immediately if disk is write-protected - A few other improved error messages V1.2 - 960 Kb format added, other disk formats unchanged from previous versions (note: V1.0 or V1.1 of the HC TSR driver will correctly handle 960 Kb disks) - HCTSR, MOUNT, and UNMOUNT combined into HCFORMAT to make a single program with multiple functions; only COPYANY is still separate - The HC TSR driver now incorporates disk mounting (formerly found in MOUNT.EXE only); this makes the driver slightly larger, but makes it easier to use self-mountable disks transparently (note: MOUNT.EXE V1.2 is not identical to earlier versions of MOUNT.EXE which may be found on existing self-mountable disks, but is compatible) - TSR On/Off commands added to HCFORMAT to replace the corresponding functions of MOUNT/UNMOUNT; Off command disables the TSR entirely (rather than just for self-mountable disks), allowing some internal simplifications - Status display command has been added to HCFORMAT to check status of the TSR and drive format translation (note: the STATUS command shows V1.0 or V1.1 of the HC TSR driver as "V1.0", and cannot display the drive format translation with this version of the TSR) - HCFORMAT can now format new self-mountable disks in one step, and can make existing 720/800/960 Kb disks self-mountable without removing the existing contents (note slight change in /M switch syntax) - Floppy drives now reset when enabling the HC TSR driver V1.3 - 82-track formats added (1.804/1.476 Mb and 984/820 Kb) - /T:tt switch to adjust number of tracks - simplified formatting options added: /L /3 - DD formats now use single-sector cluster size (except 720 Kb format remains with 2-sector cluster size for 3.5"/5.25" compatibility) - root directory size is reduced on 800/820 Kb disks to allow space on cylinder 0 for MOUNT.EXE in self-mounting format