Mail Archives: opendos/1997/06/26/06:13:28
> 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 : <Matthias DOT Paul AT post DOT rwth-aachen DOT de>
Web : URL: http://www.rhrz.uni-bonn.de/~uzs180/mpdokeng.html
--------------------------------------------------------------------
- Raw text -