home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / XDISK330.ZIP / XDISK.DOC < prev    next >
Text File  |  1992-01-01  |  41KB  |  896 lines

  1.  
  2.                       ░░░░░░░▄    ░░░░▄   ░░░░░░░▄   ░░░░▄  ░░░▄
  3.                        ░░█▀▀░░░▄   ░░█▀  ░░█▀▀▀▀░▒▄   ░░█▀ ░░█▀▀
  4.           ░░░▄   ░░░▄  ░░█   ░▒█   ░░█   ░▒█     ▀▀   ░░█ ░▒█▀
  5.             ░░▄ ░▒█▀▀  ░░█   ▒▒█   ░▒█   ░▒█          ░░█▒▒█▀
  6.              ░▒▒▒█▀    ░▒█   ▒▒█   ▒▒█    ▒▒▒▒▒▒▒▄    ░▒▒▒█▀
  7.               ▒▒█▀     ▒▒█   ▒▓█   ▒▒█     ▀▀▀▀▀▒▓▄   ▒▒█▒▓▄
  8.              ▒▒▓▓▄     ▒▒█   ▓▓█   ▒▓█          ▓▓█   ▒▒█ ▓▓▄
  9.             ▓▓█ ▓▓▄    ▒▓█  ▓▓▓█   ▓▓█   ▒▒▄    ▓▓█   ▒▓█  ▓▓▄
  10.           ▓▓▓█▀  ▓▓▓▄ ▓▓▓▓▓▓▓▓█▀  ▓▓▓▓▄   ▓▓▓▓▓▓▓█▀  ▓▓▓▓▄  ▓▓▓▄
  11.            ▀▀▀    ▀▀▀  ▀▀▀▀▀▀▀▀    ▀▀▀▀    ▀▀▀▀▀▀▀    ▀▀▀▀  ▀▀▀▀
  12.                   Version 3.30
  13.  
  14.            Copyright (c) 1989, 1990, 1991, 1992 FM de Monasterio
  15.              Licensed Material - All Rights Reserved
  16.  
  17.   SUMMARY
  18.  
  19.   xDISK generates RAM-disks in expanded memory and permits to vary the amount
  20.   of memory allocated to the disk(s) without rebooting the computer when used
  21.   with expanded memory conforming to the LIM 3.0+ specification (EMS). If DOS
  22.   version 3.xx or higher is used, the RAM-disk can be collapsed completely to
  23.   free all of its EMS to another process (with DOS 2.10, the disk can be made
  24.   as small as 16 kbyte [an EMS page]).  Also, the RAM-disk can be expanded to
  25.   use all of the available EMS or any intermediate size multiple of 16 kbyte,
  26.   sector size and number of root directory entries can be changed, and it can
  27.   be made to show visual clues of its activity.
  28.  
  29.   Security features include making the disk a Read-Only or Read-Write device,
  30.   locking/unlocking DOS access to the disk, and the enforcing of user-defined
  31.   password checks before the implementation of any command to the disk.
  32.  
  33.   Loading features include installation of the xDISK driver program XDISK.SYS
  34.   in the upper memory area, with or without MS-DOS 5.0, if an extended memory
  35.   manager is present, and the capability of loading this driver directly from
  36.   the DOS command line via the interface program XDISK.EXE (under DOS version
  37.   2.x through 4.x only).
  38.  
  39.   Requires MS-DOS/PC-DOS version 2.1 or later, and expanded memory conforming
  40.   to the LIM EMS 3.0 or later.  The upper-memory selfloading requires DOS 3.0
  41.   or later. It is available in 086+, 286+, 386+, and 486+ microprocessor-type
  42.   optimized versions.
  43.  
  44.                 ----------------
  45.  
  46.    REGISTRATION
  47.  
  48.    This software is user-supported; the present release, although lacking the
  49.    options marked by asterisks, is a fully usable program.  You may test this
  50.    release for (in)compatibilities with your system, but after the testing is
  51.    completed you are requested to order a registered copy of the full release
  52.    of the software from the address at the end of this documentation.
  53.  
  54.    If you would rather use this unregistered copy, consider making a donation
  55.    to the Children's Hospital of Washington DC, for indigent children in need
  56.    of medical care.  Every year in the USA, infant mortality claims the lives
  57.    of tens of thousands of children before their first year of life, and most
  58.    of them come from families below poverty level...  Please send to the same
  59.    address a check payable to the "PATIENT CARE FUND, CHILDREN'S HOSPITAL" on
  60.    the obverse, and marked "For Deposit Only" on the reverse.  Donations will
  61.    be sent to Children's Hospital.  Please identify the program for which you
  62.    are making the donation.
  63.  
  64.    --------------------------------------------------------------------------
  65.       XDISK.REG contains a form needed to register or upgrade the Software
  66.    --------------------------------------------------------------------------
  67.  
  68.    See the final part of this documentation for information on the Licensing,
  69.    Distribution, Warranty, and Limitation of Remedies of this software.
  70.  
  71.                 -----------------
  72.  
  73.  
  74.   1.  GENERAL INFORMATION
  75.  
  76.   xDISK is a virtual-device driver system to generate (and modify) RAM-disks in
  77.   expanded memory conforming to Lotus/Intel/Microsoft specification version 3.0
  78.   or higher.  Disk parameters can be modified without having to reboot the CPU,
  79.   although the data on the disk are lost during any disk resizing.
  80.  
  81.   This system consists of two programs: (1) XDISK.SYS, a block device driver to
  82.   be installed via CONFIG.SYS, after an EMS manager has been installed, and (2)
  83.   XDISK.EXE, a utility to communicate with the device driver via DOS and, thus,
  84.   to permit changing of one or more parameters of the specified xDISK RAM-disk.
  85.  
  86.   The XDISK.SYS and XDISK.EXE files of a given version are matched and will not
  87.   work with those of other versions of the program.  Requires MS DOS/IBM-PC DOS
  88.   version 2.0 or later, and an EMM complying with the EMS LIM 3+ specification.
  89.  
  90.   xDISK RAM-disks are compatible with the CHKDSK utility of DOS as well as with
  91.   other programs that sometimes encounter difficulties with other resizable RAM
  92.   disks. Starting from version 2.50, the boot sector of the xDISK disk complies
  93.   with the DOS 4.x format.
  94.  
  95.  
  96.   CPU VERSIONS
  97.  
  98.    The program is written in assembly language; each version consists of four
  99.    processor-type releases (086, 268, 386 and 486) in which the code has been
  100.    optimized for the CPU types of the 80x86 processor family.  This is needed
  101.    since the x86 processors differ markedly in instruction execution time and
  102.    the incorporation of a memory cache in some CPU types affects such time by
  103.    influencing the speed of both instruction fetching and memory access.
  104.  
  105.    In addition to standard (086) assembly language instructions, the 286, 386
  106.    and 486 releases of the program also use 286-, 386- or 486-specific opcode
  107.    instructions in 'real' mode (which is the native mode for 086 processors).
  108.    The type and degree of code optimization vary with the CPU type, and yield
  109.    usually small variations of the size of the resident code.
  110.  
  111.  
  112.  
  113.   RAM-DISK IDENTIFICATION & DOS VERSION
  114.  
  115.   DOS assigns the first available drive letter to a RAM-disk within the default
  116.   range A to E or, for DOS ≥3.00, the range A to Z if the command <LASTDRIVE=Z>
  117.   is included in CONFIG.SYS. Such a letter is shown by XDISK.SYS when using DOS
  118.   ≥3.00, but it is not shown when using an earlier DOS version. xDISK disks can
  119.   be identified by the volume label and time of creation, as well as by the OEM
  120.   identification in the boot sector, all of which are determined by the version
  121.   of xDISK.  If executed in an 80286 CPU or higher, the date of creation of the
  122.   RAM-disk is the current date in the CMOS chip; for an 8088/8086 CPU, the date
  123.   of creation is that of the assembly of the xDISK version.
  124.  
  125.  
  126.  
  127.   DIRECT DRIVER COMMUNICATION
  128.  
  129.   Starting from version 2.52, the device header of each XDISK.SYS installed has
  130.   the string:
  131.                 xDISK[0]unit:[0]<d>[-1]
  132.  
  133.   where the start and ending delimiter bytes [-1] contain the hexadecimal value
  134.   of 0FFh, the null separator bytes [0] contain 0, and the drive designator <d>
  135.   is the upper-case letter assigned to this RAM-disk (DOS ≥ 3.0) or a null byte
  136.   (DOS < 3.0).
  137.  
  138.   The identifying string is used to locate the driver for direct communications
  139.   between XDISK.EXE and XDISK.SYS.  Note that when this string does not contain
  140.   a designator letter (as when using DOS 2.10), switches /A, /P, /R, and /V can
  141.   only be assigned to the first XDISK.SYS driver found in memory.
  142.  
  143.   When XDISK.EXE is executed, the program searches memory for the corresponding
  144.   identifying string. When the correct drive is not specified or the driver has
  145.   been installed in the upper memory area, the search may extend as high as the
  146.   first 1 Mb of memory (see below).
  147.  
  148.                 ----------------
  149.  
  150.   2.  USAGE
  151.  
  152.   INSTALLING THE xDISK DRIVER
  153.  
  154.   XDISK.SYS may be installed via the CONFIG.SYS file on the boot disk after the
  155.   LIM-3+ EMS manager has been installed.  The filename of the EMS driver varies
  156.   varies with the manufacturer, but its code must include the string 'EMMXXXX0'
  157.   whose presence can be verified with any file-browsing utility.  The following
  158.   command must be included in the CONFIG.SYS file:
  159.  
  160.             DEVICE=[path]XDISK.SYS [/B/C/D/E/H/K/S]
  161.  
  162.   Alternatively, starting from version 3.10, the driver may also be loaded from
  163.   the command line at the DOS prompt (i.e., after the operating system has been
  164.   booted and configured via CONFIG.SYS) by means of the utility XDISK.EXE, when
  165.   executed under DOS versions 2 through 4.  The DOS command-line loading is not
  166.   implemented yet under MS-DOS version 5.  The following command must be issued
  167.   for the command-line loading:
  168.  
  169.             XDISK /L [path]XDISK.SYS [/B/C/D/E/H/K/S]
  170.  
  171.   If given, <path> represents the complete path specification (including drive)
  172.   for the file XDISK.SYS.  See below for a description of the switches.
  173.  
  174.  
  175.  
  176.   MODIFYING THE xDISK DRIVER
  177.  
  178.   After the xDISK driver has been installed, XDISK.EXE can be used to interface
  179.   with the driver.  This utility allows for the modification of disk parameters
  180.   from the DOS command line:
  181.  
  182.         XDISK [?] [/L] [d: [/A/B/C/D/E/F/G/N/P/Q/R/S/V/U/?]]
  183.  
  184.  
  185.   ?   If xDISK is executed with <?> as the only argument (notice the absence of
  186.       a preceding backslash), the program searches all block device drivers for
  187.       the xDISK driver signature, and displays a list of the installed drivers.
  188.  
  189.   d   This is the drive designator letter, followed by <:>, that identifies the
  190.       xDISK drive. The use of letters for non-xDISK drives and for non-existing
  191.       drives generates separate error messages (IOctl error 1 and F). Defaults:
  192.       Null drive, no colon or x=<ASCII 21-40> = Current drive letter.
  193.  
  194.       NOTE: Switch /L does not require a drive designator specification for the
  195.             DOS command-line loading of the xDISK driver.
  196.  
  197.                 ----------------
  198.  
  199.   2.1  SWITCHES
  200.  
  201.   The switches are not case sensitive, but must be preceded by a backslash [/].
  202.   If the RAM-disk is being resized (i.e., /Bn/Sn/Dn/C/E), non-resizing switches
  203.   must be specified AFTER the resizing switch(es), except in the case of switch
  204.   /L when the resizing switches apply to the driver to be loaded.
  205.  
  206.    --------------------------------------------------------------------------
  207.     (*) Asterisks mark options available in the registered program copy only
  208.    --------------------------------------------------------------------------
  209.  
  210.   NOTE:  When xDISK is invoked without any switch (or when the switches are not
  211.   preceded by slashes [and thus are ignored]), the status of the xDISK drive is
  212.   displayed on the DOS command line.  Except during the XDISK.SYS installation,
  213.   such a null-switch call does not change any RAM-disk parameters. During xDISK
  214.   installation, however, default values for switches /B, /D, and /S are used if
  215.   the corresponding switch is not specified.
  216.  
  217.  
  218.  
  219.   SWITCH ?
  220.  
  221.       This switch displays the Status/Usage/Help panels, which are described in
  222.       more detail in the section below.  If a VGA or EGA is the active adapter,
  223.       the program saves the contents of the palette registers prior to changing
  224.       the video attributes for its various displays.
  225.  
  226.       When preceded by a valid xDISK designator, ? or /? displays the status of
  227.       the specified RAM-disk.  In the absence of a drive designator, ? displays
  228.       the Status/Usage panel listing any installed RAM-drive, while /? attempts
  229.       to display the status of the default drive.  This is the only switch that
  230.       preserves a Read-Only status for the RAM-disk.
  231.  
  232.       See section STATUS/USAGE/HELP PANELS below.
  233.  
  234.       NOTE: (EGA users only) The default IBM palette attributes are restored if
  235.       the BIOS fails to store properly the original data.
  236.  
  237.  
  238.  
  239.   SWITCH A±
  240.  
  241.       Provides control of audio feedback during DOS access to the specified RAM
  242.       disk. Use /A+ to enable a brief click each time the driver receives a DOS
  243.       request, and /A- to disable the feedback. The audio feedback ON status is
  244.       indicated by the icon [] in the xDISK reconfiguration status messages.
  245.  
  246.       Default: /A = /A+.
  247.  
  248.  
  249.  
  250.   SWITCH Bn
  251.  
  252.       Disk size in kilobytes, where <n> is in the range between 16 and 32768 in
  253.       16-kbyte steps; when <n> is not a 16-kbyte multiple, size is increased to
  254.       the nearest larger multiple available. Unless switch /Q or /N is enabled,
  255.       this resizing change necessitates confirmation by the user.
  256.  
  257.       Defaults: In the CONFIG.SYS file, null switch or null <n> = /B64. In the
  258.       command line of DOS, /B = /B64; null switch is ignored.
  259.  
  260.  
  261.  
  262.  
  263.   SWITCH C
  264.  
  265.       Collapses the RAM-disk to a size of 0 kb (DOS ≥3.0) or 16 kb (DOS <3.0).
  266.       Unless switch /Q or /N is enabled, collapse necessitates confirmation by
  267.       the user; a 0-kb collapse does not change the existing /D and /S values,
  268.       but a 16-kb collapse also sets /D=4 and /S=128.
  269.  
  270.       If a 0-kb collapse has occurred, a DOS-mediated request to the disk will
  271.       trigger an error message of the following type for DOS 3.XX:
  272.  
  273.              Not ready error reading drive E
  274.              Abort, Retry, Fail?
  275.  
  276.       whereas for DOS 4.0X some disk-access commands will trigger this message
  277.       (e.g. 'CHKDSK E:'):
  278.  
  279.              Invalid drive specification
  280.              Invalid media type
  281.  
  282.       and others this message (e.g. 'DIR E:'):
  283.  
  284.               Not ready reading drive E
  285.               Abort, Retry, Fail?
  286.  
  287.       Answer the "Abort, Retry, Fail?" by pressing <A> to quit the DOS critical
  288.       error handler and return to the DOS prompt. The "not ready" error message
  289.       is a remainder that the RAM-disk exists, but it is collapsed.
  290.  
  291.       The 0-kbyte collapse can be restored only by using switch /B or /E; other
  292.       switches do not change the disk size.
  293.  
  294.       No defaults.
  295.  
  296.  
  297.  
  298.   SWITCH Dn
  299.  
  300.       Number of allowed entries (files) in the root directory, where <n> is in
  301.       the range between 4 and 512.  If the minimum value of 4 entries has been
  302.       selected, the number of entries is increased to 8 or 16 when a sector of
  303.       size 256 or of 512 bytes is also selected.  Unless switches /Q or /N are
  304.       enabled, this resizing change necessitates confirmation by the user.
  305.  
  306.       NOTE:
  307.       If a sufficient number of entries is NOT available, commands to write to
  308.       the disk will trigger critical error messages of a 'File Creation Error'
  309.       To decrease this possibility, expanding the disk to the maximum EMS size
  310.       via switch /E changes the number of root directory entries to 512.  If a
  311.       smaller number of entries is needed, follow switch /E with /Dn.
  312.  
  313.       Defaults: In the CONFIG.SYS file, null switch or null <n> = /D64. In the
  314.       command line of DOS, /D = /D64; null switch is ignored.
  315.  
  316.  
  317.  
  318.  
  319.   SWITCH E
  320.  
  321.       Expands the disk to the maximum available EMS size. If switch /Dn is not
  322.       also specified, it sets the directory entries to /D512. Unless switch /Q
  323.       or /N is enabled, this expansion necessitates confirmation by the user.
  324.  
  325.       No defaults.
  326.  
  327.  
  328.  
  329.   SWITCH F
  330.  
  331.       Provides control of the audio and visual feedback during the checking of
  332.       the password (see switch /P below) prior to the implementation of a disk
  333.       change. Use /FA to produce a 55-ms beep each time an incorrect character
  334.       is entered, /FV to display a '■' when a correct character is entered, or
  335.       /F- to disable either feedback.
  336.  
  337.       Default: /F = /F+.
  338.  
  339.  
  340.  
  341.   SWITCH G±
  342.  
  343.       Provides gate control of DOS access to the specified xDISK disk. Use /G-
  344.       to disable DOS access to the disk, and /G+ to (re)enable such an access.
  345.       The RAM disk data are preserved if the access gate is disabled, and they
  346.       become immediately accessible after the gate is reenabled.
  347.  
  348.       Default: /G = /G+.
  349.  
  350.  
  351.  
  352.   SWITCH H
  353.  
  354.       Instructs the program to load its resident in high memory between 640 kb
  355.       and 1024 kb, i.e. below the 1-Mb limit of real-mode memory but above the
  356.       640-kb DOS hardware barrier.   High memory self-loading requires that an
  357.       extended memory manager (XMM) supporting the services of the XMS 2.00 is
  358.       installed and that a free upper memory block (UMB) of a little less than
  359.       2 kb is available. The XMM must support functions 10h (Allocate UMB) and
  360.       11h (Free UMB).  UMB allocation is implemented via calls to DOS, if this
  361.       allocation is controlled by MS-DOS 5.0 (i.e., command DOS=UMB in CONFIG.
  362.       SYS and the drivers HIMEM.SYS and 386EMM.EXE loaded), of by direct calls
  363.       to the XMM, when DOS 5.0 does not control UMB allocation.  Switch /H[n]!
  364.       must be used in the former case, and switch /H[n] in the latter case.
  365.  
  366.       If switch /H[n]! is specified but the memory chain control of MS-DOS 5.0
  367.       has not been extended to the UMA (e.g. DOS=UMB command not implemented),
  368.       self-loading in upper memory will fail.  The user has then the option of
  369.       loading the driver in conventional memory or abort its installation.
  370.  
  371.       A low high-memory limit for the UMB can optionally be specified via <n>,
  372.       a hexadecimal number between A000 (640 kb) and FFFF (1,024 kb), so as to
  373.       select or avoid specific regions of upper memory.
  374.  
  375.       The self-loading into upper memory consumes 64 bytes of the conventional
  376.       memory for each installed xDISK driver.  A few additional bytes are used
  377.       by the XMM or MS-DOS 5 when allocating the UMB.  Unlike the upper-memory
  378.       loading mediated by some memory managers, the self-loading only requires
  379.       a free UMB of the size of the resident driver code (and not of the whole
  380.       code of XDISK.SYS).
  381.  
  382.       Defaults:  Lower-memory installation, if a XMS/DOS error is found during
  383.       the UMB loading; high-memory installation below requested lower limit if
  384.       UMBs are not available above this limit.
  385.  
  386.  
  387.  
  388.  
  389.   SWITCH K
  390.  
  391.       Do not display the installation banner when loading the driver. Switch K
  392.       is ignored after the driver has been loaded.
  393.  
  394.       No defaults.
  395.  
  396.  
  397.  
  398.   SWITCH L
  399.  
  400.       Load XDISK.SYS from the DOS command line (i.e., after the system has been
  401.       booted, and the drivers installed via the CONFIG.SYS file). The full-path
  402.       specification for XDISK.SYS must be given after switch L along with other
  403.       switches used to configure the driver, as listed above in Usage item 2.0,
  404.       including loading in upper memory. The command-line loading of the driver
  405.       works successfully with MS-DOS or IBM PC-DOS version 2 through 4, but not
  406.       yet with MS-DOS 5.0.
  407.  
  408.       Any previously installed xDISK drive cannot be collapsed for the command-
  409.       line loading to work, since such loading process rebuilds the DOS kernel.
  410.       Command-line loading of the driver adds 256 bytes (the XDISK.EXE program
  411.       segment prefix) to the resident size.
  412.  
  413.       xDISK drives loaded from the command-line either in lower (LMB) or upper
  414.       memory (UMB) can be unloaded from memory via switch /U (see below).
  415.  
  416.       NOTE:
  417.       DOS will crash if the memory allocated to the driver is released by means
  418.       of a TSR-removal utility.  A command-line loaded driver can be identified
  419.       in memory maps by the string 'xDISK_<d:>,' where <d> identifies the drive
  420.       letter for the RAM-disk.  See below section 5.0, Identification in Memory
  421.       Map Utilities.
  422.  
  423.       No defaults.
  424.  
  425.  
  426.  
  427.   SWITCH N
  428.  
  429.       Nulls the displaying of disk status, user confirmation request, and error
  430.       messages; errors can still be detected within a batch file with the ERROR
  431.       LEVEL command. Because the disk status display is generated by the driver
  432.       via BIOS calls, the messages cannot be redirected by DOS; use of switch N
  433.       produces the same result as a redirection to the NUL device. The RAM-disk
  434.       configuration parameters are preserved.
  435.  
  436.       No defaults.
  437.  
  438.  
  439.  
  440.   SWITCH Px±
  441.  
  442.       Demand password before implementing changes; password consists of 1 to 15
  443.       lower-case, pure alphanumeric characters followed by <Enter>.  Use /Px to
  444.       (re)define a password, where <x> is 1 to 15 alphanumeric lower-case [0-9,
  445.       a-z] characters followed by a space; use /P- to disable and /P+ to enable
  446.       the password requirement.
  447.  
  448.       Pressing <Esc> or <Break> during password testing returns the user to the
  449.       DOS command line. The typing of an incorrect character during the testing
  450.       vitiates prior accepted (correct) characters, and the entire password has
  451.       to be retyped. Note that warmbooting via <Ctrl-ALt-Del> is not suppressed
  452.       during password testing (rebooting destroys the RAM-disk data).
  453.  
  454.       The password is useful in situations when more than one user has acces to
  455.       the RAM-disk (e.g., a server) and, after copying the common-access files,
  456.       the disk is made Read-Only to protect its contents.
  457.  
  458.       Default: /P = /P+.
  459.  
  460.  
  461.  
  462.   SWITCH Q
  463.  
  464.       Quiet resizing. Disables the default prompt for user's confirmation prior
  465.       to disk resize/format operations that destroy all data on the RAM-disk.
  466.  
  467.       No defaults.
  468.  
  469.  
  470.  
  471.   SWITCH R±
  472.  
  473.       Make the disk a Read-Only [+] or Read-Write [-] device; the current write
  474.       status is indicated by [RO] or [RW] icons in the configuration message. A
  475.       Read-Only status does not allow for file changes or resizing of the disk.
  476.       RAM-disk configuration parameters are preserved.
  477.  
  478.       Default: /R = /R+.
  479.  
  480.  
  481.  
  482.   SWITCH Sn
  483.  
  484.       Sector size in bytes, where <n> is 128, 256, or 512. Select a small value
  485.       if storing small files; large values will reduce reading and writing time
  486.       if storing larger files.  Unless switch /Q or /N is enabled, the resizing
  487.       change necessitates confirmation by the user.
  488.  
  489.       Defaults: In the CONFIG.SYS file, null switch or null <n> = /S256. In the
  490.       command line of DOS, /S = /S256; null switch is ignored.
  491.  
  492.  
  493.  
  494.  
  495.   SWITCH V±
  496.  
  497.       Turn ON [+] or OFF [-] the display of a "" on the top-left corner of the
  498.       screen whenever xDISK is active due to a DOS request. The disk parameters
  499.       are preserved. If the display is on, the icon "" is displayed along with
  500.       the drive status in answer to the switch /? or <d:>? (see below).
  501.  
  502.       Default: /V = /V+.
  503.  
  504.  
  505.  
  506.   SWITCH U
  507.  
  508.       Uninstall from memory the specified xDISK drive (only command-line loaded
  509.       drives can be uninstalled). The operating system will crash if this drive
  510.       is not the LAST drive in the DOS chain or if the resident code is removed
  511.       with a TSR-removal utility.
  512.  
  513.       No defaults.
  514.                     --------
  515.  
  516.  
  517.   2.2  COMMENTS
  518.  
  519.   Comments may be added in the command after the desired switches. The comments
  520.   (which may be useful in batch files) must be preceded by a semicolon (;), and
  521.   are ignored by xDISK.
  522.  
  523.   Do not use DOS redirection and pipe characters in these comments, as DOS will
  524.   attempt to implement the implied redirection/pipe request.
  525.  
  526.                 ----------------
  527.  
  528.  
  529.    3.  STATUS/USAGE/HELP PANELS
  530.  
  531.    Executing the program with switch /? selected allows access to the Status/
  532.    Usage and Help panels. (If a Mouse pointing device driver, compatible with
  533.    the Microsoft Mouse driver version 6.0 or higher is loaded and active, all
  534.    of the services provided by these panels can also be activated by pointing
  535.    the mouse to specific regions of the screen and clicking either button.)
  536.  
  537.    The STATUS/USAGE panel, which is shown first, describes status information
  538.    for the resident driver and its drive if an xDISK RAM-drive designator was
  539.    specified, or a list of the installed xDISK RAM-drives, if any.
  540.  
  541.    The USAGE subpanel shows a menu for the command switches: To cycle between
  542.    the main and the auxiliary menu, press key <F2> or <M>, or click the mouse
  543.    upon the screen button labelled <Menu>.  If the resident is installed, the
  544.    status of some 'on/off' command switches is displayed by '+' or '-' before
  545.    a given menu entry.
  546.  
  547.    The DIRECTORY subpanel shows the root directory listings for the specified
  548.    (or default) drive, equivalent to the DOS command 'DIR \'.  Press key <F3>
  549.    or <D>, or click the mouse upon the screen button labelled <Dir\> to reach
  550.    this display. Press <PgUp> <PgDn> or <> <> keys, or click the Mouse upon
  551.    the respective screen buttons, to scroll the directory listings; press the
  552.    <Esc> key, or click the mouse upon the <Esc> button, to return to the main
  553.    panel.
  554.  
  555.    The HELP panel provides a summary description of the program and commands,
  556.    and is displayed if key <F1> or <H> is pressed from the Status/Usage panel
  557.    (or if the mouse is clicked upon the screen button labelled <Help>). Press
  558.    the keypad cursor keys (Home/End, PgUp/PgDn, arrows) to scroll the display
  559.    down or up.  Press key <F1> to skip the brief program summary and position
  560.    the text on the Usage section directly.  Press key <Esc> or <F2> to return
  561.    to the Status/Usage panel.
  562.  
  563.    Press key <X> or click the mouse upon the screen button labelled <eXit> to
  564.    return to the DOS-prompt command line from either panel.
  565.  
  566.    NOTE: When the program is waiting for keyboard (or mouse input) during the
  567.    display of the Status/Usage panel, it calls repeatedly the IDLE interrupts
  568.    of DOS: INT 28h and, if MS-DOS 5+ is installed, function 1608h of INT 2Fh;
  569.    INT 28h allows a potential background activation of (some) other residents
  570.    while INT 2Fh/1608h allows DOS to suspend the idle program temporarily and
  571.    transfer control to another program.
  572.  
  573.                 ----------------
  574.  
  575.   4.  DOS ERRORLEVEL
  576.  
  577.   XDISK.EXE passes to DOS execution status data.  These can be tested in batch
  578.   files via the ERRORLEVEL command.  The following are values for version 3.10
  579.   or later:
  580.  
  581.         Value   Condition
  582.         -----   --------------------------------------
  583.           255   Cyclical Redundancy Check failure
  584.           254   286(386) version executed in non-286(386)+ machine
  585.           240   All drives are assigned (reached maximum)
  586.           224   All drives are assigned (increased limit)
  587.           208   Driver initialization error (command-line load)
  588.           192   Driver failed installation (command-line load)
  589.           176   Overlay of driver failed (command-line load)
  590.           160   Driver filename not given (command-line load)
  591.           144   Operating system does not support DOS function 32h
  592.           128   Failed to find NUL driver (command-line load)
  593.           112   Error during XDISK.SYS load (command-line load)
  594.            96   Critical error during load (command-line load)
  595.            80   Error during driver unloading
  596.            64   Not enough memory
  597.            48   Invalid DOS version (1.x, 5.x+, OS/2 DOS 10+)
  598.            32   Unknown/Incompatible video card
  599.            16   Invalid EMS manager/version
  600.             8   Unknown or invalid switch request
  601.             4   DOS access to driver has been closed
  602.             2   Invalid character is password string
  603.             1   Resize attempt of Read-Only disk
  604.             0   Succesful execution
  605.  
  606.  
  607.                 ----------------
  608.  
  609.   5.  DRIVER INSTALLATION
  610.  
  611.   INSTALLATION AVOIDANCE
  612.  
  613.   In the registered program copy, the installation of XDISK.SYS can be skipped
  614.   by pressing the <Esc> key before the initialization is completed, e.g. prior
  615.   to the display of the driver installation banner.  <Esc> keypress interrupts
  616.   the loading until the following query is answered by pressing <Y>es or <N>o:
  617.  
  618.         XDISK.SYS: <Esc> pressed ─ Abort installation? [yn]
  619.  
  620.   This avoidance of installation produces no memory penalty under DOS versions
  621.   3.30 or higher, but uses some 80 bytes of conventional memory in earlier DOS
  622.   versions.
  623.  
  624.   When XDISK.EXE is executed and identification string for the specified drive
  625.   is found, the memory segment where the corresponding xDISK driver was loaded
  626.   is displayed in the Status/Help panel when the keys <F10>+<Alt> are pressed.
  627.   This segment is preceded by the initials 'UMB' if the driver is installed in
  628.   upper memory, and by the initials 'LMB' if installed in conventional memory.
  629.  
  630.  
  631.  
  632.   INSTALLATION ERRORS
  633.  
  634.   The following errors fail the installation of the driver:
  635.  
  636.     A. Invalid CRC - Driver has been corrupted
  637.     B. Invalid CPU type - Needs 286/386 or higher CPU
  638.     C. Invalid DOS version - Needs 2.10 or later
  639.     D. Failure to detect presence of an EMS manager
  640.     E. Expanded memory allocation error (EMS code)
  641.     F. Expanded memory EMM status error (EMS code)
  642.     G. Expanded memory page frame error (EMS code)
  643.  
  644.   See XDISK.MSG for an explanation of driver error messages.
  645.  
  646.  
  647.  
  648.   SELF-INSTALLATION IN HIGH MEMORY
  649.  
  650.     The driver can install itself in the upper memory area (UMA), that is, at
  651.     RAM addresses between 640 kb and 1024 kb of memory, via switch /H (or its
  652.     subfunctions /Hn, /H!, and /Hn!).  Program releases prior to version 3.10
  653.     lack this feature.
  654.  
  655.     The allocation of UMA blocks (UMBs) is arbitrated by an XMS manager (XMM)
  656.     version 2.0 or higher; the XMM must be installed prior to the UMB-loading
  657.     of the resident.  Allocation also requires the remapping of UMA addresses
  658.     by a UMB provider, when such a task is not implemented by the XMM itself.
  659.     XMMs require DOS version 3.0 or later.
  660.  
  661.     HIMEM.SYS is the XMM distributed with MS-DOS 5; installing this XMM along
  662.     with an UMB provider (e.g., a 386-specific memory manager such as EMM386.
  663.     EXE, also distributed with DOS 5), and enabling DOS access to the UMA via
  664.     the 'DOS=UMB' command, allows DOS 5 to control UMB allocation. Other 386-
  665.     specific managers, e.g.,  QEMM386 (Quarterdeck) or 386MAX (Qualitas), are
  666.     able to provide both UMB remapping and XMS support.
  667.  
  668.     Switch /Hn, where A000 ≤ n ≤ FFFF (hexadecimal), allows the specification
  669.     of a minimum upper-memory limit for the UMB to avoid UMA regions having a
  670.     very slow access time (or to preserve regions with a fast access time for
  671.     other utilities that require faster times, such as a disk cache or screen
  672.     accelerator), or to avoid fragmentation of the UMA when UMB allocation is
  673.     not controlled by DOS 5, but by the XMM itself.  Such a fragmentation may
  674.     occur when the XMM allocates blocks on a first-fit basis, i.e., the first
  675.     available UMB having the lowest UMA address is allocated, irrespective of
  676.     whether or not a (smaller) block matching the requested size is available
  677.     at a higher UMA address.  Unless the size of the available UMBs increases
  678.     with increasing memory address, first-fit allocation of a small UMB could
  679.     lead to the breaking of a large UMB into two smaller ones, thus hampering
  680.     the installation of larger residents in the UMA.
  681.  
  682.     When DOS controls the UMB allocation, the program enforces the allocation
  683.     of the resident block on a best-fit basis when <n> is not specified, that
  684.     is, all available blocks are searched (by DOS), and the one matching most
  685.     closely the size requested is allocated.
  686.  
  687.     When DOS controls UMB allocation and <n> is specified, UMBs are allocated
  688.     on a first-fit basis.  While this may contribute to UMA fragmentation, it
  689.     allows for the checking of a minimum memory limit in those cases in which
  690.     the selection or avoidance of a specific UMA region is more important.
  691.  
  692.     Hence, compared to the upper-memory loading provided by the 'DEVICEHIGH='
  693.     command of DOS 5.0, or similar services provided by some memory managers,
  694.     program self-loading into a UMB has several advantages, including: (1) it
  695.     does not require an initial free block of upper memory of the size of the
  696.     entire program (as opposed to the size of its resident only), (2) it does
  697.     allow user control on the selection of the upper-memory block, and (3) it
  698.     can help reduce UMA fragmentation.
  699.  
  700.     NOTE
  701.     The address and size of available UMBs can be obtained with MEM.EXE, when
  702.     DOS controls UMB allocation, or with the memory manager itself, when this
  703.     allocation is controlled by 386-specific memory managers. In either case,
  704.     these data can also be obtained with UMAX.EXE, a UMA mapping utility that
  705.     is distributed by the author.  If memory access time is a critical factor
  706.     in the selection of the UMBs, detailed access timings are provided by the
  707.     the utility TIMEM.EXE, which is also distributed by the author.
  708.  
  709.  
  710.  
  711.     HIGH-LOADING VIA MEMORY MANAGERS OR MS-DOS 5
  712.  
  713.     Of course, the resident can also be installed in the UMA via a 386-memory
  714.     manager or via (UMB-linked) DOS 5.0, provided that there is enough memory
  715.     for the actual size of the entire program, and any additional memory that
  716.     may be needed by the loading utility.
  717.  
  718.     The driver XDISK.SYS is not distributed as a compressed file.
  719.  
  720.  
  721.  
  722.    HIGH-DOS MEMORY UPDATING
  723.  
  724.    Updating the xDISK driver is accomplished either via DOS-mediated requests
  725.    to the driver or via a direct updating of the driver by XDISK.EXE (without
  726.    the intervention of high-DOS memory utilities).
  727.  
  728.                 ----------------
  729.  
  730.   6.  IDENTIFICATION IN MEMORY MAP UTILITIES
  731.  
  732.   The fact that the xDISK driver can be loaded either via the CONFIG.SYS file
  733.   or from the DOS command line may lead to some confusion when mapping memory
  734.   usage, since with some MS-DOS versions other than 5.0, an anomalous mapping
  735.   of installed drivers is obtained after a DOS command-line loading.
  736.  
  737.   The following are partial displays obtained with the memory mapping utility
  738.   PMAP.EXE (version 2.10, (c) 1986-1991 by The Cove Software Group) after the
  739.   upper-memory loading of 2 xDISK disks via CONFIG.SYS, followed by a command
  740.   line loading of a third drive in lower memory, using XDISK.SYS version 3.30
  741.   (386+) under COMPAQ DOS 3.31; the access to the UMA was controlled by a 386
  742.   specific memory manager that provided the UMBs and implemented the XMS:
  743.  
  744.  
  745.       Device driver information:
  746.     Name     Address    Size    Strt  Intr  CHR IOC
  747.       --------  ---------  ------  ----  ----  --- ---
  748.       NUL       0070:25D8          1599  159F   *
  749.       L:     0BCF:0000      64  0012  0018       *  <- 2nd xDISK drive L:
  750.       K:     0BCB:0000      64  0012  0018       *  <- 1st xDISK drive K:
  751.  
  752.  
  753.       Device driver information:
  754.     Name     Address    Size    Strt  Intr  CHR IOC
  755.       --------  ---------  ------  ----  ----  --- ---
  756.       NUL       0070:25D8          1599  159F   *
  757.       M:     1165:0000          0038  0044       *  <- 3rd xDISK drive M:
  758.       L:     0BCF:0000   22880  0012  0018       *  <- 2nd xDISK drive L:
  759.       K:     0BCB:0000      64  0012  0018       *  <- 1st xDISK drive K:
  760.  
  761.  
  762.   Notice that after the command-line loading the third disk, the reported size
  763.   of the 2nd disk, which is only 64 bytes in conventional memory, is increased
  764.   to about 22kb.  This result, which can be obtained with other driver mapping
  765.   utilities, is harmless and can be safely ignored.
  766.  
  767.                 ----------------
  768.  
  769.   7.  LICENSE INFORMATION
  770.  
  771.   This documentation, programs, and other files distributed in this software
  772.   package (the "Software")  are the copyrighted property of FM de Monasterio
  773.   (the "Author"), who provides the Software and licenses its use. All rights
  774.   are reserved.
  775.  
  776.   The file XDISK.REG contains a form needed to register this Software.
  777.  
  778.   SINGLE USER LICENSE.  Upon registration, you are granted a nontransferable
  779.   license to use this Software in a single computer at a time.  The Software
  780.   may also be transferred to another computer, provided that the Software is
  781.   used only in one (1) computer at any time; under the license, the Software
  782.   may NOT be installed on a network server.
  783.  
  784.   SITE/15-PCs LICENSE.  Upon registration, you are granted a nontransferable
  785.   license to use this Software in a single site, or a set of sites, provided
  786.   this Software is not used in more than fifteen (15) computers at any time,
  787.   and that such computers are located exclusively within the site.  Licenses
  788.   for more machines are available at discounted prices.
  789.  
  790.   SOFTWARE BUNDLING LICENSE.  Please write to the Author.
  791.  
  792.   REFUNDS POLICY.  If a problem notified within ninety (90) days of shipping
  793.   of the registered copy cannot be solved, the registration fee (but not the
  794.   shipping costs) will be refunded upon receiving a written request with the
  795.   original diskette(s) enclosed.
  796.  
  797.   UPGRADE POLICY.  Program upgrades are limited to licensed users.  Upgrades
  798.   within the same major version (e.g. release 4.00 through 4.99) are free of
  799.   charge when a self-addressed, stamped, 5.25" diskette mailer with a 360-kb
  800.   kb diskette is included with the request.  Other upgrades are charged half
  801.   the (single-user/site) registration fee.  See enclosed file XDISK.UPG.
  802.  
  803.   TECHNICAL SUPPORT.  A phone number for technical support is made available
  804.   to site licenses for 100 machines or more; other licensed users must write
  805.   to the Author who will contact them.
  806.  
  807.  
  808.  
  809.   U.S. GOVERNMENT INFORMATION
  810.  
  811.   The use, duplication, or disclosure by the U.S. Government of the Software
  812.   is subject to the restricted rights applicable to commercial software that
  813.   are specified in the subdivision (b.3.ii) of the 'Rights in Technical Data
  814.   and Computer Software' clause, document DFARS 52.227-7013. The contractor/
  815.   manufacturer is FM de Monasterio, P.O. Box 219, Cabin John, MD 20818-0219.
  816.  
  817.                 ----------------
  818.  
  819.   DISTRIBUTION
  820.  
  821.   You may distribute this Software via magnetic and/or electronic means, but
  822.   you are specifically prohibited from:
  823.  
  824.   - Charging fees or asking donations in exchange of or payment
  825.     for copies of this Software.
  826.  
  827.   - Distributing this Software with commercial products without
  828.     the written, express permission in advance from the author.
  829.  
  830.   - Distributing this Software via a for-profit organization or
  831.     group, either alone or with other software.
  832.  
  833.   - Modifying any contents of this Software, including, but not
  834.     limited to, the copyright notice and this license.
  835.  
  836.  
  837.   The unauthorized copying, decompiling or disassembling of this Software is
  838.   prohibited.  Any other use of this Software is also prohibited without the
  839.   express, written permission in advance from the author.
  840.  
  841.   Latest program releases may be found at the Information Exchange BBS, 202-
  842.   433-6639 (2400+ baud) as a compressed archive file.
  843.  
  844.                 ----------------
  845.  
  846.   WARRANTY DISCLAIMER
  847.  
  848.   The Author cannot and does not warrant that any functions contained in the
  849.   Software will meet your requirements, or that its operations will be error
  850.   free.  The entire risk as to the Software performance or quality, or both,
  851.   is solely with the user and not the Author.  You assume responsibility for
  852.   the selection of the program to achieve your intended results, and for the
  853.   installation, use, and results obtained from the Software.
  854.  
  855.   The Author makes no warranty, either implied or expressed, including with-
  856.   out limitation any warranty with respect to this Software documented here,
  857.   its quality, performance, or fitness for a particular purpose. In no event
  858.   shall the Author be liable to you for damages, whether direct or indirect,
  859.   incidental, special, or consequential arising out the use of or any defect
  860.   in the Software, even if the Author has been advised of the possibility of
  861.   such damages, or for any claim by any other party.
  862.  
  863.   All other warranties of any kind, either express or implied, including but
  864.   not limited to the implied warranties of merchantability and fitness for a
  865.   particular purpose, are expressly excluded.
  866.  
  867.  
  868.   LIMITATION OF REMEDIES
  869.  
  870.   The information contained in the documentation for the Software is subject
  871.   to change without notice.
  872.  
  873.   The Author's entire liability, and your exclusive remedy shall be: (1) the
  874.   replacement of an original Software diskette not meeting the above Limited
  875.   Warranty and which is returned to the Author along with proof of purchase,
  876.   or (2), if the Author is unable to deliver a replacement diskette which is
  877.   free of defects, you may terminate the License Agreement by returning this
  878.   Software and the corresponding license fee will be returned.
  879.  
  880.   By using the Software, you acknowledge (1) to have read and understood all
  881.   parts of this document and (2) to have agreed with and accepted all of its
  882.   provisions without any reservation.
  883.  
  884.                 ----------------
  885.  
  886.   Refer all inquiries to:
  887.                 FM de Monasterio
  888.                 P.O. Box 219
  889.                 Cabin John, MD 20818-0219
  890.                 USA
  891.  
  892.     ┌─────────────────────────────────────────────────────────────┐
  893.     │ Trademarked names are the property of the respective owners │
  894.     └─────────────────────────────────────────────────────────────┘
  895.  [END]
  896.