home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-29 | 48.0 KB | 1,037 lines |
-
- ░░░░░░░▄ ░░░░▄ ░░░░░░░▄ ░░░░▄ ░░░▄
- ░░█▀▀░░░▄ ░░█▀ ░░█▀▀▀▀░▒▄ ░░█▀ ░░█▀▀
- ░░░▄ ░░░▄ ░░█ ░▒█ ░░█ ░▒█ ▀▀ ░░█ ░▒█▀
- ░░▄ ░▒█▀▀ ░░█ ▒▒█ ░▒█ ░▒█ ░░█▒▒█▀
- ░▒▒▒█▀ ░▒█ ▒▒█ ▒▒█ ▒▒▒▒▒▒▒▄ ░▒▒▒█▀
- ▒▒█▀ ▒▒█ ▒▓█ ▒▒█ ▀▀▀▀▀▒▓▄ ▒▒█▒▓▄
- ▒▒▓▓▄ ▒▒█ ▓▓█ ▒▓█ ▓▓█ ▒▒█ ▓▓▄
- ▓▓█ ▓▓▄ ▒▓█ ▓▓▓█ ▓▓█ ▒▒▄ ▓▓█ ▒▓█ ▓▓▄
- ▓▓▓█▀ ▓▓▓▄ ▓▓▓▓▓▓▓▓█▀ ▓▓▓▓▄ ▓▓▓▓▓▓▓█▀ ▓▓▓▓▄ ▓▓▓▄
- ▀▀▀ ▀▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀
- Version 3.31
-
- Copyright (c) 1989, 1990, 1991, 1992 FM de Monasterio
- Licensed Material - All Rights Reserved
-
- SUMMARY
-
- xDISK generates RAM-disks in expanded memory and permits to vary the amount
- of memory allocated to the disk(s) without rebooting the computer when used
- with expanded memory conforming to the LIM 3.0+ specification (EMS). If DOS
- version 3.xx or higher is used, the RAM-disk can be collapsed completely to
- free all of its EMS to another process (with DOS 2.10, the disk can be made
- as small as 16 kbyte [an EMS page]). Also, the RAM-disk can be expanded to
- use all of the available EMS or any intermediate size multiple of 16 kbyte,
- sector size and number of root directory entries can be changed, and it can
- be made to show visual clues of its activity. If disk contents need not be
- preserved, resizing is only limited by the amount of EMS; a more restricted
- resizing is availble if the RAM-disk contents need to be preserved.
-
- Security features include making the disk a Read-Only or Read-Write device,
- locking/unlocking DOS access to the disk, and the enforcing of user-defined
- password checks before the implementation of any command to the disk.
-
- Loading features include installation of the xDISK driver program XDISK.SYS
- in the upper memory area, with or without MS-DOS 5.0, if an extended memory
- manager is present, and the capability of loading this driver directly from
- the DOS command line via the interface program XDISK.EXE (under DOS version
- 2.x through 4.x only).
-
- Requires MS-DOS/PC-DOS version 2.1 or later, and expanded memory conforming
- to the LIM EMS 3.0 or later. The upper-memory selfloading requires DOS 3.0
- or later. It is available in 086+, 286+, 386+, and 486+ microprocessor-type
- optimized versions.
-
- --------------
-
- REGISTRATION
-
- This software is user-supported; the present release, although lacking the
- options marked by asterisks, is a fully usable program. You may test this
- release for (in)compatibilities with your system, but after the testing is
- completed you are requested to order a registered copy of the full release
- of the software from the address at the end of this documentation.
-
- If you would rather use this unregistered copy, consider making a donation
- to the Children's Hospital of Washington DC, for indigent children in need
- of medical care. Every year in the USA, infant mortality claims the lives
- of tens of thousands of children before their first year of life, and most
- of them come from families below poverty level... Please send to the same
- address a check payable to the "PATIENT CARE FUND, CHILDREN'S HOSPITAL" on
- the obverse, and marked "For Deposit Only" on the reverse. Donations will
- be sent to Children's Hospital. Please identify the program for which you
- are making the donation.
-
- --------------------------------------------------------------------------
- XDISK.REG contains a form needed to register or upgrade the Software
- --------------------------------------------------------------------------
-
- See the final part of this documentation for information on the Licensing,
- Distribution, Warranty, and Limitation of Remedies of this software.
-
- --------------
-
-
- 1. GENERAL INFORMATION
-
- xDISK is a virtual-device driver system to generate (and modify) RAM-disks in
- expanded memory conforming to Lotus/Intel/Microsoft specification version 3.0
- or higher. Disk parameters can be modified without having to reboot the CPU.
- The disk contents are lost if the resizing requires reformatting of the disk.
- Under EMS 4 and MS-DOS 3 (or compatible operating system) or higher versions,
- however, a limited, data-safe resizing can be obtained with some switches.
-
- This system consists of two programs: (1) XDISK.SYS, a block device driver to
- be installed via CONFIG.SYS, after an EMS manager has been installed, and (2)
- XDISK.EXE, a utility to communicate with the device driver via DOS and, thus,
- to permit changing of one or more parameters of a specified xDISK RAM-disk.
-
- The XDISK.SYS and XDISK.EXE files of a given version are matched and will not
- work with those of other xDISK versions. Minimum requirements are: 16 kbytes
- or more of expanded memory, an EMM supporting version 3 or higher of the LIM-
- EMS, and MS-DOS (or compatible operating system) version 2.10 or higher. Some
- program options require higher versions of DOS or EMS, or both (see below).
-
- xDISK RAM-disks are compatible with the CHKDSK utility of DOS as well as with
- other programs that sometimes encounter difficulties with other resizable RAM
- disks. Starting from version 2.50, the boot sector of the xDISK disk complies
- with the MS-DOS 4+ format.
-
-
- CPU VERSIONS
-
- The program is written in assembly language; each version consists of four
- processor-type releases (086, 268, 386 and 486) in which the code has been
- optimized for the CPU types of the Intel iAPX processor family (x86). This
- is needed because such processors differ markedly in instruction execution
- time. Incorporation of a memory cache in some x86 processors also affects
- this time by influencing the speed of both instruction fetching and memory
- access.
-
- In addition to standard (086) assembly language instructions, the 286, 386
- and 486 releases of the program also use 286-, 386- or 486-specific opcode
- instructions in 'real' mode (which is the native mode for 086 processors).
- The type and degree of code optimization vary with the CPU type, and yield
- usually small variations of the size of the resident code.
-
-
- --------------
-
-
- 2. USAGE
-
- INSTALLING THE xDISK DRIVER
-
- XDISK.SYS may be installed via the CONFIG.SYS file on the boot disk after the
- LIM-3+ EMS manager has been installed. The filename of the EMS driver varies
- varies with the manufacturer, but its code must include the string 'EMMXXXX0'
- whose presence can be verified with any file-browsing utility. The following
- command must be included in the CONFIG.SYS file:
-
- DEVICE=[path]XDISK.SYS [/B/C/D/E/H/K/S]
-
- Alternatively, starting from version 3.10, the driver may also be loaded from
- the command line at the DOS prompt (i.e., after the operating system has been
- booted and configured via CONFIG.SYS) by means of the utility XDISK.EXE, when
- executed under DOS versions 2 through 4. The DOS command-line loading is not
- implemented yet under MS-DOS version 5. The following command must be issued
- for the command-line loading:
-
- XDISK /L [path]XDISK.SYS [/B/C/D/E/H/K/S]
-
- If given, <path> represents the complete path specification (including drive)
- for the file XDISK.SYS. See below for a description of the switches.
-
-
-
- MODIFYING THE xDISK DRIVER
-
- After the xDISK driver has been installed, XDISK.EXE can be used to interface
- with the driver. This utility allows for the modification of disk parameters
- from the DOS command line:
-
- XDISK [?] [/L] [d: [/A/B/C/D/E/F/G/N/P/Q/R/S/U/V/X/?]]
-
-
- ? If xDISK is executed with <?> as the only argument (notice the absence of
- a preceding backslash), the program searches all block device drivers for
- the xDISK driver signature, and displays a list of the installed drivers.
-
- d This is the drive designator letter, followed by <:>, that identifies the
- xDISK drive. The use of letters for non-xDISK drives and for non-existing
- drives generates separate error messages (IOctl error 1 and F). Defaults:
- Null drive, no colon or x=<ASCII 21-40> = Current drive letter.
-
- NOTE: Switch /L does not require a drive designator specification for the
- DOS command-line loading of the xDISK driver.
-
- --------------
-
- 2.1 SWITCHES
-
- The switches are not case sensitive, but must be preceded by a backslash [/].
- If the RAM-disk is being resized (i.e., /Bn/Sn/Dn/C/E), non-resizing switches
- must be specified AFTER the resizing switch(es), except in the case of switch
- /L when the resizing switches apply to the driver to be loaded.
-
- --------------------------------------------------------------------------
- (*) Asterisks mark options available in the registered program copy only
- --------------------------------------------------------------------------
-
- NOTE: When xDISK is invoked without any switch (or when the switches are not
- preceded by slashes [and thus are ignored]), the status of the xDISK drive is
- displayed on the DOS command line. Except during the XDISK.SYS installation,
- such a null-switch call does not change any RAM-disk parameters. During xDISK
- installation, however, default values for switches /B, /D, and /S are used if
- the corresponding switch is not specified.
-
-
-
- SWITCH ?
-
- This switch displays the Status/Usage/Help panels, which are described in
- more detail in the section below. If a VGA or EGA is the active adapter,
- the program saves the contents of the palette registers prior to changing
- the video attributes for its various displays.
-
- When preceded by a valid xDISK designator, ? or /? displays the status of
- the specified RAM-disk. In the absence of a drive designator, ? displays
- the Status/Usage panel listing any installed RAM-drive, while /? attempts
- to display the status of the default drive.
-
- See section STATUS/USAGE/HELP PANELS below.
-
-
-
- SWITCH A[±]
-
- Provides control of audio feedback during DOS access to the specified RAM
- disk. Use /A+ to enable a brief click each time the driver receives a DOS
- request, and /A- to disable the feedback. The audio feedback ON status is
- indicated by the icon [] in the xDISK reconfiguration status messages.
-
- Default: /A = /A+.
-
-
-
- SWITCH B[[-]n]
-
- Disk size in kilobytes, where <n> is between 16 and 8196 (EMS 3) or 32768
- (EMS 4) in 16-kbyte steps; if <n> is not a 16-kbyte multiple, the size is
- increased to the nearest larger multiple available. The largest disk size
- that is supported is either 8 megabytes (EM maximum of EMS 3) or 32 mega-
- bytes (EM maximum of EMS 4). Unless switch /Q or /N is enabled, resizing
- changes necessitate confirmation by the user.
-
- Starting with version 3.31, there are two usages for this switch:
-
- (1) If <n> is not a signed number, i.e. not preceded by a - or +
- sign, the disk size is reset to <n> kbytes or nearest HIGHER
- 16-kbyte multiple (n x 16 x 1024 bytes), and the disk is re-
- formatted and its contents destroyed.
-
- (2) If <-n> is a negative number, the current or default size is
- decreased by <n x 16> kbytes. The contents are preserved if
- the resulting drive internal parameters can still handle the
- data without error (see section DISK INTERNALS below). Else,
- the disk is reformatted and the data destroyed, as otherwise
- incorrect disk input/output would follow. If switch /N or /Q
- has not been specified (see below), the user is prompted for
- a [Y]es or [N]o decision before resizing the disk.
-
- This second usage is only available when using EMS 4 and MS-
- DOS (or compatible operating system) 3.0 or higher versions.
-
- Defaults: In the CONFIG.SYS file, null switch or null <n> = /B64. In the
- command line of DOS, /B = /B64; null switch is ignored.
-
- NOTE
- -------------------------------------------------------------------------
- There is no symmetrical operation to increase the size via switch '/B+n',
- whose use defaults to /B64. Use /Bn to increase size when drive contents
- need not be preserved; a data-safe, limited expansion may be obtained via
- switch /X+ (see below).
- -------------------------------------------------------------------------
-
-
-
- SWITCH C
-
- Collapses the RAM-disk to a size of 0 kb (DOS ≥3.0) or 16 kb (DOS <3.0).
- Unless switch /Q or /N is enabled, collapse necessitates confirmation by
- the user; a 0-kb collapse does not change the existing /D and /S values,
- but a 16-kb collapse also sets /D=4 and /S=128.
-
- If a 0-kb collapse has occurred for, say, the RAM-disk M, a DOS-mediated
- command to the drive will trigger the folowing error message from MS-DOS
- 5 (e.g., 'CHKDSK M:' or 'DIR M:')
-
- Invalid disk change reading drive M
- Please insert volume <xDISK M:>, serial 0000-0000
- Abort, Retry, Fail?
-
- Respond to the "Abort, Retry, Fail?" question of the DOS' critical error
- handler by pressing <A> to return to the DOS prompt. Such a message is a
- remainder that the disk does exist, but has collapsed. A collapsed disk
- can only be restored with switch /B[n] or /E since formatting is needed;
- data-preserving switches /X± and /B-n are not accepted.
-
- No defaults.
-
-
-
- SWITCH D[n]
-
- Number of allowed entries (files) in the root directory, where <n> is in
- the range between 4 and 512. If the minimum value of 4 entries has been
- selected, the number of entries is increased to 8 or 16 when a sector of
- size 256 or of 512 bytes is also selected. Unless switches /Q or /N are
- enabled, this resizing change necessitates confirmation by the user.
-
- Defaults: In the CONFIG.SYS file, null switch or null <n> = /D64. In the
- command line of DOS, /D = /D64; null switch is ignored.
-
- WARNING
- ------------------------------------------------------------------------
- If a sufficient number of entries is NOT available, commands to write to
- the disk will trigger a critical error message of 'File Creation Error.'
- To decrease this possibility, expanding the disk to the maximum EMS size
- via switch /E changes the number of root directory entries to 512. If a
- smaller number of entries is needed, follow switch /E with /Dn.
- ------------------------------------------------------------------------
-
-
-
- SWITCH E
-
- Expands the disk to the maximum available EMS size. If switch /Dn is not
- also specified, it sets the directory entries to /D512. Unless switch /Q
- or /N is enabled, this expansion necessitates confirmation by the user.
-
- No defaults.
-
-
-
- SWITCH F
-
- Provides control of the audio and visual feedback during the checking of
- the password (see switch /P below) prior to the implementation of a disk
- change. Use /FA to produce a 55-ms beep each time an incorrect character
- is entered, /FV to display a '■' when a correct character is entered, or
- /F- to disable either feedback.
-
- Default: /F = /F+.
-
-
-
- SWITCH G[±]
-
- Provides gate control of DOS access to the specified xDISK disk. Use /G-
- to disable DOS access to the disk, and /G+ to (re)enable such an access.
- The RAM disk data are preserved if the access gate is disabled, and they
- become immediately accessible after the gate is reenabled.
-
- Defaults: /G = /G+.
-
-
-
- SWITCH H[n[!]]
-
- Instructs the program to load its resident in high memory between 640 kb
- and 1024 kb, i.e. below the 1-Mb limit of real-mode memory but above the
- 640-kb DOS hardware barrier. High memory self-loading requires that an
- extended memory manager (XMM) supporting the services of the XMS 2.00 is
- installed and that a free upper memory block (UMB) of a little less than
- 2 kb is available. The XMM must support functions 10h (Allocate UMB) and
- 11h (Free UMB). UMB allocation is implemented via calls to DOS, if this
- allocation is controlled by MS-DOS 5.0 (i.e., command DOS=UMB in CONFIG.
- SYS and the drivers HIMEM.SYS and 386EMM.EXE loaded), of by direct calls
- to the XMM, when DOS 5.0 does not control UMB allocation. Switch /H[n]!
- must be used in the former case, and switch /H[n] in the latter case.
-
- If switch /H[n]! is specified but the memory chain control of MS-DOS 5.0
- has not been extended to the UMA (e.g. DOS=UMB command not implemented),
- self-loading in upper memory will fail. The user has then the option of
- loading the driver in conventional memory or abort its installation.
-
- A low high-memory limit for the UMB can optionally be specified via <n>,
- a hexadecimal number between A000 (640 kb) and FFFF (1,024 kb), so as to
- select or avoid specific regions of upper memory.
-
- The self-loading into upper memory consumes 64 bytes of the conventional
- memory for each installed xDISK driver. A few additional bytes are used
- by the XMM or MS-DOS 5 when allocating the UMB. Unlike the upper-memory
- loading mediated by some memory managers, the self-loading only requires
- a free UMB of the size of the resident driver code (and not of the whole
- code of XDISK.SYS).
-
- Defaults: Lower-memory installation, if a XMS/DOS error is found during
- the UMB loading; high-memory installation below requested lower limit if
- UMBs are not available above this limit.
-
-
-
- SWITCH K
-
- Do not display the installation banner when loading the driver. Switch K
- is ignored after the driver has been loaded.
-
- No defaults.
-
-
-
- SWITCH L
-
- Load XDISK.SYS from the DOS command line (i.e., after the system has been
- booted, and the drivers installed via the CONFIG.SYS file). The full-path
- specification for XDISK.SYS must be given after switch L along with other
- switches used to configure the driver, as listed above in Usage item 2.0,
- including loading in upper memory. The command-line loading of the driver
- works successfully with MS-DOS or IBM PC-DOS version 2 through 4, but not
- yet with MS-DOS 5.0.
-
- Any previously installed xDISK drive cannot be collapsed for the command-
- line loading to work, since such loading process rebuilds the DOS kernel.
- Command-line loading of the driver adds 256 bytes (the XDISK.EXE program
- segment prefix) to the resident size.
-
- xDISK drives loaded from the command-line either in lower (LMB) or upper
- memory (UMB) can be unloaded from memory via switch /U (see below).
-
- No defaults.
-
- WARNING
- -------------------------------------------------------------------------
- DOS will crash if the memory allocated to the driver is released by means
- of a TSR-removal utility. A command-line loaded driver can be identified
- in memory maps by the string 'xDISK_<d:>,' where <d> identifies the drive
- letter for the disk. See section IDENTIFICATION IN MEMORY MAP UTILITIES.
- -------------------------------------------------------------------------
-
-
-
- SWITCH N
-
- Nulls the displaying of disk status, user confirmation request, and error
- messages; errors can still be detected within a batch file with the ERROR
- LEVEL command. Because the disk status display is generated by the driver
- via BIOS calls, the messages cannot be redirected by DOS; use of switch N
- produces the same result as a redirection to the NUL device. The RAM-disk
- configuration parameters are preserved.
-
- No defaults.
-
-
-
- SWITCH P[x][±]
-
- Demand password before implementing changes; password consists of 1 to 15
- lower-case, pure alphanumeric characters followed by <Enter>. Use /Px to
- (re)define a password, where <x> is 1 to 15 alphanumeric lower-case [0-9,
- a-z] characters followed by a space; use /P- to disable and /P+ to enable
- the password requirement.
-
- Pressing <Esc> or <Break> during password testing returns the user to the
- DOS command line. The typing of an incorrect character during the testing
- vitiates prior accepted (correct) characters, and the entire password has
- to be retyped. Note that warmbooting via <Ctrl-ALt-Del> is not suppressed
- during password testing (rebooting destroys the RAM-disk data).
-
- The password is useful in situations when more than one user has acces to
- the RAM-disk (e.g., a server) and, after copying the common-access files,
- the disk is made Read-Only to protect its contents.
-
- Default: /P = /P+.
-
-
-
- SWITCH Q
-
- Quiet resizing. Disables the default prompt for user's confirmation prior
- to disk resize/format operations that destroy all data on the RAM-disk.
-
- No defaults.
-
-
-
- SWITCH R[±]
-
- Make the disk a Read-Only [+] or Read-Write [-] device; the current write
- status is indicated by [RO] or [RW] icons in the configuration message. A
- Read-Only status does not allow for file changes or resizing of the disk.
- RAM-disk configuration parameters are preserved.
-
- Defaults: /R = /R+.
-
-
-
- SWITCH S[n]
-
- Sector size in bytes, where <n> is 128, 256, or 512. Select a small value
- if storing small files; large values will reduce reading and writing time
- if storing larger files. Unless switch /Q or /N is enabled, the resizing
- change necessitates confirmation by the user.
-
- Defaults: In the CONFIG.SYS file, null switch or null <n> = /S256. In the
- command line of DOS, /S = /S256; null switch is ignored.
-
-
-
- SWITCH V[±]
-
- Turn ON [+] or OFF [-] the display of a "" on the top-left corner of the
- screen whenever xDISK is active due to a DOS request. The disk parameters
- are preserved. If the display is on, the icon "" is displayed along with
- the drive status in answer to the switch /? or <d:>? (see below).
-
- Defaults: /V = /V+.
-
-
-
- SWITCH U
-
- Uninstall from memory the specified xDISK drive (only command-line loaded
- drives can be uninstalled). The operating system will crash if this drive
- is not the LAST drive in the DOS chain or if the resident code is removed
- with a TSR-removal utility.
-
- No defaults.
-
-
-
- SWITCH X[±]
-
- Permits a limited shrinkage [-] or expansion [+] of the free space of the
- disk while preserving the integrity of its contents. The resizing is NOT
- implemented if the resulting internal drive parameters would be unable to
- handle the disk data without error (see section DISK INTERNALS below).
-
- Switch /X- shrinks the disk free space to zero or to less than 16 kbytes.
- This is an automatic implementation of switch /B-n to minimize EMS usage,
- where <n> is the disk free space in kbytes to the nearest higher 16-kbyte
- multiple. If the disk is empty or its free space is less than 16 kbytes,
- the shrinkage is not implemented. Free-space disk shrinkage is available
- only if EMS 4.0 and MS-DOS (or compatible operating system) 3.1 or higher
- versions are used.
-
- The amount of shrinkage is computed from the value, maintained by MS-DOS,
- of the first cluster from which to start the search for free space during
- disk write operations (such a value is displayed on the Status panel, see
- STATUS/USAGE/HELP PANELS below). DOS normally uses all of the previously
- unused free space before reusing freed space. Contents must be compacted
- (i.e. there should be no free gaps between used clusters) for proper disk
- shrinkage. Switch /X- compares the calculated kbytes needed to resize the
- disk with the amount occupied by the data; if the former are smaller than
- the latter, free gaps are assumed (i.e. the free-space cluster value does
- not point to the last cluster in use) and shrinkage is not implemented.
-
- Switch /X+ expands total disk size to the nearest (higher) multiple of 64
- kb provided that the original disk size at the time of formatting was not
- a multiple of 64 kb. The switch requires EMS 4 and MS-DOS (or compatible
- operating system) 3.0 or higher. Disks shrunk via /X- can be restored to
- the original size or a larger one via switch /X+.
-
- Defaults: /X = /X+.
-
- WARNING
- -------------------------------------------------------------------------
- Switch /X- uses an undocumented DOS function supported in versions 3.1 to
- 5.0 (revision A and B) of MS-DOS; the function is also supported in other
- compatible operating systems, such as IBM PC-DOS and some versions of DR-
- DOS. However, there is no assurance that such a function is available in
- systems other than MS-DOS, or that it will remain available in future MS-
- DOS versions or revisions.
- -------------------------------------------------------------------------
-
-
-
- 2.2 COMMENTS
-
- Comments may be added in the command after the desired switches. The comments
- (which may be useful in batch files) must be preceded by a semicolon (;), and
- are ignored by xDISK.
-
- Do not use DOS redirection and pipe characters in these comments, as DOS will
- attempt to implement the implied redirection/pipe request.
-
-
- --------------
-
-
- 3. STATUS/USAGE/HELP PANELS
-
- Executing the program with switch /? selected allows access to the Status/
- Usage and Help panels. (If a Mouse pointing device driver, compatible with
- the Microsoft Mouse driver version 6.0 or higher is loaded and active, all
- of the services provided by these panels can also be activated by pointing
- the mouse to specific regions of the screen and clicking either button.)
-
- The STATUS/USAGE panel, which is shown first, describes status information
- for the resident driver and its drive if an xDISK RAM-drive designator was
- specified, or a list of the installed xDISK RAM-drives if any. If a valid
- drive designator was specified, the STATUS subpanel also displays the used
- and free kbytes, and the value of the first free-space cluster. For disks
- that are not write protected, the cluster value can be as small as 2 or as
- large as the disk size; for a write-protected disk, this value is always 0
- (see Switch /X above).
-
- The USAGE subpanel shows a menu for the command switches: To cycle between
- the main and the auxiliary menu, press key <F2> or <M>, or click the mouse
- upon the screen button labelled <Menu>. If the resident is installed, the
- status of some 'on/off' command switches is displayed by '+' or '-' before
- a given menu entry.
-
- The DIRECTORY subpanel shows the root directory listings for the specified
- (or default) drive, equivalent to the DOS command 'DIR \'. Press key <F3>
- or <D>, or click the mouse upon the screen button labelled <Dir\> to reach
- this display. Press <PgUp> <PgDn> or <> <> keys, or click the Mouse upon
- the respective screen buttons, to scroll the directory listings; press the
- <Esc> key, or click the mouse upon the <Esc> button, to return to the main
- panel.
-
- The HELP panel provides a summary description of the program and commands,
- and is displayed if key <F1> or <H> is pressed from the Status/Usage panel
- (or if the mouse is clicked upon the screen button labelled <Help>). Press
- the keypad cursor keys (Home/End, PgUp/PgDn, arrows) to scroll the display
- down or up. Press key <F1> to skip the brief program summary and position
- the text on the Usage section directly. Press key <Esc> or <F2> to return
- to the Status/Usage panel.
-
- Press key <X> or click the mouse upon the screen button labelled <eXit> to
- return to the DOS-prompt command line from either panel.
-
-
- If the program is waiting for keyboard (or mouse input) during the display
- of the Status/Usage panel, it calls repeatedly the IDLE interrupts of DOS:
- INT 28h and, if MS-DOS 5 is installed, function 1608h of INT 2Fh. INT 28h
- allows a potential background activation of (some) other residents whereas
- INT 2Fh/1608h allows DOS 5 to suspend the program temporarily and transfer
- control to another program.
-
- NOTE: (EGA users only) The default IBM palette attributes are restored if
- the EGA BIOS fails to store properly the original data.
-
- --------------
-
-
- 4. INSTALLATION
-
- The enclosed utility INSTALL.EXE may be used to copy the program files to a
- user-defined drive and directory, and --if so desired-- to add a command in
- the CONFIG.SYS file to load the device driver XDISK.SYS, and to add the new
- directory to the PATH= statememnt in the AUTOEXEC.BAT file.
-
- For manual installation, see section USAGE above.
-
-
-
- INSTALLATION AVOIDANCE
-
- In the registered program copy, the installation of XDISK.SYS can be skipped
- by pressing the <Esc> key before the initialization is completed, e.g. prior
- to the display of the driver installation banner. <Esc> keypress interrupts
- the loading until the following query is answered by pressing <Y>es or <N>o:
-
- XDISK.SYS: <Esc> pressed ─ Cancel installation? [yn]
-
- This avoidance of installation produces no memory penalty under DOS versions
- 3.30 or higher, but uses some 80 bytes of conventional memory in earlier DOS
- versions.
-
- When XDISK.EXE is executed and identification string for the specified drive
- is found, the memory segment where the corresponding xDISK driver was loaded
- is displayed in the Status/Help panel when the keys <F10>+<Alt> are pressed.
- This segment is preceded by the initials 'UMB' if the driver is installed in
- upper memory, and by the initials 'LMB' if installed in conventional memory.
-
-
-
- INSTALLATION ERRORS
-
- The following errors fail the installation of the driver:
-
- A. Invalid CRC - Driver has been corrupted
- B. Invalid CPU type - Needs 286/386 or higher CPU
- C. Invalid DOS version - Needs 2.10 or later
- D. Failure to detect presence of an EMS manager
- E. Expanded memory allocation error (EMS code)
- F. Expanded memory EMM status error (EMS code)
- G. Expanded memory page frame error (EMS code)
-
- See XDISK.MSG for an explanation of driver error messages.
-
- ---------
-
-
- SELF-INSTALLATION IN HIGH MEMORY
-
- The driver can install itself in the upper memory area (UMA), that is, at
- RAM addresses between 640 kb and 1024 kb of memory, via switch /H (or its
- subfunctions /Hn, /H!, and /Hn!). Program releases prior to version 3.10
- lack this feature.
-
- The allocation of UMA blocks (UMBs) is arbitrated by an XMS manager (XMM)
- version 2.0 or higher; the XMM must be installed prior to the UMB-loading
- of the resident. Allocation also requires the remapping of UMA addresses
- by a UMB provider, when such a task is not implemented by the XMM itself.
- XMMs require DOS version 3.0 or later.
-
- HIMEM.SYS is the XMM distributed with MS-DOS 5; installing this XMM along
- with an UMB provider (e.g., a 386-specific memory manager such as EMM386.
- EXE, also distributed with DOS 5), and enabling DOS access to the UMA via
- the 'DOS=UMB' command, allows DOS 5 to control UMB allocation. Other 386-
- specific managers, e.g., QEMM386 (Quarterdeck) or 386MAX (Qualitas), are
- able to provide both UMB remapping and XMS support.
-
- Switch /Hn, where A000 ≤ n ≤ FFFF (hexadecimal), allows the specification
- of a minimum upper-memory limit for the UMB to avoid UMA regions having a
- very slow access time (or to preserve regions with a fast access time for
- other utilities that require faster times, such as a disk cache or screen
- accelerator), or to avoid fragmentation of the UMA when UMB allocation is
- not controlled by DOS 5, but by the XMM itself. Such a fragmentation may
- occur when the XMM allocates blocks on a first-fit basis, i.e., the first
- available UMB having the lowest UMA address is allocated, irrespective of
- whether or not a (smaller) block matching the requested size is available
- at a higher UMA address. Unless the size of the available UMBs increases
- with increasing memory address, first-fit allocation of a small UMB could
- lead to the breaking of a large UMB into two smaller ones, thus hampering
- the installation of larger residents in the UMA.
-
- When DOS controls the UMB allocation, the program enforces the allocation
- of the resident block on a best-fit basis when <n> is not specified, that
- is, all available blocks are searched (by DOS), and the one matching most
- closely the size requested is allocated.
-
- When DOS controls UMB allocation and <n> is specified, UMBs are allocated
- on a first-fit basis. While this may contribute to UMA fragmentation, it
- allows for the checking of a minimum memory limit in those cases in which
- the selection or avoidance of a specific UMA region is more important.
-
- Hence, compared to the upper-memory loading provided by the 'DEVICEHIGH='
- command of DOS 5.0, or similar services provided by some memory managers,
- program self-loading into a UMB has several advantages, including: (1) it
- does not require an initial free block of upper memory of the size of the
- entire program (as opposed to the size of its resident only), (2) it does
- allow user control on the selection of the upper-memory block, and (3) it
- can help reduce UMA fragmentation.
-
- NOTE
- -------------------------------------------------------------------------
- The address and size of available UMBs can be obtained with MEM.EXE, when
- DOS controls UMB allocation, or with the memory manager itself, when this
- allocation is controlled by 386-specific memory managers. In either case,
- these data can also be obtained with UMAX.EXE, a UMA mapping utility that
- is distributed by the author. If memory access time is a critical factor
- in the selection of the UMBs, detailed access timings are provided by the
- the utility TIMEM.EXE, which is also distributed by the author.
- -------------------------------------------------------------------------
-
-
-
- HIGH-LOADING VIA MEMORY MANAGERS OR MS-DOS 5
-
- Of course, the resident can also be installed in the UMA via a 386-memory
- manager or via (UMB-linked) DOS 5.0, provided that there is enough memory
- for the actual size of the entire program, and any additional memory that
- may be needed by the loading utility.
-
- The driver XDISK.SYS is not distributed as a compressed file.
-
-
-
- HIGH-DOS MEMORY UPDATING
-
- Updating the xDISK driver is accomplished either via DOS-mediated requests
- to the driver or via a direct updating of the driver by XDISK.EXE (without
- the intervention of high-DOS memory utilities).
-
- ---------
-
- DOS ERRORLEVELS
-
- XDISK.EXE passes execution status data to DOS. These can be tested in batch
- files via the ERRORLEVEL command. The following are values for version 3.31
- or later:
-
- Value Condition
- ----- --------------------------------------
- 255 Cyclical Redundancy Check failure
- 254 286(386) version executed in non-286(386)+ machine
- 240 All drives are assigned (reached maximum)
- 224 All drives are assigned (increased limit)
- 208 Driver initialization error (command-line load)
- 192 Driver failed installation (command-line load)
- 176 Overlay of driver failed (command-line load)
- 160 Driver filename not given (command-line load)
- 144 Operating system does not support DOS function 32h
- 128 Failed to find NUL driver (command-line load)
- 112 Error during XDISK.SYS load (command-line load)
- 96 Critical error during load (command-line load)
- 80 Error during driver unloading
- 64 Not enough memory
- 48 Invalid DOS version (1.x, 5.x+, OS/2 DOS 10+)
- 32 Unknown/Incompatible video card
- 16 Invalid EMS manager/version
- 8 /X± switch ignored - Contents cannot be preserved
- 4 DOS access to driver has been closed
- 2 Invalid character is password string
- 1 Resize attempt of Read-Only disk
- 0 Succesful execution
-
- --------------
-
-
- 5. BASIC TECHNICAL INFORMATION
-
-
- DISK INTERNALS
-
- DOS can support several types of disk. Each disk contains information on its
- capabilities, which is stored on a specific area of the disk. In addition to
- this information, the disk must contain information necessary to the managing
- of the files and disk space, which is also stored in a reserved disk area.
-
- A DOS-compatible disk consists of 3 reserved areas and a user file area. The
- reserved areas are the Boot Sector, which contains a table of disk parameters
- used by DOS to manage disk space, and a bootstrap code to start the operating
- system; the File Allocation Table (FAT), containing data on file-space usage;
- and the Root Directory, containing size, location, date, and time information
- about the files on the disk.
-
- The surface of a (physical) disk is laid out as a series of concentric rings,
- called tracks, which are divided radially into sectors. When storing a file,
- a cluster is the basic unit of disk allocation used by DOS, and consists of a
- group of sectors, whose number varies with the disk type; the file is divided
- among as many sectors as are required to hold it. Whether just one or all of
- the sectors of a cluster are used, the cluster is marked as in use.
-
- In the FAT there is an entry for each cluster on the disk, containing a value
- that indicates the status of the cluster: reserved for DOS, free, in-use, bad
- and end of cluster chain. DOS stores cluster information as a cluster chain,
- in which each cluster points to the next cluster in use. Because the first 2
- entries of the FAT are reserved, the first cluster of available disk space in
- the user file area is cluster number 2.
-
- The length of a FAT entry is either 12 or 16 bits, and it depends on the size
- of the disk in sectors and the cluster size; a 12-bit FAT entry is used until
- cluster numbers cannot be stored as a 12-bit quantity, which is when there is
- more than 4,079 clusters. The minimum disk size requiring 16-bit FAT entries
- can be calculated from:
-
- (4079 clusters x [sectors/cluster] x [bytes/sector]) = Disk size
-
- Improper FAT length entry due to modification of the above variables produces
- input/output disk errors; switches /X-, /X+ and /B-n monitor the variables to
- verify whether disk contents should be preseverved or not.
-
-
-
- RAM-DISK IDENTIFICATION & DOS VERSION
-
- DOS assigns the first available drive letter to a RAM-disk within the default
- range A to E or, for DOS version 3 or higher, the range A to Z if the command
- <LASTDRIVE=Z> is included in CONFIG.SYS. Such a letter is shown by XDISK.SYS
- when using DOS 3.0 or higher, but when using earlier MS-DOS versions.
-
- An xDISK RAM-disk can be identified by its volume label and time of creation,
- and by the OEM identification in the boot sector, all of which are determined
- by the program version. If executed in an 80286 processor or higher CPU, the
- date of creation of the RAM-disk is the current date in the CMOS chip; for an
- 8088/8086 CPU, such date is that of the assembly of the xDISK version.
-
-
-
- DIRECT DRIVER COMMUNICATION
-
- Starting from version 2.52, the device header of each XDISK.SYS installed has
- the string:
- xDISK[0]unit:[0]<d>[-1]
-
- where the ending delimiter byte [-1] contains the hexadecimal value 0FFh, the
- null separator bytes [0] contain 0, and the drive designator <d> is the upper
- case letter assigned to the RAM-disk (MS-DOS 3.0 or higher version) or a null
- byte (MS-DOS versions earlier than 3.0).
-
- The identifying string is used to locate the driver for direct communications
- between XDISK.EXE and XDISK.SYS. Note that when this string does not contain
- a designator letter (as when using DOS 2.10), switches /A, /G, /P, /R, and /V
- can only be assigned to the first XDISK.SYS driver found in memory.
-
- When XDISK.EXE is executed, the program searches memory for the corresponding
- identifying string. If the correct drive is not specified, or the driver has
- been installed in the upper memory area, the search may extend as high as the
- first 1 Mb of memory (see below).
-
-
- --------------
-
-
- 6. IDENTIFICATION IN MEMORY MAP UTILITIES
-
- The fact that the xDISK driver can be loaded either via the CONFIG.SYS file
- or from the DOS command line may lead to some confusion when mapping memory
- usage, since with some MS-DOS versions other than 5.0, an anomalous mapping
- of installed drivers is obtained after a DOS command-line loading.
-
- The following are partial displays obtained with the memory mapping utility
- PMAP.EXE (version 2.10, (c) 1986-1991 by The Cove Software Group) after the
- upper-memory loading of 2 xDISK disks via CONFIG.SYS, followed by a command
- line loading of a third drive in lower memory, using XDISK.SYS version 3.31
- (386+) under COMPAQ DOS 3.31; the access to the UMA was controlled by a 386
- specific memory manager that provided the UMBs and implemented the XMS:
-
-
- Device driver information:
- Name Address Size Strt Intr CHR IOC
- -------- --------- ------ ---- ---- --- ---
- NUL 0070:25D8 1599 159F *
- L: 0BCF:0000 96 0012 0018 * <- 2nd xDISK drive L:
- K: 0BCB:0000 96 0012 0018 * <- 1st xDISK drive K:
-
-
- Device driver information:
- Name Address Size Strt Intr CHR IOC
- -------- --------- ------ ---- ---- --- ---
- NUL 0070:25D8 1599 159F *
- M: 1165:0000 0038 0044 * <- 3rd xDISK drive M:
- L: 0BCF:0000 22880 0012 0018 * <- 2nd xDISK drive L:
- K: 0BCB:0000 96 0012 0018 * <- 1st xDISK drive K:
-
-
- Notice that after the command-line loading the third disk, the reported size
- of the 2nd disk, which is only 96 bytes in conventional memory, is increased
- to about 22kb. This result, which can be obtained with other driver mapping
- utilities, is harmless and can be safely ignored.
-
- ----------------
-
-
- 7. LICENSE INFORMATION
-
- This documentation, programs, and other files distributed in this software
- package (the "Software") are the copyrighted property of FM de Monasterio
- (the "Author"), who provides the Software and licenses its use. All rights
- are reserved.
-
- The file XDISK.REG contains a form needed to register this Software.
-
- SINGLE USER LICENSE. Upon registration, you are granted a nontransferable
- license to use this Software in a single computer at a time. The Software
- may also be transferred to another computer, provided that the Software is
- used only in one (1) computer at any time; under the license, the Software
- may NOT be installed on a network server.
-
- SITE/15-PCs LICENSE. Upon registration, you are granted a nontransferable
- license to use this Software in a single site, or a set of sites, provided
- this Software is not used in more than fifteen (15) computers at any time,
- and that such computers are located exclusively within the site. Licenses
- for more machines are available at discounted prices.
-
- SOFTWARE BUNDLING LICENSE. Please write to the Author.
-
- REFUNDS POLICY. If a problem notified within ninety (90) days of shipping
- of the registered copy cannot be solved, the registration fee (but not the
- shipping costs) will be refunded upon receiving a written request with the
- original diskette(s) enclosed.
-
- UPGRADE POLICY. Program upgrades are limited to licensed users. Upgrades
- within the same major version (e.g. release 4.00 through 4.99) are free of
- charge when a self-addressed, stamped, 5.25" diskette mailer with a 360-kb
- kb diskette is included with the request. Other upgrades are charged half
- the (single-user/site) registration fee. See enclosed file XDISK.UPG.
-
- TECHNICAL SUPPORT. A phone number for technical support is made available
- to site licenses for 100 machines or more; other licensed users must write
- to the Author who will contact them.
-
-
-
- U.S. GOVERNMENT INFORMATION
-
- The use, duplication, or disclosure by the U.S. Government of the Software
- is subject to the restricted rights applicable to commercial software that
- are specified in the subdivision (b.3.ii) of the 'Rights in Technical Data
- and Computer Software' clause, document DFARS 52.227-7013. The contractor/
- manufacturer is FM de Monasterio, P.O. Box 219, Cabin John, MD 20818-0219.
-
- ----------------
-
- DISTRIBUTION
-
- You may distribute this Software via magnetic and/or electronic means, but
- you are specifically prohibited from:
-
- - Charging fees or asking donations in exchange of or payment
- for copies of this Software.
-
- - Distributing this Software with commercial products without
- the written, express permission in advance from the author.
-
- - Distributing this Software via a for-profit organization or
- group, either alone or with other software.
-
- - Modifying any contents of this Software, including, but not
- limited to, the copyright notice and this license.
-
-
- The unauthorized copying, decompiling or disassembling of this Software is
- prohibited. Any other use of this Software is also prohibited without the
- express, written permission in advance from the author.
-
- Latest program releases may be found at the Information Exchange BBS, 202-
- 433-6639 (703-836-0748 after March 1992), as a compressed archive file.
-
- ----------------
-
- WARRANTY DISCLAIMER
-
- The Author cannot and does not warrant that any functions contained in the
- Software will meet your requirements, or that its operations will be error
- free. The entire risk as to the Software performance or quality, or both,
- is solely with the user and not the Author. You assume responsibility for
- the selection of the program to achieve your intended results, and for the
- installation, use, and results obtained from the Software.
-
- The Author makes no warranty, either implied or expressed, including with-
- out limitation any warranty with respect to this Software documented here,
- its quality, performance, or fitness for a particular purpose. In no event
- shall the Author be liable to you for damages, whether direct or indirect,
- incidental, special, or consequential arising out the use of or any defect
- in the Software, even if the Author has been advised of the possibility of
- such damages, or for any claim by any other party.
-
- All other warranties of any kind, either express or implied, including but
- not limited to the implied warranties of merchantability and fitness for a
- particular purpose, are expressly excluded.
-
-
- LIMITATION OF REMEDIES
-
- The information contained in the documentation for the Software is subject
- to change without notice.
-
- The Author's entire liability, and your exclusive remedy shall be: (1) the
- replacement of an original Software diskette not meeting the above Limited
- Warranty and which is returned to the Author along with proof of purchase,
- or (2), if the Author is unable to deliver a replacement diskette which is
- free of defects, you may terminate the License Agreement by returning this
- Software and the corresponding license fee will be returned.
-
- By using the Software, you acknowledge (1) to have read and understood all
- parts of this document and (2) to have agreed with and accepted all of its
- provisions without any reservation.
-
- ----------------
-
- Refer all inquiries to:
- FM de Monasterio
- P.O. Box 219
- Cabin John, MD 20818-0219
- USA
-
- ┌─────────────────────────────────────────────────────────────┐
- │ Trademarked names are the property of the respective owners │
- └─────────────────────────────────────────────────────────────┘
- [END]
-