Comprehensive List of MS-DOS 3.3x "User's Guide" Doc Errs
PSS ID Number: Q101148
Article last modified on 09-16-1993
PSS database name: O_MSDOS

3.30 3.30a

MS-DOS


--------------------------------------------------------------------
The information in this article applies to:

 - Microsoft MS-DOS operating system versions 3.3 and 3.3a
--------------------------------------------------------------------

SUMMARY
=======

This article contains information on the documentation errors in the
"Microsoft MS-DOS User's Guide and User's Reference" for versions 3.3
and 3.3a.

The following topics are covered:

 - Editing Keys CTRL+X and CTRL+N Not Implemented
 - ANSI.SYS Horizontal and Vertical Position Sequence
 - Updated ANSI.SYS SGR Function Table
 - Valid Range of Values of BUFFERS in MS-DOS 3.3x
 - MS-DOS XCOPY Command Does Not Copy Hidden Files
 - MS-DOS: DRIVER.SYS Supported Media Types
 - MS-DOS Version 3.3x SELECT Utility Will Not Copy All Files
 - Source Drive Parameter Required for MS-DOS 3.3x BACKUP
 - Using COUNTRY Command to Select and Prepare Code Pages
 - Valid Range of Values of BUFFERS in MS-DOS
 - Editing Keys CTRL+X and CTRL+N Not Implemented
 - Clarification of the MS-DOS CALL Command
 - Correction for IF ERRORLEVEL 0 GOTO, MS-DOS Batch File Example
 - Cursor Key Functionality
 - COMMAND.COM Search Directory in CONFIG.SYS

MORE INFORMATION
================

Editing Keys CTRL+X and CTRL+N Not Implemented
----------------------------------------------

Page 159 of the "Microsoft MS-DOS User's Reference" contains the
following incorrect statement:

   Using MS-DOS Version 3.30, the editing keys CTRL+X (cancel
   current line) and CTRL+N (echo output to printer) do not
   work as documented.

These two control codes, CTRL+N and CTRL+X, are not implemented in
MS-DOS version 3.3x.

ANSI.SYS Horizontal and Vertical Position Sequence
--------------------------------------------------

