Path: utzoo!attcan!uunet!lll-winken!ames!mailrus!cwjcc!tut.cis.ohio-state.edu!ucbvax!WSMR-SIMTEL20.ARMY.MIL!w8sdz From: w8sdz@WSMR-SIMTEL20.ARMY.MIL (Keith Petersen) Newsgroups: comp.sys.ibm.pc Subject: DRIVPARM config.sys variable - how do I access it? Message-ID: Date: 25 Feb 89 19:35:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 136 kluge%lan.informatik.tu-muenchen.dbp.de@relay.cs.net writes: In DOS 3.30 Microsoft put in a new config.sys variable named DRIVPARM. With this variable, it is possible to change the default configuration of the built-in device drivers for floppy disk I/O. DRIVPARM does the same thing DEVICE=DRIVER.SYS does, except that it does not install a new driver but changes the configuration tables of the drivers built-in. DRIVPARM also uses the same syntax that DRIVER.SYS uses. This variable was embedded in all OEM versions of MS-DOS 3.30 and also in IBM's PC-DOS 3.30 (However, IBM did not mention the command in its documentary). A Microsoft representative ensured me this, and it can be proved by using DEBUG: debug ibmbio.com and s 100 ffff 'DRIVPARM' will reveal its presence in the parse table. But due to a bug in Microsoft's DOS 3.30 this variable could not be accessed by the user. Microsoft had already delivered all its OEMs before the bug was detected. Microsoft soon released a patch that would cure this bug. This patch was sent to all Microsoft's OEMs, *including* IBM, as a Microsoft representative told me. Other manufacturers did correct the bug (Hewlett-Packard did it) and documented the new feature. However, IBM seems not to have done it. The new feature isn't documented anywhere (nor does any IBM representative seem to know of it) and IBM sells the version with the bug. Here is the fix for PCDOS 3.3 from file PD1:DRIVPARM.ARC which is available from Simtel20. I am NOT the author. --cut-here-- Patching DOS 3.3 To Use DRIVPARM: Drivparm can be used with IBM 3.3 and other 3.3 DOS'S! The following text explains why someone would want to use this and all of the pains I went thru to get it to work: First of all I will explain why someone would want to do this. The only replacement for DRIVPARM is DRIVER.SYS which is external and has to be loaded. When DRIVER.SYS takes hold it assigns a device driver for whatever you are using for the next logical drive available. Example: A well loaded AT class machine with Drive A: being a 1.2 meg floppy, Drive B: is a 720k 3 & 1/2" drive, A hard disk which is split into 2 logical drives C: & D:, and Expanded memory of around a meg for a RAM disk (E:). DRIVER.SYS defined as DEVICE=DRIVER.SYS /D:1 /F:2 would place drive B: as drive E: or F: depending on the ram disk. ASSIGN.COM would take care of the drive calls but DRIVER.SYS and ASSIGN.COM eat memory! Thats why DRIVPARM is better. It sets up a device definition for the drive you are installing and does it with less memory used because it is a internal CONFIG.SYS command that is not loaded. This patch I will descibe to you will make 1 change to the syntax of DRIVPARM. Here is old verses new after the patch: OLD: DRIVPARM=/D:n /F:n etc... NEW: DRIVPARM=/DD:n /F:n etc... (Note the extra 'D') 3.3 DOS was setup not to use DRIVPARM because most Computer Co's were upgrading there BIOS's in AT class machines to set up new devices in there CMOS Setup Memory. Anything that the SETUP routine in CMOS could not handle DRIVER.SYS could be loaded and used instead. After careful examination of the system files of IBM 3.3 DOS I found that DRIVPARM was still embedded in the code of the IBMBIO.COM hidden file that DOS uses to boot. Stranger yet I discovered that DOS did read a DRIVPARM=/ in a CONFIG.SYS file but would not read further than the '/'. I found a way to hook it back up to read the DRIVPARM command line without the CONFIG.SYS ERROR being displayed at bootup. Well Lets Patch 3.3 IBMBIO.COM: First and MOST IMPORTANT make a work disk by formatting a floppy with the /s command and also copy DEBUG.COM to it. Make sure your prompt is A>. Use your favorite utility to change IBMBIO.COM's attributes so we can read-write to it. Type DEBUG IBMBIO.COM and press ENTER. At the - prompt type R and press ENTER A table will be displayed. Note what CX=nnnn and write this 4 Hex digit down somewhere. Now we look for the code to change. Type the following noting that nnnn is CX= you wrote down: S 100 L nnnn 3C 2F 74 03 Press ENTER and you should get a single line location for the list. If you get more than 1 line of location double check what you typed after S 100 L. You should see something similar as this: ????:nnnn The nnnn is what we looked for. So now type the following using nnnn: U nnnn You should get a assembler type listing of code starting at nnnn. Now look where the hexidecimal code 74 falls near the top of this list. We need to change this from 74 to EB. My IBM DOS 3.3 had this 74 located at 4E9C. Other 3.3 DOS's will be differ from this. Lets refer to the location of 74 as xxxx. Now to change it to EB type the following with xxxx being the location of YOUR code 74: E xxxx It should display 74 and a space and wait for your input. Type EB and press ENTER. Now press W at the - prompt and it will save our patch to disk. Then type Q to quit debug. Okay, you have made it this far. Now make a CONFIG.SYS file with a text editor of your choice or COPY CON CONFIG.SYS is just as fast. Use the syntax of DRIVPARM=/DD:d /F:n. DO NOT FORGET the EXTRA 'D' in the line you define. DRIVPARM follows the same syntax as DRIVER.SYS in your DOS manual with the exception that DEVICE= is not required in front of it and we now have to put 2 'D's in there with this patch. Now save your CONFIG.SYS and try it out. Make sure your WORK DISK is in drive A: and reset the computer. If there was a mistake made one of 2 things will happen. It wont boot period or you will get a ERROR IN CONFIG.SYS FILE message. If no mistakes were made you should get a date and time prompt. Then test it with the floppy for a while and make sure that it works with your device defined in DRIVPARM. Then if it is okay you can format your hard disk from this disk and run from there. From K. MACY --cut-here-- --Keith Petersen Maintainer of the CP/M & MSDOS archives at wsmr-simtel20.army.mil [26.0.0.74] DDN: w8sdz@wsmr-simtel20.army.mil Uucp: {ames,decwrl,harvard,rutgers,ucbvax,uunet}!wsmr-simtel20.army.mil!w8sdz