delorie.com/opendos/archives/browse.cgi   search  
Mail Archives: opendos/1997/06/26/06:13:28

Date: Thu, 26 Jun 1997 12:12:35 +0100
From: Matthias Paul <PAUL-MA AT reze-1 DOT rz DOT rwth-aachen DOT de>
Subject: Re: nwcdex
To: opendos AT delorie DOT com
Reply-to: Matthias DOT Paul AT post DOT rwth-aachen DOT de
Message-id: <EBC33F69BC@reze-1.rz.rwth-aachen.de>
Organization: Rechenzentrum RWTH Aachen

> 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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019