[comp.sys.ibm.pc] Conditional CONFIG.SYS?? Any way?

Ralf.Brown@B.GP.CS.CMU.EDU (02/11/88)

In article <3246@killer.UUCP>, jonm@killer.UUCP (Jon Meinecke) writes:
}I haven't tested this, but since MS-DOS maintains device drivers in a 
}linked list (chain), it might be possible to patch the list to avoid
}a particular device driver.  ANSI.SYS replaces the "CON" device driver;
}however, the original "CON" device is still in the device list, appearing
}after the ANSI.SYS device driver.
That is because DOS does a sequential search of the list, stopping at the
first driver whose name matches.  However, there are devices that have 
are found without scanning the list, see below.
}
}NOTE:  If MS-DOS has other knowledge about device drivers other than
}is maintained in the linked list of device headers, then simply patching
}the list could cause "who knows what" kind of problems!
For the CON: and CLOCK$ devices, DOS maintains additional pointers.  At boot 
time, these pointers are set to the first device in the chain with the proper 
name (attribute bits in the case of CON:).  While it is possible to find and
modify the additional pointers, this is undocumented and version-dependent.
Also, the CON driver takes over interrupt 29h, so that vector would have to be
adjusted as well.

I don't think any other devices have additional pointers to them, so for them 
there should be no problem patching in or patching out the driver (but of 
course, all this is undocumented and may disappear or change at any time).

}Disclaimer: I have no knowledge of Microsoft proprietary information
}regarding device drivers or MS-DOS "internals".
Neither do I.

--
{harvard,uunet,ucbvax}!b.gp.cs.cmu.edu!ralf -=-=- AT&T: (412)268-3053 (school)
ARPA: RALF@B.GP.CS.CMU.EDU |"Tolerance means excusing the mistakes others make.
FIDO: Ralf Brown at 129/31 | Tact means not noticing them." --Arthur Schnitzler
BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA -=-=- DISCLAIMER? I claimed something?