DRIVPARM and DRIVER.SYS (Was: IBM PC-DOS 2.10 explorations
Fred Cisin
cisin at xenosoft.com
Sun Oct 4 12:54:41 CDT 2020
When 5150, 5160, and 5170 first came out, 3.5" drives did not yet exist.
OEMs that were early adopters of them used MS-DOS 2.11. The disk format
was not always the same as what IBM used starting with DOS 3.20.
For example, GAVILAN MS-DOS 2.11 supported 720K 3.5", but with a different
format until version 2.11K (by which time the company had collapsed)
When IBM introduced their 720K 3.5" drives, along with PC-DOS 3.20, they
also started selling add-on 3.5" drives! First an external with DC37
connector, and then later externals for PS/2. Those could be connected to
the external floppy port of 5150 and 5160.
BUT, DOS didn't know from 720K, and would do a 360K image on the drive.
Until TOLD otherwise.
DRIVER.SYS was an installable device driver, starting with DOS 3.20, for
using unexpected drive types (such as not included in the AT CMOS), since
5150, 5160, 5170 all had hardware that could handle 720K 3.5".
And 5170 hardware could handle 1.4M before that was included in early
BIOS CMOS.
DEVICE = DRIVER.SYS /D:1 /F:2 told DOS to create a new additional
drive letter for 720K in the physical second FLOPPY drive.
/D: specified drive (0 - 255, although stock controller only did 0 - 3)
/F: specified drive type
0 - 160 K/180 K or 320 K/360 K
1 - 1.2 megabyte
2 - 720 K (3.5" disk or 80 cylinder low density 5.25 (NOT used in USA))
3 - SD 8" (not supported on all)
4 - DD 8" (not supported on all)
5 - Hard disk
6 - Tape
7 - 1.44 MB (3.5" disk)
8 - Read/write optical disk
9 - 2.88 MB (3.5" disk)
drive type could also be specified by /T:, /S:, /H: for cylinders, sectors
per track, and sides; BUT it would NOT let you create as needed; it only
used that data to look for a match in the existing list. For example, if
you told the 5170 that the 8" drive was a 1.2M (not all recognized type 3
and 4), could you tell it 77 tracks V 80? (Similar situation in FORMAT)
And some later systems permitted /F:720, etc., since "who can remember
drive type NUMBER?"
On SOME systems, you could substitute
DRIVPARM = /D:1 /F:2 for similar effect.
Same switches as DRIVER.SYS.
EXCEPT, DRIVPARM would alter the parameters for existing drive letter, NOT
create a new drive letter. See also, LASTDRIVE
(With 4 floppies, CD-ROM(s), HDD(s), parallel port drive(s), Floptical(s)
on SCSI, RAMDISK(s), etc., didn't want to waste drive letters)
DRIVPARM was not documented in PC-DOS
I still don't understand:
On a 5170, with IBM BIOS ROMs using MS-DOS, DRIVPARM would produce an
"UNRECOGNIZED CONFIG.SYS COMMAND" message.
On a 5170, with IBM BIOS ROMs using PC-DOS, DRIVPARM would produce an
"UNRECOGNIZED CONFIG.SYS COMMAND" message.
On a 5170, with NON-IBM BIOS ROMs using MS-DOS, DRIVPARM would work
correctly.
On a 5170, with NON-IBM BIOS ROMs using PC-DOS, DRIVPARM (UNDOCUMENTED)
would work correctly.
Notice that with the NON-IBM BIOS, it would work with MS-DOS OR PC-DOS.
"Lack of existence in PC-DOS" was NOT an issue.
With the IBM BIOS ROMs, it would not work, disunirregardless of MS-DOS V
PC-DOS.
Therefore, it seems that it was present in BOTH versions of DOS (albeit
undocumented in PC-DOS), but had a strange incompatability with the IBM
BIOS ROMs. And, especially strange that the error message seemed to
clearly be an OS problem.
All of the software changes for 720K 3.5" would also work for 5.25" low
density 80 track per side 720K drives. (What had the comical "QUAD
DENSITY" name in many CP/M systems) Drives such as Tandon TM100-4, TEAC
55F, Shugart/Panasonic/Matsushita 465.
--
Grumpy Ol' Fred cisin at xenosoft.com
More information about the cctech
mailing list