SETCFG Version 1.0
-----------------------------
Set Configuration.  An MS-DOS 6.0+ Multi-Configuration Utility.
Sets a target DOS CONFIG within a menued Multi-Configuration config.sys file.

What is SETCFG.EXE?
-------------------
Are you a user of DOS configuration menus and multi-configurations?
Do you find that you tend to use one configuration for an extended period
and then switch to a different configuration for a while?
Have you ever wished MS-DOS would remember the last configuration you used and
bring it up automatically for you next time?
If you answer yes to these, then SETCFG is for you.

SETCFG analyzes a multi-configuration config.sys file menu and sets up
the MENUDEFAULT statements for each menu block to automatically select
the target MENUITEM.
If a MENU block does not contain a MENUDEFAULT statement, SETCFG will
install one that provides a path toward the target MENUITEM.
If a MENUDEFAULT statement does not contain a time-out parameter,
SETCFG will supply a value of 5 seconds.
If a MENUDEFAULT statement already has a time-out value,
SETCFG will preserve it, but modify the default MENUITEM to progress
toward the desired target.

FILES
-----
32RTM.EXE		Borland 32Bit DOS Extender
RTM.EXE			Borland 16Bit DOS Extender
DPMI16BI.OVL		Borland 16Bit DPMI Server
DPMI32VM.OVL		Borland 32Bit DPMI Server
SETCFG.EXE		DOS 16Bit DPMI SETCFG program
			Requires RTM.EXE and DPMI16BI.OVL if no other 16bit DPMI available.
SETCFG32.EXE		DOS 32Bit DPMI SETCFG program
			Requires 32RTM.EXE and DPMI32VM.OVL if no other 32bit DPMI available.
SETCFG.TXT		The file you are reading right now

Why two SETCFG programs?
----------------------
SETCFG can use alot of memory when analyzing very large config.sys files.
A config.sys file of a couple hundred lines will cause SETCFG to use
more memory than is generally available in DOS REAL mode.
Thus, SETCFG uses DPMI memory services to ensure it can get enough memory
to analyze any config.sys file.
Granted, most config.sys files are well below 200 lines in length, but
I have had to put together some bigger than that a couple times.
SETCFG will handle those just fine using DPMI and everything smaller.

I have provided a 16Bit DPMI SETCFG (SETCFG.EXE) and a 32Bit SETCFG
(SETCFG32.EXE).

SETCFG32.EXE should work in almost any situation these days.
It should run on any 80386 or better processor in a 16Bit Windows
DOS box, a Windows NT Console (though I don't know why you'd need
SETCFG, but then I've never used NT so maybe you can), a Windows 95 DOS
box, an OS/2 DOS box, and (oh yeah) it will even work in plain
old DOS.
However, for those machines where it will not run, use SETCFG.EXE.
SETCFG.EXE should work on everything that SETCFG32.EXE works on
plus it should work on 80286 processors.
SETCFG32.EXE will execute faster than SETCFG.EXE, but either does the
job quickly.

SYSTEM REQUIREMENTS
-------------------
80286		or better Processor (SETCFG32.EXE requires an 80386 or better)
MSDOS 6.0	or better using multi-configuration config.sys menus.
1MB Memory	(I think it will work in 1MB - I'm not going to bother
		trying it though)
DPMI Server	Many ways of getting this.  If none is active, SETCFG will use
		the appropriate one bundled in this distribution.

Licensing
---------
SETCFG is shareware.  It is not freeware.
It is fully functional and is not nagware of any kind.
You may install and evaluate SETCFG for 30 days.
After the 30 day evaluation period, if you decide that you
like SETCFG and find it useful, send $8 U.S. currency to:

	Cristal Heit
	806 Rural St.
	Aurora, IL.  60505

You will then be entitled to use SETCFG on any PC you use.
And you can grab any updates that you should find, if ever
any updates are needed, and use them with a clear conscience.

You may not under any circumstances disassemble, hack, run
any kind of debugger on, or otherwise reverse engineer my program
on any kind of media (be it volatile or non).
It would probably be much easier to obtain the source.
So if you want the source, contact me at the above address and
we can discuss its licensing.
Same goes for site licenses.

You may (re)distribute this package partially or completely as long
as this SETCFG.TXT file accompanies all distributions.
I.e., you don't have to drag around the DOS Extender, etc., if you
already have it.

INSTALLING SETCFG
-----------------
Either create a new directory for SETCFG on your hard disk
and add the directory to your PATH during execution of SETCFG:
	a:		; Or whatever drive the distribution is located
	md c:\cfg	; Create the new directory
	copy *.* c:\cfg	; Copy files to new directory

Or merely add the files to an existing directory within your PATH.

USING SETCFG
------------
SETCFG is designed to be called from your autoexec.bat file.
Merely add the following lines or a their functional equivalents
and your PC will remember your current config and set it up to
execute it the next time you boot.

	if "%config%" == "" goto to nocfg
	SET OPATH=%PATH%
	SET PATH=c:\cfg
	SETCFG32 %config%
	SET PATH=%OPATH%
	SET OPATH=
	:nocfg

SYNOPSIS
--------
SETCFG will take up to 3 arguments as follows:
	SETCFG[32] BLOCKNAME [FILENAME [BACKUPNAME]]

	Where BLOCKNAME is the name of the target MENUITEM.
	FILENAME is a multi-configuration config.sys type file
	BACKUPNAME is the desired backup filename for the
	original FILENAME.
	By default, FILENAME is c:\config.sys and BACKUPNAME
	is the FILENAME's base 8 characters with a .HEI extension.
	There is no default BLOCKNAME, however, the autoexec.bat
	setup above provides the current %CONFIG% as the default.
	This allows you to call SETCFG at any time to change your
	config for the next time you boot.

OPERATION
---------
Upon calling SETCFG, a built-in stub determines whether or not
RTM is already running.  If it is not, it executes RTM.
RTM then determines whether or not a DPMI server is available.
If one is not, then the DPMI overlay is applied.
Then the real SETCFG program is executed.
Upon termination of SETCFG, RTM unloads the DPMI server overlay
if it loaded it and terminates.
It all actually happens rather quickly.
SETCFG doesn't do anything fancy with DPMI, it just uses alot
of memory for its data structures.
And by using a DPMI DOS Extender, it should be able to handle
any correct MS-DOS 6.0 compatible multi-configuration Config.sys
file.
If it should detect an error within a file, it will not
modify the file and should produce an appropriate error message.

About SETCFG
------------
SETCFG is written in C++ and was compiled using Borland C++ 4.5
and Borland DOS Power Pack 1.0.
SETCFG uses alot of memory because it loads the entire file and breaks
it down several ways while making its analysis.
Don't get the wrong idea here, SETCFG does not tie up any of your system's
memory.  It is not a TSR. It executes, modifies the config.sys, then
terminates and releases all of the memory that it has used back to DOS.

The Future
----------
I have in mind a couple more multi-configuration utilities to write in
the future.
Alot of the code written for SETCFG was written for reuse with these
in mind, thus when I find the time I will add a few more nifties to
the distribution package.  But the price might go up.
If you buy SETCFG now, you'll be licensed for all future shareware distributions.
These nifties will include both DOS and Windows programs, as practical,
for ultimately being able to completely managing those multiple configuration
config.sys files.

Technical Support
-----------------
Please E-mail your problem, question, or suggestion to:

	nanomech@concentric.com

Or Snail-mail to:

	Cristal Heit
	806 Rural St.
	Aurora, IL. 60505

Please include an on-line method for me to respond to your issue,
preferably E-mail.
