Date: Thu, 26 Jun 1997 12:12:35 +0100 From: Matthias Paul Subject: Re: nwcdex To: opendos AT delorie DOT com Reply-to: Matthias DOT Paul AT post DOT rwth-aachen DOT de Message-id: Organization: Rechenzentrum RWTH Aachen Content-transfer-encoding: 7BIT Precedence: bulk > Opps. Marek, this reply was originally intended for the mailing > list as as whole... ;-) Sorry. A slightly modified version, > now for you all... On Wed, 25 Jun 1997, Marek Habersack replied to Mark Aitchison: > > Is there some reason I cannot use INSTALL=C:\DOS\NWCDEX.EXE in > > config.sys? It complains about drive letters. Does LASTDRIVE= not take > > effect until the end of config.sys processing in OpenDOS? > I have noticed that too: it is impossible to use subst from config.sys as > well. [...] Yes, but there's a trick (see below)... > It seems like the CDS allocation is being left till config.sys is > processed in it's entirety and that INSTALL and DEVICE statements are > processed before the other, configuring, ones - just as you noticed. Not exactly, all CONFIG.SYS directives are processed in the order as they are parsed by the CONFIG.SYS interpreter, including boot-menus and sub-routines. There's one exeption of the rule: The (undocumented) SWITCHES= directive is *also* processed before the normal CONFIG.SYS processing starts, resulting in some strange behaviour with SWITCHES=/F (tough I have not yet found this pre- scanning in the sources, but that's how it works as far as I see it... See NWDOSTIP.TXT for details). That's why it should be given in the very first line of CONFIG.SYS. However, some directives are only recorded and will take effect after CONFIG.SYS processing is finished and IBMBIO.COM is about to start the command interpreter via SHELL= (normally COMMAND.COM). > It is apparent that OpenDOS use temporary CDS entries during the > boot process > leaving the "final" allocation to the pre-autoexec phase. AFAIR, config.sys is > processed in the IBMBIOS code and allocation of internal DOS structures is > performed in IBMDOS which code copies values from temporary structures created > during the BIOS boot phase. Since Novell DOS the pre-CDS (that is, CDS during CONFIG.SYS) is an internal array containing 26 entries located at the upper end of the conventional memory, although the lastdrive entries in SYSVARS only report a lower value. LASTDRIVE= is one of those directives taking effect only *after* CONFIG.SYS, and the CDS array will be moved to it's target position and will be reduced downto the LASTDRIVE= (or other minimum) or will be expanded up to 32 entries. (Detailed info on DR DOS 3.41, 5.0, 6.0, and Novell DOS/OpenDOS pre-CDS and CDS, but also on MS-DOS/PC-DOS and Windows95 pre-CDS should become available with one of the next issues of Ralf Brown's interrupt lists. It's been in his queue for months now... Unfortunately, all these layouts are rather different, while Win95 has adapted most of the advanced (internal) features of Novell DOS in this area...) Because NWCDEX does not come with a .SYS block decive header, there is no (easy) way to get a free drive slot during CONFIG.SYS. On my web-page you can find a FreeWare tool named INSTCDEX.ZIP, allowing to free already assigned drive slots for NWCDEX and thus allows NWCDEX to load in CONFIG.SYS. However, it will be unlinked after CONFIG.SYS, since the CDS-array is moved. INSTCDEX also provides means to save the status of the CDS-entry in CONFIG.SYS and relinking NWCDEX to the new CDS in AUTOEXEC.BAT. (That's also why SUBST does not work permanently in CONFIG.SYS - see my SETENV.ZIP package for details) The current version of INSTCDEX comes with a (short) English documentation and help screen. For usage with Novell DOS or OpenDOS I recommend using INSTCDEX's advanced /LASTDRIVE option, especially designed for these DOS versions. I'm planning to build INSTCDEX functionality directly into the COD kernel some day... Bye, Matthias -------------------------------------------------------------------- Snail mail: Matthias Paul, Ubierstrasse 28, D-50321 Bruehl, Germany New eMail : Web : URL: http://www.rhrz.uni-bonn.de/~uzs180/mpdokeng.html --------------------------------------------------------------------