home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / util2 / sd60.lzh / SD.DOC < prev    next >
Text File  |  1989-01-06  |  89KB  |  1,957 lines

  1. ------------------------------------------------------------------------
  2.  
  3.         SD: IBM-PC Sorted Directory Utility V6.0
  4.  
  5.         Copyright (C) 1986-89 By John F. Stetson
  6.  
  7.              SHAREWARE - All Rights Reserved
  8.  
  9. ------------------------------------------------------------------------
  10.  
  11.     Contents
  12.  
  13. ------------------------------------------------------------------------
  14.  
  15. 1.0    INTRODUCTION
  16. 1.1    Program Requirements
  17. 1.2    Design Philosophy
  18. 1.3    Distribution Files
  19. 1.4    Installation
  20.  
  21. 2.0    OVERVIEW
  22. 2.1    Modes of Operation
  23. 2.2    Command Line Syntax
  24. 2.3    Controlling Program Output
  25. 2.4    Examples of Use
  26.  
  27. 3.0    FILE SELECTION AND SORTING
  28. 3.1    File Selection By Attribute
  29. 3.2    File Selection By Date
  30. 3.3    ARC File Processing
  31. 3.4    Global Subdirectory Processing
  32. 3.5    Sort Field Selection Switches
  33.  
  34. 4.0    OUTPUT FORMAT CONTROL
  35. 4.1    Output Mode Switches
  36. 4.2    Output Toggle Switches
  37. 4.3    Filename Column Switches
  38. 4.4    EGA and VGA Switches
  39.  
  40. 5.0    SYSTEM INFORMATION SUMMARY
  41. 5.1    System Hardware
  42. 5.2    System Memory
  43. 5.3    Disk Parameters
  44.  
  45. 6.0    CUSTOMIZATION
  46. 6.1    Configuring the Program
  47. 6.2    Patch Area Format
  48. 6.3    Multiple Drive Processing
  49. 6.4    Multitasking Environments
  50.  
  51. 7.0    APPENDICES
  52. 7.1    Error Messages and Return Codes
  53. 7.2    Modification History
  54. 7.3    Product Support
  55.  
  56. ------------------------------------------------------------------------
  57.  
  58. 1.1    Program Requirements
  59.  
  60. ------------------------------------------------------------------------
  61.  
  62. This is a user-supported  SHAREWARE  product.  Please  see  the  section
  63. titled Product Support at the end of this document for details.
  64.  
  65. SD.COM is a Sorted Directory utility program which  operates  on  IBM-PC
  66. compatible computer systems using the IBM  PC-DOS  or  Microsoft  MS-DOS
  67. Operating System Version 2.0 or higher.
  68.  
  69. SDR.COM is the memory resident (TSR) version of the program.  Since some
  70. users may not wish to use this version of the program, its documentation
  71. has been placed in a separate file.
  72.  
  73. This version of the program  requires  about  14Kb  of    disk  space  and
  74. about 32-64Kb of  memory  during  execution,  depending  on  the  number
  75. of files and directories being processed.
  76.  
  77. Current  program  limitations  are  about  625    total  directories  when
  78. processing global directories, about 1600 files per directory, and about
  79. 1400 files per ARC file, assuming that 64Kb of memory is available.
  80.  
  81. Support is provided for IBM-PC    compatible  MDA, CGA, MCGA, EGA, and VGA
  82. video adaptors and monitors.
  83.  
  84. ------------------------------------------------------------------------
  85.  
  86. 1.2    Design Philosophy
  87.  
  88. ------------------------------------------------------------------------
  89.  
  90. SD provides more information than the resident DOS DIR command about the
  91. files on a disk, and allows  the  user    to  select,  sort,  format,  and
  92. display the information in a variety of ways.  This is    accomplished  by
  93. specifying  a pattern name to select the desired files and by specifying
  94. any of a variety of command line "switches" which allow  you  to  modify
  95. the  behavior of the program.  The switch names have been designed using
  96. letters, as much as possible, so that it  is  easier  to  associate  the
  97. function  of  a  switch  with its name.  In addition, the default switch
  98. values have been carefully chosen to reflect their most common use.
  99.  
  100. Although the program is relatively small, it is possible to use it in an
  101. almost    infinite  variety  of  ways  by  using the switches in different
  102. combinations.  A significant amount of effort has gone    into  optimizing
  103. the  performance  of  the  program,  due  to  the  number of times it is
  104. typically used.  The  program  is  designed  to  be  as  transparent  as
  105. possible  in  normal  operation,  and does not impose itself between the
  106. user  and  the    operating  system.    This  allows  both   novice    and
  107. experienced users to use it in the way that best meets their needs.
  108.  
  109. As a default, the program writes output directly to video display memory
  110. which results in noticeably faster output than that possible  with  DOS.
  111. Output can still be redirected to an output device or file by specifying
  112. the standard DOS redirection symbol (>) on the DOS command line.
  113.  
  114. Maximum possible use is made of the horizontal dimension of  the  screen
  115. to minimize the loss of previously displayed data by screen scrolling.
  116.  
  117. Support is provided for a variety of file selection attributes.
  118.  
  119. Support is provided for a variety of screen display formats with varying
  120. amounts of detailed file information displayed.
  121.  
  122. A variety of user customizable command line switches  and  screen  field
  123. display colors are also supported.
  124.  
  125. Every effort has been made to keep the size of the program to a minimum,
  126. for  efficient use on systems having floppy disks.  However, many of the
  127. capabilities of both DOS and this program are only fully  realized  when
  128. using large hard (fixed) disks with  hierarchical  directory  structures
  129. to organize files.
  130.  
  131. Two of the most valuable resources in a computer system are  memory  and
  132. disk storage.  Many applications make little or no attempt to use  these
  133. resources efficiently.    Not only does this program  attempt  to  provide
  134. many useful (and hopefully frequently used) capabilities in an efficient
  135. package, but it can be used to manage the system memory and  disk  space
  136. so that they are used to best advantage.
  137.  
  138. ------------------------------------------------------------------------
  139.  
  140. 1.3    Distribution Files
  141.  
  142. ------------------------------------------------------------------------
  143.  
  144. The SD program and the associated files are distributed in the    form  of
  145. an ARC file called SD60.ARC.  This  is    done  to  save    disk  space  and
  146. time when transferring files over Computer Bulletin  Board  systems  and
  147. to insure the integrity of the files.  You will need a    utility  program
  148. which is capable of extracting the files from the SD60.ARC  file.  These
  149. types of programs are normally available on most Computer Bulletin Board
  150. systems.
  151.  
  152. The SD60.ARC file contains the following files:
  153.  
  154. SD    .COM - Executable File for SD - Sorted Directory Utility
  155. SD    .DOC - Documentation File for SD
  156. SD    .PIF - Microsoft Windows PIF File for SD
  157.  
  158. SDB    .BAT - Batch File - Uses SD to Process Multiple Drives
  159.  
  160. SDR    .COM - Executable File for SDR - Memory Resident Version of SD
  161. SDR    .DOC - Documentation File for SDR
  162.  
  163. VSN    .COM - Executable File for VSN - Volume Serial Number Utility
  164. VSN    .DOC - Documentation File for VSN
  165.  
  166. DEMO    .BAT - Batch File Demonstrating the SD Program
  167. DEMO2    .BAT - Batch File Demonstrating Related Products
  168. DEMO3-6 .COM - Executable Files Called By DEMO2.BAT
  169.  
  170. The following files are also provided when you register your copy of SD:
  171.  
  172. SD    .ASM - Assembly Language Source File for SD
  173. SDR    .ASM - Assembly Language Source File for SDR
  174. VSN    .ASM - Assembly Language Source File for VSN
  175. SDC    .BAS - BASIC Language Source File for SDC
  176. SDC    .DOC - Documentation File for SDC
  177. SDC    .EXE - Executable File for SDC - Configuration Program
  178.  
  179. ------------------------------------------------------------------------
  180.  
  181. 1.4    Installation
  182.  
  183. ------------------------------------------------------------------------
  184.  
  185. Copy SD.COM, SDR.COM, VSN.COM and SDB.BAT to the root directory  of  the
  186. system boot disk (normally C:\) or to another directory of  your  choice
  187. which is specified in the DOS PATH command in the AUTOEXEC.BAT file.
  188.  
  189. The best way to quickly  familiarize  yourself    with  the  features  and
  190. capabilities of SD is to run the DEMO.BAT file.  For best results,  copy
  191. the DEMO.BAT file to the root directory of the system  boot  disk,  make
  192. sure this is the default directory (type CD C:\), and type the    command:
  193.  
  194. DEMO
  195.  
  196. You can optionally specify a target drive and/or directory for the files
  197. to be displayed.  For example:
  198.  
  199. DEMO D: or DEMO D:\BIGDIR
  200.  
  201. Only the files in the target directory and its    subdirectories    will  be
  202. processed, so it is best to specify the root directory of the  drive  in
  203. order to be able to access a large number of  files.  The  demonstration
  204. is designed to be run with a copy of the distributed SD.COM file, before
  205. any program defaults are changed by the user.  This demonstration simply
  206. displays information about the computer system    and  the  files  on  the
  207. selected disk; it does not write anything to the disk.
  208.  
  209. Once you are familiar with SD, you may wish to run  the  DEMO2.BAT  file
  210. for  a    quick  demonstration  of  several   related  products.    See  the
  211. section titled Product Support for additional information.
  212.  
  213. ------------------------------------------------------------------------
  214.  
  215. 2.1    Modes of Operation
  216.  
  217. ------------------------------------------------------------------------
  218.  
  219. SD is a versatile program that can be used in a variety of ways:
  220.  
  221. The most common use is to simply display information  about  files  (and
  222. subdirectories)  in  a    single (usually the current) directory.  Most of
  223. the sort field switches are used in this mode.
  224.  
  225. The program can be  used  to  display  detailed  information  about  the
  226. system hardware configuration,    the  availability  and    current  use  of
  227. different kinds of system memory and fundamental  disk    characteristics.
  228. The /i switch is used in this mode.
  229.  
  230. The program can be used to search or scan  all    (or  a    subset)  of  the
  231. ARC files on a disk for one or    more  files  which  meet  the  specified
  232. criteria (file name pattern or age).  This  processing    makes  effective
  233. use of ARC file storage by allowing easy access to ARC file directories.
  234. The /a switch is used in this mode.
  235.  
  236. The program can be used to search or scan  all    (or  a    subset)  of  the
  237. directories  on  a  disk for one or more files or directories which meet
  238. the  specified    criteria  (file name pattern,  file attributes, or age).
  239. The /g switch is used in this mode.
  240.  
  241. The program can be used to create an output file by redirecting  console
  242. output    which may be subsequently used as input to another program.  The
  243. /r switch can be used in this mode, but is optional  since  the  program
  244. will automatically detect the use of DOS command line redirection.
  245.  
  246. ------------------------------------------------------------------------
  247.  
  248. 2.2    Command Line Syntax
  249.  
  250. ------------------------------------------------------------------------
  251.  
  252. The complete form of the DOS command line to run the program is:
  253.  
  254. D>sd [drive][path][filespec] [/switches] [>[>]device/file]
  255.  
  256. In most cases, only one or two parameters are specified, so the  command
  257. syntax    isn't  as  formidable  as  it  may appear at first.  Each of the
  258. command line parameters is optional (as the [] characters indicate)  and
  259. may  be  used  together in any combination or order.  Spaces may also be
  260. freely used at any point to improve readability.   The    various  command
  261. line parameters are described below:
  262.  
  263. [drive]
  264.  
  265. This parameter specifies the name of the disk  drive  to  be  processed.
  266. Typical  drive    letters  are A: or B: for floppy disks and C: for a hard
  267. disk.  RAM (memory) disks implemented via device  drivers  may    also  be
  268. specified, as can other types of disks, such as CD-ROM drives or logical
  269. Network drives. If no drive letter is specified, the currently logged-in
  270. drive (shown in the DOS prompt) is used.
  271.  
  272. [path]
  273.  
  274. This parameter specifies the path  through  the  hierarchical  directory
  275. structure  to  the  desired  directory    which  contains  the files to be
  276. processed.  The general form of the path parameter is shown below:
  277.  
  278. [\][directory][\directory]...[\directory][\]
  279.  
  280. The path name may simply be the name of the root directory (\),  or  the
  281. name of a subdirectory in the root directory.  The standard DOS . and ..
  282. directory names  may  be  used    to  refer  to  the  current  and  parent
  283. directories,  respectively.    If  a  path is not specified, the current
  284. directory on the specified disk drive is used.    If the path name is  the
  285. first parameter on the DOS command line after  the  program  name,  then
  286. they must be separated by a space.
  287.  
  288. [filespec]
  289.  
  290. This parameter specifies  which  file  names  are  to  be  selected  for
  291. processing from the previously specified directory (if any).  A complete
  292. (unambiguous) file name may be specified, or  an  ambiguous  file  name,
  293. containing  "wildcard"  characters  (? or *)  may be specified to select
  294. several files.    Either the file name (first 8 characters)  or  the  file
  295. extension  (last  3  characters)  or both may be completely omitted.  In
  296. these cases, wildcard characters are automatically  used  to  match  all
  297. possible  file names in the selected directory.  You may specify leading
  298. characters of the file names you wish to match,  omitting  the    trailing
  299. characters of the name, the period delimiter, and the file extension. In
  300. this respect, SD processes  file  specifications  differently than  DIR.
  301.  
  302. For example: SD ABC is equivalent to DIR ABC*.*
  303.  
  304. If you specify a filespec which exactly  matches  a  subdirectory  name,
  305. then only the files in the subdirectory will be selected.  If  you  wish
  306. to select other files in the parent directory  with  leading  characters
  307. the same as the subdirectory name, you must use the following  notation:
  308.  
  309. Instead of SD ABC, use SD ABC*, where ABC is a subdirectory name.
  310.  
  311. [/switches]
  312.  
  313. This parameter specifies one or more "switch"  or  option  values  which
  314. modify    the operation of the command.  All switches are optional and may
  315. be specified before the drive, path, and filespec, after them,    or  both
  316. before    and  after.  Each switch has a default    value,    which  has  been
  317. carefully selected to represent the most  frequently  used  option,  for
  318. most users.  Specifying a switch overrides or "toggles" the  current  or
  319. default value of that command  option.    The  SDC  program  can    be  used
  320. to change the default values of the switches, or  they    can  be  patched
  321. using the standard DOS DEBUG utility  program.    If  you  find  that  you
  322. frequently wish to override a default switch value, you can  permanently
  323. change the default switch  value  by  using  either  of  these    methods.
  324. If a default switch value is overridden, specification    of  that  option
  325. will toggle the option back  to  its  original    state,    if  appropriate.
  326. Detailed descriptions of all switches are given below.
  327.  
  328. [>[>]device/file]
  329.  
  330. This parameter is actually a standard feature of DOS called  redirection
  331. of  output  to    the  "standard output" (STDOUT) device.  This allows the
  332. console output generated by the program  to  be  transmitted  to  either
  333. another device (usually the printer device: PRN), or to a disk file.  By
  334. redirecting the output of the command to a file, you can later    use  the
  335. file  as  input  to a word processor, disk catalog system, etc.  If this
  336. parameter is specified, the program will automatically detect  this  and
  337. will use  standard  DOS console  output  services  rather  than  writing
  338. directly to video display memory.
  339.  
  340. ------------------------------------------------------------------------
  341.  
  342. 2.3    Controlling Program Output
  343.  
  344. ------------------------------------------------------------------------
  345.  
  346. Unlike most programs, you can't type ahead while the program is running.
  347. This is due to the need to monitor the keyboard in order  to  pause  the
  348. screen output.    If you wish to begin typing a new command, simply  press
  349. ESCAPE (preferred), Control-C, or Control-Break to immediately terminate
  350. the program, and then type the next command.
  351.  
  352. Console output may be paused by typing any other character  and  may  be
  353. restarted in two different ways.  If RETURN is    pressed,  screen  output
  354. resumes until the either the screen fills or  the  output  finishes.  If
  355. any other character is typed, only a single line  of  additional  screen
  356. output is displayed.  This allows you to easily  control  the  displayed
  357. output so as to minimize the loss of existing screen data by  scrolling.
  358. The recommended single line scroll keys are the Space Bar or Down Arrow.
  359.  
  360. As an experiment, try typing the command  SD,  immediately  followed  by
  361. two carriage returns.  You will see only one line of output and can  use
  362. the space bar to display additional lines.  When you have  seen  enough,
  363. press the ESCAPE key to terminate the program.    By  carefully  selecting
  364. the proper switch values and using this technique, you can minimize  the
  365. loss of previously displayed information on the display screen.
  366.  
  367. If /q is specified, the console output    isn't  paused  when  the  screen
  368. fills.    This is necessary when redirecting output to a file  or  device,
  369. or when you wish to browse through large amounts of output.
  370.  
  371. Output lines which are longer than 80 characters are truncated at column
  372. 80 when writing to video display memory, but not when redirecting output
  373. to a file or device.
  374.  
  375. Program output may be sent to a printer in several different ways:
  376.  
  377. You can use the technique of "echoing" console output  to the printer by
  378. pressing either Control-P or Control-Print-Screen to start and stop.
  379.  
  380. You can use the technique of printing the entire contents of the  screen
  381. by pressing Shift-Print-Screen.
  382.  
  383. You can use the technique of  redirecting  all    program  output  to  the
  384. printer by using the DOS command line redirection symbol and the printer
  385. device name: SD ... >PRN
  386.  
  387. Since the vertical bar used to separate the columns of displayed  output
  388. is a graphics symbol (not a standard  printable  ASCII    character),  you
  389. must be careful to specify the /r switch if you have a printer which  is
  390. unable to print graphics characters.
  391.  
  392. ------------------------------------------------------------------------
  393.  
  394. 2.4    Examples of Use
  395.  
  396. ------------------------------------------------------------------------
  397.  
  398. A>sd
  399.  
  400. Display the current directory of drive A.
  401.  
  402. C>sd /?
  403.  
  404. Display program help information.
  405.  
  406. A>sd c:/i/m
  407.  
  408. Measure CPU performance and display system information summary including
  409. information for the disk in drive C.
  410.  
  411. B>sd/f/6
  412.  
  413. Display the current directory of drive B, sorted by file name, using the
  414. six column format (file names only).
  415.  
  416. D>sd c:\/ss/1
  417.  
  418. Display only the system files in the root directory of    drive  C,  using
  419. the one column output format.
  420.  
  421. C>sd /j
  422.  
  423. Display the currently configured screen colors.
  424.  
  425. A>sd c:\/sd
  426.  
  427. Display all of the subdirectories in the root directory of drive C.
  428.  
  429. A>sd /lp/sf c:\ >files.dat
  430.  
  431. Create a file called "a:files.dat" which contains a sorted list  of  all
  432. files with path names (no directories) in the root directory of drive C.
  433.  
  434. A>sd .asm/b-
  435.  
  436. Display all files having an extension of "asm" in the current  directory
  437. of drive A and sort the output by descending file size.
  438.  
  439. B>sd \/n/4/z
  440.  
  441. Select all files in the root directory of drive B, do not sort the file
  442. entries, display the output using the four column  format  and    restore
  443. the original console screen when done.
  444.  
  445. C>sd \/35
  446.  
  447. Display all of the files in the root directory of drive C using 35 lines
  448. on the screen with an EGA or VGA.
  449.  
  450. C>sd \/u/50/w
  451.  
  452. Display all of the files in the root directory of drive C in upper  case
  453. using 50 lines on the screen with an EGA or VGA and automatically  reset
  454. to 25 lines when done.
  455.  
  456. B>sd temp.* >c:temp.dir
  457.  
  458. Select all files having a name of "temp" in  the  current  directory  of
  459. drive B, and redirect the console output to file "c:temp.dir".
  460.  
  461. B>sd/1 c:\*.com >>c:temp.dir
  462.  
  463. Select all files with an extension of "com" in  the  root  directory  of
  464. drive  C,  format  using  one  output  column,    and redirect the console
  465. output, appending to the file "c:temp.dir".
  466.  
  467. D>sd a:/v/p/1
  468.  
  469. Display the disk volume label and all file information    for  the current
  470. directory of drive A without a column title line.
  471.  
  472. B>sd e:/k/u
  473.  
  474. Display the current directory of drive E, rounding the space  values  to
  475. Kilobytes and displaying the file names in upper case.
  476.  
  477. C>sd /h/2
  478.  
  479. Display all files and directories in the current directory  on    drive  C
  480. sorted and displayed from left to right, using the two column format.
  481.  
  482. A>sd t/e/k/q
  483.  
  484. Select all files in the current directory of drive A whose  names  begin
  485. with  "t",  erase the screen before displaying output, display file size
  486. and disk space values in Kilobytes and do not pause the console output.
  487.  
  488. C>sd \
  489.  
  490. Display all files in the root  directory  of  drive  C    sorted    by  file
  491. extension and by file name using the two column format.
  492.  
  493. B>sd temp
  494.  
  495. If temp is an existing subdirectory in the current directory of drive B,
  496. then  select  all of the files in that directory.  Otherwise, select all
  497. files in the current directory of drive B whose names begin with "temp".
  498.  
  499. B>sd temp*
  500.  
  501. Display all directories and files in the current directory  of    drive  B
  502. whose names begin with "temp".
  503.  
  504. A>sd ../sar
  505.  
  506. Display all files in the parent directory of the  current  directory  of
  507. drive A with either the archive or read/only attribute.
  508.  
  509. A>sd c:/d/@+30
  510.  
  511. Display all files in the current directory of drive C which were created
  512. during the past month sorted by date and time, using two output columns.
  513.  
  514. C>sd \/v/g/1
  515.  
  516. Display the disk volume label and all information for all files  in  all
  517. directories of drive C.
  518.  
  519. C>sd \/gt
  520.  
  521. Display grand totals information only for all directories on drive C.
  522.  
  523. C>sd \/g/t/s
  524.  
  525. Display totals information only for all directories on drive C.
  526.  
  527. C>sd d:\test/g
  528.  
  529. Display information for files and directories at and  below  the  "test"
  530. directory level of drive D.
  531.  
  532. A>sd c:\*.exe/g
  533.  
  534. Display information for all .exe files in all directories on drive C.
  535.  
  536. A>sd c:\/g/sd
  537.  
  538. Display all directory names on drive C.
  539.  
  540. B>sd ..\*.a?m/d+/1
  541.  
  542. Display all files in the parent directory of the  current  directory  of
  543. drive  B  whose  extensions begin with "a" and end with "m" and sort the
  544. output by ascending date and time using the one column output format.
  545.  
  546. C>sd /a/1
  547.  
  548. Display all files in all ARC files in the current directory of    drive  C
  549. using the one column format.
  550.  
  551. C>sd /a:*.com/4
  552.  
  553. Display all .com files in all ARC files  in  the  current  directory  of
  554. drive C using the 4 column format.
  555.  
  556. C>sd abc/a/@+365
  557.  
  558. Display all files less than one year old in all ARC  files  whose  names
  559. begin with "abc" in the current directory of drive C in 2 column format.
  560.  
  561. C>sd \/a+/gt
  562.  
  563. Display grand totals information only for all files in    all  directories
  564. and all files in all ARC files in all directories of drive C.
  565.  
  566. C>sd/v/1 b:\dir1\dir2\dir3\*.doc/d >prn
  567.  
  568. Select    all  files  having  an    extension  of  "doc"  in  the  directory
  569. "\dir1\dir2\dir3"  of  drive  B.  Sort the output by date and time.  Use
  570. the one  column  output  format  and  include  the  disk  volume  label.
  571. Redirect the console output to the printer.
  572.  
  573. A>sd/r/q b: (Type Control-P/RETURN)
  574. (console output is duplicated on the printer)
  575. A> (Type Control-P/RETURN)
  576.  
  577. Display the current directory of  drive  B  and  duplicate  the  console
  578. output on the printer.
  579.  
  580. ------------------------------------------------------------------------
  581.  
  582. 3.1    File Selection By Attribute
  583.  
  584. ------------------------------------------------------------------------
  585.  
  586. Syntax: /s[attr-switch]...[attr-switch]
  587.  
  588. /s  - Select all files and directories
  589. /sd - Select Directories only (no files)
  590. /sf - Select Files only (no directories)
  591. /sa - Select files with the Archive attribute
  592. /sr - Select files with the Read/Only attribute
  593. /sh - Select files with the Hidden attribute
  594. /ss - Select files with the System attribute
  595.  
  596. These switches are used to further restrict  which  files  are    selected
  597. (in addition to any filespec) based on the attributes of the files.
  598.  
  599. As a default, the /s switch is configured ON.  This means that all files
  600. (including Hidden and System files) are selected as a  default.  If  you
  601. prefer to not see these files (like DIR) unless you type /s, set the  /s
  602. switch OFF using the SDC program or DEBUG.
  603.  
  604. If /sd is specified, all and only the subdirectories  in  the  specified
  605. directory are selected, including the current (.) and parent (..).
  606.  
  607. If /sf is specified, all and only the files (regardless of attribute) in
  608. the specified directory are selected.
  609.  
  610. If an /sa, /sr, /sh, or /ss switch is specified by itself, all and  only
  611. the files with the specified attribute are selected.  These switches may
  612. also be combined in any order and the intervening /s switch(es) omitted.
  613. For example: SD C:\DIR/SA/SR is equivalent to SD C:\DIR/SAR
  614.  
  615. When multiple /s switches are specified, the effect is "additive";  i.e.
  616. for  the  example  above, all files with either the Archive or Read/Only
  617. attribute will be selected from the specified directory.
  618.  
  619. Specification of any /s switch(es) other than /sd causes  an  additional
  620. 'totals' line to be displayed which summarizes the number of files which
  621. have each of  the  requested  attributes.  If  files  with  the  Archive
  622. attribute are selected, the percent of files with this attribute is also
  623. displayed.  This provides an indication of the need to back up files  on
  624. a hard disk.
  625.  
  626. Since separate colors are used to identify System and Hidden files  from
  627. normal files, it is possible to permanently configure the /s  switch  ON
  628. without losing the ability to distinguish the different file types.
  629.  
  630. One difference between SD and CHKDSK is that  CHKDSK  considers  a  disk
  631. volume label to be a "hidden file", whereas SD does not.
  632.  
  633. ------------------------------------------------------------------------
  634.  
  635. 3.2    File Selection By Date
  636.  
  637. ------------------------------------------------------------------------
  638.  
  639. Syntax: /@[+/-][days][+/-]
  640.  
  641. The /@ switch is used to select files based on their age (the  date  the
  642. file was created or last updated). Since dates are specified relative to
  643. the current system date (normally set by the DATE command or  real  time
  644. clock  at  boot  time),  it  is  essential  that  the system date be set
  645. correctly in order for this feature to work properly.
  646.  
  647. Files may be selected which are exactly the  specified    number    of  days
  648. old, or either newer (+) or older (-) than the specified number of days.
  649. The number of days specified may range from 0  to  9999,  syntactically,
  650. but cannot be so large as to pre-date January 1, 1980, which is when the
  651. universe was created (according to DOS!).
  652.  
  653. Think of the date specification  process  in  two  steps:  go  back  the
  654. specified number of days and then find the files written before (-), on,
  655. or after (+) that date.
  656.  
  657. For example:
  658.  
  659. /@    select files written today (days=0)
  660. /@1+    select files written during last 2 days
  661. /@7    select files written exactly one week ago
  662. /@+30    select files written during the past month
  663. /@-365    select files written more than a year ago
  664.  
  665. The +/- may be specified either before or after the number of days.
  666.  
  667. Regardless of the default sort type, specifying the /@ switch will cause
  668. the /d switch to be  set  automatically.   If  you  wish  to  specify  a
  669. different sort switch, you must specify it after the /@ switch.  If  the
  670. number of filename columns is not already set to 1,  specifying  the  /@
  671. switch will cause the /2 switch to be set automatically.  If you wish to
  672. specify a different number of filename    columns,  you  must  specify  it
  673. after the /@ switch.
  674.  
  675. ------------------------------------------------------------------------
  676.  
  677. 3.3    ARC File Processing
  678.  
  679. ------------------------------------------------------------------------
  680.  
  681. Syntax: /a[+][:filespec]
  682.  
  683. The /a switch requests ARC file processing instead of or in addition  to
  684. normal file processing.  All other switches operate as    usual  with  the
  685. exception of those noted below.  In the simplest  case    (/a  specified),
  686. all files in  the  specified  directory  with  extensions  of  .ARC  are
  687. automatically processed.  Although the .ARC file type  is  assumed,  any
  688. other file type (such as .PAK or .PKA) may also be specified.
  689.  
  690. Each file is opened, the ARC directory entries are read and  saved,  and
  691. the file is closed.  Information for each of the files in the  ARC  file
  692. is then displayed.  This process repeats until all of the  selected  ARC
  693. files have been processed.  The ARC files are  processed  in  the  order
  694. they are found in the directory and are not sorted.  Entries inside each
  695. selected ARC file are sorted and displayed in the usual way except  that
  696. some additional information is displayed if the /1 switch is specified.
  697.  
  698. The information displayed for each file in a selected ARC file includes:
  699. Filename, Original Length, Storage Method, Packing Percent, Packed Size,
  700. Date, Time, and CRC code.  After  the  entries    in  each  ARC  file  are
  701. displayed, a totals line is displayed which summarizes this  information
  702. for the ARC file as a whole.  After all ARC files have    been  processed,
  703. a grand totals line is displayed which summarizes  the    information  for
  704. all of the selected ARC files.
  705.  
  706. If a primary file specification is used with /a (SD ABC/A), it    is  used
  707. to select a subset of the available  ARC  files.  If  a  secondary  file
  708. specification is used (SD /A:ABC), it is used  to  select  a  subset  of
  709. the available files inside the selected ARC files.  The  /@  switch  may
  710. also be used to select files inside ARC files by the age of the files.
  711.  
  712. If /a+ is specified, normal file processing occurs  first,  followed  by
  713. ARC file processing for each of the selected  ARC  files.  This  process
  714. can also be applied to all directories on a disk by using the /g switch.
  715. Processing for /a may take considerable  time  if  many  ARC  files  are
  716. present and the disk space is heavily fragmented.  In this case, you may
  717. wish to specify the /q switch and control the console output manually.
  718.  
  719. The /s switches are not applicable to ARC file    entries  since    no  file
  720. attribute information is maintained inside  ARC  files.  The  /c  switch
  721. is not particularly useful either since it sorts by the file CRC  codes!
  722. Nested ARC files (ARC files inside ARC files) cannot be processed  since
  723. this would require the full extraction    code  for  the    ARC  compression
  724. algorithms to be included in this program, which is not appropriate.
  725.  
  726. ARC files have become something  of  a    standard  for  the  transfer  of
  727. DOS disk  files  across  Computer  Bulletin  Board  systems  since  they
  728. can significantly reduce the transfer  time,  allow  multiple  files  to
  729. be combined into a single file, insure the integrity  of  the  files  by
  730. storing and checking CRC codes, and preserve the  original  file  dates,
  731. times and sizes.  They are  also  useful  for  long  term  disk  storage
  732. since they reduce the number of  floppy  disks    needed    to  store  data.
  733. It is therefore highly desirable to be able to display    the  directories
  734. of these files in an efficient    and  flexible  manner.    The  integration
  735. of ARC file processing with normal directory processing in this  program
  736. allows you to take full advantage of the benefits inherent in ARC files.
  737.  
  738. ------------------------------------------------------------------------
  739.  
  740. 3.4    Global Subdirectory Processing
  741.  
  742. ------------------------------------------------------------------------
  743.  
  744. Syntax: /g or /gt
  745.  
  746. The  /g  switch  requests  global  subdirectory  processing.  All  other
  747. switches  operate  as  usual.     After    the  specified    target directory
  748. (usually, but not necessarily,    a  root  directory)  is  processed,  all
  749. subdirectories    below  that directory are processed in alphabetic order.
  750.  
  751. After all directories have been processed, a grand totals line    for  all
  752. of  the  directories and files is displayed,  followed by a grand totals
  753. line for file attributes (if a /s switch was specified).  Specifying the
  754. /gt switch suppresses the totals lines for  individual    directories  and
  755. only displays the grand totals.
  756.  
  757. If the current directory on the target drive is not the root  directory,
  758. you must explicitly specify it (\), if you wish to process  all  of  the
  759. directories on that drive: SD \/G ...
  760.  
  761. Processing for /g may take considerable time  if  many    directories  are
  762. present and the disk space is heavily fragmented.  In this case, you may
  763. wish to specify the /q switch and control the console output manually.
  764.  
  765. The /g switch has a variety of uses. It can be used to display a summary
  766. of the total number of directories and files on a disk    similar  to  the
  767. CHKDSK command if /gt is specified.  Somewhat more information for  each
  768. individual directory is displayed if /g/t is specified.
  769.  
  770. It can be used to locate any and all occurrences of a file anywhere on a
  771. disk with a complex directory structure by simply specifying a filename.
  772. If no matching files are found, the displayed path name is that  of  the
  773. last directory which was searched for the file.
  774.  
  775. Another interesting use is to specify the /sd switch, which will display
  776. all of the directories on the disk below the specified directory.
  777.  
  778. ------------------------------------------------------------------------
  779.  
  780. 3.5    Sort Field Selection Switches
  781.  
  782. ------------------------------------------------------------------------
  783.  
  784. Syntax: /sort-switch[+/-]
  785.  
  786. /b - Sort by file size in Bytes
  787. /c - Sort by file Cluster number
  788. /d - Sort by (1) file Date and (2) time
  789. /f - Sort by (1) File Name and (2) extension
  790. /x - Sort by (1) file Extension and (2) name
  791. /n - No sort - display entries in directory order
  792.  
  793. These switches specify which fields are to be used as sort  "keys"  when
  794. formatting  the  output  information.     These switches are all mutually
  795. exclusive; i.e. only one sort switch should be specified.   If    no  sort
  796. switch is specified, the default is by file extension and name (/x).
  797.  
  798. Sort switches may be optionally followed by a + for an ascending sort or
  799. a -  for a descending sort.  The default sort direction is ascending for
  800. all sort switches except /d, which is descending  (so  the  newer  files
  801. appear first). The + and - options are not meaningful for the /n switch.
  802.  
  803. The /b switch is used to find either the smallest or largest files on  a
  804. disk,  or  to  discover  which    file(s)  have sizes which lie in a given
  805. range.    This can be helpful when it is known that  a  file  of    a  given
  806. size is missing from a disk, and it is desired to find its  identity  by
  807. examining the contents of another disk which does contain the file.
  808.  
  809. The /c switch sorts the file entries by the first  or  starting  cluster
  810. number allocated to the file.  This is simply the absolute  location  on
  811. the disk where the file  begins.  Although  not  used  very  frequently,
  812. this switch can be used to determine the actual order of the files on  a
  813. disk, which is independent of  their  order  in  the  disk's  directory,
  814. especially on a disk whose space has become "fragmented" by the creation
  815. and deletion of many files  with  differing  sizes.  Regardless  of  the
  816. default value for the number of  filename  columns,  specifying  the  /c
  817. switch will cause the /1 switch to be set automatically.  If you wish to
  818. specify a different number of filename    columns,  you  must  specify  it
  819. after the /c switch.
  820.  
  821. The /d switch is a  frequently    used  sorting  option,    especially  when
  822. combined  with    the  /2  or /1 switch.    This allows either the newest or
  823. oldest files on a disk to be easily identified.  Of course, the validity
  824. of  this  information  is once again dependent on the correct setting of
  825. the system date at the time the files were written.  If  the  number  of
  826. filename columns is not already set to 1, specifying the /d switch  will
  827. cause the /2 switch to be set automatically.  If you wish to  specify  a
  828. different number of filename columns, you must specify it after  the  /d
  829. switch.
  830.  
  831. The /f switch simply sorts the selected directory entries by  file  name
  832. and  extension,  which    is perhaps the most used sorting  sequence.  Any
  833. "strange" file names containing unusual special characters will tend  to
  834. collect at the beginning and end of the list, where they can  be  easily
  835. identified.
  836.  
  837. The /x switch is helpful  in  identifying  which,  if  any,  files  have
  838. "strange"  file  name extensions.  Since most standard files have one of
  839. only a few possible types (extensions), such as .BAT, .COM,  .EXE,  etc.
  840. using this switch will separate out any non-standard file names.
  841.  
  842. The /n switch bypasses the sort process with the result  that  the  file
  843. entries  are  displayed  in  the order they occur in the disk directory.
  844. This is helpful when examining a bootable disk to insure that the  order
  845. of  files  is  optimal    (in  the  order  they are needed during the boot
  846. sequence, and by frequency of use  after  boot-up).  This  is  the  same
  847. order of file names as that displayed by the DIR command.
  848.  
  849. ------------------------------------------------------------------------
  850.  
  851. 4.1    Output Mode Switches
  852.  
  853. ------------------------------------------------------------------------
  854.  
  855. Syntax: /output-switch ... /output-switch
  856.  
  857. /?  - Display program help information
  858. /i  - Display system Information summary
  859. /j  - Just display configured screen colors
  860. /l  - List file names and (p)ath names only
  861. /r  - Redirect output to a device or file (optional)
  862. /t  - Display only the Totals output lines
  863.  
  864. The /? switch requests that a help screen be displayed which  summarizes
  865. the command line syntax used to invoke the program and switch  meanings.
  866. The /? switch output may be redirected to a file as follows: SD /? >FILE
  867.  
  868. The /i switch requests that a screen be displayed which  summarizes  the
  869. system hardware configuration and memory and disk  characteristics.  See
  870. the section titled System Information Summary for details.
  871.  
  872. The /j switch requests that a summary of the  configured  screen  colors
  873. be displayed.  This switch is useful when you can't  remember  what  the
  874. color values are for a specific type of file attribute or screen area.
  875.  
  876. The /l switch requests that a list of  file names (only)  be  generated.
  877. All other output (file information  and  totals  lines)  is  suppressed.
  878. This switch is normally used  with  the  /sf  switch  (to  suppress  any
  879. directories),  and  the  /r  switch to redirect the output to a file for
  880. processing by another program.    The filename column switches are ignored
  881. (/1 is assumed) if they are specified with  the  /l  switch.  Since  any
  882. embedded spaces are removed, the file names are ready to be operated  on
  883. by  copy  commands  which  might  be  generated automatically by another
  884. program.  Specifying the /lp (path name) option causes the file names to
  885. be prefixed with their path names.  This  can  be  useful  when  another
  886. program is to subsequently process  the  file  name  list  from  another
  887. directory.  /l is mutually exclusive with the /t and /gt switches.
  888.  
  889. The /r    switch    requests  that    console  output  be  written  using  DOS
  890. services, rather than directly to video display memory for higher speed.
  891. Although this slows down the output and suppresses  the  screen  colors,
  892. this is necessary when the need arises to redirect the output to a  file
  893. or a device (printer) for subsequent processing.  /r is also used to run
  894. the program in a window with a multitasking environment (see below).
  895.  
  896. If /r is specified, it should be the first parameter on the command line
  897. after the command name, so that any error messages which  are  generated
  898. for subsequent parameters can  be  redirected.    The  /r  switch  is  set
  899. automatically when the program detects    that  console  output  is  being
  900. redirected, so it does not normally need to be specified.
  901.  
  902. If output is not being redirected but is to be captured from the  screen
  903. directly, it may be desirable to specify /r so the program will  convert
  904. the graphics vertical bar symbols it uses to separate  adjacent  columns
  905. of output information to the standard  ASCII  printable  character  (|).
  906. You may wish to place the output file on a different drive or  directory
  907. than the one being processed or the output file may be included  in  the
  908. directory list as a zero byte file.  For example: SD A: >C:\TEMP.DIR
  909.  
  910. The /t    switch    suppresses  the  display  of  detailed    information  for
  911. individual  files  and    directories  and only  displays  the  directory,
  912. file attribute (see the /s switch) and disk space totals lines.
  913.  
  914. The directory totals line includes the target directory path  (if the /v
  915. switch isn't specified), the number of  subdirectories,  the  number  of
  916. files selected, the total number of bytes and clusters in  the    selected
  917. files, and the percent of space used in the clusters  allocated  to  the
  918. selected  files.  This    last  value   provides     an  indication  of  how
  919. efficiently disk space is being utilized  for  the  selected  files  and
  920. depends on the number of files selected, the file  sizes  and  the  disk
  921. cluster size.  The disk space  totals  line  includes  the  space  used,
  922. percent used, space free, total space on the disk, and the current  date
  923. and time.
  924.  
  925. The /t switch is used  when you wish to compare the total number or size
  926. of  files  on  two  different  disks or directories.  If a difference is
  927. detected, other switches (such as /b or /d) can  be  used  to  determine
  928. which files are missing (or different).
  929.  
  930. Another difference between SD and DIR is that SD counts directories  and
  931. files separately; DIR includes both in its "file" count.
  932.  
  933. ------------------------------------------------------------------------
  934.  
  935. 4.2    Output Toggle Switches
  936.  
  937. ------------------------------------------------------------------------
  938.  
  939. Syntax: /output-switch ... /output-switch
  940.  
  941. /e  - Erase the screen before displaying output
  942. /h  - Display output using Horizontal sequence
  943. /k  - Display memory and disk space in Kilobytes
  944. /m  - Measure CPU performance for /i switch
  945. /o  - Switch between long and short date and time formats
  946. /p  - Print column title lines for /1 switch
  947. /q  - Quick output (no prompts when the screen fills)
  948. /u  - Switch between Upper and Lower case filenames
  949. /v  - Display disk Volume label and path at start
  950. /w  - Reset the screen to 25 lines at exit
  951. /z  - Restore the original screen at exit
  952.  
  953. These output switches are all "toggles".  This means that specifying the
  954. switch on the command line toggles the    switch    value  to  the    opposite
  955. state of the default value (either ON or OFF).    For example,  the  value
  956. of the /k switch is normally OFF.  Specifying /k  on  the  command  line
  957. will cause space values to be shown in    Kilobytes,  rather  than  Bytes.
  958. However, if /k is configured to be ON as a default, specifying it on the
  959. command line will cause space values to be shown in  Bytes  rather  than
  960. Kilobytes.  These switches may be used together and with other    switches
  961. in many different combinations.
  962.  
  963. The /e switch causes the display screen to be cleared before any  output
  964. is displayed.  The screen is cleared using the current number of  screen
  965. lines (rows), which may be different from the standard 25  lines  if  an
  966. EGA or VGA adaptor and monitor are being used.
  967.  
  968. The /h switch causes the file  entries to  be  displayed  in  horizontal
  969. rather than vertical sequence according to the    sort  option  specified.
  970. This is handy when more than a screen's worth of output is generated, so
  971. that the sequence of file entries is continuous when the screen scrolls.
  972.  
  973. The /k switch requests that system memory and disk space information  be
  974. displayed  in  units  of Kilobytes (1024 bytes), rather than the default
  975. units of bytes.  In addition, these values are    rounded  upward,  taking
  976. into  account the allocation unit (cluster) size for the specified disk.
  977. System memory values are simply rounded to the next higher Kilobyte. Use
  978. of  the  /k  switch  will reveal the actual amount of disk space used by
  979. each file, rather than the normal file size, which  may  be  much  less.
  980. If an individual file has a size greater than 999,999  bytes,  the  file
  981. size is displayed in Kilobytes, even if the /k switch  isn't  specified.
  982. This is necessary since the width of the file size field is  limited  to
  983. six digits.
  984.  
  985. The /m switch requests that the system CPU performance be  measured  and
  986. displayed when the /i switch is also specified.  Since this process  can
  987. take up to about 10 seconds on an 8088 system, the default  is    OFF.  If
  988. you are using a fast system, you may prefer to configure the  value  ON.
  989. See the section titled System Information Summary for details.
  990.  
  991. The /o switch requests that an alternate format be used when  displaying
  992. system and file date and time values.  Two formats are    supported,  long
  993. and short.  For example, for the long format values: 25-Nov-88 12:55:32,
  994. the equivalent short format would be 11-25-88 12:55p.  The advantage  of
  995. using the long format is that the month is more readable and  times  are
  996. displayed in seconds for better accuracy.  The advantage  of  the  short
  997. format is that dates are easier to compare when using the /d switch, and
  998. the format is similar to the standard DOS date and time format.
  999.  
  1000. The /p switch requests that a title line be displayed which  labels  the
  1001. individual output columns displayed for the /1    switch.  The  format  of
  1002. the displayed information is somewhat different when both the /a and  /1
  1003. switches are specified.  You may wish to turn off  the    /p  switch  when
  1004. redirecting the program output to a file to be used as input to  another
  1005. program.
  1006.  
  1007. The /q switch suppresses the console reads  which  normally  occur  when
  1008. output information is about to scroll off the screen.  You may    wish  to
  1009. specify this switch when a large amount of  output  is    being  generated
  1010. (/g or /a used without /t).
  1011.  
  1012. The /u switch requests that an alternate format be used when  displaying
  1013. individual filenames.  Two formats are supported, upper and lower  case.
  1014. The lower case format is usually more readable, but this depends on  the
  1015. video monitor and number of screen lines being used.
  1016.  
  1017. The /v switch causes the disk volume label  (if  any),    and  the  target
  1018. path name to be displayed before the information for  individual  files.
  1019. In this case, the path name is not displayed on the first  totals  line,
  1020. which is the normal default.  You may wish to use this switch  when  you
  1021. are working with long path names, to prevent truncation  of  information
  1022. on the first totals line.
  1023.  
  1024. The /w switch requests that the number of screen lines be  reset  to  25
  1025. when the program is about to exit in a video  mode  with  more    than  25
  1026. screen lines when an EGA or VGA adaptor is  in    use.  A  necessary  side
  1027. effect of this is that the program must wait for the user to press a key
  1028. just prior to exiting and the screen  is  cleared.  If    this  switch  is
  1029. configured ON, you will have to specify /w/z when you wish to use the /z
  1030. switch.  See the section titled EGA  and  VGA  Switches  for  additional
  1031. information.
  1032.  
  1033. The /z switch requests that the program save the contents of the  screen
  1034. (including the cursor location and size) on entry,  and  that  these  be
  1035. restored when the program terminates.  This requires  that  the  program
  1036. wait for the user to press a key just prior  to  exiting,  so  that  the
  1037. final screen output is not prematurely lost.  Screen sizes of up  to  80
  1038. columns by 50 lines for EGA and VGA adaptors are supported.  /z  may  be
  1039. ignored  if  used  together  with  either  the /w, /25, /35, /43, or /50
  1040. switch since the restored screen size could be incorrect after the video
  1041. mode change requested by these other switches.
  1042.  
  1043. It is also possible that /z will be ignored if used  together  with  the
  1044. /g switch when processing a large number of directories.  The  directory
  1045. buffer size is 2000 bytes  which  allows  up  to  about 125 16 character
  1046. directory names to be processed.  If  the  directory  buffer  fills,  it
  1047. automatically expands into the screen save buffer  (an    additional  8000
  1048. bytes), which allows up to a total of about 625 16  character  directory
  1049. names to be processed.
  1050.  
  1051. ------------------------------------------------------------------------
  1052.  
  1053. 4.3    Filename Column Switches
  1054.  
  1055. ------------------------------------------------------------------------
  1056.  
  1057. The /1, /2, /4, and /6 switches specify the number  of    filename  output
  1058. columns and, inversely, the amount of file information displayed:
  1059.  
  1060. /1 - 1 column  - File name, size,  clusters allocated,    % of space used,
  1061.          date, time, starting cluster and sector, and attributes
  1062.  
  1063. /2 - 2 columns - File name, size, date and time
  1064.  
  1065. /4 - 4 columns - File name and size
  1066.  
  1067. /6 - 6 columns - File name only
  1068.  
  1069. A larger number of columns allows more files  to  be  displayed  on  the
  1070. display  screen  at one time, at the cost of losing some of the detailed
  1071. file information.  A smaller number of columns allows more detailed file
  1072. information to be displayed, at the cost of only being able to display a
  1073. limited number of files.  All of these switches are mutually  exclusive;
  1074. only one should be specified.  The default switch is /2.
  1075.  
  1076. Subdirectory entries  (normally found in the root directory)  are  shown
  1077. with special screen colors, for emphasis.   This is  especially  helpful
  1078. when using the /6 switch, since there isn't room for the <Dir> indicator
  1079. (directory names may be up to 11 characters long, just like file names).
  1080. File name colors indicate the most significant attribute of the file  in
  1081. the order: System, Hidden, Read-Only, Archive, and Normal.
  1082.  
  1083. The file size is normally displayed in bytes, or  Kilobytes  if  the  /k
  1084. switch is specified.  If /1 is specified, the number of  clusters  which
  1085. are allocated to the file and the percent of  space  actually  used  are
  1086. also displayed.
  1087.  
  1088. The date and time the file was last modified  are  displayed  in  either
  1089. long or short format, depending on the /o switch value.  The time a file
  1090. was last written is only accurate to a resolution of  two  seconds;  all
  1091. values will have an even number of seconds.  Files  created  with  early
  1092. versions of DOS may not have either a date or time stamp.  In this case,
  1093. the date and time fields will appear as periods.
  1094.  
  1095. If /1 is specified, the starting cluster  number  and  starting  logical
  1096. sector number for the file are displayed, as are the file attributes:
  1097.  
  1098. A - Archive    R - Read/Only    H - Hidden    S - System
  1099.  
  1100. ------------------------------------------------------------------------
  1101.  
  1102. 4.4    EGA and VGA Switches
  1103.  
  1104. ------------------------------------------------------------------------
  1105.  
  1106. /25 - Display 25 lines on EGA or VGA monitor
  1107. /35 - Display 35 lines on EGA or VGA monitor
  1108. /43 - Display 43 lines on EGA or VGA monitor
  1109. /50 - Display 50 lines on EGA or VGA monitor
  1110.  
  1111. These switches change to the specified number  of  screen  lines  (rows)
  1112. when an Enhanced Graphics Adaptor (EGA) or Video  Graphics  Array  (VGA)
  1113. video adaptor and monitor  are    in  use.  The  screen  is  automatically
  1114. cleared and the screen    remains  set  to  this    size  when  the  program
  1115. terminates (unless /w is specified  when  it  is  reset  to  25  lines).
  1116. If the number of screen lines has already been set to  a  value  greater
  1117. than 25, the program will  automatically  use  the  current  value.  The
  1118. use of a monochrome monitor connected to an EGA card  is  not  supported
  1119. by these switches.
  1120.  
  1121. For an EGA, the native modes are 25 and 43 lines.  The 35  and    50  line
  1122. modes are synthesized by dynamically creating  new  EGA  fonts.  The  35
  1123. line mode is more readable than the 43 line mode.  The 50 line    mode  is
  1124. rather difficult to read since it is formed by dropping  the  last  scan
  1125. line of each character which causes the partial loss of  the  descenders
  1126. of some lower case letters.
  1127.  
  1128. For a VGA, the native modes are 25, 43, and 50 lines.  The 35 line  mode
  1129. is synthesized as for the EGA.    The 50 line mode is readable, since  the
  1130. VGA can use 400 vertical scan lines, rather than the 350 of the EGA.
  1131.  
  1132. Since versions of DOS prior to 4.0 neither properly recognize nor  fully
  1133. support all of the operational modes  possible    with  the  EGA/VGA  BIOS
  1134. (43 line mode, for example), you may  experience  strange  results  when
  1135. using these modes at the DOS command  prompt.  In  particular,    ANSI.SYS
  1136. does not recognize 43 line mode and may cause the DOS command prompt  to
  1137. appear on screen line 25, overlaying data  previously  displayed  there.
  1138. If you normally use ANSI.SYS (or other equivalent  ANSI  console  device
  1139. drivers) with an EGA/VGA monitor, you  may  wish  to  configure  the  /w
  1140. switch ON which handles this problem.  Turning the option ON will  cause
  1141. SD to wait for a character to be typed when it is about to  exit  in  an
  1142. EGA/VGA video mode with more than 25 screen lines.  After a character is
  1143. typed, the standard 25 line video mode is reset, the screen  is  cleared
  1144. and the program terminates.
  1145.  
  1146. If you are using DOS 4.0 with ANSI.SYS, you MUST specify the new /L ANSI
  1147. command line switch if you plan to use more than 25  screen  lines.  You
  1148. may also change the number of screen lines using the MODE command:
  1149.  
  1150. DEVICE=ANSI.SYS /L        (In CONFIG.SYS)
  1151. MODE CON LINES=25 or 43 or 50    (In AUTOEXEC.BAT or at DOS prompt)
  1152.  
  1153. SD will decline to execute if the current video mode  is  other  than  2
  1154. (80x25 B/W) or 3 (80x25 Color) when a  color  monitor  is  in  use.  The
  1155. other 40 column text modes and graphics modes are not supported, but  it
  1156. is rare to encounter these modes other than in BASIC programs.
  1157.  
  1158. ------------------------------------------------------------------------
  1159.  
  1160. 5.0    System Information Summary
  1161.  
  1162. ------------------------------------------------------------------------
  1163.  
  1164. The /i switch requests that a screen be displayed which  summarizes  the
  1165. system hardware configuration  and  memory  and  disk  information.  The
  1166. information is presented in six boxes.    The upper  left  box  summarizes
  1167. the system hardware configuration.  The upper  middle  and  right  boxes
  1168. summarize DOS and system  memory  information.    The  lower  three  boxes
  1169. summarize the  technical  information  for  the  specified  disk.  Other
  1170. switches which can be used with the /i switch include /e, /k, /m and /o.
  1171. For example, to compare two sets of drive parameters using an EGA/VGA:
  1172.  
  1173. D>SD C:/I/50 - display info for drive C: using 50 lines
  1174. D>SD D:/I/E  - display info for drive D: without clearing screen
  1175.  
  1176. Output generated by the /i switch may be redirected as follows:
  1177.  
  1178. D>SD C:/I >FILE
  1179.  
  1180. ------------------------------------------------------------------------
  1181.  
  1182. 5.1    System Hardware
  1183.  
  1184. ------------------------------------------------------------------------
  1185.  
  1186. PC System Type - The PC System Type Code,  followed by the Submodel Type
  1187. and BIOS Level for PS/2 systems.  Typical system codes are as follows:
  1188.  
  1189. Code    System Types
  1190. ----    ------------
  1191.  FF    IBM PC
  1192.  FE    IBM PC-XT, IBM PC-PORTABLE
  1193.  FD    IBM PC-Jr
  1194.  FC    IBM PC-AT, IBM PC-XT/286, IBM PS/2-50,60
  1195.  FB    IBM PC-XT/2
  1196.  FA    IBM PS/2-30
  1197.  F9    IBM PC-CONVERTIBLE
  1198.  F8    IBM PS/2-70,80
  1199.  
  1200. ROM BIOS Date - The date contained in the ROM BIOS chip  which    provides
  1201. an indication of when the system was manufactured.
  1202.  
  1203. Processor Type - The type of CPU chip in the system.  Possible types are
  1204. 8086/8, 80286, or 80386.
  1205.  
  1206. Performance - The computing performance of the system  CPU  relative  to
  1207. the original IBM PC and PC-XT.    The  /m  switch  must  be  specified  or
  1208. configured ON.    Memory Resident (TSR) programs that intercept the  timer
  1209. interrupt   may   make     the   computed  CPU  performance  value  appear
  1210. artificially low.  You may wish to temporarily rename the CONFIG.SYS and
  1211. AUTOEXEC.BAT files, reboot the system and execute  the    command:  SD/I/M
  1212. to determine the true CPU performance.    Processing time ranges    from  10
  1213. seconds on 8088 systems to less than 1 second on 80386 systems.  You may
  1214. wish to run the test several  times,  since  the  value  may  fluctuate.
  1215. Typical system performance values are as follows:
  1216.  
  1217. System        CPU    MHz   Waits   Perf
  1218. ------        ---    ---   -----   ----
  1219. INTEL           80386    25    0    18.18
  1220. COMPAQ 386     80386    20    0    15.15
  1221. IBM PS/2-70    80386    20    1    14.08
  1222. IBM PS/2-80    80386    16    0    11.36
  1223. AT-CLONE       80286    12    1     8.69
  1224. IBM PS/2-60    80286    10    1     6.99
  1225. AT-CLONE       80286    8    0     5.88
  1226. IBM PC-AT      80286    8    1     5.52
  1227. AT-CLONE       80286    6    0     4.23
  1228. IBM PC-AT      80286    6    1     4.14
  1229. IBM PC-XT      8088    4.77    -     1.00
  1230.  
  1231. Video Adaptor - The type of  Video Display Adaptor currently being used.
  1232. Possible types are MDA, CGA, MCGA, EGA or VGA.
  1233.  
  1234. Drives (F/H/L) - The number of    (F)loppy and (H)ard drives in the system
  1235. and the DOS (L)ASTDRIVE value which may be specified in CONFIG.SYS.
  1236.  
  1237. Ports (S/P/G) - The number of  (S)erial, (P)arallel, and (G)ame ports in
  1238. the system.  Serial ports are often used for a modem or mouse,    parallel
  1239. ports are often used for printers and game ports are used for joysticks.
  1240.  
  1241. ANSI/CP/Mouse - ANSI indicates whether or not  an  ANSI  Console  Device
  1242. Driver    is  installed  in  the    system    (via CONFIG.SYS).  CP  indicates
  1243. whether or not an 80x87  math  Coprocessor  chip  is  installed  in  the
  1244. system.  Mouse     Type    indicates  whether  or    not  a    Microsoft  Mouse
  1245. compatible software device driver is installed in the system.
  1246.  
  1247. ------------------------------------------------------------------------
  1248.  
  1249. 5.2    System Memory
  1250.  
  1251. ------------------------------------------------------------------------
  1252.  
  1253. DOS Version - The version of PC-DOS or MS-DOS installed in the system.
  1254.  
  1255. Program Memory - The amount of memory used by the program, excluding the
  1256. buffer used to hold file entries, which is variable in size.
  1257.  
  1258. Environment - The amount of memory  currently  being  used  by    the  DOS
  1259. Environment allocated to the program.  The DOS SET command  is    used  to
  1260. add or delete Environment variables.
  1261.  
  1262. DOS Memory - The amount of memory  used  by  the  following  DOS  system
  1263. components: Interrupt Vectors in low memory, the Disk BIOS (IBMBIO.COM),
  1264. the  DOS kernel  (IBMDOS.COM),    FILES,    BUFFERS,  and any Device Drivers
  1265. specified in CONFIG.SYS, and any memory they allocate.
  1266.  
  1267. TSR Memory - The amount of  memory  used  by  the  resident  portion  of
  1268. COMMAND.COM (at a minimum) and    memory    allocated  to  any  subsequently
  1269. loaded    Terminate-and-Stay-Resident  type  programs  (such as  SDR.COM).
  1270. It also includes any currently free memory blocks which do not reside in
  1271. high memory (those previously released by TSR programs).
  1272.  
  1273. The DOS and TSR memory values can be very useful in  analyzing    how  the
  1274. memory currently being used is allocated and in finding overallocations.
  1275.  
  1276. Used Memory - The amount of system memory currently in use.
  1277.  
  1278. Free Memory - The amount of system memory currently not in use.
  1279.  
  1280. Total Memory - The total amount of system memory (below 640K).
  1281.  
  1282. EMS Version - The version of the Lotus-Intel-Microsoft    Expanded  Memory
  1283. Manager installed in the system, if any.  EMS allows any  PC  system  to
  1284. share paged memory on an EMS memory card between applications.    A device
  1285. driver must be installed in CONFIG.SYS to use this memory.
  1286.  
  1287. EMS Memory Used - The amount of EMS memory currently in use.
  1288.  
  1289. EMS Memory Free - The amount of EMS memory currently not in use.
  1290.  
  1291. EMS Memory Total - The total amount of EMS memory in the system.
  1292.  
  1293. EGA Memory - The amount of video memory installed (up to 256K) on an EGA
  1294. or VGA video display adaptor.
  1295.  
  1296. XMS Version - The version of the Lotus-Intel-Microsoft    Extended  Memory
  1297. Manager installed in the system, if any.  XMS allows a 286 or 386 system
  1298. to share Extended memory between applications.    A device driver must  be
  1299. installed in CONFIG.SYS to use this memory.
  1300.  
  1301. Free Memory - The amount of Extended memory (above 1Mb) managed  by  XMS
  1302. which is currently available for an 80286 or 80386 system.
  1303.  
  1304. Extended - The amount of Extended memory (above 1Mb) which is  currently
  1305. available for an 80286 or 80386 system.
  1306.  
  1307. ------------------------------------------------------------------------
  1308.  
  1309. 5.3    Disk Parameters
  1310.  
  1311. ------------------------------------------------------------------------
  1312.  
  1313. Disk Drive - The name of the target disk drive from A: to Z:.  The drive
  1314. letter will be followed by one of  the    following  descriptors,  if  the
  1315. drive type can be determined:
  1316.  
  1317. NET    - Logical Network Drive
  1318. BIG    - Hard Disk Partition GT 32Mb
  1319. HARD    - Hard Disk Partition LE 32Mb
  1320. 5.25"   - 5.25" Floppy Drive
  1321. 3.5"    - 3.5"  Floppy Drive
  1322.  
  1323. OEM Boot Information - The name of the Original  Equipment  Manufacturer
  1324. (OEM) and the version of DOS used to format the disk.
  1325.  
  1326. Hidden Sectors - The number of sectors on a hard disk hidden from use by
  1327. DOS when processing the current disk partition.  This area on  the  disk
  1328. may either contain partition table information, or the data  in  another
  1329. partition, depending on the partitioning scheme used.
  1330.  
  1331. Reserved Sectors - The number of sectors reserved at  the  beginning  of
  1332. the disk for the boot sector, partition tables, etc.
  1333.  
  1334. FATs/EntrySize - The number of File  Allocation  Tables  (FATs) and  the
  1335. number of Bits Per File Allocation Table Entry for the disk.  This value
  1336. is 12 for disks formatted prior to DOS 3.0 and either 12 or 16 for disks
  1337. formatted with DOS 3.0 or later.  DOS uses 16 bit FAT entries if a  disk
  1338. has 4086 or more data clusters.
  1339.  
  1340. Sectors Per FAT - The number of Sectors Per File Allocation Table.
  1341.  
  1342. Directory Sector - The logical sector number of the Root  Directory  for
  1343. the disk (or hard disk partition).
  1344.  
  1345. Data Sector - The logical sector number of the Data (File) Area  on  the
  1346. disk (or hard disk partition).
  1347.  
  1348. Root Directory Size - The maximum number of entries in the  disk's  Root
  1349. Directory.
  1350.  
  1351. Total Sectors - The total number of sectors on the disk,  including  the
  1352. Boot sector(s), FAT sectors, Root Directory sectors, and Data sectors.
  1353.  
  1354. Sectors Per Track - The number of Sectors Per Track on the disk.
  1355.  
  1356. Heads (Sides) - The number of Heads (Sides or Surfaces) for  a    hard  or
  1357. floppy disk.  Some RAMDISKs may have too many heads for their own good!
  1358.  
  1359. Cylinders - The number of Tracks Per Side (Head or Surface) for a floppy
  1360. disk or a hard disk partition.    This value may be slightly smaller  than
  1361. the number of physical cylinders for a hard disk partition, due  to  the
  1362. use of some cylinders for partition information,  bad sector tables,  or
  1363. diagnostic purposes.  For a hard disk, the total number of  cylinders on
  1364. the drive is also displayed, but only for the first drive and partition.
  1365.  
  1366. Media Byte - The Media Descriptor Byte is used to describe the size  and
  1367. format of the disk media and is based on the following disk  parameters:
  1368. Sectors per Track,  Heads  (Sides),  and  Cylinders  (Tracks Per  Side).
  1369. Although the Media Byte is used  by  the  BIOS    to  determine  the  disk
  1370. characteristics  in  certain  cases, not all  DOS  BIOS  implementations
  1371. use exactly the same Media Bytes for the same disk types.  An example is
  1372. the 5.25" 1.2Mb and 3.5" 720Kb disk types which both use media byte F9.
  1373.  
  1374. Bytes Per Sector - The number of Bytes Per Sector on the disk.
  1375.  
  1376. Sectors Per Cluster - The number of Sectors Per Cluster on the disk.
  1377.  
  1378. Bytes Per Cluster - The number of Bytes Per Cluster on the disk.
  1379.  
  1380. Volume Serial Number - The Volume Serial Number for  the  disk.  DOS 4.0
  1381. places an 8 digit hexadecimal Volume Serial Number in the Boot Sector of
  1382. each disk when it is formatted.  This value  can  be  used  to    uniquely
  1383. identify a disk since it is different for each disk  (unlike disk Volume
  1384. Labels which may be the same).    The VSN.COM utility provided can be used
  1385. to create, change and delete Volume Serial Numbers on  disks  which  are
  1386. either formatted or used with any version of DOS.  See the  VSN.DOC file
  1387. for additional information.
  1388.  
  1389. Volume Label - The Volume Label for the disk.  Volume Labels are created
  1390. either when the disk is formatted or when the LABEL command is used.
  1391.  
  1392. Create Date - The date when the Volume Label was created.
  1393.  
  1394. Create Time - The time when the Volume Label was created.
  1395.  
  1396. Used Clusters - The number of Clusters in use on the disk.
  1397.  
  1398. Free Clusters - The number of Clusters not in use on the disk.
  1399.  
  1400. Total Clusters - The total number of Clusters  available  on  the  disk.
  1401. This does not include the space used by  the Boot Sector,  the FATs,  or
  1402. the Root Directory.
  1403.  
  1404. Used Space - The number of Bytes used and the Percent of space    used  on
  1405. the disk.
  1406.  
  1407. Free Space - The number of Bytes free and the Percent of space    free  on
  1408. the disk.
  1409.  
  1410. Total Space - The total number of Bytes  available  on    the  disk.  This
  1411. does not include the space used by  the Boot Sector,  the FATs,  or  the
  1412. Root Directory.
  1413.  
  1414. Some of the disk information is obtained by reading  the  Boot Sector of
  1415. the disk.  If either an error occurs when  reading  the  Boot Sector, or
  1416. invalid data is detected, this information will appear as NONE or zeros.
  1417. The values affected are the OEM Boot Information through  Cylinders  and
  1418. the Volume Serial Number value.
  1419.  
  1420. Standard DOS disk formats and their characteristics are shown below:
  1421.  
  1422. Disk Type       Size   SPT    Heads    Cyls   Media    BPC   FAT
  1423. ---------       ----   ---    -----    ----   -----    ---   ---
  1424. 5.25" SS  48 TPI   160K    8      1      40      FE     512   12
  1425. 5.25" SS  48 TPI   180K    9      1      40      FC     512   12
  1426. 5.25" DS  48 TPI   320K    8      2      40      FF    1024   12
  1427. 5.25" DS  48 TPI   360K    9      2      40      FD    1024   12
  1428. 5.25" DS  96 TPI   1.2M   15      2      80      F9     512   12
  1429.  
  1430. 3.5"  DS 135 TPI   720K    9      2      80      F9    1024   12
  1431. 3.5"  DS 135 TPI   1.4M   18      2      80      F0     512   12
  1432.  
  1433. PC-XT Hard Disk     10M   17      4    305     F8    4096   12
  1434. PC-AT Hard Disk     20M   17      4    611     F8    2048   16
  1435. PC-AT Hard Disk     30M   17      5    731     F8    2048   16
  1436.  
  1437. ------------------------------------------------------------------------
  1438.  
  1439. 6.1    Configuring the Program
  1440.  
  1441. ------------------------------------------------------------------------
  1442.  
  1443. The SD program may be configured (using SDC) or patched (using DEBUG) to
  1444. change the various  program  defaults  to  those  you  prefer.    The  SDC
  1445. program is preferred over DEBUG since it is much easier and safer to use
  1446. and allows you to decide which combination of screen colors you  prefer.
  1447. It also allows you to judge the effect of your    changes  by  alternately
  1448. modifying the SD program and executing the modified program, all without
  1449. having to leave the configuration program.  Run the  DEMO2.BAT    file  to
  1450. see some examples of SDC program output.
  1451.  
  1452. If you are using DEBUG, you will need to refer    to  the  section  titled
  1453. Patch Area Format to obtain  the  necessary  offsets  and  data  values.
  1454. The following example shows how to use DEBUG to patch the SD program:
  1455.  
  1456. D>DEBUG SD.COM      (Load SD.COM into memory using DEBUG)
  1457. -E107 '4'         (Change the default number of columns to 4)
  1458. -E118 01      (Display the volume label as a default)
  1459. -E11B 1E      (Change directory colors to Yellow on Blue)
  1460. -W          (Write the modified file back to disk)
  1461. -Q          (Exit to DOS from DEBUG)
  1462. D>SD          (Execute the modified version of SD.COM)
  1463.  
  1464. Screen Color Configuration
  1465.  
  1466. Although it is possible to configure the SD program using either a color
  1467. or monochrome monitor, best results will be obtained if  you  are  using
  1468. the target monitor since you will be better able  to  judge  the  effect
  1469. of different screen color  combinations.  If  you  are    using  a  laptop
  1470. computer with a LCD display screen, you may wish to set  all  colors  to
  1471. White on Black for better readability.    You can do this as follows:
  1472.  
  1473. D>DEBUG SD.COM      (Load SD.COM into memory using DEBUG)
  1474. -F11B L E 7      (Change all screen colors to White on Black)
  1475. -W          (Write the modified file back to disk)
  1476. -Q          (Exit to DOS from DEBUG)
  1477. D>SD          (Execute the modified version of SD.COM)
  1478.  
  1479. The foreground and background colors (screen attributes)  used    for  the
  1480. following screen fields may be configured:
  1481.  
  1482. Directory Colors apply to individual subdirectory entries.
  1483.  
  1484. System Colors apply to files with the System attribute.
  1485.  
  1486. Hidden Colors apply to files with the  Hidden  attribute,  but    not  the
  1487. System attribute.
  1488.  
  1489. Read/Only Colors apply    to  files  with  the  Read/Only  attribute,  but
  1490. neither the System nor Hidden attribute.
  1491.  
  1492. Archive Colors apply to files with the Archive    attribute,  but  neither
  1493. the System, Hidden, or Read/Only attribute.
  1494.  
  1495. File Colors apply to files with none of the above mentioned  attributes.
  1496.  
  1497. ARC File Colors apply to file entries inside ARC files.
  1498.  
  1499. File Size Colors apply to the file size, clusters, and percent of  space
  1500. used fields.
  1501.  
  1502. File Date Colors apply to the file date and time fields.
  1503.  
  1504. File Misc Colors apply to the file starting cluster and sector and  file
  1505. attribute fields for non-ARC files and file CRC codes for ARC files.
  1506.  
  1507. Graphics Colors apply to the  graphics    characters  which  are    used  to
  1508. vertically divide the filename columns and to form the lines of boxes.
  1509.  
  1510. Text Colors apply to the text strings which precede  numeric  or  string
  1511. values in the leading and trailing text lines and to  the  text  in  the
  1512. boxes displayed for the /? and /i switches.
  1513.  
  1514. Info Colors apply to the numeric or string values which follow the  text
  1515. strings in the leading and trailing text lines and to the values in  the
  1516. boxes displayed for the /i switch.
  1517.  
  1518. Normal Colors apply to the trailing characters on each output line,  the
  1519. new output lines created when the screen is  scrolled,    the  SDR  prompt
  1520. line, and the title fields for the various boxes  displayed  by  the  /?
  1521. and /i switches.  These colors should be set  to  the    standard  screen
  1522. colors used at the DOS command prompt.
  1523.  
  1524. The Graphics, Text, Info and Normal Colors should be  selected    so  that
  1525. they all use the same background color (the default is black), for  best
  1526. results.  The remaining colors should  be  selected  so  that  they  are
  1527. sufficiently different from one another to be individually  recognizable
  1528. and are easily readable on the video monitor being used.  Although there
  1529. are 1792 possible color combinations, only a few are tolerable for long.
  1530.  
  1531. ------------------------------------------------------------------------
  1532.  
  1533. 6.2    Patch Area Format
  1534.  
  1535. ------------------------------------------------------------------------
  1536.  
  1537. The following information is only provided as a reference for those  who
  1538. need to use DEBUG to change the program defaults; it is  not  needed  to
  1539. run the SDC configuration program.
  1540.  
  1541. The following data area at the beginning  of  the  SD.COM  file  may  be
  1542. modified using the standard DOS  DEBUG    program.  Only the  data  values
  1543. beginning with the Sort Type field should be modified.    Only the  toggle
  1544. switches marked (SDC) should normally be turned ON as a default.
  1545.  
  1546. SDC    DEBUG    Field               Default     Possible
  1547. Offset    Offset    Description           Value     Values
  1548. ------    ------    -----------           -------     --------
  1549.   01     0100    Jump Instruction      -     ?? ?? ??
  1550.   04     0103    Program Type          -     1=SD.COM, 2=SDR.COM
  1551.   05     0104    Program Version       -     60H = Version 6.0
  1552.  
  1553.   06     0105    Sort Type         'X'     'B','C','D','F','X','N'
  1554.   07     0106    Sort Direction         '+'     '+','-'
  1555.   08     0107    Filename Columns     '2'     '1','2','4','6'
  1556.  
  1557.   09     0108    Process ARC Files      0     /A = 0,1
  1558.   10     0109    Erase Console Screen      0     /E = 0,1      (SDC)
  1559.   11     010A    Process Global Dirs      0     /G = 0,1
  1560.   12     010B    Horizontal Sequence      0     /H = 0,1      (SDC)
  1561.   13     010C    System Information      0     /I = 0,1
  1562.   14     010D    Just Display Colors      0     /J = 0,1
  1563.   15     010E    Space in Kilobytes      0     /K = 0,1      (SDC)
  1564.   16     010F    List File Names       0     /L = 0,1
  1565.   17     0110    Measure CPU Performance   0     /M = 0,1      (SDC)
  1566.   18     0111    Date/Time Format      0     /O = 0,1      (SDC)
  1567.   19     0112    Print Title Lines      1     /P = 0,1      (SDC)
  1568.   20     0113    Quick Output          0     /Q = 0,1      (SDC)
  1569.   21     0114    Redirected Output      0     /R = 0,1      (SD)
  1570.   22     0115    System & Hidden Files      1     /S = 0,1      (SDC)
  1571.   23     0116    Totals Lines Only      0     /T = 0,1
  1572.   24     0117    Upper/Lower Case      0     /U = 0,1      (SDC)
  1573.   25     0118    Display Volume Label      0     /V = 0,1      (SDC)
  1574.   26     0119    Reset to 25 Screen Rows   0     /W = 0,1      (SDC)
  1575.   27     011A    Restore Original Screen   0     /Z = 0,1      (SD)
  1576.         Suppress Activation Msg   0     /Z = 0,1      (SDR)
  1577.  
  1578.   28     011B    Directory FG/BG Colors    7+16*1     White     on Blue
  1579.   29     011C    System      FG/BG Colors    4+16*3     Red     on Cyan
  1580.   30     011D    Hidden      FG/BG Colors    5+16*3     Magenta on Cyan
  1581.   31     011E    Read/Only FG/BG Colors    6+16*3     Brown     on Cyan
  1582.   32     011F    Archive   FG/BG Colors    0+16*3     Black     on Cyan
  1583.   33     0120    File      FG/BG Colors    1+16*3     Blue     on Cyan
  1584.   34     0121    ARC File  FG/BG Colors    3+16*1     Cyan     on Blue
  1585.   35     0122    Size      FG/BG Colors    1+16*7     Blue     on White
  1586.   36     0123    Date      FG/BG Colors    0+16*7     Black     on White
  1587.   37     0124    Misc      FG/BG Colors    4+16*7     Red     on White
  1588.   38     0125    Graphics  FG/BG Colors    4+16*0     Red     on Black
  1589.   39     0126    Text      FG/BG Colors    2+16*0     Green     on Black
  1590.   40     0127    Info      FG/BG Colors    3+16*0     Cyan     on Black
  1591.   41     0128    Normal      FG/BG Colors    7+16*0     White     on Black
  1592.  
  1593.   42     0129    Directory Mono Attrs    0+16*7     Reverse Video
  1594.   43     012A    System      Mono Attrs    9+16*0     Intensified Underlined
  1595.   44     012B    Hidden      Mono Attrs    1+16*0     Normal Underlined
  1596.   45     012C    Read/Only Mono Attrs    1+16*0     Normal Underlined
  1597.   46     012D    Archive   Mono Attrs   15+16*0     Intensified
  1598.   47     012E    File      Mono Attrs    7+16*0     Normal Video
  1599.   48     012F    ARC File  Mono Attrs    7+16*0     Normal Video
  1600.   49     0130    Size      Mono Attrs    7+16*0     Normal Video
  1601.   50     0131    Date      Mono Attrs    7+16*0     Normal Video
  1602.   51     0132    Misc      Mono Attrs    7+16*0     Normal Video
  1603.   52     0133    Graphics  Mono Attrs   15+16*0     Intensified
  1604.   53     0134    Text      Mono Attrs    7+16*0     Normal Video
  1605.   54     0135    Info      Mono Attrs   15+16*0     Intensified
  1606.   55     0136    Normal      Mono Attrs    7+16*0     Normal Video
  1607.  
  1608.   56     0137    Hot Key Control Code      4     0-15          (SDR)
  1609.   57     0138    Hot Key Scan Code      1     0-255          (SDR)
  1610.   58     0139    Hot Key String    CTRL-ESCAPE Keys 16 chars,NULL      (SDR)
  1611.   75     014A    Prompt Character      26     0-255          (SDR)
  1612.   76     014B    Dir Buffer Length     1024     512-4096      (SDR)
  1613.   78     014D    File Buffer Length    10240     2560-40960      (SDR)
  1614.   80     014F    Screen Buffer Type      1     1/2=4000/8000      (SDR)
  1615.  
  1616.               Color Codes
  1617.  
  1618.       0 = Black       1 = Blue          2 = Green       3 = Cyan
  1619.       4 = Red          5 = Magenta     6 = Brown       7 = White
  1620.  
  1621. SD  dynamically  selects  either  the  color  or  monochrome  attributes
  1622. specified  at  the  offsets  in  the  table  above, based on the type of
  1623. video display adaptor being used.
  1624.  
  1625. Once the desired foreground and background colors (attributes) have been
  1626. selected for a screen field, compute the field attribute byte using  the
  1627. formula: ATTRIBUTE = FCOLOR+16*BCOLOR, where FCOLOR and BCOLOR    are  the
  1628. foreground and background colors (attributes), respectively.
  1629.  
  1630. Intensified foreground colors corresponding to the 8 standard colors may
  1631. be  selected  by  adding 8 to the foreground color number.  For example,
  1632. specify foreground color (6+8)=14  to  get  a  foreground  Yellow  color
  1633. instead  of  the  unintensified  Brown.    The blinking  attribute  (for
  1634. foreground characters) may be selected by adding  8  to  the  background
  1635. color number.  However, use of this attribute  is not recommended, since
  1636. it may be distracting.    For a  monochrome  monitor,  selecting    Blue  on
  1637. Black (1+16*0) will cause the screen field to be underlined.
  1638.  
  1639. ------------------------------------------------------------------------
  1640.  
  1641. 6.3    Multiple Drive Processing
  1642.  
  1643. ------------------------------------------------------------------------
  1644.  
  1645. The SDB.BAT batch file allows you to execute the SD program for multiple
  1646. disk drives automatically.  This is especially useful when searching for
  1647. files which may be on other drives and possibly in other directories  or
  1648. ARC files on other drives.  It is  also  handy    when  displaying  totals
  1649. information for one or more directories or ARC files on several drives.
  1650.  
  1651. Before using SDB, you must use a text editor to edit the file to  select
  1652. the disk drives you wish to process (the default is drives C, D, and E).
  1653. It is recommended that you only select partitions  on  hard  disks,  and
  1654. possibly other drives which are not floppy disk drives,  but  any  valid
  1655. drive letters may be selected, and in any desired order.  You may  abort
  1656. the output at any point by pressing ESC or CTRL-C, so you  should  order
  1657. the drive letters by  expected    frequency  of  use.  The  following  two
  1658. statements must appear in the batch file for each drive (d):
  1659.  
  1660. sd d:%1%2%3%4%5%6%7%8%9/$
  1661. if errorlevel 2 goto end
  1662.  
  1663. The last drive is an exception, where the /$ and following if  statement
  1664. must be omitted.  The /$ switch tells SD  to  provide  a  pause  between
  1665. successive drives in order to synchronize  screen  scrolling.  Once  you
  1666. are familiar with the use of SDB,  you    may  wish  to  remove  the  help
  1667. information at the beginning of the file to keep the file  as  small  as
  1668. possible.  If you are using DOS 3.3 or higher, you may wish to add an  @
  1669. character before the echo off statement to suppress it.
  1670.  
  1671. Although you can use almost any valid SD  command  line  with  SDB,  the
  1672. following restrictions exist:
  1673.  
  1674. 1) You must type a space before any command line parameters.
  1675.  
  1676. 2) You must not specify a specific drive letter on the command line.
  1677.  
  1678. 3) Output redirection to a device or file isn't supported.
  1679.  
  1680. 4) If you don't specify any command line parameters, help information
  1681.    is displayed.  To select the current directory, specify * or ? or
  1682.    edit the file to remove the help information as described above.
  1683.  
  1684. Some typical examples of using SDB are provided below:
  1685.  
  1686. D>sdb \abc/g
  1687.  
  1688. Display information for  all files  whose names  begin with  abc in  all
  1689. directories on all selected drives.
  1690.  
  1691. D>sdb /v/t
  1692.  
  1693. Display volume label and totals information for  the  current  directory
  1694. on all selected drives.
  1695.  
  1696. D>sdb \/gt
  1697.  
  1698. Display volume label and  grand totals    information for  all directories
  1699. on all selected drives.
  1700.  
  1701. D>sdb \/gt/a
  1702.  
  1703. Display volume label and grand totals information for all  ARC files  on
  1704. all selected drives.
  1705.  
  1706. ------------------------------------------------------------------------
  1707.  
  1708. 6.4    Multitasking Environments
  1709.  
  1710. ------------------------------------------------------------------------
  1711.  
  1712. There are two  different  ways    to  use  SD  with  various  multitasking
  1713. environments such as  Microsoft Windows or DESQview.  The  first  method
  1714. is to use SD in its normal mode  where    it  writes  output  directly  to
  1715. Video Memory for fast color output.  This method will not  allow  it  to
  1716. run in a window.  The supplied SD.PIF file tells Microsoft Windows  that
  1717. SD is to be used in this mode.    The second method is to make a    copy  of
  1718. SD (SDW) which will have the /r switch turned  on  as  a  default.  This
  1719. will allow it to run inside a window, but more slowly and without color.
  1720.  
  1721. Create the SDW file as follows:
  1722.  
  1723. D>COPY SD.COM SDW.COM
  1724. D>DEBUG SDW.COM
  1725. -E114 1
  1726. -W
  1727. -Q
  1728.  
  1729. For Microsoft Windows, copy  SD.PIF  to  SDW.PIF  and  use  the  PIFEDIT
  1730. utility to edit the SDW.PIF file to indicate that the program  does  not
  1731. directly modify the screen.  For DESQview, SDW may be used without being
  1732. specially defined. However, you must add SD as a program which will tell
  1733. DESQview that it writes directly to the screen.
  1734.  
  1735. ------------------------------------------------------------------------
  1736.  
  1737. 7.1    Error Messages and Return Codes
  1738.  
  1739. ------------------------------------------------------------------------
  1740.  
  1741. The following error messages are displayed and system return  codes  set
  1742. for various conditions which may arise.  An audible tone is generated to
  1743. alert the user of the error (for code 2 and above) in case the output is
  1744. being redirected.  The return codes may be tested using the standard DOS
  1745. IF ERRORLEVEL statement in a .BAT file.
  1746.  
  1747. 0 - One or more matching files were found.
  1748. 1 - No matching files were found.
  1749. 2 - Bad switch or ESC or CTRL-C pressed.
  1750. 3 - Bad drive (doesn't exist or syntax error).
  1751. 4 - Bad path (doesn't exist or syntax error).
  1752. 5 - Bad file specification (syntax error).
  1753. 6 - Bad date (too large or syntax error).
  1754. 7 - Too many directories (when /g is specified).
  1755. 8 - Bad video mode (unsupported video mode).
  1756.  
  1757. Other errors which are detected relate to the processing of  ARC  files.
  1758. The first type are standard DOS file I/O error    codes  which  can  occur
  1759. when opening, reading, or closing ARC files.  The error message is:
  1760.  
  1761. Error <n> on <drive><path><filename>, where <n> is as follows:
  1762.  
  1763. 1 - Invalid function code    5 - Access denied
  1764. 2 - File not found        6 - Invalid handle
  1765. 3 - Path not found           12 - Invalid access value
  1766. 4 - Too many open files
  1767.  
  1768. The only one of these errors which is likely to occur  is  4,  in  which
  1769. case you need to increase the FILES specification in CONFIG.SYS.
  1770.  
  1771. The second type of error is caused by bad data in the header field for a
  1772. file in an ARC file, or  attempting  to  process  a  file  with  the  /a
  1773. switch which is not an ARC file.  The error message is:
  1774.  
  1775. Bad header in <drive><path><filename>
  1776.  
  1777. ------------------------------------------------------------------------
  1778.  
  1779. 7.2    Modification History
  1780.  
  1781. ------------------------------------------------------------------------
  1782.  
  1783. 01-Jan-89 ... V6.0
  1784.  
  1785. Added /gt switch for Grand Totals information only.
  1786. Created SDB.BAT file for processing multiple drives.
  1787. Added new /$ switch to display "More" message and read
  1788. keyboard before exiting for use in batch file mode.
  1789. Set exit code 2 if user types ESC/CTRL-C for batch files.
  1790. Display "More" message when exiting with /w or /z.
  1791. Added target path name to No Matching Files message.
  1792.  
  1793. Reorganized System Information Summary display screen.
  1794. Added Title Line with Current Date and Time.  Added CPU
  1795. Processor Type, Environment Size, and Extended Memory
  1796. Specification (XMS) Version and Free Memory Size.
  1797.  
  1798. Improved /r processing for multitasking environments.
  1799. Added separately configurable colors for File Size,
  1800. Date and Time, and Miscellaneous File Information.
  1801. Changed System, Hidden, Read/Only, and File Colors
  1802. to use Cyan background color rather than White.
  1803. Changed ARC colors from Blue on Cyan to Cyan on Blue.
  1804.  
  1805. Use new-style INT 25H system call to read the Disk
  1806. Boot Sector for Hard Disk Partition Sizes GT 32Mb.
  1807. Identify Floppy Drives, Hard Disks and Big Partitions.
  1808. Only display Total Cylinders for Hard Disk Drive C:.
  1809. Improved tests for Network Drives when errors occur.
  1810. Improved detection of Submodel Type and BIOS Level.
  1811. Identify "Crushed" Storage Method for .ARC Files.
  1812.  
  1813. Determine Hidden Sectors, Sectors Per Track, Heads,
  1814. and Cylinders for RAMDISKs with valid Boot Sectors.
  1815. Handle Boot Sector Jump Offset GT 128 bytes correctly.
  1816.  
  1817. Improved SDR installation and activation messages.
  1818. Added SDR /q (suppress installation message) and /z
  1819. (suppress activation message) DOS command line switches.
  1820.  
  1821. ------------------------------------------------------------------------
  1822.  
  1823. 7.3    Product Support
  1824.  
  1825. ------------------------------------------------------------------------
  1826.  
  1827. This product represents more than a thousand hours of work over  several
  1828. years.    I believe it is a good example of  the    SHAREWARE  concept;  you
  1829. get to try the product    without  prior    commitment  and  only  chose  to
  1830. support it if you find it useful.  Many of the    continuing  improvements
  1831. have been implemented in response  to  user  suggestions  and  requests.
  1832. If you find that you continue to use this product once you  have  become
  1833. familiar with it, it is obviously of some value to you;  please  support
  1834. the SHAREWARE concept by registering your copy and sharing the    SD60.ARC
  1835. file with others.
  1836.  
  1837. The SD60.ARC file may be freely copied and distributed as  long  as  the
  1838. only  charge  is  for  media  and  reproduction  costs,  etc.  Under  no
  1839. conditions should the program either be sold for a profit or distributed
  1840. in modified form without the permission of the author.    Commercial  site
  1841. licenses or special versions are available on request.
  1842.  
  1843. As supplied, the programs in this product are fully functional    with  no
  1844. missing or crippled features.  However, the SHAREWARE concept is  a  two
  1845. way process.  In order    to  keep  the  size  of  the  distribution  file
  1846. reasonable, and to encourage  users  to  register  their  copy    of  this
  1847. product, the SDC configuration utility program is only available through
  1848. the mail when you register your copy of SD.
  1849.  
  1850. This easy-to-use program provides full screen color  menus  which  allow
  1851. you to change any of the default sort options,    screen    colors,  command
  1852. line switch values, or other  program  options    in  SD    or  SDR  to  the
  1853. defaults you prefer.  Although you can also use the DOS DEBUG program to
  1854. make these changes by patching the SD  or  SDR    files,    SDC  makes  this
  1855. process much quicker and safer.
  1856.  
  1857. To register your copy of SD, please complete the order and  registration
  1858. form below and return it together with a contribution of $20. In return,
  1859. you will receive a disk containing the latest version of all of  the  SD
  1860. utility programs (including the SDC program), together with the complete
  1861. source code!  This will allow you to see how the  programs  work,  learn
  1862. more about assembly language programming, or make your own enhancements.
  1863. If you do improve the program, please let me know so  that  the  results
  1864. can be shared with other users.  I prefer to coordinate all  changes  so
  1865. that they are released in an orderly fashion.
  1866.  
  1867. A comprehensive DOS HELP utility is available separately which    provides
  1868. quick, friendly access to complete DOS command reference information for
  1869. DOS 2.0-4.0.  The DEMO2.BAT file provides a demonstration of some of the
  1870. capabilities of this product.  The DOS HELP utility  is  also  available
  1871. for a contribution of $20, or you can receive BOTH the SD  Utility  Disk
  1872. and the DOS HELP Disk for a contribution of $30.  Please specify whether
  1873. you want the IBM PC-DOS or ZENITH MS-DOS Version of the HELP Utility.
  1874.  
  1875. Even if you don't register or  formally  support  this  product,  please
  1876. share copies of the SD60.ARC file with other users and/or upload  copies
  1877. to Computer Bulletin Boards you use.
  1878.  
  1879. Users  who  have  supported   this  product  in  the  past  are  largely
  1880. responsible  for  the  existence  of  the  current  version.  Previously
  1881. registered users can receive the latest version of either SD or HELP for
  1882. a $10 contribution, at any time.  Normally  I only  supply  5.25"  360Kb
  1883. floppy disks.  If you can only use 3.5" 720Kb disks,  either  add  $2.50
  1884. per disk, or include the appropriate number  of  3.5"  disks  with  your
  1885. order.    I can accept checks, money orders and purchase orders.
  1886.  
  1887. If  you  wish  to  contact  me    with  problem reports,    suggestions  for
  1888. improvements,  and/or  especially  large  financial  donations, I can be
  1889. reached using the information provided below:
  1890.  
  1891. John F. Stetson         (Home) (301) 946-5615 (8PM-11PM EST)
  1892. 42 Tivoli Lake Court        (Work) (301) 340-4544 (10AM-6PM EST)
  1893. Silver Spring, Md. 20906
  1894.  
  1895. ------------------------------------------------------------------------
  1896.  
  1897. IBM and PC-DOS are trademarks of IBM Corporation.
  1898. MICROSOFT and MS-DOS are trademarks of Microsoft Corporation.
  1899. DESQview is a trademark of Quarterdeck Office Systems.
  1900. ARC is a trademark of SEA Corporation.
  1901.  
  1902. ------------------------------------------------------------------------
  1903.  
  1904.         SD V6.0 Order and Registration Form
  1905.  
  1906. ------------------------------------------------------------------------
  1907. Quantity    Item                    Price    Total
  1908. ------------------------------------------------------------------------
  1909.  
  1910.   ___        Sorted Directory Utility Disk        $20.00    $_______
  1911.  
  1912.   ___        IBM PC-DOS HELP Utility Disk        $20.00    $_______
  1913.  
  1914.   ___        ZENITH MS-DOS HELP Utility Disk     $20.00    $_______
  1915.  
  1916.   ___        SD Utility Disk AND DOS HELP Disk    $30.00    $_______
  1917.         Specify IBM (_) or ZENITH (_)
  1918.                               Subtotal    $_______
  1919.         Update For Previously Registered User
  1920.         Subtract 50% of Subtotal            $_______
  1921.  
  1922.                               Subtotal    $_______
  1923.  
  1924.         Add $2.50 Per Disk For 3.5" Diskettes           $_______
  1925.  
  1926.                               Subtotal    $_______
  1927.  
  1928.         MD Residents Please Add 5% Sales Tax       Tax    $_______
  1929.  
  1930.         Thanks For Your Support!         Total    $_______
  1931.  
  1932. ------------------------------------------------------------------------
  1933.  
  1934.     Name _______________________________________________________________
  1935.  
  1936.  Company _______________________________________________________________
  1937.  
  1938.  Address _______________________________________________________________
  1939.  
  1940.      _______________________________________________________________
  1941.  
  1942. Phone(W) ___________________________ Phone(H) __________________________
  1943.  
  1944.  
  1945. Where did you obtain SD (Bulletin Board, Software Library, Friend)?
  1946.  
  1947.      _______________________________________________________________
  1948.  
  1949. Comments _______________________________________________________________
  1950.  
  1951.      _______________________________________________________________
  1952.  
  1953.      _______________________________________________________________
  1954.  
  1955.  
  1956. ------------------------------------------------------------------------
  1957.