Microsoft KB Archive/101148

From BetaArchive Wiki

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:.COM /p

However, this statement will NOT set the COMSPEC variable to C:.COM. The COMSPEC variable will be set to the default of C:.COM. Problems may arise later if C:.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:.COM C:/p

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

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

    SET COMSPEC=C:.COM

Additional reference words: 3.30 3.30a noupd doc err

Copyright Microsoft Corporation 1993.