On page 275 of the "MS-DOS User's Reference," the ANSI.SYS Horizontal
and Vertical Position (HVP) escape sequence is listed incorrectly. It
is listed as follows:

   ESC [ Pl ; Pc ; F

It should be listed as follows:

   ESC [ Pl ; Pc ; f

Updated ANSI.SYS SGR Function Table
-----------------------------------

On page 276 of the "Microsoft MS-DOS User's Reference," the
information in the ANSI.SYS SGR parameter table contains a few errors.
The following is an updated version of the graphic functions table:

    0  All attributes off
    1  Bold on
    4  Underscore on (only on monochrome adapters)
    5  Blink on
    7  Reverse video on
    8  Concealed/invisible on
   30  Black foreground
   31  Red foreground
   32  Green foreground
   33  Yellow foreground
   34  Blue foreground
   35  Magenta foreground
   36  Cyan foreground
   37  White foreground
   40  Black background
   41  Red background
   42  Green background
   43  Yellow background
   44  Blue background
   45  Magenta background
   46  Cyan background
   47  White background

Valid Range of Values of BUFFERS in MS-DOS 3.3x
-----------------------------------------------

In the "Microsoft MS-DOS User's Reference" for MS-DOS versions 3.3 and
3.3a, the documentation in Appendix B on BUFFERS is incorrect.

The documentation incorrectly states that the valid range of values
for BUFFERS is from 2 to 255. The correct range is 1 to 99. Any values
over 99 result in the error message "Unrecognized command in
CONFIG.SYS."

MS-DOS XCOPY Command Does Not Copy Hidden Files
-----------------------------------------------

The MS-DOS XCOPY command, listed on page 127 of the "Microsoft MS-DOS
User's Reference" incorrectly described as follows:

   Copies files and directories, including lower level directories,
   if they exist.

However, XCOPY does not copy hidden files. Hidden files are files with
the Hidden attribute set in their directory entry. Although the
filenames do not appear when a DIR command is executed, the files are
valid and exist on the media. Examples of hidden files are the MS-DOS
system files IO.SYS and MSDOS.SYS. These files must be copied to a
formatted MS-DOS disk using either the FORMAT command with the /S
switch or the SYS command. The FORMAT command is described on pages
74-77 and SYS is described on page 119 of the "MS-DOS User's
Reference."

MS-DOS: DRIVER.SYS Supported Media Types
----------------------------------------

Page 279 of the "Microsoft MS-DOS User's Reference" lists the format
types that the device driver DRIVER.SYS supports:

    /F:0  160K/180K/320K/260K 5.25-inch disk
    /F:1  1.2-megabyte 5.25-inch disk
    /F:2  720K 3.5-inch disk
    /F:3  8-inch single density disk
    /F:4  8-inch double density disk
    /F:5  Hard disk
    /F:6  Tape drive
    /F:7  1.44-megabyte 3.5-inch disk

The values 3, 4, 5, and 6 are not supported and should not be
documented. Using values that are not supported may result in an
"Invalid Parameter" message.

MS-DOS Version 3.3x SELECT Utility Will Not Copy All Files
----------------------------------------------------------

Page 111 of the "Microsoft MS-DOS User's Reference" states that the
SELECT program will copy the contents of the source disk track by
track to the destination disk. This information is incorrect; the
SELECT utility spawns XCOPY to copy only those files in the current
directory of the source disk to the destination. XCOPY does not
perform a track-by-track copy of the source disk; DISKCOPY does.

SELECT.EXE calls upon the XCOPY utility near the end of the SELECT
operation to transfer all files from the source disk to the
destination disk. However, the /S option is not included; therefore,
any subdirectories and appropriate files will not be copied onto the
new disk.

Source Drive Parameter Required for MS-DOS 3.3x BACKUP
------------------------------------------------------

Microsoft MS-DOS BACKUP version 3.3x requires the drive letter to be
specified for the source drive. Previous versions of MS-DOS did not
require the source drive letter to be specified.

On page 35 of "Microsoft MS-DOS User's Reference," the following
syntax is given for the BACKUP command:

   BACKUP [drive1:][path][filename] [drive2:] [/S][/M][/A][/F]
      [/D:date] [/T:time] [/L:[[drive:][path]filename]]

This syntax implies that the source drive parameter for BACKUP is
optional and is consistent with the documentation and implementation
of earlier versions of MS-DOS. It should be:

   BACKUP drive1:[path][filename] [drive2:] [/S][/M][/A][/F]
      [/D:date] [/T:time] [/L:[[drive:][path]filename]]

Using COUNTRY Command to Select and Prepare Code Pages
------------------------------------------------------

Page 298 of the "Microsoft MS-DOS User's Reference" incorrectly states
that the code pages will be prepared, not selected (even though
neither is happening).

Even though a code page is not selected, a code page must still be
active. Therefore, the active code page at this point is the hardware
code page. If you change the numbers in the DISPLAY and COUNTRY lines
from 437 to 850 in your CONFIG.SYS file, CHCP will return 850 as the
active code page, even though a code page hasn't been selected.

Valid Range of Values of BUFFERS in MS-DOS
------------------------------------------

The "Microsoft MS-DOS User's Reference" Appendix B incorrectly
documents the BUFFERS command. The documentation incorrectly states
that the valid range of values for BUFFERS is from 2 to 255. The
correct range is 1 to 99. Any values over 99 will result in the error
message "Unrecognized command in CONFIG.SYS."

Editing Keys CTRL+X and CTRL+N Not Implemented
----------------------------------------------

Page 159 of the "Microsoft MS-DOS User's Reference" incorrectly
states:

   Using MS-DOS Version 3.30, the editing keys CTRL+X
   (cancel current line) and CTRL+N (echo output to
   printer) do not work as documented.

The two control codes, CTRL+N and CTRL+X are not implemented in MS-DOS
3.3x.

Clarification of the MS-DOS CALL Command
----------------------------------------

The documentation for the CALL statement [argument] variable on page
142 of the "Microsoft MS-DOS User's Reference" is unclear. The
documentation states that when the called batch file terminates, the
calling batch file resumes running at [argument]. If [argument] is
omitted, the calling batch file resumes running at the command
immediately following the CALL command.

In fact, the calling batch file always resumes execution at the line
immediately following the CALL, whether or not [argument] is present.

Correction for IF ERRORLEVEL 0 GOTO, MS-DOS Batch File Example
--------------------------------------------------------------

Microsoft has confirmed that the batch file example using the
<IF ERRORLEVEL 0 GOTO> statement is incorrect on page 148 of the
"Microsoft MS-DOS User's Reference".

The <IF ERRORLEVEL 0 GOTO END> statement in the manual should be
changed to <IF NOT ERRORLEVEL 1 GOTO END>.

The statement <IF ERRORLEVEL n GOTO Label> will GOTO the Label if the
exit code is greater than or equal to n.

According to this logic, the <IF ERRORLEVEL 0 GOTO END> statement in
the example on the above pages will always jump to the ":end" label
and bypass the error message, no matter what the exit code (error
level) is. Therefore, the <IF ERRORLEVEL 0 GOTO END> statement in the
manual should be changed to <IF NOT ERRORLEVEL 1 GOTO END> to work as
desired.

The batch file should be changed to read as follows:

   :begin
   echo off
   format a: /s
   if not errorlevel 1 goto END
   echo an error occurred during formatting.
   :END
   echo end of batch file.

Note that a successful termination of the FORMAT command in the above
batch file returns an exit code (error level) of 0 (zero).

Cursor Key Functionality
------------------------

The documentation in the "Microsoft MS-DOS User's Guide" incorrectly
documents the functionality of arrow keys on page 8:

   To move the cursor to the left or right without deleting any
   characters, you must use the direction keys. Direction keys move
   the cursor right, left, up and down. They do not affect the
   characters that are displayed.

However, when you use the arrow keys at the MS-DOS command prompt, the
arrow keys to delete characters.

Note: The last command entered on the command line is saved in a
buffer. You can use the RIGHT ARROW key to bring a character at a time
back on the command line from the last command. You can also use the
F3 key to bring back the entire last command. You can use the arrow
keys and the INSERT and DEL keys to edit the last entered command;
however, once you press the ENTER key, the new command is entered into
the buffer and the old command is erased from the buffer. After you
run a large program, the transient portion of COMMAND.COM is reloaded.
When this transient portion is reloaded, the buffer is cleared and no
longer contains your last entered command.

COMMAND.COM Search Directory in CONFIG.SYS
------------------------------------------

The "Microsoft MS-DOS User's Reference" incorrectly documents setting
of the COMSPEC variable with the CONFIG.SYS SHELL= command. On page
271 and on pages 294-295 of the "Microsoft MS-DOS User's Reference,"
the documentation states that the SHELL= command will set the COMSPEC
variable to the drive, path, and filename specified on the SHELL=
command line.

The COMSPEC environment variable is actually set by the MS-DOS command
interpreter, COMMAND.COM, based on its command-line parameters. This
is documented correctly in the entry for COMMAND.COM.

You can load the initial copy of COMMAND.COM from the DOS subdirectory
on drive C with the following statement in CONFIG.SYS:

   SHELL=C:\DOS\COMMAND.COM /p

However, this statement will NOT set the COMSPEC variable to
C:\DOS\COMMAND.COM. The COMSPEC variable will be set to the default of
C:\COMMAND.COM. Problems may arise later if C:\COMMAND.COM does not
exist, and the resident portion of COMMAND.COM need to reload the
transient portion.

To properly set the COMSPEC variable, one of two methods can be used.

 - Supply the COMMAND.COM search directory as one of the parameters
   provided to the shell on the SHELL= line, as follows:

      SHELL=C:\DOS\COMMAND.COM C:\DOS /p

   This statement will load COMMAND.COM from the C:\DOS directory and
   will also cause COMMAND.COM to initialize the COMSPEC variable to
   C:\DOS\COMMAND.COM.

 - Add a line in the AUTOEXEC.BAT file that sets the COMSPEC variable
   to the proper location, as follows:

      SET COMSPEC=C:\DOS\COMMAND.COM

Additional reference words: 3.30 3.30a noupd doc err

Copyright Microsoft Corporation 1993.