home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
XDISK330.ZIP
/
XDISK.DOC
< prev
next >
Wrap
Text File
|
1992-01-01
|
41KB
|
896 lines
░░░░░░░▄ ░░░░▄ ░░░░░░░▄ ░░░░▄ ░░░▄
░░█▀▀░░░▄ ░░█▀ ░░█▀▀▀▀░▒▄ ░░█▀ ░░█▀▀
░░░▄ ░░░▄ ░░█ ░▒█ ░░█ ░▒█ ▀▀ ░░█ ░▒█▀
░░▄ ░▒█▀▀ ░░█ ▒▒█ ░▒█ ░▒█ ░░█▒▒█▀
░▒▒▒█▀ ░▒█ ▒▒█ ▒▒█ ▒▒▒▒▒▒▒▄ ░▒▒▒█▀
▒▒█▀ ▒▒█ ▒▓█ ▒▒█ ▀▀▀▀▀▒▓▄ ▒▒█▒▓▄
▒▒▓▓▄ ▒▒█ ▓▓█ ▒▓█ ▓▓█ ▒▒█ ▓▓▄
▓▓█ ▓▓▄ ▒▓█ ▓▓▓█ ▓▓█ ▒▒▄ ▓▓█ ▒▓█ ▓▓▄
▓▓▓█▀ ▓▓▓▄ ▓▓▓▓▓▓▓▓█▀ ▓▓▓▓▄ ▓▓▓▓▓▓▓█▀ ▓▓▓▓▄ ▓▓▓▄
▀▀▀ ▀▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀
Version 3.30
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.
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,
although the data on the disk are lost during any disk resizing.
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 the 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 versions of the program. Requires MS DOS/IBM-PC DOS
version 2.0 or later, and an EMM complying with the EMS LIM 3+ specification.
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 DOS 4.x 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 80x86 processor family. This is needed
since the x86 processors differ markedly in instruction execution time and
the incorporation of a memory cache in some CPU types affects such 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.
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 ≥3.00, 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.00, but it is not shown when using an earlier DOS version. xDISK disks can
be identified by the volume label and time of creation, as well as by the OEM
identification in the boot sector, all of which are determined by the version
of xDISK. If executed in an 80286 CPU or higher, the date of creation of the
RAM-disk is the current date in the CMOS chip; for an 8088/8086 CPU, the date
of creation 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 start and ending delimiter bytes [-1] contain the hexadecimal value
of 0FFh, the null separator bytes [0] contain 0, and the drive designator <d>
is the upper-case letter assigned to this RAM-disk (DOS ≥ 3.0) or a null byte
(DOS < 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, /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. When 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).
----------------
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/V/U/?]]
? 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. This is the only switch that
preserves a Read-Only status for the RAM-disk.
See section STATUS/USAGE/HELP PANELS below.
NOTE: (EGA users only) The default IBM palette attributes are restored if
the BIOS fails to store properly the original data.
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 Bn
Disk size in kilobytes, where <n> is in the range between 16 and 32768 in
16-kbyte steps; when <n> is not a 16-kbyte multiple, size is increased to
the nearest larger multiple available. Unless switch /Q or /N is enabled,
this resizing change necessitates confirmation by the user.
Defaults: In the CONFIG.SYS file, null switch or null <n> = /B64. In the
command line of DOS, /B = /B64; null switch is ignored.
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, a DOS-mediated request to the disk will
trigger an error message of the following type for DOS 3.XX:
Not ready error reading drive E
Abort, Retry, Fail?
whereas for DOS 4.0X some disk-access commands will trigger this message
(e.g. 'CHKDSK E:'):
Invalid drive specification
Invalid media type
and others this message (e.g. 'DIR E:'):
Not ready reading drive E
Abort, Retry, Fail?
Answer the "Abort, Retry, Fail?" by pressing <A> to quit the DOS critical
error handler and return to the DOS prompt. The "not ready" error message
is a remainder that the RAM-disk exists, but it is collapsed.
The 0-kbyte collapse can be restored only by using switch /B or /E; other
switches do not change the disk size.
No defaults.
SWITCH Dn
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.
NOTE:
If a sufficient number of entries is NOT available, commands to write to
the disk will trigger critical error messages of a '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.
Defaults: In the CONFIG.SYS file, null switch or null <n> = /D64. In the
command line of DOS, /D = /D64; null switch is ignored.
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.
Default: /G = /G+.
SWITCH H
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).
NOTE:
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 RAM-disk. See below section 5.0, Identification in Memory
Map Utilities.
No defaults.
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 Px±
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.
Default: /R = /R+.
SWITCH Sn
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).
Default: /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.
--------
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.
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.
NOTE: When 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
while INT 2Fh/1608h allows DOS to suspend the idle program temporarily and
transfer control to another program.
----------------
4. DOS ERRORLEVEL
XDISK.EXE passes to DOS execution status data. These can be tested in batch
files via the ERRORLEVEL command. The following are values for version 3.10
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 Unknown or invalid switch request
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. DRIVER INSTALLATION
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 ─ Abort 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).
----------------
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.30
(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 64 0012 0018 * <- 2nd xDISK drive L:
K: 0BCB:0000 64 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 64 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 64 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 (2400+ baud) 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]