home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR2
/
4DOS5A.ZIP
/
4DOS.DOC
< prev
next >
Wrap
Text File
|
1993-11-23
|
220KB
|
4,378 lines
44
44
44 DDDDDDD OOOOO SSSSSS
44 DDDDDDDD OOOOOOO SSSSSSSS
44 44 DD DD OO OO SS
44 44 DD DD OO OO SS
44 44 DD DD OO OO SSSSSS
444444444 DD DD OO OO SSSSSS
44444444 DD DD OO OO SS
44 DD DD OO OO SS
44 DDDDDDDD OOOOOOO SSSSSSSS
44 DDDDDDD OOOOO SSSSSS
Version 5.0
Introduction and Installation Guide
Developed By
Rex Conn and Tom Rawson
Documentation By
Hardin Brothers, Tom Rawson, and Rex Conn
Published By
JP Software Inc.
P.O. Box 1470
East Arlington, MA 02174
U.S.A.
(617) 646-3975
fax (617) 646-0904
ACKNOWLEDGMENTS
We couldn't produce a product like 4DOS without the dedication
and quality work of many people. Our thanks to:
JP Software Staff: Mike Bessy, Helen Coyne, Ellen Stone,
Marcella Turner, Misty White.
Online Support: Brian Miller and Tess Heder of Channel 1
BBS; Don Watkins of CompuServe's IBMNET.
Help System: Scott McGrath and Ross Neilson Wentworth.
Beta Test Support: David Moskowitz, Guy Scharf, and
Martin Schiff, of CompuServe's CONSULT forum.
Beta Testers: We can't list all of our beta testers
here! A special thanks to all of you who helped make
4DOS elegant, reliable, and friendly.
The following tools are used in creating and maintaining 4DOS:
Compilers: Microsoft C, Microsoft Macro Assembler,
Borland Turbo Pascal
Libraries: Spontaneous Assembly (Base Two
Development), Turbo Professional (Turbo
Power Software)
Editors: Edix (Emerging Technology), Brief
(Solution Systems)
Debuggers: Periscope (The Periscope Company), Soft-
ICE (Nu-Mega Technologies)
Version Control:PVCS (Sage Software)
Documentation: Microsoft Word for Windows with Adobe
Type Manager
Program and Documentation Copyright c 1988 - 1993, JP Software
Inc., All Rights Reserved. 4DOS is a registered trademark and
4OS2 and JP Software are trademarks of JP Software Inc. Other
product and company names are trademarks of their respective
owners.
11-93
CONTENTS
-------------------------------------------------------------------
CONTENTS
Introduction...............................................1
How to Use This Manual.................................2
Customer Service and Technical Support.................3
Chapter 1 / Installation...................................4
Preparing for Installation Under DOS...................4
Preparing for Installation Under OS/2..................5
Automated Installation.................................6
Manual Installation....................................7
Uninstalling 4DOS......................................8
Chapter 2 / Configuration.................................10
Configuration Files...................................10
Setting Up CONFIG.SYS.................................11
4DOS and Multiple-Configuration Utilities.........14
4DOS and DOS 2....................................14
Startup Options for Secondary Shells..................15
Using AUTOEXEC.BAT, 4START, and 4EXIT.................16
COMSPEC and the COMSPEC Path..........................17
4DOS Swapping Methods.................................18
4DOS Help.............................................19
Configuring the Help System.......................21
Chapter 3 / 4DOS and Your Hardware and Software...........23
The CPU...............................................23
Memory................................................24
Upper Memory Blocks (UMBs)........................27
Video.................................................29
Hard Drives and Floppy Disks..........................31
4DOS and DOS..........................................32
Menus and SET Commands in CONFIG.SYS..............32
Novell DOS / DR DOS...............................33
Using 4DOS with Task Switchers and Multitaskers.......34
Creating a 4DOS Window............................35
Parameters for 4DOS Windows.......................35
Multitasking and KEYSTACK.........................37
Multitasking and Disk Swapping....................37
4DOS and Microsoft Windows........................37
Using 4DOS on a Network...............................39
4DOS and Novell Netware...........................40
Chapter 4 / Using 4DOS Under OS/2.........................42
OS/2 Version 1.x......................................43
OS/2 Version 2.x......................................43
Settings for DOS Sessions.........................44
Configuring DOS Sessions for 4DOS.................45
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / i
CONTENTS
-------------------------------------------------------------------
4DOS.INI..........................................47
AUTOEXEC.BAT, 4START, and 4EXIT...................48
"Temporary" VDMs......................................48
Configuring 4DOS for Dual Boot and Boot Manager.......49
CONFIG.SYS........................................50
AUTOEXEC.BAT......................................50
4DOS.INI, 4START, and 4EXIT.......................51
Appendix A / Solving Software Compatibility Problems......53
Path Length...........................................54
Environment Size......................................55
Testing for Interactions..............................55
Memory Allocation Conflicts...........................57
Memory Allocation and Microsoft Windows...........58
Advanced Configuration Options........................59
Appendix B / Technical Information........................61
Detecting 4DOS........................................61
Placing Keystrokes Into the Keystack..................62
Writing Installable Commands..........................63
Using DESCRIPT.ION....................................64
Interrupt 2E..........................................65
Index.....................................................68
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / ii
INTRODUCTION
-------------------------------------------------------------------
INTRODUCTION
Welcome, and thanks for purchasing 4DOS!
We started developing 4DOS when we realized that our computers
could be a lot more powerful and a lot more helpful than they were.
Whether you are a computer novice or an experienced power user, we
think that 4DOS will help you get the most out of your IBM PC or
compatible computer.
Technically, 4DOS is a command interpreter or "DOS Shell." That
means that it reacts to the commands you type at the C:\> prompt.
We've designed 4DOS so that you don't have to change your computing
habits or unlearn anything to use it. If you know how to display a
directory, copy a file, or start an application program, you
already know how to use 4DOS. 4DOS understands all of the commands
you know and adds to them. Its purpose is to make DOS friendlier,
easier to use, and much more powerful and versatile, without
requiring you to use or learn a new program, a new set of commands,
or a new style of work.
You can use 4DOS with all versions of MS-DOS and PC-DOS from 2.0
through 6.2 and above. You can also use it with all versions of
Novell DOS and DR DOS (an older name for the same product) from 3.4
through 7.0 and above, and in DOS sessions started under OS/2 1.x
or 2.x and Windows 3.0 or 3.1.
Once you have 4DOS installed, you can learn its new features at
your own pace. It has more than 50 new commands and hundreds of
enhanced features, but you don't have to learn them all at once.
Relax, enjoy 4DOS's power, and browse through the manual
occasionally. Press the F1 key whenever you need help. 4DOS will
soon become an essential part of your computer, and you'll wonder
how you ever got along without it.
If you want to take 4DOS for a spin without performing a complete
installation, see the separate Guided Tour documentation.
We are constantly working to improve 4DOS. If you have suggestions
for features or commands that you think we should include in the
next version, or any other way we could improve our product, please
let us know. Many of the improvements in this version of 4DOS were
suggested by our users, and while we can't promise to include every
suggested feature, we really do appreciate and consider your
comments.
If you use OS/2 or Windows NT, JP Software offers 4OS2, a
replacement for the OS/2 command processor, and 4DOS for Windows
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 1
INTRODUCTION
-------------------------------------------------------------------
NT, which is a replacement for the Windows NT command processor.
These products provide most of the same commands and features
available in 4DOS, plus several additional commands and new
features for OS/2 and Windows NT. You can use these products to
maintain a common working environment and run the same batch files
under DOS, OS/2, and Windows NT. 4OS2 and 4DOS for Windows NT are
available at a discounted price for 4DOS users. Contact JP
Software or your dealer for more information.
How to Use This Manual
This manual is only one part of the documentation that you
will need for 4DOS. It introduces the product and will help
you install 4DOS correctly on your computer. It will also
help you understand some of the terms and concepts that you
will need to know to get the most from 4DOS, and give you
specific information on using 4DOS in your particular
environment (for example under DOS, Windows, or OS/2).
The second part of our documentation is the separate Reference
Manual. It contains complete information about the commands
and features of 4DOS, plus its sister programs, 4OS2 and 4DOS
for Windows NT.
You should start with this introductory manual whether you are
new to 4DOS or you are upgrading from a previous version.
Once you have successfully installed 4DOS, you can move back
and forth between this manual and the Reference Manual.
For the sake of clarity, we have chosen not to indicate each
of the hundreds of places in this manual where you can refer
to the Reference Manual for additional information. If you
see a reference here to a 4DOS command, the initialization
file 4DOS.INI, or any 4DOS feature, you can be sure that
detailed information on that topic is available in the
Reference Manual. In particular, this manual often refers to
directives in 4DOS.INI, which are covered in detail in Chapter
5 of the Reference Manual.
4DOS also includes complete online help for all 4DOS and
standard DOS commands. The online help provides much of the
same information that is available in the Reference Manual,
but in an electronic form which you can access quickly. See
page 19 for more details on using the online help.
Files distributed with 4DOS cover important additional
information beyond what's included in the manuals. README.DOC
contains general notes, highlights of the latest release, and
brief installation instructions for those upgrading from a
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 2
INTRODUCTION
-------------------------------------------------------------------
downloaded copy. MANMOD.DOC covers changes or corrections in
the manuals, if any, and UPDATxxx.DOC contains detailed
information for users with older versions on what has changed
in the latest release ("xxx" is the version number).
APPNOTES.DOC contains application notes for a variety of other
software packages to help you use those packages with 4DOS.
You will likely find some parts of the documentation too
simple or too technical for your tastes. If so, feel free to
skip to the next part of the manual that is more to your
liking. You can use almost every feature of 4DOS without
having to worry about other features or commands.
As you read the documentation, you will occasionally see an
exclamation point [!] next to a paragraph. The exclamation
point means that that paragraph contains a caution or warning
you should observe when using the feature it discusses.
You will also see the symbol ## next to certain paragraphs.
This indicates an in-depth discussion or a more advanced topic
which you can skip if you wish to stick with the basics. Come
back to this topic later for more details, or if you're having
trouble with the particular issue it discusses. If you see
the ## next to a section heading, it means the entire section
contains such information.
You may find the information in such marked sections useful
even if you're relatively new to computers or to our products.
However, you can also skip the marked section and still
understand and use the basic topic of the larger section
you're reading.
Customer Service and Technical Support
Technical support for 4DOS is available via public electronic
support conferences, private electronic mail, telephone, fax,
and mail. For complete details, including a listing of
electronic support conferences, see your Reference Manual.
Customer service is always available through the telephone and
fax numbers listed on the title page of this manual. See your
Reference manual for electronic mail addresses for our Sales
and Customer Service departments.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 3
CHAPTER 1 / INSTALLATION
-------------------------------------------------------------------
CHAPTER 1 / INSTALLATION
You can install your copy of 4DOS automatically or manually.
If you prefer an automated installation, our installation software
will set up 4DOS for you quickly and with very little intervention
on your part, other than answering the questions on your screen.
If you prefer to install 4DOS yourself, you'll need to use the
installation software to copy the 4DOS files to your disk. You can
then modify your system manually as explained below.
If you're installing a downloaded update to 4DOS, see the
instructions under Manual Installation on page 7.
(If you're using DOS 2.x, you must use manual installation. The
automated installation software cannot modify CONFIG.SYS for you
under DOS 2. See page 14 for additional details.)
No matter which method you choose, you'll find that 4DOS's
installation software is very well-behaved. It won't modify or
erase any existing files, including CONFIG.SYS and AUTOEXEC.BAT,
without asking you, and it takes a very straightforward, step by
step approach.
The installation software always prompts you for the directory to
use for your 4DOS files, and will create a new directory if
necessary. If you are upgrading from a previous version of 4DOS,
use a new directory for the new version, rather than overwriting
your existing files. Transfer any necessary configuration files
from the old directory (e.g. 4DOS.INI, 4START, etc.), then remove
the old directory once the new version is up and running.
Preparing for Installation Under DOS
If you're running DOS (or DOS plus Windows), you should make a
bootable system diskette before you install 4DOS (or any other
software, for that matter). This allows you to recover in
case of a power failure or other interruption during the
installation process.
To make the bootable floppy disk, put a fresh diskette in
drive A and then type:
format a: /s
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 4
CHAPTER 1 / INSTALLATION
-------------------------------------------------------------------
The FORMAT command will take a few minutes to prepare the
floppy diskette, and will then copy your system files to drive
A.
Once the process is complete, you should test your bootable
floppy by leaving it in drive A and simultaneously pressing
the Ctrl, Alt, and Del keys to make sure your system will boot
up properly. Once you can boot from a floppy disk and access
the configuration files on your hard disk, put the floppy away
in a safe place and reboot your computer normally.
If you use compression software on your hard disk, you may not
be able to access the hard disk from a bootable floppy unless
you copy the appropriate device drivers and other software,
plus a version of your CONFIG.SYS and AUTOEXEC.BAT files, to
the floppy disk. See your compression software documentation
for details about creating a bootable floppy disk.
Preparing for Installation Under OS/2
If you are running OS/2, a bootable floppy disk is not
required. To begin the installation simply start a DOS
command line session and follow the automated or manual
installation instructions below.
If you also have our OS/2 command processor, 4OS2, do not
install 4DOS in the same directory as 4OS2. Some file names
(for example README.DOC) are the same in both products, and
the files should be kept separate to avoid confusion later.
If you use OS/2's Dual Boot or Boot Manager facilities to
switch between DOS and OS/2, your system has two sets of
CONFIG.SYS and AUTOEXEC.BAT files: one for DOS and one for
OS/2. In most cases, you'll want to modify both sets, so that
4DOS is available in both environments. If you use automated
installation, the installation software modifies only one set:
the one for the operating system you are running at the time
of installation.
After installation, you can modify either set of configuration
files manually using the instructions under Manual
Installation on page 7. If you use Boot Manager, you can
instead restart the installation software and select the
"Modify Startup Files" option on the main menu to modify the
second set of startup files. If you use this approach, be
sure to tell the installation software the proper boot drive
for the set of configuration files you wish to modify.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 5
CHAPTER 1 / INSTALLATION
-------------------------------------------------------------------
See Chapter 4 on page 42 for more details on using 4DOS with
OS/2.
Automated Installation
To begin the automated installation process, put the
distribution diskette into drive A. You can use drive B if
you prefer, in which case you should substitute "b" for "a" in
the instructions below.
One of the files on the distribution diskette, README.1ST,
contains information that you should read before you install
4DOS on your computer. Type:
type a:readme.1st | more
to view the file. If you want to print a copy of the file,
type:
copy a:readme.1st prn
After checking README.1ST, you can start the installation
process. Type:
a:install
and press the Enter key.
Once the installation program has started, just follow the
instructions on the screen and 4DOS will install itself on
your system.
The installation program will ask whether you want to perform
a complete installation, perform a partial installation in
order to run the Guided Tour, or retrieve individual files
from the 4DOS library. Choose a full installation to install
4DOS on your system, and modify CONFIG.SYS and AUTOEXEC.BAT
(you will be prompted for permission before these files are
modified). Choose the Tour option if you want to see what
4DOS can do before you install it permanently.
If you elect to perform a full installation, reboot your
computer when the installation program is done. You will then
have all the power of 4DOS available to you.
## If you use a utility which allows multiple configurations in
your DOS CONFIG.SYS file, the automatic installation software
may not be able to modify CONFIG.SYS for you, even if you give
it permission to do so. In this case you will see a message
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 6
CHAPTER 1 / INSTALLATION
-------------------------------------------------------------------
explaining the problem during installation, and you will need
to follow the Manual Installation instructions below to modify
CONFIG.SYS yourself. See page 14 for additional notes about
using 4DOS with these utilities.
You can halt the installation process at any time by pressing
Ctrl-X (hold down the Ctrl key and then press "X").
## Manual Installation
The 4DOS files are contained in a special library file on the
distribution diskette. You cannot simply copy files from the
diskette onto your system. You must use the installation
program to extract the 4DOS files if you want to perform a
manual installation, or if you need to replace a damaged 4DOS
file on your hard disk.
If you want to install 4DOS manually, first start the
automatic installation program using the instructions above.
Select the Extract all files option and extract the 4DOS files
onto your hard disk (be sure to place the files in their own
directory).
If you are installing 4DOS on floppy disks, you may not be
able to use the Extract all files option because the files may
not fit on a single diskette. Select Copy individual files
instead, and repeat the process two or more times to copy the
files to separate diskettes. If possible, you should copy
4DOS.COM, KSTACK.COM, 4HELP.EXE, and 4DOS.HLP to a single
diskette, because these are the files required to operate 4DOS
with all of its features. If these files do not fit on one
diskette, copy 4DOS.COM and KSTACK.COM to one disk and
4HELP.EXE and 4DOS.HLP to another.
If you're installing a downloaded update to 4DOS, you will not
have an INSTALL program. Instead, use the appropriate
decompression program (for example, PKUNZIP) to extract the
files from your download into a new directory. Then follow
the instructions below to complete your installation. Be sure
to check the README.DOC file for any additional update
instructions.
Once you've extracted the files, you can go through the Guided
Tour if you want to try 4DOS before completing the
installation (see the separate Guided Tour documentation).
When you're ready to finish the installation process, all you
need to do is add one line to your DOS or OS/2 CONFIG.SYS file
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 7
CHAPTER 1 / INSTALLATION
-------------------------------------------------------------------
(before modifying the DOS CONFIG.SYS file, be sure you have a
bootable floppy disk as discussed on page 4):
SHELL=d:\path\4DOS.COM d:\path /P
"d:\path" means the drive and directory where your 4DOS files
are stored. The second "d:\path" on the SHELL= line sets the
COMSPEC path (see page 17) and can be left out if 4DOS.COM is
in the root directory of your boot drive. Be sure to delete
or REMark out any old SHELL= line for COMMAND.COM after you
add the new SHELL= line for 4DOS. Once you have 4DOS up and
running, see page 11 for additional options you can use on the
SHELL= line.
If you are running 4DOS under OS/2, change CONFIG.SYS as
described above. Once you reboot, 4DOS will be used
automatically for all newly-created DOS objects on your
desktop, and for all DOS objects which use the default
DOS_SHELL settings. See page 42 for more details on
configuring OS/2 DOS sessions to use 4DOS.
Next, add the following line to your AUTOEXEC.BAT file:
d:\path\KSTACK.COM
where "d:\path" is the drive and directory where your 4DOS
files are stored. The same line can be used for DOS and for
OS/2 DOS sessions.
When you've finished modifying CONFIG.SYS and AUTOEXEC.BAT,
reboot your system to start 4DOS. For additional details on
setting up the SHELL= line and AUTOEXEC.BAT, see Chapter 2 /
Configuration (page 10). See your Reference Manual for
information on the 4DOS.INI file, which controls 4DOS
configuration.
## If you use a utility which allows multiple configurations in
your DOS CONFIG.SYS file, see page 14 for additional notes on
configuring 4DOS properly on your system.
## Uninstalling 4DOS
We don't expect you to have any trouble using 4DOS, but we
know some people feel more comfortable knowing how to
uninstall a product as well as install it. Or, you may need
to remove 4DOS from one system if you are moving it to another
system.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 8
CHAPTER 1 / INSTALLATION
-------------------------------------------------------------------
To temporarily remove 4DOS from your system, first find the
location of COMMAND.COM on your disk (for example, in the root
directory, or the DOS directory). Use your editor to edit
CONFIG.SYS (before modifying the DOS CONFIG.SYS file be sure
you have a bootable floppy disk as discussed on page 4).
Look for the line which begins with SHELL=, and insert the
characters "REM " at the beginning of the line. This converts
the line into a "remark" or comment. (If you are using DOS 3
or below, REMarks are not recognized in CONFIG.SYS, so the
changed lines will produce a harmless "Unrecognized command"
error when the system boots.) Next, add a new line like this:
SHELL=d:\path\COMMAND.COM /P
where "d:\path" is the drive and directory for COMMAND.COM.
If you were previously running COMMAND.COM with a /E:nnnn
switch to set the size of your environment, you should add it
to this line as well.
After CONFIG.SYS has been modified, edit your AUTOEXEC.BAT
file to remove any changes made to accommodate 4DOS. Look for
a command beginning SET COMSPEC= and another which loads the
4DOS file KSTACK.COM. The SET COMSPEC command will not be
present on most systems. If it's there, change it to read:
SET COMSPEC=d:\path\COMMAND.COM
where "d:\path" is replaced by the correct drive and directory
for COMMAND.COM. Then add "REM " in front of the KSTACK.COM
command to convert it to a comment.
If you wish, you can also look for the PATH command, and
remove the 4DOS directory from the directories listed there.
However, there's probably no reason to do so unless you're
permanently removing 4DOS from your system.
Now reboot your system, and you should be back up and running
under COMMAND.COM. To switch back to 4DOS, edit your
CONFIG.SYS file again to remove the REMs on your 4DOS lines
and put one on your COMMAND.COM line instead, remove any SET
COMSPEC command in AUTOEXEC.BAT, and you can boot with 4DOS
again.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 9
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
CHAPTER 2 / CONFIGURATION
This chapter explains how you can tune 4DOS to make it as efficient
and as useful as possible in your computing environment. Nearly
everything in this chapter is for advanced users and those with
unusual needs. If 4DOS works the way you want it to after the
automatic installation, you can skip this chapter. You may,
however, want to skim this material to see what options are
available.
Configuration Files
4DOS uses or is affected by five configuration files. Two are
for general DOS configuration; the other three are unique to
4DOS. The general DOS files are CONFIG.SYS and AUTOEXEC.BAT.
The specialized 4DOS files are called 4START, 4EXIT, and
4DOS.INI.
CONFIG.SYS is discussed below. AUTOEXEC.BAT, 4START and 4EXIT
are discussed briefly below, and in Chapter 4 / Aliases and
Batch Files in the Reference Manual. 4DOS.INI is discussed in
Chapter 5 / Configuration in the Reference Manual.
! Anytime you change a configuration file, a typographical
mistake or other error could make your system lock up or run
erratically. Before you make any changes to any of these
files, we strongly urge you to take some precautions. (These
precautions are for DOS users. Under OS/2 they can be
helpful, but are not required, because problems with the
startup files are not as likely to keep the system from
booting and prevent you from editing the incorrect file.)
First, create a bootable floppy disk (see page 4). Second,
make a backup copy of all five configuration files, giving the
backup copies a different extension than the originals (for
example .SAV). Copy these backup files to your boot-up floppy
for safekeeping.
With these precautions, if something goes wrong, you will be
able to boot with your floppy disk and copy the files back to
their original names. You'll only have to spend a few minutes
recovering your system. You should follow the same
precautions each time you install a new application program
that changes your DOS or 4DOS configuration files.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 10
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
Setting Up CONFIG.SYS
The DOS CONFIG.SYS file contains instructions for DOS to
execute before it loads a command processor. The OS/2
CONFIG.SYS file contains similar startup instructions for
OS/2. Only one line in the CONFIG.SYS file affects 4DOS. It
tells the operating system to use 4DOS as the DOS command
processor instead of COMMAND.COM. The format of this line is:
SHELL=d:\path\4DOS.COM [d:\path] [@d:\path\inifile]
[//iniline]... [/D] [/E:nnnn] [/F] [/L] [/LA] [/LH]
[/Y] [/P[:filename]] [[/K]command]
SHELL= identifies this line as defining the command processor
that DOS will load after it finishes executing CONFIG.SYS, or
that OS/2 will load when a DOS session is started.
Replace the first "d:\path\" (immediately after SHELL=) with
the 4DOS drive and directory. If you're using DOS, the drive
and path must be correct or your system won't boot (and you'll
be very happy that you made the boot-up floppy we suggested).
The remainder of the items on this line are optional. If they
are used, you should not include the square brackets. In the
descriptions below, "d:" means a drive letter and "\path"
means a subdirectory name.
d:\path: This is the second d:\path above (not the one
immediately after SHELL=). It sets the drive and
directory where 4DOS is stored, called the COMSPEC path.
4DOS uses this path to find its files and to set the
COMSPEC environment variable (see page 17).
If you use MS-DOS or PC-DOS 3.0 or above, 4DOS will
normally find its directory automatically and this option
will not be needed. If you run 4DOS under OS/2, or use
Novell DOS or DR DOS, this option is required unless
4DOS.COM is in the root directory of the boot drive.
@d:\path\inifile: This option sets the path and name of
the 4DOS.INI file. You don't need this option if you
aren't using an .INI file at all, or if the file is
called 4DOS.INI and it is in the same directory as
4DOS.COM, or in the root directory of the boot drive.
//iniline: This option tells 4DOS to treat the text
appearing between the // and the next space or tab as a
4DOS.INI directive. The directive should be in the same
format as a line in 4DOS.INI, but may not contain spaces,
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 11
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
tabs, or comments. Directives on the SHELL= line
override any corresponding directive in 4DOS.INI. This
is a convenient way to place one or two simple directives
on the SHELL= line without having to modify or create a
4DOS.INI file.
/D: This option disables execution of AUTOEXEC.BAT (or
the file named in the AutoExecPath directive in 4DOS.INI
or on the SHELL= line). It is intended for internal use
by MS-DOS / PC-DOS 6.x. When you press the F8 key during
the boot process, MS-DOS prompts for whether to run
AUTOEXEC.BAT. If you answer "No", the /D switch is used
to relay your choice to 4DOS.
/E:nnnn: This option sets the size of the environment,
in bytes. If you don't use this option, 4DOS will
allocate 512 bytes for the environment. You can use any
value from 256 to 32000 as the environment size. For
example, to set an environment of 1,000 bytes, you would
enter the option as /E:1000.
You can also set the environment size with the
Environment directive in the 4DOS.INI file (see your
Reference Manual).
/F: This option tells 4DOS to automatically provide a
Fail response to all critical errors, without prompting
or waiting for a user response. It is rarely used except
on systems that must run unattended, like bulletin
boards. We do not recommend use of this option on a
normal system, because you will not have a chance to
react to a critical error and correct the problem that
caused it. For more information on critical errors see
Chapter 3 of your Reference Manual. /F only affects
critical errors detected by 4DOS, and will not affect
critical error handling for many application programs
which perform this function themselves. It is equivalent
to the directive CritFail=Yes in 4DOS.INI.
/L, /LA, and /LH: These options force 4DOS to use a
local alias and / or history list. They can be used to
override any LocalAlias=No or LocalHistory=No settings in
4DOS.INI. This allows you to use global aliases as the
default, but start a specific shell or OS/2 DOS session
with local aliases or history. See your Reference Manual
for details on local and global aliases and history. /LA
forces local aliases, /LH forces local history, and /L
forces both local aliases and local history.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 12
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
/Y: This option forces 4DOS to "single-step" through
4START and AUTOEXEC.BAT (or the file named in the
AutoExecPath directive). It is intended for internal use
by MS-DOS 6.x. When you press the F5 key to enable
single-stepping during the boot process, the /Y switch is
used to relay your choice to 4DOS.
/P[:filename]: This option tells 4DOS to load
permanently and to run AUTOEXEC.BAT. If you specify a
filename after the /P, that file will be run instead of
AUTOEXEC.BAT. You should specify the full name of the
file, including drive and directory. A filename after /P
will override the AutoExecPath option in 4DOS.INI.
When 4DOS is loaded from the SHELL= command in
CONFIG.SYS, or as the shell for an OS/2 DOS session, it
will normally detect that it is the primary shell and set
the /P option automatically. Under very rare
circumstances, you may want to load 4DOS permanently and
have it run AUTOEXEC even though you are not loading it
from CONFIG.SYS; in such cases you must set /P yourself.
4DOS will not run AUTOEXEC.BAT without either an
automatic or an explicit /P. Do not use this option in
secondary shells, or you will be unable to return to the
primary shell.
[/K] command: This option tells 4DOS to run the command
after 4START and AUTOEXEC.BAT but before displaying the
prompt. The command can be any valid alias, internal or
external command, or batch file. All other startup
options (such as //iniline or /P) must be placed before
the command, because 4DOS will treat characters after the
command as part of the command and not as additional
startup options.
If you use MS-DOS / PC-DOS 6.x and use /K, the command
will be executed instead of AUTOEXEC.BAT (for
compatibility with MS-DOS / PC-DOS 6.x COMMAND.COM). In
all other cases, the command will be executed in addition
to AUTOEXEC.BAT.
## If you specify a path and name for the 4DOS.INI file on the
SHELL= line, or if you use options that will override
directives in your .INI file, you must place the command line
options on the SHELL= line in the order in which they are
listed above. If you do not, you may find that the command
line options do not properly override directives in the .INI
file.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 13
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
Caution
! There is a bug in all versions of MS-DOS and PC-DOS from 2.0
through 4.01: the SHELL= line in the CONFIG.SYS file may not
contain more than 31 characters following the name of the
shell program (i.e., beginning with the space after
"4DOS.COM"). If the line is too long, the options will not be
passed properly to 4DOS and a variety of errors can occur.
You can set all necessary 4DOS options without exceeding this
limit, especially if you put 4DOS.COM and 4DOS.INI in the root
directory of your boot drive. This limit is not present in
MS-DOS / PC-DOS 5.0 and above, in Novell DOS, or in OS/2.
## 4DOS and Multiple-Configuration Utilities
4DOS is fully compatible with most products which allow
multiple configurations in your DOS CONFIG.SYS file, including
BOOT.SYS (a powerful multiple-configuration utility sold by JP
Software), and the MS-DOS / PC-DOS 6.0 and above "multi-
config" feature.
If you plan to use the same 4DOS setup for all configurations,
create one SHELL= line and place it in the common area of
CONFIG.SYS that is used for all configurations.
If you want to use a separate 4DOS setup for each
configuration, create individual SHELL= lines in the area of
CONFIG.SYS specific to each configuration. Start out using
the same line for each configuration, then make any necessary
changes to your standard setup. For example, you could use
options on the SHELL= line to select a different .INI file or
AUTOEXEC file for certain configurations (see above for more
details on these options).
Be sure to check APPNOTES.DOC for notes on the specific
configuration utility you use.
4DOS and DOS 2
We recommend using DOS 3.1 or above, but 4DOS can be used with
DOS 2. The only special consideration is that 4DOS must be
loaded differently under DOS 2.x, because certain DOS 2
functions require that COMMAND.COM be loaded as the primary
command processor. Therefore, you must load COMMAND.COM first
and then 4DOS. Assuming that all files are in the root
directory of your boot drive, the SHELL= line in DOS 2.x
should look like this:
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 14
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
shell=command.com /c 4DOS /p [options]
Note that due to the "/c 4DOS" on the SHELL line, fewer
options can be used before running into the 31-character limit
discussed above. You must, however, use the /P option, or
AUTOEXEC.BAT will not run. 4DOS will not automatically detect
that it is the primary shell and set /P for you when run under
DOS 2.
Startup Options for Secondary Shells
You may want to set explicit options for a 4DOS secondary
shell when you define a 4DOS window in a task switching or
multitasking system such as Windows, DESQview, Back & Forth,
or the MS-DOS shell (DOSSHELL); when you "shell out" of a
program which allows you to specify command-line options for
the shell; or in rare cases when you run a secondary copy of
4DOS directly from the command line. In most other cases,
secondary shells do not use or require any startup options.
If you do need to set options for secondary shells, you can
use any of the following (for more details on items which are
the same as those used in CONFIG.SYS, see the section
beginning on page 11):
@d:\path\inifile: Set the .INI file name, as in
CONFIG.SYS. This option is not necessary if you want
4DOS to use the same .INI file that you used for the
primary shell, because values from that file - including
those in its [Secondary] section - will be passed
automatically to secondary shells.
//iniline: This option tells 4DOS to treat the text
appearing between the // and the next space or tab as a
4DOS.INI directive. The directive should be in the same
format as a line in 4DOS.INI, but may not contain spaces,
tabs, or comments. Directives on the secondary shell
command line override any corresponding directive in
4DOS.INI. This allows you to use 4DOS.INI directives
directly on the command line when starting 4DOS in a
window of a multitasking system, rather than having to
create separate copies of 4DOS.INI to accommodate small
configuration changes in different windows.
/E:nnnn: Set the environment size, as in CONFIG.SYS.
/F: Force an automatic "Fail" on critical error, as in
CONFIG.SYS.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 15
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
/L, /LA, and /LH: Force 4DOS to use a local alias and /
or history list, as in CONFIG.SYS.
[/C | /K] command: This option tells 4DOS to run the
command after 4START but before any command prompt is
displayed. The command can be any valid alias, internal
or external command, or batch file, and can include
multiple commands. Use this option if you want 4DOS to
run a batch file or execute a command when it starts, for
example to run a specific batch file when 4DOS is started
in a window of a multitasking system.
When the command is preceded by a /C, 4DOS will execute
it and then exit and return to the parent program. /C is
used by some applications to start the command processor,
run one command, and then return to the application.
The /K switch is included only for compatibility with
COMMAND.COM. It has no effect on 4DOS; using it is the
same as placing the command (without a /C or /K) at the
end of the startup command line.
Using AUTOEXEC.BAT, 4START, and 4EXIT
You generally won't need to make any changes to AUTOEXEC.BAT
to make it run properly under 4DOS, although once you get used
to 4DOS's batch file enhancements, you may want to use them to
streamline AUTOEXEC.
If you want to use the 4DOS KEYSTACK command, you will
normally load the program KSTACK.COM from your AUTOEXEC.BAT
file. To do so, include the following line in your file (be
sure to place it before any KEYSTACK commands):
d:\path\kstack.com
Replace d:\path with the path to the KSTACK.COM program, which
will normally be stored in your 4DOS directory.
You may want to use AUTOEXEC.BAT to configure 4DOS by setting
the environment variables that 4DOS uses: CDPATH, COLORDIR,
COMSPEC, PATH, PROMPT, TEMP, and TEMP4DOS. You may also want
to include a SETDOS command to set configuration variables.
All of these settings are optional.
4DOS runs two special batch files automatically, 4START and
4EXIT. 4START is executed whenever 4DOS is started. In the
primary shell, it is executed before AUTOEXEC.BAT. If 4DOS is
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 16
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
started as a secondary shell with the [/C] command option,
4START is executed before the command.
See your Reference Manual for more information on environment
variables, the SETDOS command, and AUTOEXEC.BAT, 4START, and
4EXIT.
COMSPEC and the COMSPEC Path
The COMSPEC environment variable contains the full path and
name of the command processor. For example, if 4DOS is stored
in the directory C:\4DOS, the COMSPEC variable should be set
to C:\4DOS\4DOS.COM. COMSPEC is used by applications which
need to find the command processor to implement a "shell to
DOS" feature.
You can set the COMSPEC variable by specifying the COMSPEC
path when your system starts, or by using a SET command as you
would for any environment variable.
If you include a COMSPEC path on the SHELL= line in CONFIG.SYS
(see page 11), or in the DOS_SHELL setting for an OS/2 2.x DOS
session (see page 47), 4DOS will set the COMSPEC variable
automatically to the path you specify, and append the filename
4DOS.COM. This method also allows 4DOS to use the COMSPEC
path to find other files during the startup process, such as
4DOS.INI and 4START.
If you don't include the COMSPEC path on the primary shell's
startup command line, 4DOS will set the COMSPEC variable to
the root directory of the boot drive (x:\4DOS.COM where "x" is
the boot drive), and will also look in the root directory of
the boot drive for 4DOS.INI and 4START.
You can also set the COMSPEC variable manually with a SET
command in AUTOEXEC.BAT. This method will override any
setting made with a COMSPEC path on the primary shell's
startup command line as described above. We do not recommend
this approach, because it will allow applications to shell to
DOS, but will not provide the information the primary 4DOS
shell needs to find its files during the startup process.
When 4DOS is running as the primary command processor, you can
determine whether COMSPEC has been set correctly by typing the
following line at the 4DOS prompt:
echo %comspec
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 17
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
4DOS Swapping Methods
4DOS runs in two parts, a resident portion that is always in
memory and a transient portion that can be stored in EMS
memory, in XMS memory, on a RAM disk, or on your hard disk
while application programs are running. The resident portion
uses about 3K bytes of memory in the primary shell and about
1.5K bytes in secondary shells. The transient portion uses
about 128K bytes of memory. 4DOS will perform most quickly if
the transient portion is swapped to the fastest memory or
device available.
See page 24 for explanations of XMS and EMS memory.
Swapping for the primary shell normally requires about 128K
bytes of EMS memory, XMS memory, or disk space. Secondary
shells normally require 32K bytes of EMS, or 28K bytes of XMS
or disk space. If you have a large environment, alias list,
or history list, more memory will be required in both primary
and secondary shells. The EMS requirements are larger because
EMS memory is allocated in 16K increments; 4DOS does not
actually use more memory when swapping to EMS.
You can control 4DOS swapping with the Swapping directive in
4DOS.INI. The Swapping directive lists a series of swap
types, which may be:
EMS: 4DOS will swap to EMS expanded memory if it is
available. You must have expanded memory and an EMS
memory manager (version 3.2 or later) for this option.
XMS: 4DOS will swap to XMS extended memory if it is
available. You must have an an XMS memory manager and a
80286, 386, 486, or Pentium computer for this option.
d:\path: 4DOS will create a swap file in the drive and
directory specified. The file will be called
4DOSSWAP.NNN where "NNN" is the shell number (unless you
use the UniqueSwapName directive in 4DOS.INI to generate
a unique swap file name). This swap file is created as a
hidden system file to avoid accidental deletion and will
not be visible with a normal DIR command. Swapping to a
RAM disk will generally be faster than swapping to a hard
disk. Do not use a floppy disk for swapping because its
performance is likely to be unacceptably slow.
None: No swapping. The transient portion of 4DOS will
remain in memory at all times. This option will reduce
memory available for application programs by about 128K
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 18
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
compared to the other swap types, and should be used only
when no other swapping options are available.
You can specify multiple swap types and 4DOS will try them in
the order listed. Swap type "None" is always appended to your
list of possible swap types as a "last resort," even if you
don't include it explicitly. This allows 4DOS to start even
if the other swap types you specify don't work.
For example, if your system has EMS memory and a RAM disk set
up as drive D, the directive:
Swapping = EMS, D:\, C:\SWAP
in 4DOS.INI will tell 4DOS to try EMS memory first, then the
RAM disk, and finally the \SWAP directory on drive C. If all
of these options fail (because there isn't enough free space
available), the transient portion of 4DOS will remain in
memory (swap type "None").
The default Swapping specification is:
Swapping = EMS, XMS, x:\, None
where "x" is the boot drive (for the primary shell) or the
COMSPEC drive (for secondary shells). (Disk swapping will not
be included as part of the default if the boot drive is A: or
B:, because floppy disk swapping is too slow to be useful on
most systems.)
After 4DOS starts, you can use the SWAPPING command to view
the type of swapping in use.
4DOS Help
4DOS includes a complete help program called 4HELP.EXE. The
help system includes complete help for all 4DOS internal
commands, all standard DOS external commands, and most 4DOS
features. The information in the help system is fully cross-
referenced, so you can move easily among related commands.
You can start the help system by typing HELP (or HELP plus a
command name) at the prompt, or by pressing the F1 key at any
time at the command line.
If you type part or all of a command on the line and then
press F1, the help system will provide "context-sensitive"
help by using the first word on the line as a help topic. If
it's a valid topic, you will see help for that topic
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 19
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
automatically; if not, you will see the list of all help
topics and you can pick the one you want. For example, if you
press F1 after entering each of the command lines shown below
you will get the display indicated:
c:\> Topic list
c:\> copy *.* a: Help on COPY
c:\> c:\util\map Topic list
If you type the name of any internal command at the prompt,
followed by a slash and a question mark [/?] like this:
copy /?
then you will see help for the command in a "quick-reference"
style. Output from a /? display may be redirected with > or
>>.
## The /? option may not work correctly if you have used an alias
to redefine how an internal command operates. To view the /?
help for such a command you must add an asterisk to the
beginning of the command to disable alias processing. For
example, if you have defined this alias:
alias copy *copy /r
then the command COPY /? will be translated to COPY /R /?,
which will not work properly. However, if you use *COPY /?,
the alias will be ignored and the /? will work as you
intended.
Once you've started the 4DOS help system with HELP or F1, you
can use a standard set of keystrokes to navigate. The table
below gives a summary of keys you can use in the help topic
list, and in a help text screen. For more details on using
the help system, see the Help topic (at the beginning of the
topic list) in the help system itself. For details on mouse
usage, see the Mouse topic in the help system.
Help topic list keys:
Arrow Keys Move the highlight to a different
topic.
Enter Display help on the highlighted
topic.
Esc Return to 4DOS.
Any other key Attempt to match the characters typed
with one of the names in the topic
list.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 20
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
Help text screen keys:
Up Arrow Scroll up one line in the display.
Down Arrow Scroll down one line in the display.
PgUp Scroll up one page in the display.
PgDn Scroll down one page in the display.
Left Arrow Move the cross-reference highlight to
the previous item.
Right Arrow Move the cross-reference highlight to
the next item.
Enter Switch to the topic shown by the
highlighted cross-reference item.
Esc Return to the topic list, or back to
4DOS if this topic was displayed
directly without using the topic
list.
F1 Go to the topic list in order to
select a new topic.
Alt-N or Ctrl-Right View the next topic in the topic
list.
Alt-P or Ctrl-Left View the previous topic in the topic
list.
Alt-F1 View the previously displayed topic.
Alt-X Return directly to 4DOS without
restoring the original screen
contents.
F Find a string within the current
topic.
G Find a string in any topic (a
"global" search).
N Find the next occurrence of the
search string.
P Print the text for the current topic
on LPT1.
The help system normally restores the screen when exiting.
Use Alt-X to leave a page of help text on the screen so you
can refer to it. You can use F, G, and N to search for a
string in the help text, and P to print the topic you are
viewing. Your printer must be turned on and ready before
pressing P.
Configuring the Help System
The 4DOS help system can be configured in several different
ways.
First, the HELPCFG.EXE program included with 4DOS allows you
to customize the HELP colors. To use it, just change to your
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 21
CHAPTER 2 / CONFIGURATION
-------------------------------------------------------------------
4DOS directory, enter the command HELPCFG, and follow the
instructions it displays. To force HELPCFG to adjust the
monochrome HELP colors, even if you are using a color system,
use the command HELPCFG /M to start the program.
You can use the HelpPath directive in your 4DOS.INI file to
inform 4DOS of the location of the HELP files (4HELP.EXE and
4DOS.HLP). If you don't use the HelpPath directive, the HELP
program must be in the current directory or in one of the
directories specified in your PATH setting. If you use the
HelpPath directive, the HELP command will generally respond
more quickly because 4DOS won't have to search the directories
in your PATH setting to find the help files.
The HELP command has three options which you can set with the
HelpOptions directive in 4DOS.INI. The options are:
/M(onochrome): Forces HELP to use monochrome display
mode. This is useful on a system which has a color video
board and a monochrome display (for example, portable
computers with LCD screens).
/Sn (Speed): Sets the HELP mouse movement speed. /S0
sets the speed to one half the default mouse speed. /S2
sets it to twice the default, and /S4 sets it to four
times the default. The higher values may be useful if
you use a screen larger than the standard size of 80 x
25.
/X: Disable the mouse while HELP is running. If you
have a Microsoft serial or PS/2 mouse and are
experiencing long delays when HELP starts, you can use
this option to disable the mouse. (The delay is caused
by the extended time required by some versions of the
Microsoft mouse driver to initialize these mice.)
For example, if you want HELP to use a monochrome display and
disable the mouse by default, you could include the following
line in your 4DOS.INI file:
HelpOptions = /M /X
You can include the same options on the HELP command line if
you wish. Options used on the HELP command line will override
any that are set in the 4DOS.INI file. For example, to obtain
help on the COPY command, and disable the mouse, you could use
this command:
c:\> help /x copy
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 22
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
This chapter explains how to get the most from 4DOS with the
particular hardware and software in use on your system.
You should find that 4DOS is compatible with all your PC hardware
and software. We have designed it carefully so that it uses
standard, documented methods to do its job. It works properly with
all kinds of CPUs, keyboards, video displays, and disks; with
application software, utilities, networks, multitaskers and task
switchers, and memory-resident (TSR) programs; and with system
software like disk caches, memory managers, and device drivers. We
test 4DOS regularly with dozens of hardware setups and hundreds of
popular software products in order to catch and correct any
possible compatibility problems before you encounter them.
The following sections discuss using 4DOS:
* With the physical hardware that makes up your computer
system (the CPU, Memory, Video, and Disks).
* With DOS, including a specific discussion of Novell DOS.
* With multitasking and task switching programs, including a
specific discussion of Microsoft Windows.
* With networks, including Novell Netware.
For specific information about any individual software package or
hardware product, including the latest information about products
mentioned in this chapter, see the APPNOTES.DOC file distributed
with 4DOS. It contains the latest information available when your
copy of 4DOS was shipped.
If you need to diagnose a problem that isn't covered below or in
APPNOTES.DOC, see Appendix A on page 53.
If you have questions about some of the terms and concepts here,
see Chapter 1 or the Glossary in your Reference Manual, or the
Index on page 68 of this manual.
The CPU
The CPU or "Central Processing Unit" is the chip which
performs or directs all of the work done by your computer.
All PC CPU chips are part of or compatible with Intel's
"80x86" family. These include the 8088, 8086, 80188, 80186,
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 23
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
80286, 386, 486, Pentium, NEC V20, and NEC V30, plus "SX"
versions and other variations of some of those chips. 4DOS is
compatible with all of these chips.
Some systems have a numeric coprocessor as a companion to the
CPU. The numeric coprocessor performs many arithmetic
calculations faster than the CPU. 4DOS does not use the
numeric coprocessor.
You can determine which CPU chip your system has by using
4DOS's _CPU internal variable:
c:\> echo %_cpu
Similarly, you can find out if you have a numeric coprocessor
with _NDP:
c:\> echo %_ndp
See your Reference Manual for details about _CPU and _NDP.
Memory
The memory in your computer is organized in bytes. Normally,
the amount of memory in a computer is discussed in terms of
kilobytes (KBytes or 1,024 bytes) and megabytes (MBytes or
1,048,576 bytes or 1,024 KBytes). The amount of memory
available in your computer is determined by the number of
memory chips or memory modules you have installed.
In an ideal world, there would be little more to say about
memory. But because of the history of PCs, the needs of large
application programs, and the capabilities of advanced CPUs,
there are many different kinds of memory. The original 8088
CPUs of the PC and PC/XT can address 1 MByte of memory. Of
that, a maximum of 640KBytes is allocated as base,
conventional, DOS, or low DOS memory (all these terms mean the
same thing). The other 384 KBytes, known as upper memory, are
set aside for the computer's built-in ROM BIOS, video adapter
cards, hard disk controllers, and other expansion hardware.
When base memory became too limiting, expanded memory (or EMS
memory) was developed to give programs more data space.
Expanded memory adds a maximum of 16 MBytes which programs can
access, 64KBytes at a time, through a window in upper memory.
In 8088 / 8086 (PC and XT), and 80286 (AT) based computers,
expanded memory typically requires an add-on board and support
software. In 386, 486, and Pentium computers, expanded memory
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 24
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
is typically provided without additional hardware, using the
capabilities of the 386 / 486 / Pentium chips.
The 80286 CPU used in the AT, and modern 386, 486, and Pentium
CPUs, can use much more than the 8088's original 1 MByte of
memory. An 80286 can use a total of 16 MBytes, and the 386,
486, and Pentium can use up to 4,096 MBytes (4 gigabytes) of
physical memory. This extended memory is not normally
available to DOS-based programs, however, without special
programming techniques and the help of DOS extenders or memory
managers.
The memory terms used in your 4DOS manuals include:
Base memory: The 640 Kbytes or less that has
traditionally been available for DOS and DOS-based
applications.
EMS or LIM EMS Memory: Memory which conforms to the
Expanded Memory Specification, developed by Lotus, Intel,
and Microsoft, that lets programs and utilities share
expanded memory.
Extended Memory: Memory beyond 1 MB in 80286, 386, 486
and Pentium computers. This memory may be accessed
directly, in which case it is referred to as Extended
Memory, or through XMS software, in which case it is
referred to as XMS Memory.
XMS Memory: Extended memory managed by software which
conforms to the Extended Memory Specification (XMS). XMS
lets programs share extended memory without conflict.
This specification divides extended memory into extended
memory blocks (EMBs). XMS software also usually manages
the HMA and the UMBs.
HMA: The first 64K bytes of extended memory, located
just above 1 MB. Certain specialized programs such as
DESQview, some network drivers, and portions of MS-DOS
(version 5.0 or later) and Novell DOS (version 5.0 or
later) can be loaded into the HMA instead of taking up
valuable space in base memory.
UMBs: 386, 486, and Pentium computers can electronically
"move" pieces of extended memory into unused space in the
upper memory area between 640KB and 1 MB. Each block of
this memory is called an Upper Memory Block (UMB). With
MS-DOS / PC-DOS 5.0 or later, Novell DOS 5.0 or later, or
third-party memory managers like 386MAX and QEMM, memory-
resident programs can be loaded into these UMBs instead
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 25
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
of taking up valuable space in base memory. Some 8086,
8088, and 80286 systems can also use UMBs with
appropriate additional hardware and software.
4DOS does its best to detect and properly access all types of
memory that your computer can have. 4DOS always uses
standard, documented methods to use the memory that you have
installed.
4DOS uses memory in three ways (see page 18 for more
information about swapping and the resident and transient
portions of 4DOS):
* By default, 4DOS uses base memory for its resident
portion, the master environment, and the alias and
history lists. Base memory is also used to hold the
transient portion of 4DOS while your system is at the
command prompt or executing a 4DOS command or batch
file, and to create any necessary temporary data areas
(for example, to hold the filenames to be listed in a
directory display, or data being copied from one file
to another).
* 4DOS can use EMS memory or an XMS Extended Memory
Block (EMB) to swap its transient portion, according
to the Swapping directive in your 4DOS.INI file.
* 4DOS can use Upper Memory Blocks (UMBs) for its
resident portion, master environment, and global alias
and history lists.
4DOS never accesses extended memory directly. It always uses
an XMS driver like HIMEM.SYS, 386MAX, QEXT, or QEMM. 4DOS can
also access any RAM disk you create in extended memory by
using a program like VDISK.SYS or RAMDRIVE.SYS. 4DOS does not
use the HMA at all.
If you want to know whether 4DOS sees your system's memory
accurately, check the output of the MEMORY command. It should
correspond to your computer's memory configuration.
The MEMORY command's output depends to some extent on your
memory manager. Some memory managers turn your extended
memory into either XMS or EMS memory as required, so that the
same memory is shown both ways in the MEMORY report. If 1 MB
of extended memory managed by such a memory manager is
available, MEMORY will report 1 MB of free XMS memory and 1 MB
of free EMS memory, even though it is all the same memory.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 26
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
Memory-related problems with 4DOS are usually due to programs
which overwrite the extended memory block (EMB) that 4DOS uses
for swapping its transient portion. When you exit from such a
program, your system will hang, because 4DOS tried to swap
itself back into base memory but its code and data in XMS have
been destroyed by the program. The same problem can occur
with EMS swapping but is less common because EMS memory is
generally better defended against wayward programs. You can
diagnose this kind of problem easily by changing to disk
swapping with the 4DOS.INI Swapping directive (see page 18)
and rebooting. If the problem goes away with disk swapping,
then the program in question is probably destroying 4DOS's
swap area in XMS or EMS memory.
4DOS EMS swapping sometimes has difficulty with EMS drivers
which do not fully meet the EMS 3.2 specification (4DOS
supports, but does not require, EMS 4.0 drivers). If you have
trouble accessing EMS for swapping, check APPNOTES.DOC to see
if there are any known problems with your EMS board or the
associated driver software.
Upper Memory Blocks (UMBs)
4DOS uses UMBs for several purposes:
* to move the 4DOS resident portion out of base memory,
if you specify UMBLoad = Yes in your 4DOS.INI file.
* to move the master environment out of base memory, if
you specify UMBEnvironment = Yes in your 4DOS.INI
file.
* to move the global alias and history lists out of base
memory, if you specify UMBAlias = Yes or UMBHistory =
Yes in your 4DOS.INI file.
* to load memory-resident programs (TSRs) "high" using
the LOADHIGH or LH command under MS-DOS / PC-DOS 5.0
or above or Novell DOS 5.0 or above, or in an OS/2 DOS
session.
To load 4DOS, the master environment, or global alias and
history lists into a UMB, you must be using a memory manager
or XMS driver which provides both the ability to remap memory
into the area between 640K and 1MB (to create the UMBs) and
XMS or DOS 5.0 UMB support (to manage the UMBs). These are
generally the same requirements which must be met to load TSRs
"high."
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 27
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
To give 4DOS access to UMBs, you need hardware and software
combinations like the following:
386, 486, and Pentium systems (including 386SX computers):
Hardware: Sufficient installed RAM.
Software: Qualitas' 386MAX or Blue Max, Quarterdeck's
QEMM 5.0 or later, DOS's EMM386.SYS, or a similar 386
memory manager. HIMEM.SYS alone is not sufficient.
80286 systems:
Hardware: Chips and Technologies NEAT or LEAP chip set,
or an EMS 4.0 or EEMS memory board, plus sufficient
installed RAM.
Software: Qualitas' MOVE-EM 1.02 or later with
Microsoft's HIMEM.SYS, Quarterdeck's QRAM and QEXT, or a
similar 286 memory manager.
Upper Memory Regions
Upper memory blocks are divided into one or more contiguous
regions by your memory manager (see your memory manager
documentation for additional details). All the 4DOS options
and commands which allow access to UMBs also allow you to
specify a particular UMB region. For example, you can load
the resident portion of 4DOS into upper memory region 1 with a
UMBLoad = 1 directive in 4DOS.INI. If you do not specify a
particular region (for example, if you use UMBLoad = Yes
rather than UMBLoad = 1), 4DOS will use the first available
region.
In order to use specific region numbers, you must enable DOS
UMB management with the DOS=UMB or DOS=HIGH,UMB directive in
CONFIG.SYS, or with the DOS_UMB setting for OS/2 2.x DOS
sessions. If you do not, 4DOS will display an error message
and ignore the region number.
You can make region support available by using DOS=UMB or
DOS=HIGH,UMB even if you are using a 3rd-party memory manager
like 386MAX or QEMM. However, enabling DOS UMB management
will disable the "load high" programs that come with some
memory managers, requiring you to use the DOS DEVICEHIGH and
4DOS LOADHIGH commands instead. For additional details on how
your memory manager responds to DOS UMB management, see the
memory manager documentation.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 28
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
Region number support is not available under Novell DOS.
Video
Although 4DOS can normally detect your video parameters
automatically, you may have to configure it to use the system
most efficiently.
4DOS uses two methods of displaying text on the screen:
* 4DOS calls DOS to write the text of prompts and normal
messages. If you use an ANSI driver, DOS will
transmit the calls to it. Otherwise, DOS will use
your BIOS to display text on the screen. DOS text
display calls will work on all DOS systems, regardless
of video type.
* The DRAWBOX, DRAWHLINE, DRAWVLINE, LIST, SELECT,
SCRPUT, and VSCRPUT commands bypass DOS, the BIOS, and
any ANSI driver. They write directly to video memory.
These commands will only work on systems with 100%
IBM-compatible video systems. On other computers,
results will be unpredictable at best. If you
experience a problem, try adding the line OutputBIOS =
Yes to your 4DOS.INI file.
EGA and VGA systems can display text in standard 25-line mode,
plus modes with 43, 50, or more lines. 4DOS normally detects
the number of lines automatically. If it doesn't, you can use
the 4DOS.INI ScreenRows directive or the SETDOS /R command to
set the 4DOS screen length. Similarly, 4DOS normally detects
the width of your screen, but in rare cases with some unusual
video boards you may need to use the ScreenColumns directive
to set the number of columns explicitly.
4DOS never attempts to manipulate your video hardware in order
to set the number of rows or columns actually displayed on the
screen (the "video mode"); to do so, you must use the software
that came with your video board or other software tailored to
your system.
If you put the screen in 43-line or 50-line mode and find that
it still scrolls at the 25th line, you probably have installed
an ANSI driver which does not support your extended screen
length. In this case you may need to use a different ANSI
driver.
The video cursor shape that 4DOS uses is defined as a
percentage of a character cell height. You can set the height
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 29
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
independently for insert and overstrike mode with the
CursorIns and CursorOver directives in 4DOS.INI or with the
SETDOS /S command. If you don't use either, 4DOS sets the
height to 10% of the character cell height for overstrike mode
and 100% (a block cursor) for insert mode.
If the cursor does not appear the way you want it to, use
SETDOS /S to find the values that work for your system. Some
video boards may not give a "smooth" response to varying
SETDOS /S values. For example, a value of 20% may generate a
very small cursor while a value of 30% may generate a half-
height cursor. 4DOS can't do anything about this behavior, so
you will have to experiment to find the cursor values that you
want to use.
If you are using an EGA or VGA adapter, we encourage you to
try UltraVision from Personics Corp. It gives you excellent
control over your video system, includes a wide variety of
text-mode screen fonts, has its own ANSI driver, and works
superbly with 4DOS. A special version for laptop and notebook
computers dramatically improves the readability of their
smaller displays.
Most versions of DOS include a copy of ANSI.SYS, a device
driver that is normally installed with a DEVICE= line in your
CONFIG.SYS file. There are a number of more powerful and
faster versions available as public-domain, shareware, and
retail products. PC Magazine's free utility ANSI.COM can be
enabled, disabled, loaded, and unloaded without rebooting, and
works well inside windows of multitasking systems. It is
available on most bulletin boards and online systems. Another
excellent choice is ANSI-UV.SYS which is included with
UltraVision.
4DOS normally detects automatically whether an ANSI driver is
installed. If you have an ANSI driver installed and 4DOS
doesn't recognize it, try the command SETDOS /A1 which forces
4DOS to use ANSI commands. Use SETDOS /A2 to tell 4DOS you do
not have an ANSI driver installed. These options can also be
set with the ANSI directive in 4DOS.INI.
If you have a laptop or notebook computer with a color video
board and a monochrome screen, you may need to add a
HelpOptions=/M directive to 4DOS.INI, or run HELPCFG to adjust
the HELP colors. (See page 21 for additional information on
help colors.)
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 30
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
Hard Drives and Floppy Disks
4DOS uses your disks for a wide variety of purposes, and many
4DOS commands are designed to help you create, move, delete,
view, and otherwise manage disk files. 4DOS never tries to
manipulate the structure of your hard disk directly. It never
modifies the FAT, root directory, or other system areas of the
disk directly, and it doesn't read or write data on your disk
itself. It always calls on DOS to perform these actions, just
like most application programs do. As a result, 4DOS is
compatible with all disk sizes, formats, and structures that
your DOS version supports.
4DOS is also fully compatible with hard disk compression
software like DBLSPACE, Stacker, and SuperStor. Under some
compression systems you can display file compression ratios
and sort directory displays in compression ratio order using
the /C and /O:c switches of the DIR and SELECT commands. See
APPNOTES.DOC for details on using your particular compression
software with 4DOS.
4DOS will generally access your disk very quickly, but the
speed depends on what you are trying to do. If you find that
4DOS is slower at performing a particular function than you
are used to, you may have asked it to do more than you ask of
traditional DOS commands. In particular, if you use file
descriptions, remember that 4DOS has to access the description
file as well as the actual files that you are manipulating.
Some users notice that the common commands DEL and DIR appear
slower with 4DOS under certain circumstances. With DEL, this
slowdown may be because 4DOS uses a newer method of file
deletion instead of a method that is no longer recommended
(but is still used by COMMAND.COM). The new method is
necessary to enable 4DOS's display of the names of the files
you are deleting, and to support 4DOS's "extended wildcards."
You can force 4DOS to use the older method with DEL's /Q
option, as long as you don't use extended wildcards.
For DIR, any speed decrease is because of 4DOS's directory
sorting and description processing. 4DOS must read all
filenames and descriptions before it can display any of them.
The sort itself is quite fast, but DOS is relatively slow at
retrieving the entire list of file names and passing them on
to 4DOS. Once the 4DOS DIR display starts, it should go as
fast as or faster than the traditional DIR display.
Whenever 4DOS is interrupted by a Ctrl-C or Ctrl-Break, it
performs a "disk reset" to clear out DOS's disk buffers and
reset internal DOS disk parameters. This helps ensure that
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 31
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
modified data has been written to disk even though the
operation was interrupted. A disk reset is also performed
before a REBOOT command. If you have trouble with recognition
of floppy disk changes, with CD-ROM drivers, or with network
disk access, you can try forcing 4DOS to perform a disk reset
after file processing commands, and before a DIR. To do so
use a DiskReset = Yes directive in 4DOS.INI. Such problems
are very rare and normally DiskReset = Yes is not necessary.
4DOS and DOS
4DOS is compatible with all versions of MS-DOS and PC-DOS from
2.0 through 6.2 and above. We recommend the use of DOS 3.1 or
above.
If you use the MS-DOS utility APPEND, you may need to set up
some aliases to invoke it; see APPNOTES.DOC for details.
If you use the FORMAT /S command from MS-DOS or PC-DOS,
version 4.0 or above, FORMAT will copy the file pointed to by
the COMSPEC environment variable (see page 17) and name it
COMMAND.COM. In most cases this means that 4DOS.COM will be
copied to the floppy disk, but with the name COMMAND.COM.
Such a disk should boot properly and start 4DOS, but its
contents are sure to be confusing to others. If you use
FORMAT /S with MS-DOS or PC-DOS 4.0 or above, we recommend
that you copy COMMAND.COM manually to the floppy disk (you can
use an alias or batch file if you format bootable disks
frequently), or rename the file that FORMAT copies back to
4DOS.COM and place a proper CONFIG.SYS file for 4DOS on the
floppy disk.
Menus and SET Commands in CONFIG.SYS
MS-DOS and PC-DOS 6.0 and above support configuration menus in
CONFIG.SYS. If you use these menus, the menu choice you make
is typically stored in an environment variable. In addition,
under MS-DOS and PC-DOS 6.0 and above, and under Novell DOS,
you can put SET commands in CONFIG.SYS to set environment
variables explicitly.
4DOS will automatically retrieve environment variables created
in CONFIG.SYS and store them in the environment for use in
AUTOEXEC.BAT and other batch files, just as COMMAND.COM does.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 32
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
Novell DOS / DR DOS
(This section covers Novell DOS, as well as the older version
of the same product, called DR DOS. Throughout this section,
and the rest of the manual, we refer to the product by its
newer name, Novell DOS. Unless otherwise noted, all
information below applies to both the older DR DOS and the
newer Novell DOS.)
4DOS will work properly as the command processor for Novell
DOS 3.4 through 7.0 and above. However, there are certain
differences between Novell DOS and MS-DOS which may affect
4DOS. This section covers some of those differences; see
APPNOTES.DOC for additional information, including details on
using the Novell DOS task switcher, TaskMax, with 4DOS.
HILOAD
4DOS supports the HILOAD feature using the MS-DOS / PC-DOS
command names of LOADHIGH or LH. To load a TSR high simply
use the command:
LH program [options]
If you want the command to be called HILOAD for complete
Novell DOS compatibility, set up an alias before using it:
alias hiload lh
Just as under MS-DOS, LOADHIGH and LH will not work properly
unless you have memory management software loaded to provide
upper memory block support. Because Novell DOS does not
return any error to 4DOS if a LOADHIGH operation fails, 4DOS
cannot report this condition to you. This means you must use
the Novell DOS MEM program or another similar memory mapping
utility to determine if your TSR was actually loaded high.
The LOADHIGH command's /L and /S switches are included for
compatibility with MS-DOS / PC-DOS 6.0 and above, and will not
work with Novell DOS.
File Passwords
4DOS includes support for Novell DOS file passwords. However,
the command syntax used to access files with passwords is
slightly different under 4DOS than under Novell DOS
COMMAND.COM.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 33
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
The character used to separate passwords from filenames under
Novell DOS is a semicolon [;], which 4DOS uses to separate
parts of an "include list". Therefore, to avoid confusion
with include lists, 4DOS requires the use of two semicolons to
separate the password and filename in any command which
supports wildcards. For example, to delete the file MYDATA
which has the password "fred", you would use these commands:
del mydata;fred for COMMAND.COM
del mydate;;fred for 4DOS
4DOS directory-related commands like MD and CD (or MKDIR and
CHDIR) do not use wildcards. Those commands, and Novell DOS
external commands which accept the "filename;password" syntax,
use only a single semicolon.
Novell DOS hides files which are password-protected. This
means that you must use 4DOS command switches which allow
processing of hidden files (COPY /H, DEL /Z, DIR /A, FOR /A,
MOVE /H, and SELECT /A) to access a password-protected file
under Novell DOS.
Passwords are not automatically preserved when copying or
moving a file with 4DOS. However, the hidden attribute will
be preserved. This means that if you move or copy a password-
protected file and want it to be visible in its new location
or under its new name, you will have to manually remove the
hidden attribute with ATTRIB.
For example, to password-protect the file MYDATA, copy it to
drive A:, and then delete it:
c:\> password mydata /r:fred
c:\> copy /h mydata;;fred a:
c:\> del /z mydata;;fred
To unprotect the password-protected file MYDATA:
c:\> password mydata;fred /n
Using 4DOS with Task Switchers and Multitaskers
Task switchers are programs that allow you to switch quickly
among multiple applications, with one application running at a
time. Multitaskers are more complex programs which appear to
run multiple applications at the same time, with one or more
programs executing "in the background" while you work with
another program on the screen.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 34
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
This section gives you some important general tips on using
4DOS with task switchers and multitaskers, and includes a
specific discussion of Microsoft Windows. If you are using
DESQview, see APPNOTES.DOC for additional information. See
page 42 for a complete discussion on using 4DOS under OS/2.
For convenience, in the text below we will refer to both
multitaskers and task switchers as "multitaskers," and to each
window or partition they use as a "window," even though some
do not have windowed displays.
4DOS works well as both the primary shell (loaded when your
system boots) and the secondary shell (loaded in a window)
with most multitaskers. (See Chapter 1 of your Reference
Manual for more information about primary and secondary
shells.)
Creating a 4DOS Window
Most multitaskers have a pre-configured "DOS" window. In some
cases, this window always runs COMMAND.COM. In others, it
runs the default command processor defined when your system
boots. We recommend that you always set up a 4DOS window
explicitly, with the configuration you want, rather that
relying on the multitasker's generic "DOS" window.
Many multitaskers also run the command processor when you
start certain kinds of windows, such as windows that run a
.BAT file. In general, this use of the command processor is
transparent. The multitasker will run 4DOS for you
automatically when it needs to, and you won't need to do
anything about it.
If you find that your multitasker is running COMMAND.COM when
you meant to run 4DOS, check the COMSPEC setting that is in
effect when you start the multitasker (see page 17 for details
on COMSPEC). You may also need to check the way a particular
window is configured.
When you set up a 4DOS window, be sure to specify the full
path to 4DOS.COM and any startup options you want (see page 15
for information on startup options for secondary shells).
Parameters for 4DOS Windows
To set parameters (swapping, alias space, etc.) to be used by
all 4DOS secondary shells run by your multitasker, use the
[Secondary] section in 4DOS.INI. To set these parameters
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 35
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
separately for a specific window, create a copy of 4DOS.INI
just for that window and use the @d:\path\inifile option on
your command line for the window (see page 11). To change the
configuration of a specific window without creating a separate
copy of 4DOS.INI, use the //iniline option on your command
line for the window (see the example below).
4DOS allows you to place a command to be executed as the last
parameter on your 4DOS command line. This command is executed
before 4DOS displays its first prompt. You can use this
feature to run a batch file (or any other command) each time a
4DOS window is started by your multitasker. For example, if
you are setting up 4DOS to run as a DOS application under
Windows 3.1, your setup for a 4DOS program item (or in a .PIF
file for 4DOS) might look like this:
Program Name: c:\4dos\4dos.com
Parameters: //swapping=f:\ c:\winstart.btm
This tells Windows to load 4DOS, includes a 4DOS.INI directive
to tell 4DOS to swap to drive F, and passes 4DOS the command
C:\WINSTART.BTM. You can place commands in WINSTART.BTM to be
executed whenever such a window is started (for example, to
change your PROMPT to show that you're in a window, or to load
a TSR for just that window). The command to be executed
(C:\WINSTART.BTM in this example), must be the last thing on
the 4DOS command line; no 4DOS switches or options can be
placed after it because anything after the command will be
interpreted as parameters for the command.
This feature is similar to what's provided by the 4START batch
file, but 4START is executed every time 4DOS loads, whereas a
file like WINSTART will be executed only when a 4DOS window is
started from your multitasker. A batch file started this way
will be run after 4START.
## If you wish, you can use 4START to accomplish the same goal.
However, in order to do so you must have a way to detect
whether the multitasker is running, so that you can select the
appropriate commands to execute in 4START. If you are running
DESQview or Windows, you can use the 4DOS internal variables
_DV and _WIN respectively to test this condition. For
example, the following lines could be used in 4START to change
the prompt for DESQview command-line sessions:
iff "%_DV" != "0"
prompt [DV] $p$g
else
prompt $p$g
endiff
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 36
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
## Multitasking and KEYSTACK
If you use KEYSTACK inside a window of a multitasker, and the
KSTACK.COM program has been loaded before the multitasker, you
may find that stacked keystrokes "bleed through" from one
window to another. You can solve this problem by loading
KSTACK.COM in a startup batch file for each window where it is
needed. If KSTACK is loaded before the multitasker as well,
include a /I on the command line when loading KSTACK inside
the window. If you don't, KSTACK will detect that it is
already installed and will not install again.
## ! Multitasking and Disk Swapping
When 4DOS is loaded as the primary shell, it acts as a
"traffic cop" for copies of the transient portion of 4DOS
swapped to disk. Each secondary shell is assigned a unique
shell number, which is normally used as the extension for its
disk swap file name (4DOSSWAP.001, 4DOSSWAP.002, etc.). These
shell numbers avoid file name conflicts between multiple
copies of 4DOS running in different windows but creating swap
files in the same disk directory.
However, if 4DOS is not loaded before the multitasker, this
capability will not be available. In this case, the copy of
4DOS in each window will use a swap file called 4DOSSWAP.000.
To avoid this conflict, you must either use the UniqueSwapName
directive in 4DOS.INI, or force every copy of 4DOS to place
its swap file in its own unique directory by using the
"Swapping=d:\path" directive in 4DOS.INI. If you don't follow
this rule, your system will hang when you switch windows or
when you exit from an application.
This problem will occur only in those rare situations where
4DOS is loaded within a window but is not loaded as your
primary shell, and if 4DOS disk swapping is used in more than
one window at a time. Note that since the default swapping
option uses disk swapping if insufficient EMS or XMS memory is
available, you can be invoking disk swapping in your
multitasker's windows without specifically requesting it.
4DOS and Microsoft Windows
4DOS works well as both the primary shell, loaded before
Windows, and as a secondary shell loaded inside any window.
It works in any Windows mode (Real, Standard, or Enhanced).
The general information about multitaskers beginning on page
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 37
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
34 applies to Windows as well. You should read it before
continuing with this section.
This section gives you the basic information you need to use
4DOS with Windows. For additional details and updated
information be sure to check APPNOTES.DOC. All of the
information in this section applies to both the standard
single-user version of Windows and the peer-to-peer network
version, Windows for Workgroups.
To run 4DOS as a secondary shell from within Windows, you will
need to create a desktop object for it. The generic "MS-DOS
Prompt" object supplied by Microsoft will normally run
COMMAND.COM.
You can set up a 4DOS object from the Program Manager's File /
New menu selection. To do so, simply create a new program
item and set the command line to d:\path\4DOS.COM (use the
appropriate drive and path for your system). You can put the
name of a batch file at the end of the command line if you
want to run some specific commands when 4DOS starts under
Windows (see page 36 for details).
When you create a new item in this way, it will be initialized
with a standard DOS icon (the word "DOS" inside a rectangle).
To install a specific icon for 4DOS, use the Program Manager's
File / Properties menu selection. Click on the Change Icon
button and type in the full path name of your new 4DOS icon
file. We supply two Windows icons with 4DOS: 4DOS.ICO for
color displays, and 4DOSM.ICO for monochrome displays. You
can create your own icon with any icon editor.
For more flexibility, you can use the Windows PIF editor to
create a 4DOS.PIF file. We have included a sample .PIF file
on the distribution diskette. You must edit this file and
make it correspond to your system before you use it to run
4DOS.
4DOS will work properly in either a full-screen or a windowed
session. The .PIF file determines the mode that 4DOS will
start in. If you don't use a .PIF file, 4DOS will start in
the mode set in the _DEFAULT.PIF file provided with Windows.
You can set up multiple .PIF files if you need different
session types (for example, one for windowed and one for full-
screen sessions).
Your batch files can determine whether they are running in a
secondary shell under Windows, and the current Windows mode,
with the 4DOS _WIN internal variable.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 38
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
You can easily set up the Windows File Manager to make .BTM
files "executable." Open your WIN.INI file with any editor
and find the section labeled [extensions]. Add the following
line to the end of the section:
btm=c:\4dos\4dos.com /c ^.btm
(adjust this to show the proper path for 4DOS.COM on your
system). It is not possible to execute .BTM files from the
Program Manager by modifying the Programs= setting in WIN.INI;
if you try to do so, the system will hang when you attempt to
actually invoke a .BTM file.
For information on resolving memory allocation problems with
Windows, see page 58.
Using 4DOS on a Network
4DOS works well with DOS-compatible networks. This section
will give you some tips on using 4DOS on a network, and on the
proper locations for 4DOS files on a network.
In general, you'll find that you can load and run your network
software normally under 4DOS. Network drives will be
accessible as normal drives once the network is loaded, and
files on the network will be accessible just as if they were
on a local hard disk.
Some networks support file and directory names beginning with
a double backslash, or with a server name followed by a colon,
to identify files by their location on the network. 4DOS
detects such names and passes them through to the network
unaltered, allowing the network software to process them
properly.
In rare situations, you may have trouble loading network
software under 4DOS. To the best of our knowledge, all DOS-
compatible networks work with 4DOS. If yours doesn't, our
experience suggests that the most common cause is a network
bug, an old version of your network software, or a conflict in
the way 4DOS and your network are configured. Most bugs have
now been corrected by network vendors, and should not appear
on your system. If you have any questions about compatibility
with your particular network, check for a listing in
APPNOTES.DOC, and feel free to contact our technical support
department for additional assistance.
If you need to boot a diskless workstation from a network
drive, you must have the network drive accessible at boot
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 39
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
time. If this condition is satisfied (so 4DOS can find its
files on the network drives), the normal approach can be used
to start 4DOS from the network. You can also configure 4DOS
so that it boots from the floppy disk image used to start your
diskless workstation, then retrieves its files from the
network. For complete details on starting 4DOS on a diskless
workstation under Novell Netware see APPNOTES.DOC. The
approach described there can generally be used for other
networks as well.
Some networks with large server disk drives (256 MB or more)
may report total and free disk space values that are too small
if the DIR command, the FREE command, or the @DISKFREE,
@DISKTOTAL, or @DISKUSED variable functions are used on the
server drive. If this occurs, it is because DOS does not
provide a way for the network software to return larger values
to 4DOS.
! ## When you use 4DOS with your network software loaded you need
to ensure that two users do not use the same directory
simultaneously for secondary shell disk swap files. If they
do, the filenames (4DOSSWAP.001, etc.) will conflict and each
user will write over the other's files, possibly causing one
or both systems to hang. In most cases you will find this is
not a problem, because most network users swap 4DOS to XMS or
EMS memory or a local hard disk. However if you do swap to a
network drive, you can prevent a conflict with the
UniqueSwapName directive in 4DOS.INI, or by using the Swapping
directive to assign each user's swap files to a different
directory. For this reason, 4DOS will automatically enable
UniqueSwapName if it detects that you are swapping to a
network drive.
4DOS and Novell Netware
This section gives you basic information for using 4DOS with
Netware. For additional details and updated information be
sure to check APPNOTES.DOC. The information below applies to
Netware, but not to Novell's peer-to-peer networking software,
Netware Lite.
4DOS works well with Netware, and compatibility problems
should be very rare. Novell's newer NETX shells are more
reliable than the older NET3 / NET4 / NET5. We recommend that
you use NETX with 4DOS whenever possible.
4DOS includes a 4DOS.INI directive for Netware, NetwareNames.
You must set NetwareNames = Yes on systems which load Netware
to avoid problems with destroyed environment variables during
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 40
CHAPTER 3 / 4DOS AND YOUR HARDWARE AND SOFTWARE
-------------------------------------------------------------------
LOGIN. Setting NetwareNames = Yes will increase the resident
size of 4DOS by 112 bytes.
Under Netware version 3 and above, 4DOS commands which scan a
directory tree (e.g. COPY /S, DIR /S, GLOBAL, etc.) may stop
without scanning the entire tree, and without displaying an
error message. This happens when such commands exceed the
size of the directory search table on your server; this is a
Netware design issue and not a 4DOS bug. You can fix this
problem by having your system administrator increase the
Maximum Oustanding NCP Searches parameter for the server in
question.
4DOS can be set up to run on Novell Netware diskless
workstations which boot from the server. To do so, you must
make several changes to 4DOS.INI and your other startup files.
See APPNOTES.DOC for complete details.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 41
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
CHAPTER 4 / USING 4DOS UNDER OS/2
4DOS offers almost unlimited flexibility for your OS/2 DOS
sessions, and has been specifically designed to take advantage of
OS/2 features wherever possible. However, to use DOS, 4DOS, and
OS/2 successfully requires some planning if you want to get all the
power possible out of each operating environment.
This chapter explains some of the planning you should do and some
of the techniques you can use to get everything working together
correctly. It covers:
* Configuring OS/2 version 1.x for 4DOS (see page 43).
* Configuring OS/2 version 2.x DOS sessions (Virtual DOS
Machines) for 4DOS (see page 43).
* Arranging your 4DOS.INI, 4START, 4EXIT, and AUTOEXEC.BAT
files for use in the multiple DOS sessions available under
OS/2 2.x (see page 47).
* Setting up temporary DOS sessions in OS/2 2.x to run a
single DOS command or application (see page 48).
* Adjusting 4DOS.INI, 4START, 4EXIT, and AUTOEXEC.BAT when
you can boot under either DOS or OS/2 using OS/2's Dual
Boot or Boot Manager features (see page 49).
Throughout this section, we assume that you want to use 4DOS as
your command processor in all of these situations. Also, we assume
that you have installed 4DOS in the C:\4DOS directory (alter the
SHELL= and DOS_SHELL settings below appropriately if 4DOS is
installed in a different directory).
If you are using OS/2's Dual Boot or Boot Manager, you will have
(at least) two copies of CONFIG.SYS and AUTOEXEC.BAT on your
computer, one for booting OS/2 and OS/2 DOS sessions, and the other
for booting DOS without OS/2. See the section on Dual Boot and
Boot Manager on page 49 for details on where these two sets of
files are stored. Unless otherwise specified, references in this
section to CONFIG.SYS and AUTOEXEC.BAT refer to the OS/2 versions
of these files.
Before you read this section, read through Chapter 1 / Installation
(see page 4) for details on installing 4DOS and modifying the
SHELL= statement in your OS/2 CONFIG.SYS file.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 42
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
OS/2 Version 1.x
Under OS/2 version 1.x, you can install 4DOS simply by setting
the SHELL= line in CONFIG.SYS. This command determines how
4DOS starts when you invoke the DOS Compatibility Box from the
OS/2 desktop.
You can use the [options] portion of the SHELL command to
select a special 4DOS.INI file and to set any other 4DOS
command line options you choose. In essence, you can set up
4DOS just as you would if you installed it on a DOS system
without OS/2.
You can skip the sections below which explain how to configure
DOS sessions under OS/2 version 2.x. If you are using the
OS/2 version 1.x Dual Boot capability, you should read the
section on Dual Boot and Boot Manager (page 49).
OS/2 Version 2.x
Under OS/2 version 2.x, you can have multiple objects which
start DOS sessions, also called Virtual DOS Machines (VDMs).
These may include objects in the Command Prompts window,
objects for "migrated applications," objects for DOS and
Windows applications, and objects for batch files.
Assuming you set up your VDM objects as described here, 4DOS
is loaded as a primary shell each time a DOS session starts.
4DOS will process 4DOS.INI, execute your 4START file if you
have one, and execute AUTOEXEC.BAT. When the session is
closed with the EXIT command, 4DOS will run your 4EXIT file if
you have one. You can start any number of DOS sessions and
(within the limits of system resources) have as many running
simultaneously as you like.
This is fundamentally different from what happens when you
boot your computer under DOS or OS/2 1.x. In these
environments there is only one 4DOS primary shell,
AUTOEXEC.BAT is only executed once each time you boot, and so
on. OS/2 version 2.x gives you much more flexibility, but
that flexibility requires planning to get the most out of
4DOS.
For example, you can have all your DOS sessions use the same
AUTOEXEC.BAT file, or you can have different versions of
AUTOEXEC.BAT for different sessions. The same is true of the
other startup and exit files (4DOS.INI, 4START, and 4EXIT).
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 43
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
This section and the sections below discuss how to set up
objects for your DOS sessions, and how to arrange your startup
and exit files so that 4DOS will do just what you want it to
in each DOS session.
Settings for DOS Sessions
Each VDM object contains its own information about how to
start DOS for that session. In essence, each object has its
own CONFIG.SYS file built into it. The information attached
to an object which indicates how to start DOS is called its
DOS Settings.
You can modify these settings using OS/2's Settings notebook.
To do so, click the right mouse button in the object. When
the popup menu appears, click the left mouse button on the
small arrow to the right of the Open selection, then again on
the Settings selection on the submenu.
Once the Settings notebook is open, use the Program page to
modify the object's program name, startup directory, and
command line parameters. The Session page lets you set the
session type. Other pages let you adjust other configuration
data for the object.
To modify the DOS settings, use the button with that legend on
the Session page of the notebook. Clicking on this button
opens the DOS settings dialog box. To modify an individual
setting, click on the setting name in the list box at the
left, then click on the value window to the right and enter
the new value. Settings with choice values (such as "On" and
"Off") will show buttons for the value, rather than a text
window.
In a new object, each DOS setting starts out with a default
value taken from your CONFIG.SYS file. For settings which
have no corresponding command in CONFIG.SYS, OS/2 uses a
built-in default value.
For example, the DOS_SHELL setting, which specifies the
command processor to use for a DOS session, defaults to the
value on the SHELL= line in CONFIG.SYS. Changing the SHELL=
line changes the default DOS_SHELL value for all new DOS
sessions (as usual, changes to CONFIG.SYS are only effective
after you reboot the system).
However, the HW_TIMER setting (which tells OS/2 whether to
allow the session to manipulate the hardware timer), always
defaults to OFF. The default cannot be changed in CONFIG.SYS.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 44
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
Modifying a setting whose default is specified in CONFIG.SYS,
such as DOS_SHELL, breaks the "link" between that setting and
the default in CONFIG.SYS. After the modification, changes
made to the default in CONFIG.SYS will not affect the object
at all.
For example, to set up 4DOS as your default DOS command
processor for OS/2 DOS sessions you might include this line in
the OS/2 CONFIG.SYS file:
SHELL= C:\4DOS\4DOS\COM C:\4DOS /P
If you then create a new DOS session object, its DOS_SHELL
setting will reflect the value from the SHELL= line. Now
suppose you modify the DOS_SHELL setting for that object so
that it reads:
C:\4DOS\4DOS.COM C:\4DOS /L /P
At this point the "link" between your object and CONFIG.SYS is
broken. If you move 4DOS to a different directory and modify
the SHELL= line in CONFIG.SYS, the object's DOS_SHELL setting
will not be changed, and the object will no longer work
properly. In order to correct this you will have to manually
modify the DOS_SHELL setting for that object.
You can return any DOS setting to the current default value at
any time. To do so, open the DOS Settings dialog box,
highlight the setting name, and click on the Default button.
This replaces the value of the setting with the value OS/2
read from CONFIG.SYS when you last booted, or with the value
from OS/2's standard defaults. For settings which have a
default in CONFIG.SYS, this re-establishes the link between
the object and CONFIG.SYS, and subsequent changes you make in
CONFIG.SYS will again be reflected in the setting for that
object each time you reboot.
Configuring DOS Sessions for 4DOS
To create a VDM object that gives you a standard 4DOS prompt,
first place an asterisk [*] in the Program Name field (on the
Program page in the Settings notebook). This tells OS/2 to
load the DOS command processor and go to a prompt instead of
running a specific DOS application. Then go to the Session
page and set the session type to DOS Full Screen or DOS
Window.
Next, click on the DOS Settings button and set up the DOS
settings for the object. 4DOS will run properly with default
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 45
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
DOS settings, but you may want to check that the DOS_SHELL
setting is correct, because this setting determines which
command processor OS/2 will load when the object is used to
start a session.
DOS_SHELL is formatted just like the SHELL= line in CONFIG.SYS
(see page 11), but without the characters "SHELL=". The
DOS_SHELL setting should always include the COMSPEC path (see
page 17 for an explanation of the COMSPEC path). For example,
you might set DOS_SHELL to:
C:\4DOS\4DOS.COM C:\4DOS /P
If you've set up CONFIG.SYS for 4DOS as described in Chapter
1, any new VDM objects you create will automatically use the
correct DOS_SHELL setting for 4DOS. However, VDM objects
which existed before you modified CONFIG.SYS may list
COMMAND.COM in the DOS_SHELL setting. To correct the setting
so that 4DOS is used for these objects, modify DOS_SHELL in
each object to point to 4DOS, as shown in the example above,
or change DOS_SHELL back to the default value with the Default
button.
You can customize any object with optional 4DOS command line
switches, such as @ininame, or //iniline (see page 11 for more
details). These switches can be placed at the end of the
DOS_SHELL setting, or in the Parameters field in the Program
window.
For example, your Program page might have the following
settings for a standard 4DOS prompt, using a special .INI file
for this session:
Program Name: *
Parameters: @C:\4DOS\OS2VDM.INI
Working Directory: C:\
You can run any alias, internal command, DOS application, or
batch file directly from a 4DOS VDM object. To do so, place
the command to be executed as the last item in the Parameters
field for the object. 4DOS will execute the command and then
display a prompt. 4DOS will execute the command after it
processes your 4START file (if any) and AUTOEXEC.BAT.
If you precede the command name with /C, 4DOS will exit and
return to the OS/2 desktop when the command is finished. This
is a "temporary" VDM, described in more detail on page 48.
You can also make 4DOS exit when the command is complete by
invoking a batch file or alias which ends with the EXIT
command.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 46
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
You can create an object which runs a DOS program by placing
the program name (including drive and path) in the object's
Program Name field. When you select the object, OS/2 will
automatically start a temporary VDM to run the program. See
page 48 for additional details.
## Once you have created a 4DOS object on your desktop, you may
wish to create a menu item on the desktop menu to run it. You
can do so using OS/2's menu editing facilities. If you do,
when you start 4DOS from the menu OS/2 will pass the name of
the desktop directory as a command line argument to 4DOS.
This directory name will appear to 4DOS as a COMSPEC path or a
command to be executed, and may result in an error message
when the session is started from the desktop menu. To avoid
this, add a single % sign in the Parameters field for the
object. The % sign will prevent OS/2 from passing the
directory name, but will be treated as a null parameter by
4DOS.
4DOS.INI
Each time you start a DOS session, 4DOS will search for
4DOS.INI in the directory where 4DOS.COM is stored, then in
the root directory of the boot drive.
In most cases, the best strategy is to put 4DOS.INI in the
same directory as 4DOS.COM and make sure your COMSPEC setting
is correct as described above. 4DOS will use this 4DOS.INI
file by default for all DOS sessions.
To use a different .INI file for sessions started from a
particular object, include an @ininame parameter on the
DOS_SHELL setting for that object as described in the previous
section. Be sure to include the full path and name of the
file. To modify specific 4DOS.INI settings for sessions
started from an object, use one or more //iniline parameters
on the DOS_SHELL setting for the object. For objects with a
[*] in the program name field, the @ininame or //iniline
parameters may be placed at the beginning of the Parameters
field if you wish, rather than in the DOS_SHELL setting.
You can also use the @ininame parameter on your SHELL= line in
the OS/2 CONFIG.SYS file to change the default location of
4DOS.INI for all DOS sessions run under OS/2. If you do so,
remember that changes made in CONFIG.SYS will only take effect
after your next reboot, and will not affect existing objects
whose DOS_SHELL setting has been changed from its default
value.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 47
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
AUTOEXEC.BAT, 4START, and 4EXIT
Each time you start a DOS session, 4DOS will search for 4START
and 4EXIT in the directory where 4DOS.COM is stored, then in
the root directory of the OS/2 boot drive. It will search for
AUTOEXEC.BAT in the root directory of the OS/2 boot drive.
Therefore, the same 4START, 4EXIT, and AUTOEXEC.BAT files will
normally be used for all DOS sessions. You can override these
defaults with the 4StartPath and AutoExecPath directives in
4DOS.INI.
To select different 4START, 4EXIT, and AUTOEXEC.BAT files for
a particular object, place the files for that object in a
directory that is not one of the default directories described
above. Then create a new 4DOS.INI file for that object, using
the 4StartPath and / or AutoExecPath directives to point to
the new directory, or use a //4StartPath or //AutoExecPath
directive in the DOS_SHELL setting or parameters field for the
object.
To disable the default 4START, 4EXIT, or AUTOEXEC.BAT files
for a particular object without selecting alternate files, use
the techniques described above to tell 4DOS to load these
files from a directory where they do not exist. All three
files are optional, so if they do not exist in the directory
specified by 4StartPath or AutoExecPath, they will not be
executed.
Remember that if your 4START and 4EXIT files have the
extension .BTM, they may be executed by both 4DOS and 4OS2.
If so, you may need to customize them for DOS mode and OS/2
mode. You can use the internal variable %_DOS to separate
commands for each operating system. For example:
iff "%_DOS" == "DOS"
rem Commands for DOS only go here
else
rem Commands for OS/2 only go here
endiff
"Temporary" VDMs
So far, we have discussed starting a VDM to run 4DOS and get
to the DOS prompt. OS/2 version 2.x also lets you start a
temporary VDM, for example to run a DOS application or batch
file from a desktop object.
In a temporary VDM, 4DOS is still loaded as the primary shell
even though it is being invoked to run just a single command
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 48
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
or application. This primary 4DOS shell is also a "transient"
shell that exits (back to OS/2) when its job is done.
Temporary VDMs are created automatically by OS/2 if you set up
an object with the Program Name set to the name of a DOS
application. You can also start them yourself by using a /C
(see page 16) in the Parameters field for a standard 4DOS
object.
For example, to create a temporary VDM to run your word
processor you might set up an object like this:
Program Name: E:\WORDPROC\WP.EXE
Parameters: [blank]
Working Directory: D:\LETTERS
You usually won't want a temporary VDM to load all the memory-
resident utilities and execute all the commands that you want
when you are setting up a DOS prompt. Most often, you will
want to set up a simple VDM, run the command, and exit as
quickly as possible. The 4DOS internal variable %_TRANSIENT
makes it easy to do just that. The beginning of your
AUTOEXEC.BAT file could look like this:
iff %_transient == 1 then
call setpath
call aliases
quit
endiff
This fragment calls other batch files to set up the path and
aliases, but it does not load TSRs.
Configuring 4DOS for Dual Boot and Boot Manager
When you install OS/2, you are given a choice of making it the
only operating system on your computer, or retaining a DOS
boot capability as well.
If you retain a DOS boot capability, OS/2 offers two different
methods for switching between DOS and OS/2: Dual Boot (OS/2
versions 1.x and 2.x) and Boot Manager (OS/2 version 2.x
only). The way you configure 4DOS to work with OS/2 depends
partly on whether you retain a DOS boot capability on your
computer, and, if so, which method you choose.
Dual Boot is invoked with the BOOT command (the program
BOOT.COM distributed with OS/2). If you use Dual Boot, you
will have one copy of CONFIG.SYS and AUTOEXEC.BAT available on
your boot drive when you boot in DOS mode and another version
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 49
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
available when you boot in OS/2 mode. BOOT.COM works by
swapping the DOS and OS/2 versions of CONFIG.SYS and
AUTOEXEC.BAT, as well as other system data, then rebooting the
computer.
Boot Manager (included with OS/2 version 2.x only) uses a
different approach. It lets you install DOS on one hard drive
partition and OS/2 on another partition. When you boot the
computer, Boot Manager displays a menu and lets you pick which
operating system to boot. Each partition will have its own
versions of CONFIG.SYS and AUTOEXEC.BAT.
The difference between these approaches is the location and
availability of files.
If you use Dual Boot, the system always boots from the same
drive, whether you are booting DOS or OS/2. The CONFIG.SYS
and AUTOEXEC.BAT files are switched back and forth as you
switch from one operating system to the other. The set of
files that is in use at any given time is stored in the root
directory of the boot drive, and the set not in use is stored
in the \OS2\SYSTEM directory.
If you use the Boot Manager, the files for DOS reside on one
drive (for example, C) and those for OS/2 are on another drive
(for example, D). The files are not moved when you switch
operating systems. In both cases, you can keep the startup
files synchronized or independent to meet your own needs.
CONFIG.SYS
Setting up CONFIG.SYS is very simple, whether you are using
Dual Boot or Boot Manager. Modify both the DOS and OS/2
CONFIG.SYS files for 4DOS as described on page 7. The two
files remain separate, and any changes to common items (for
example the name of the directory where 4DOS is stored, used
in the SHELL= command) must be made in both files.
AUTOEXEC.BAT
With AUTOEXEC.BAT, you have more flexibility. Whether you use
Dual Boot or Boot Manager, you will have two standard
AUTOEXEC.BAT files: one for starting 4DOS under a DOS boot
and one for OS/2 DOS sessions.
If you want different commands in AUTOEXEC.BAT for a DOS boot
and OS/2 DOS sessions, you can keep the two files separate and
distinct. Just be sure to update both files whenever you make
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 50
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
changes to the commands they have in common. You can also
CALL other batch files from each copy of AUTOEXEC.BAT to
handle common commands.
You may find that many of the commands in the two AUTOEXEC.BAT
files are the same and that it is more convenient to maintain
a single file. The following paragraphs explain how to do so.
If you use the Boot Manager, you can put all of your
instructions in one file and start it from the other. For
example, if DOS boots from drive C: and OS/2 boots from drive
D:, your AUTOEXEC.BAT on drive D: could simply be:
cdd c:\
autoexec.bat
On a Dual Boot system the startup files are moved each time
you boot, so you cannot start one file from the other as you
can with Boot Manager. If are using Dual Boot and you want to
use the same commands in AUTOEXEC for both DOS and OS/2, you
must put all of your commands into a third file (for example,
C:\SYSTART.BAT), and CALL that file from both the DOS and OS/2
AUTOEXEC.BAT files.
You can also use the AutoExecPath directive in 4DOS.INI to
force 4DOS to look in a particular directory for AUTOEXEC.BAT
regardless of whether it is started from an OS/2 DOS session
or from a DOS boot, and regardless of the boot drive.
If you keep commands for both boot modes in a single
AUTOEXEC.BAT file, you can use the internal variable %_DOSVER
to separate commands to be executed during a DOS boot from
those for an OS/2 DOS session. %_DOSVER will be 10 or above
for OS/2 DOS sessions. For example:
iff %_DOSVER ge 10.0
rem Commands for OS/2 DOS go here
else
rem Commands for native DOS go here
endiff
4DOS.INI, 4START, and 4EXIT
Handling 4DOS's startup and exit files is a little different.
Unlike CONFIG.SYS and AUTOEXEC.BAT, the other startup files
won't be swapped for you when you switch operating systems
with Dual Boot, and they won't be automatically stored on
separate partitions if you use the Boot Manager. 4DOS
normally looks for these files in the directory where 4DOS.COM
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 51
CHAPTER 4 / USING 4DOS UNDER OS/2
-------------------------------------------------------------------
is stored, so the same files will be used for both a DOS boot
and OS/2 DOS sessions.
To set up one 4DOS.INI file for DOS and another for OS/2 DOS
sessions, use the @ininame parameter on the SHELL= line in
CONFIG.SYS (see page 11). For example, you might configure
the SHELL= line for DOS to load the default file (4DOS.INI in
your 4DOS directory), and use the @ininame parameter on the
SHELL= line in the OS/2 CONFIG.SYS file to select a different
.INI file for OS/2 DOS sessions. To do so, use a line like
this for DOS:
SHELL=C:\4DOS\4DOS.COM C:\4DOS /P
And one like this for OS/2 (enter this on one line):
SHELL=C:\4DOS\4DOS.COM C:\4DOS @C:\4DOS\4DOSOS2.INI /P
To select different 4START and 4EXIT files for DOS and for
OS/2 DOS sessions, place one set of files in a different
directory (not the directory where 4DOS.COM is stored). Then
either set up a different 4DOS.INI file for that boot mode as
described above, using 4StartPath to point to the new
directory, or use a //4StartPath directive on the SHELL= line
in CONFIG.SYS for that boot mode. For example, this line in
an OS/2 CONFIG.SYS file sets 4DOS as the command processor,
and tells 4DOS to look for 4START and 4EXIT in the
C:\4DOS\OS2START directory (enter this on one line):
SHELL=C:\4DOS\4DOS.COM C:\4DOS
//4STARTPATH=C:\4DOS\OS2START /P
You can also keep commands for both boot modes in a single
4START or 4EXIT file, and use %_DOSVER to separate the
commands to be executed during a DOS boot from those for an
OS/2 DOS session. For a basic example, see page 51.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 52
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
Appendix A / Solving Software Compatibility Problems
Any DOS program running on your computer can potentially interact
with any other program running at the same time. Of course, most
program interactions are ones you want: your print spooler
intercepts printer output and saves it to print later, or your disk
cache intercepts disk requests and speeds them up by retrieving
data from memory.
If you've used the PC for any length of time, however, you'll know
that you can also get interactions you don't want. If you load
just the wrong combination of TSRs and device drivers, your system
may slow to a crawl. Perhaps you can't load your favorite Personal
Information Manager with Windows running. And so on.
As publishers of a product that replaces part of the operating
system, we're very familiar with these issues - not because 4DOS is
more likely to cause problems, but because it sometimes gets blamed
first when a problem appears. Our technical support department has
developed a set of reliable techniques for finding out what's
causing an apparent compatibility problem with 4DOS and other
software.
We are presenting these techniques here as a series of things to
try when there seems to be a compatibility problem. Some may not
make sense for the particular problem you're investigating. Others
may not yield useful results. But as a group, they'll help you
resolve many of the common software interactions that do appear,
whether with 4DOS or anything else. Before you get started, be
sure to check APPNOTES.DOC to see if we've already solved the
problem you're facing.
If you've tried the techniques in this section and haven't found
the problem, contact our technical support department (see page 3).
We have more tricks up our sleeve, and a very high success rate at
resolving compatibility problems.
Some of our suggestions help you figure out what's going on, but
aren't intended to help you fix it. For example, when we suggest
that you remove all your TSRs to look for the problem, we aren't
suggesting that as a permanent solution, but only as a diagnostic
test.
The first thing to consider is whether the particular combination
of software that's not working used to work together. If so, think
carefully about what you have changed and see if reversing the
change solves the problem. If it does, then you can narrow your
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 53
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
search, using the following techniques to find out what it is about
that specific change that is causing the problem.
Second, make sure that your problem can be reproduced relatively
easily, and make sure you know exactly what sequence of commands or
other steps reproduces it. Most interactions are very easy to
reproduce, but if you think there's an interaction and it occurs
once every 10 days, it's going to be difficult to know when you
have fixed it. Also, the process of carefully documenting how to
reproduce a problem often helps you realize what the problem is
without further effort.
If you have a problem with a specific application hanging or
working improperly, and the above techniques don't help, then try
reducing your system configuration to the simplest possible level.
This is the single most useful tool we know for finding
compatibility problems. To do so, use all of the approaches listed
below, and any other similar things you may be able to think of
about your particular system after reading our suggestions.
When you're modifying 4DOS.INI in an attempt to resolve problems,
you may find the INIQuery directive useful. If you set INIQuery to
Yes for a section of 4DOS.INI, then 4DOS will prompt you for each
line in that section. This allows you to test the effects of
changing directives in the .INI file without actually modifying the
file for each test.
Path Length
The first thing to do is to check the length of your PATH
variable. 4DOS lets you make it longer than the traditional
limit of 123 characters. Some programs can't handle long
PATHs and may behave strangely. If your PATH is over the
traditional limit, reduce its size using the PATH or ESET
command and see if the application starts working. If so, use
a batch file or alias to set up an alternate path for running
that one program, for example:
setlocal
path d:\myprog
d:\myprog\myprog.exe
endlocal
The SETLOCAL / ENDLOCAL pair saves and restores the
environment; when you're done, the old PATH will be restored
automatically.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 54
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
Environment Size
Next, check how much environment space is in use in your
system. The 4DOS MEMORY command reports the total environment
space and the amount free; a simple subtraction tells you how
much is in use. Some programs simply don't work right if
there's a lot of information in the environment (these
programs don't usually care how big the total environment
space is, only how much of it is actually in use). In most
cases, these problems show up when the amount of space in use
gets up to around 1K (1024) bytes or so, but they can occur at
any point. To test for this, use the following simple batch
file:
setlocal
unset var1 var2 var3 ...
[command to run the program in question]
endlocal
where VAR1, VAR2, etc. are variables you can remove from the
environment to decrease the space in use before running the
program. If reducing the environment space in use makes
things work, contact the program's manufacturer and report the
problem. You have found a legitimate bug. DOS allows an
environment of up to 32K bytes, and your program should be
able to work with an environment that large. Until the
manufacturer fixes the bug, use the batch file above as a
workaround.
Testing for Interactions
Before testing for software interactions, try booting your
system with COMMAND.COM, without changing anything else about
your configuration (though you may have to modify AUTOEXEC.BAT
if it contains 4DOS-specific commands). If the problem
remains, then it's not related to an interaction with 4DOS.
Contact the manufacturer of the software that isn't working
properly to determine the cause of the problem.
To look for a multi-program interaction, you'll need to remove
all the device drivers and TSRs you possibly can and still
have enough software present to demonstrate the problem. For
example, you can't look for a network problem if you don't
load the network, but you probably can check it without your
disk cache running. If you're running DOS, be sure you have a
bootable floppy disk handy (see page 4) before modifying your
CONFIG.SYS and AUTOEXEC.BAT files to remove drivers and TSRs.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 55
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
If you run a partitioning disk driver, you probably can't
remove it for diagnostic purposes without temporarily losing
access to some or all of your hard disk. The same may be true
of disk compression programs like Stacker, depending on the
mode in which they are installed. Most other device drivers
and TSRs can be removed without causing trouble. Check your
system and software manuals if you are unsure of which
programs can safely be removed.
Once you know what you can take out, don't skimp or guess
where the interaction might be. Take out everything you
possibly can from CONFIG.SYS, 4START, and AUTOEXEC.BAT that
loads or accesses another program . In CONFIG.SYS, remove all
possible DEVICE and INSTALL statements. In AUTOEXEC.BAT,
remove all the lines you can that load memory-resident
programs (and remember that some DOS utilities, like MODE, can
be memory-resident).
Of course, you should save copies of your configuration files
before you delete anything. Better yet, use the REM command
to remove lines temporarily without deleting them. REM can be
used on any line in AUTOEXEC.BAT, in 4START, and in CONFIG.SYS
if you are running DOS 4.0 or above. (In earlier DOS
versions, REM will work in CONFIG.SYS but will also generate a
harmless "unrecognized command" message during bootup.) If
you want to remove everything in AUTOEXEC.BAT you can rename
it to another name (say AUOTEXEC.SAV), and rename it back when
you are done testing.
Clean out your configuration files all at once, not one line
at a time. If that solves the problem, you're on the right
track, and you can put the lines back one at a time until you
find the culprit. If it doesn't solve the problem, you won't
waste time removing lines one by one.
If the problem isn't there under COMMAND.COM, try fiddling
with the program's configuration. If you were loading it high,
try loading it low. If you can change the way it uses memory,
try doing so. If it's a driver that's used by other programs
(like your mouse driver) and is quite old, consider obtaining
an update from the manufacturer. All of these techniques will
help you narrow down what it is about the program that's
causing a problem. Once you have done that, you may have a
simple workaround. If not, contact our technical support
department and we'll try to verify the problem, then resolve
it with the manufacturer of the other software.
Some problems can be resolved by modifying the order in which
you load drivers and TSRs. If you've found a problem with a
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 56
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
particular driver or TSR, if possible try loading it earlier
or later than you were and see if the problem goes away.
If you're running OS/2, the process of removing device drivers
and TSRs is usually simpler than under DOS. You probably
won't need to modify CONFIG.SYS, but you may need to adjust
the DOS Settings for the session in which 4DOS is running (see
page ). Try changing the amounts of XMS, EMS, and DPMI memory
available to the DOS session, removing drivers if any are
listed under DOS_DEVICE in your DOS Settings, and removing
memory-resident programs loaded in AUTOEXEC.BAT as described
above.
Memory Allocation Conflicts
A memory allocation conflict is very simple. It occurs when
two (or more) programs try to use the same memory, or when a
program behaves differently depending on where it is loaded in
memory. Inevitably, at least one of the programs will operate
incorrectly, report an error, or hang. These conflicts can be
very hard to diagnose, because it's difficult to determine
which programs are actually causing the conflict, and the
symptoms may appear to be totally unrelated to the program
responsible for the problem.
4DOS uses memory in a more complex way than COMMAND.COM. It
can use base, XMS, or EMS memory, and store portions of itself
and its data in UMBs (see page 24 for additional details on
4DOS memory usage). COMMAND.COM does not offer any of these
capabilities. This added complexity makes it more likely that
you'll encounter memory allocation conflicts with 4DOS. This
isn't because 4DOS is less reliable than other programs, it's
because the memory allocation conflict was there waiting to
happen, and 4DOS triggered it through its access to additional
memory.
It's easy to check whether 4DOS's use of memory is a problem.
If you configure 4DOS so that it swaps to disk, and disable
all use of UMBs, then 4DOS uses only base memory, and (in
terms of memory allocation) operates very much like
COMMAND.COM. You can make this change in two simple steps.
First, add one line to 4DOS.INI:
Swapping = c:\
(change this if you prefer to swap to a different drive, but
do not use a RAM disk when you are testing for compatibility
problems - the RAM disk itself could be part of the problem).
Second, remove any lines in 4DOS.INI which allocate UMBs
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 57
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
(UMBLoad, UMBEnvironment, UMBAlias, and UMBHistory), or place
a semicolon at the start of such lines to temporarily turn
them into comments.
If these steps solve the problem, you've found a memory
allocation conflict. The next thing to do is remove all the
drivers and TSRs you can to see if you can determine where the
conflict is. For specific techniques, see page 55. If you
can't come up with an acceptable solution using these
techniques, contact JP Software for technical assistance.
Memory Allocation and Microsoft Windows
If you use Microsoft Windows, there are some specific memory
allocation issues you need to consider. When you run Windows
in 386 Enhanced mode, the Windows memory manager "takes over"
from the underlying DOS-based memory manager. If the two
programs don't see memory in quite the same way, the conflict
can produce some very strange behavior. For example, the same
memory can be allocated twice, or Windows can put portions of
itself in areas that were being used by 4DOS or your device
drivers and TSRs. These problems typically apply to upper
memory, and not to EMS or XMS memory. Any of them can cause
substantial difficulties in Windows DOS sessions.
To avoid such problems you need to systematically verify that
Windows and your memory manager are using the same information
about upper memory. You can do so with this approach:
* First, gather a list of all the areas of upper memory
used by your hardware. This may require consulting
your hardware manuals. Look for an explanation of the
range of addresses used by each board, as a pair of 4-
digit hexadecimal numbers, for example D400-D7FF.
(Sometimes the addresses have a trailing zero, for
example D4000-D7FF0. In this case use only the first
4 digits.) Some boards use no upper memory space at
all. Boards which may occupy space in upper memory
include network interface cards, SCSI boards, sound
cards, and scanner boards. Some hard disk controllers
and video boards also use upper memory space,
including "Super VGA" and other high-resolution video
boards. Video boards may use different areas of upper
memory depending on your display mode. However, you
don't usually need to consider the standard areas used
by basic VGA boards.
* Next, make sure you have excluded all the areas of
upper memory from management by your memory manager.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 58
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
The basic approach is to include a switch when you
start up the memory manager, for example /X=D400-D7FF
to exclude the range D400-D7FF. See your memory
manager documentation for the exact method.
* Finally, locate the SYSTEM.INI file in your Windows
directory. Find the section of this file beginning
[386Enh] and add an EMMExclude line to it for each
range to be excluded, for example:
EMMExclude=D400-D7FF
The list in SYSTEM.INI should exactly match the
exclude list given to your memory manager.
If this technique solves the problem, you're finished. If
not, also check that any network you have installed is
properly configured for Windows. Errors in network
configuration under Windows may generate memory allocation
conflicts of their own, and can cause unusual behavior in
Windows DOS sessions even though the DOS sessions are not
specifically accessing the network.
Advanced Configuration Options
If none of the other techniques in this Appendix proves
useful, some of the advanced directives in 4DOS.INI may help
solve very rare configuration problems. However, unless you
are an experienced DOS user and understand the side effects of
each directive, they should be used only as diagnostic tools
and not as a workaround or fix. Any of the following can be
tried for the conditions indicated:
FineSwap = Yes: If you are using disk swapping and your
system hangs when exiting an application.
Inherit = No: If you have unexplained problems in
starting secondary shells.
LineInput = Yes (or SETDOS /L1): If you have memory-
resident programs which do not recognize that you are at
the prompt.
Reduce = No: If you have unexplained problems in
starting secondary shells.
ReserveTPA = No: For unusual memory allocation problems.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 59
Appendix A / Solving Software Compatibility Problems
-------------------------------------------------------------------
SwapReopen = Yes: If an application or network generates
reproducible errors related to the 4DOS swap file (for
example "Swap file seek failed" or similar errors)
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 60
APPENDIX B / TECHNICAL INFORMATION
-------------------------------------------------------------------
APPENDIX B / TECHNICAL INFORMATION
This appendix provides technical information for programmers who
wish to build interfaces to 4DOS. It covers detecting 4DOS,
placing keystrokes in the Keystack, writing installable commands,
using the DESCRIPT.ION file, and using the interrupt 2E "back door"
entry into 4DOS to execute commands.
Detecting 4DOS
Detecting 4DOS From a Batch File
From a batch file, you can determine if 4DOS is loaded by
testing for the variable function @EVAL, with a test like
this:
if "%@eval[2+2]" == "4" echo 4DOS is loaded!
This test can not succeed in COMMAND.COM and is therefore a
reliable way to detect 4DOS. Other variable functions could
be used for the same purpose.
Detecting 4DOS From a Program
Any program can test for the presence of 4DOS by making a
simple INT 2Fh call. Be sure to check the INT 2Fh vector
first as it may be 0 under some versions of DOS if no program
has hooked the interrupt. To detect 4DOS, call INT 2Fh with:
AX D44Dh
BX 0
If 4DOS is not loaded, AX will be returned unchanged. If 4DOS
is loaded, it will return the following (no other registers
are modified):
AX 44DDh
BX Version number (BL = major version, BH = minor
version)
CX 4DOS PSP segment address
DL 4DOS shell number
The shell number is incremented each time a new copy of 4DOS
is loaded, either in a different multitasker window (for
example, under Windows), or via nested shells. The primary
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 61
APPENDIX B / TECHNICAL INFORMATION
-------------------------------------------------------------------
shell is shell number 0. In OS/2 DOS sessions, each session's
primary shell is shell 0.
The response to INT 2F function D44Dh will come from the most
recently loaded 4DOS shell. For example, if your program is
run from a secondary shell the response will come from that
secondary shell, and will reflect its shell number and PSP
address.
This function tells you if 4DOS is loaded in memory, but not
whether it is the parent process of your program. You can
determine if 4DOS is the parent process by comparing the PSP
value returned in CX to the PSP chain pointer at offset 16h in
your program's PSP.
Detecting the 4DOS Prompt
4DOS generates INT 2Fh calls before and after the prompt is
displayed to allow TSRs to detect that 4DOS is at the prompt.
The calls are:
AX D44Eh
BX 0 if 4DOS is about to display the prompt; 1 if
4DOS has displayed the prompt and is about to
accept keyboard input; or 2 if keyboard input is
complete and 4DOS is about to begin processing
the line.
Any routine intercepting these calls should preserve the SI,
DI, BP, SP, DS, ES, and SS registers.
Placing Keystrokes Into the Keystack
You can put keystrokes into the 4DOS Keystack with an INT 2Fh
call. First, you must make a call to check whether KSTACK.COM
is loaded:
AX D44Fh
BX 0
If KSTACK.COM is not loaded, this call will return AX
unchanged. If it is loaded, AX will be returned as 44DDh;
other registers will be unchanged. Once you have determined
that KSTACK.COM is loaded, you can send keystrokes with this
call:
AX D44Fh
BX 1
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 62
APPENDIX B / TECHNICAL INFORMATION
-------------------------------------------------------------------
CX number of words being passed (0 - 255)
DS:DX address of the keystroke array
On return, if the call succeeded then AX will be 0; if it
failed, AX will be non-zero. BX, CX, and DX are destroyed;
other registers are preserved. If the call succeeds,
subsequent calls to INT 16h functions 0, 1, 10h, or 11h will
receive the stacked keystrokes.
The keystroke array passed to KSTACK must be an array of words
containing the values to return from INT 16h. The high byte
of each word is a scan code and the low byte is an ASCII code.
Many programs accept keystrokes properly with only the ASCII
code, but some require the scan code as well. See Appendix B
of your Reference Manual for a list of ASCII and scan codes
for most keyboards. To insert a delay in the keystroke
sequence, include a word set to FFFFh followed by a word
containing the desired delay in clock ticks.
Writing Installable Commands
An "installable command" is created with a memory-resident
program (TSR) which can receive signals from 4DOS and process
commands. 4DOS makes every command available to such TSRs
before it is executed; if any TSR chooses to execute the
command, 4DOS will do no further processing. Otherwise, 4DOS
processes the command normally.
The 4DOS "Installable Command" interface is compatible with an
undocumented interface present in COMMAND.COM for MS-DOS and
PC-DOS 3.3 and above. This interface is documented more
thoroughly in the excellent reference text Undocumented DOS by
Schulman et. al., published by Addison Wesley.
4DOS looks for an installable command after alias and variable
expansion and redirection, and after checking to see if the
command is a drive change, but before checking for an internal
or external command.
4DOS first makes an INT 2Fh call to determine whether any TSR
loaded will respond to the command, with:
AX AE00h
BX offset of command line buffer:
first byte = maximum length of command line
second byte = actual length of command line,
not including trailing CR
remainder = command line, with a trailing CR
CH FFh
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 63
APPENDIX B / TECHNICAL INFORMATION
-------------------------------------------------------------------
CL length of command line, not including the command
name
DX FFFFh
SI offset of command name buffer:
first byte = length of command name
remainder = command name, shifted to upper case
and padded with blanks to 11 characters
DS segment for command line and command name buffers
If the TSR does not recognize the command as its own, it must
pass the INT 2Fh along with registers unchanged. If it does
recognize the command, it must return 0FFh in AL. The command
should not be executed at this point. 4DOS will then make
another call (buffer formats are the same as above):
AX AE01h
BX offset of command line buffer
CH 0
CL length of command name
DX FFFFh
SI offset of command name buffer
DS segment for command line and command name buffers
If the TSR executes the command line, it must set the command
name length at DS:[SI] to 0. If the command name length is
not set to 0, 4DOS will attempt to execute the command as an
internal or external command. This allows the TSR to return a
modified command line to 4DOS by modifying the command line
buffer at DS:BX, and leaving the command name length byte at
DS:[SI] set to a non-zero value. If the command is executed,
the TSR should return the result of the command (zero for
normal return or non-zero for an error) in AL.
Using DESCRIPT.ION
4DOS uses the file DESCRIPT.ION to store file descriptions.
This file is created as a hidden file in each subdirectory
which has descriptions, and deleted when all descriptions are
removed or when all files with descriptions are deleted. If
you remove the hidden attribute from the file, 4DOS will not
hide it again.
Your programs can access DESCRIPT.ION to create, retrieve, or
modify file descriptions, and to store other information.
DESCRIPT.ION has one line per file, and is unsorted. Each
line is in the following format:
filename.ext Description[u<ID>Other program info]...<CR>
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 64
APPENDIX B / TECHNICAL INFORMATION
-------------------------------------------------------------------
There is normally one space between the description and
filename but additional spaces may be used in future versions
of 4DOS. The characters after the description allow extension
of the description format for use by other programs. They are
as follows:
u is an ASCII Ctrl-D (04), and marks the end of the
description text and the beginning of information for a
program other than 4DOS. This symbol can appear multiple
times on each line; each occurrence marks the beginning
of information for another program.
<ID> is an identification byte for the program which is
using this area of the particular line. If you are
writing a program which will store information in
DESCRIPT.ION, test it using an ID byte of your own
choosing. When you are ready to release the program,
contact JP Software and we will provide you with an ID
byte value that is not in use by others to the best of
our knowledge.
Other program info is any text the program wishes to
store in its area of the line. The text should relate
specifically to the file named on the line. It may not
contain the u character, carriage returns, line feeds, or
nulls (ASCII 0s).
4DOS will copy, delete, or move all the information on a line
in DESCRIPT.ION, including information owned by other
programs, when performing the same action on the corresponding
file. 4DOS will also change the name if a file is renamed.
To support DESCRIPT.ION properly, your program must do the
same if it copies, deletes, moves, or renames files. Take
care not to remove information which does not belong to your
program, or delete lines which contain information for other
programs. Your program should be able to handle a line
terminated by a CR or LF alone, a CR/LF pair, an EOF (ASCII
26), or the physical end of the file. The lines it creates
should be terminated with CR / LF. The line length limit is
4096 bytes; exceeding this limit will cause unpredictable
results.
Interrupt 2E
4DOS provides full, documented support for the undocumented
COMMAND.COM "back door" entry, INT 2E (hex). INT 2E allows
applications to call the primary copy of the command processor
to execute commands, without loading a secondary shell.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 65
APPENDIX B / TECHNICAL INFORMATION
-------------------------------------------------------------------
INT 2E support is enabled by default. It can be disabled with
the FullINT2E = No directive in 4DOS.INI, in which case 4DOS
"hooks" INT 2E, but any calls to it are ignored. INT 2E
support adds about 100 bytes to the resident size of 4DOS, and
applies only to the primary shell (it is ignored in secondary
shells).
To use INT 2E, set DS:SI to the address of a buffer containing
the command, then issue an INT 2E. The buffer format is:
First byte Length of the command, not including this
byte or the last byte
Text bytes The command text
Last byte CR (ASCII 13)
You must release enough memory for 4DOS to reload its
transient portion, and provide about 80 bytes of available
stack space for the INT 2E handler to use. INT 2E can not be
called from a TSR while 4DOS is running (for example, a TSR
popped up at the 4DOS prompt or from within LIST or SELECT),
but can be called from within any application or from within a
TSR while an application (including the 4DOS HELP system) is
running.
INT 2E can invoke any 4DOS command including an alias, an
internal command, an external command, or a batch file. All
changes to 4DOS data (such as aliases, environment variables,
and SETDOS settings) which are made by a command executed via
INT 2E calls will affect the primary shell, and the
environment passed to a program called via INT 2E will be a
copy of the primary shell's environment.
INT 2E uses the same internal stack as the primary shell. If
a complex command is used in the primary shell to start a
program which eventually issues an INT 2E, the additional
stack space required by commands executed through INT 2E may
(in rare circumstances) cause a stack overflow. If this
occurs, use the StackSize directive in 4DOS.INI to increase
4DOS's internal stack space.
INT 2E also uses the same batch file "stack" as the primary
shell. This means that if INT 2E is used to execute a batch
file, this batch file is considered "nested" within any batch
file(s) used in the primary shell to start the program which
issued the INT 2E. This may cause batch nesting errors from
within the INT 2E call which would not occur if the same
command were executed at the prompt.
On return from INT 2E, all registers will be destroyed except
SS and SP. AX will be set as follows:
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 66
APPENDIX B / TECHNICAL INFORMATION
-------------------------------------------------------------------
FFFFh An error occurred before processing the command:
not enough memory was available, INT 2E was
called from a TSR, or another error made it
impossible to handle the interrupt.
0 The command was processed without error.
> 0 There was an error in processing the command. AX
is the error number, equivalent to the %_? value
from an internal command or the %? value from an
external command. If a batch file is run, the
value will be the error level returned by the
batch file (via QUIT n or CANCEL n) or the last
command within it. If an alias is run the value
will be the exit code returned by the last
command in the alias.
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 67
Index
-------------------------------------------------------------------
Index 4START (continued)
and startup command, 13
location of, 48
Conventions: Most fully single-step option, 13
capitalized terms (e.g., ECHO,
SELECT) are command names A
unless otherwise noted.
Alias list, local and global,
12, 26, 27
ANSI driver, 29
Special Characters in CONFIG.SYS, 30
APPEND command, 32
## advanced topic mark, 3 APPNOTES.DOC, 2
! warning mark, 3 AUTOEXEC.BAT, 10, 16
and 4START, 16
3 and installation, 4, 6, 8
and OS/2, 42, 48, 50
386MAX, 28 and OS/2 Dual Boot and Boot
Manager, 50
4 and startup command, 13
disabling, 12
4DOS for Windows NT, 1 running, 13
4DOS.INI, 10 single-step option, 13
and OS/2 DOS sessions, 46, starting KSTACK.COM, 8, 16
47
and OS/2 Dual Boot and Boot B
Manager, 51
directives, on startup Back & Forth, 15
command line, 11, 15 Base memory, see Memory
location of, 11, 15, 47 Batch files, startup, 13, 16,
prompts during execution, 36
54 and Microsoft Windows, 38
reference information, 2 BIOS, 29
secondary section, and Boot Manager, see OS/2
multitasking, 35 BOOT.SYS, 14
4DOS.PIF, 38 Bootable disk, creating, 4
4EXIT, 10, 16
and 4OS2, 48 C
and OS/2, 48, 51
location of, 48 CD-ROM drives, 31
4HELP, see Help system Colors, in help system, 21, 30
4OS2, 1 COMMAND.COM
and 4DOS installation, 5 in DOS version 2.x, 14
4START, 10, 16 in Microsoft Windows, 38
and 4OS2, 48 in multitasker DOS windows,
and multitasking, 36 35
and OS/2, 48, 51
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 68
Index
-------------------------------------------------------------------
Commands CONFIG.SYS (continued)
4DOS startup, 13, 16 SHELL=, 11
and multitasking, 36 and installation, 7
in OS/2 DOS sessions, and multiple configu-
46 ration utilities, 14
help on, 19 in DOS version 2.x, 15
programming interface, 63 in OS/2 1.x, 43
reference information, 2 in OS/2 2.x, 44, 47, 52
Compatibility, 23 length of, 14
and disks, 31 Configuration, 10
and memory, 24 troubleshooting, 59
and the CPU, 23 Coprocessor, see Numeric
and video hardware and coprocessor
software, 29 CPU, 23
solving problems, 53 Critical errors, 12, 15
with DOS, 32 Cursor shape, 29
with Microsoft Windows, 37
with multitasking software, D
34
with networks, 39 DBLSPACE, 31
with Novell Netware, 40 DEL, speed of, 31
Compressed drives, 31 Descriptions, see File
and installation, 5 descriptions
COMSPEC DESQview, 15, 35
environment variable, 17 Detecting 4DOS, 61
and disk swapping, 19 DIR, speed of, 31
and DOS FORMAT /S, 32 Directory scans, and Novell
and multitaskers, 35 Netware, 41
checking, 17 Disk drives, 31
setting automatically, free space on, on networks,
11, 17 40
setting manually, 9, 17 swapping to, 18
path, 8, 11, 17 Disk reset, 31
and OS/2 DOS sessions, @DISKFREE variable function, on
11, 46, 47 networks, 40
CONFIG.SYS, 10 Diskless workstations, 39
4DOS commands in, 11 @DISKTOTAL variable function,
and ANSI driver, 30 on networks, 40
and DOS bug, 14 @DISKUSED variable function, on
and installation, 4, 6, 7 networks, 40
in OS/2, 42 DOS, see also MS-DOS / PC-DOS;
Dual Boot and Boot Novell DOS
Manager, 50 memory, see Memory
location of, 50 shell, 1
multiple configuration version 2.x, 14
utilities, 6, 32 versions of, 1
SET commands in, 32 DOS sessions, see OS/2 DOS
sessions
DOS version 2.x, 14
DOS=UMB, in CONFIG.SYS, 28
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 69
Index
-------------------------------------------------------------------
DOS_SHELL, see OS/2 DOS Help system (continued)
sessions location of files, 22
DR DOS, see Novell DOS options, 22, 30
DRAWBOX, 29 HELPCFG, see Help system
DRAWHLINE, 29 History list, local and global,
DRAWVLINE, 29 12, 26, 27
Drive, see Disk drives HMA, see Memory
Dual Boot, see OS/2
I
E
.INI file, see 4DOS.INI
EGA, 29, 30 Installable commands, 63
EMS, see Memory Installation, 4
Environment and DOS 2.x, 4
loading in UMBs, 27 and OS/2 Dual Boot and Boot
memory space for, 12, 15 Manager, 5
size of, and compatibility automated, 6
problems, 55 directory for, 4
Expanded memory, see Memory manual, 7
Extended memory, see Memory of downloaded updates, 4, 7
on diskettes, 7
F preparations
under DOS, 4
File descriptions under OS/2, 5
and disk performance, 31 reversing, 8
programming for, 64 stopping, 7
File names, on networks, 39 INT 2E, 65
File passwords, in Novell DOS, INT 2F, 61
33
Floppy disks, 31 K
FORMAT /S command, 32
Free memory, see Memory KEYSTACK
FREE, on networks, 40 and multitasking, 37
programming interface, 62
G KSTACK.COM, 8, 16
and multitasking, 37
Guided tour, 1, 6, 7
L
H
LH, 27
Hard drives, 31 LIST, 29
Hardware compatibility, see LOADHIGH, 27
Compatibility Local and global aliases and
Help system, 2, 19 history, 12, 26, 27
/? option, 20
and monochrome monitor, 30 M
colors, 21
configuring, 21 Master environment, see
keystrokes, 20 Environment
MEMORY, 26
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 70
Index
-------------------------------------------------------------------
Memory, 24 Multitasking software
allocation conflicts, 57 (continued)
and networks, 59 and KEYSTACK, 37
and Windows, 58 Microsoft Windows, 37
base, 24
checking status, 26 N
expanded (EMS), 24, 25
hardware, 28 Networks, 39
swapping to, 18, 27 disk access problems on, 31
extended, 25 disk space calculations on,
4DOS's use of, 26 40
extended (XMS), 25 disk swapping on, 40
4DOS's use of, 26 diskless workstations on,
swapping to, 18 39
high memory area (HMA), 25 file and directory names
problems with, 27 on, 39
upper, 24 Novell DOS, 11, 25, 32, 33
upper memory blocks (UMBs), and LOADHIGH, 33
25 memory management, 27
4DOS's use of, 27 passwords, 33
and Windows, 58 Novell Netware, 40
regions, 28 diskless workstations on,
system requirements 41
for, 28 Numeric coprocessor, 24
used by 4DOS, 18, 26
Memory resident programs, see O
TSRs
Menus, in CONFIG.SYS, 32 Options, see Startup Options
Microsoft Windows, 36, 37 OS/2, 42
and batch files, 38 4OS2 product, 1
and compatibility, 58 and 4EXIT, 48
and secondary shells, 15 and 4START, 48
Monochrome monitor, and help and AUTOEXEC.BAT, 42, 48
system, 22, 30 and COMSPEC path, 11, 46,
Mouse, in help system, 22 47
MS-DOS / PC-DOS, 32 CONFIG.SYS file, 11, 42
APPEND command, 32 Desktop menu, 47
bug in CONFIG.SYS DOS sessions, 43
processing, 14 and .INI file, 47
FORMAT /S command, 32 and 4DOS, 45
memory management, 25, 27, DOS_SHELL setting, 44,
28 46, 47
version 2.x, 4 settings for, 44
version 6.x, 13, 14 startup commands for,
Multiple configuration 46
utilities, 6, 14, 32
Multitasking software, 34
4DOS windows in, 35
and COMSPEC, 35
and disk swapping, 37
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 71
Index
-------------------------------------------------------------------
OS/2 (continued) Shell
Dual Boot and Boot Manager, DOS shell, 1
42, 49 primary
and 4DOS installation, and multitasking, 35,
5 37
and 4DOS.INI, 51 in OS/2, 48
and 4EXIT, 51 startup options, 11
and 4START, 51 swap size, 18
and AUTOEXEC.BAT, 50 secondary
and CONFIG.SYS, 50 and multitasking, 35
file locations, 50 startup options, 15
installing 4DOS for, 5 swap size, 18
temporary VDMs, 46, 48 to run a single
version 1.x, 43 command, 16
version 2.x, 43 Software compatibility, see
Compatibility
P Software interactions, 55
Stacker, 31
Passwords, in Novell DOS, 33 Startup options
PATH, length of, 54 //iniline, 11, 15, 36, 47
Primary shell, see Shell /C, 16, 46
Programming, for 4DOS, see /D, 12
Technical Information /E, 12, 15
/F, 12, 15
Q /K, 13, 16
/L, /LA, and /LH, 12, 16
QEMM, 28 /P, 13
Quick help, 20 /Y, 13
@inifile, 11, 15, 35, 47
R commands in, 13, 16
primary shell, 11
RAM, see Memory secondary shell, 15
RAM disk, 26 SuperStor, 31
swapping to, 18 Support, 3
README.1ST file, 6 Swapping
Reference information, 2 and compatibility, 27
Reference manual, 2 and multitasking software,
Resident portion (of 4DOS), 18, 37
26 file names used by, 18, 37
loading in UMBs, 27 on networks, 40
types of, 18
S
T
Screen, 29
size, 29 Task switching software, see
SCRPUT, 29 Multitasking software
Secondary shell, see Shell Technical information, 61
SELECT, 29 DESCRIPT.ION, 64
SET, in CONFIG.SYS, 32 detecting 4DOS, 61
installable commands, 63
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 72
Index
-------------------------------------------------------------------
Technical information
(continued)
INT 2E, 65
KEYSTACK, 62
Technical support, 3
Transient portion (of 4DOS),
18, 26
TSRs, 23
and compatibility, 55
and multitasker startup
files, 36
and OS/2 DOS sessions, 49
loading order, 56
U
UltraVision, 30
UMBs, see Memory
Uninstalling 4DOS, 8
V
VDM, see OS/2
VGA, 29, 30
Video hardware, 29
VSCRPUT, 29
W
Wildcards, and DEL speed, 31
Windows, see Microsoft Windows
Windows NT, 4DOS/NT product, 1
X
XMS, see Memory
-------------------------------------------------------------------
Copr. 1993 JP Software Inc. 4DOS Intro. & Installation Guide / 73