home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware 1 2 the Maxx
/
sw_1.zip
/
sw_1
/
MEM_MAN
/
DOSMAX17.ZIP
/
FREELOAD.DOC
< prev
next >
Wrap
Text File
|
1992-07-23
|
12KB
|
301 lines
================================================================================
FREELOAD.SYS : Ver. 1.7, Copyright (1992) by Philip B. Gardner
FREELO86.SYS (8086): Ver. 1.7, Copyright (1992) by Philip B. Gardner
================================================================================
FREELOAD.SYS is a device driver which will help maximize the use of low
memory by releasing memory usually reserved in low memory by LOADHI.SYS
from Quarterdeck Office Systems.
FREELOAD.SYS tracks the high memory device loader operations and if it
is safe to release the low memory after each device initiates, the low
memory is released and the driver in upper memory is linked into the DOS
device chain.
FREELOAD.SYS can be used to save 1-2k in a typical configuration. The
actual amount of memory saved depends upon on the number and type of
device drivers loaded high.
Support is provided for:
* specifying the name and path of the device loader
* both character and block devices
* character drivers which contain an unlimited number of devices
* DOS Versions 3.1 - 3.31, DOS 4.x, and DOS 5.x (or better?)
================================================================================
(Requirements)::
* 186 processor or better
(DOSM86.EXE now included to support 8086/8088 processors)
* Requires MS-DOS Version 3.10 or better
================================================================================
(Installation)::
(CONFIG.SYS)::
Installation of FREELOAD.SYS requires modifying the contents of
your CONFIG.SYS file.
(Generic Configuration)::
This configuration should work and be the most efficient in 95%
of all configurations. For a few real world examples see
EXAMPLES.DOC
DOS=HIGH[,UMB] (DOS 5.0 only)
DEVICE=STOPMAX.SYS [options] (Stops kernel from loading in HMA)
DEVICE=(xms/umb memory manager)
DEVICE=DOSMAX.EXE [options] (DOSMAX loads high automatically)
DEVICE=FREELOAD.SYS [-S][other options]
REM DEVICE=LOADHI.SYS DOSMAX.EXE (or DOSMAX loaded high with loader)
SHELL=COMMAND.COM /P
BUFFERS=20
FILES=40
LASTDRIVE=Z
Add a DEVICE= line for FREELOAD.SYS in your config.sys. FREELOAD
should be loaded immediately after the XMS and UMB memory manager
DEVICE=(Memory Manager)
DEVICE=FREELOAD.SYS [options]
The default loader pathname is "C:\QEMM\LOADHI.SYS". If FREELOAD
cannot open this pathname, a message will displayed alerting you
to "Use /Fpathname to override." An example which uses this switch
is shown below:
DEVICE=FREELOAD.SYS /F D:\QEMM\LOADHI.SYS
(Tip)::
If you prefer that a particular device driver is not affected by
the operation of FREELOAD, place the DEVICE= for that device above
the DEVICE=FREELOAD.SYS entry. This may be necessary in the case
that a particular driver is not compatible with FREELOAD.
================================================================================
(Syntax)::
The only thing to remember about syntax for the command line is
that just about anything works. What this means is that you
should be able to type in the options on the command line the
way they make sense to you.
To illustrate this point, the following command line example
is mutated several different ways.
DEVICE=FREELOAD.SYS /R+ /P+ /FC:\QEMM\LOADHI.SYS
DEVICE=FREELOAD.SYS -R+ -P+ -F C:\QEMM\LOADHI.SYS
DEVICE=FREELOAD.SYS R+ P+ F C:\QEMM\LOADHI.SYS
DEVICE=FREELOAD.SYS R+P+FC:\QEMM\LOADHI.SYS
DEVICE=FREELOAD.SYS -R+P+FC:\QEMM\LOADHI.SYS
... and so on. There must be an EOL or space following the
filename paramter the /Fpathname switch
(Switch Options)::
(REPORT):: R[+ or -] (toggle: default -)
Use /R+ to enable a report of the allocation status
of FREELOAD.SYS
(PAUSE):: P[+ or -] (toggle: default -)
Use /P+ enable a pause after the above report
(NOPAUSE):: N[+ or -] (toggle: default -)
Use /N+ to never pause after the report, even if there
are errors. This switch can be used if your configuration
generates a warning or error message which you choose to ignore.
(FILEPATH):: F[pathname] (string: default C:\QEMM\LOADHI.SYS)
Use /Fpathname to specify the filename and path of the device
loader provided with your upper memory manager. For example, if
this device driver is on drive D:
DEVICE=FREELOAD.SYS /FD:\QEMM\LOADHI.SYS
If FREELOAD cannot find this file, it will not load.
(DRIVE TABLE SIZE):: Dnn (value: nn = 88)
Use /Dnn to set the Drive Table Size. Values other than the
MS-DOS 4.0 - 5.0 Drive Table Size of 88 are only allowed if the
true MS-DOS version is greater than 5.0. The Drive Table Size
for DOS 3.x is 81. The /Dnn switch is only necessary if FREELOAD
can't determine the Drive Table Size automatically.
(SHRINK):: S[+ or -] (toggle: default -)
FREELOAD normally takes approximately 1K of high memory. Use /S+
to reduce this requirement to 16 bytes just before the shell is
loaded from CONFIG.SYS. Shrinking may cause problems with high
memory optimizers, but the switch can be safely used after the
system is optimized, to free another 1K of high memory.
(MEMORY STRATEGY):: Mn (value: n = 0)
Use /Mn to control the memory allocation strategy which FREELOAD
uses to allocate its upper memory block. The default strategy is
is First Fit (/M0). This means that FREELOAD will use the first
upper memory block returned by the XMS manager. The other options
are Best Fit (/M1) and Last Fit (/M2). Best Fit uses the block
which most closely matches the size needed, and Last Fit uses the
highest block big enough to handle the request. Values other than
0, 1, or 2 are ignored and the previous setting of this option is
used.
* everything in square brackets "[]" is optional
(CONFIG.SYS Line)::
DEVICE=FREELOAD.SYS [/ or -][R[+]P[+]N[+]S[+]Fpathname]
device mode default: /R-/P-/N-/S-/Mn/FC:\QEMM\LOADHI.SYS
* No Report status messages
* No Pause after report
* Pause on errors or warnings
* Use the First Fit memory allocation strategy
* Default Loader Pathname = "C:\QEMM\LOADHI.SYS"
================================================================================
(Report Format)::
FREELOAD.SYS : Ver. 1.7, Copyright (1992) by Philip B. Gardner
ERROR : (Error Messages)
WARNING : (Warning Messages)
ADVICE : (Advisory Messages)
: (Report Messages)
: (Allocation Status)
PAUSE : Press any key to continue...
================================================================================
(Error Messages)::
MS-DOS version 3.10 or above is required
XMS manager not installed
DOS version is not compatible
Can't load in High Memory
An 80186 processor or better is required
Device Loader not found
================================================================================
(Warning Messages)::
Unknown option in command line
Extra characters on command line
Drive Table Size not determined or out of range
================================================================================
(Advisory Messages)::
Use /Fpathname to override
Use /Dnn switch to set Drive Table size
================================================================================
(Report Messages)::
Drive Table Size set to 00h
[pathname] (/Fpathname parameter if error)
================================================================================
(Allocation Status)::
FREELOAD moved to 0000
Not enough Hi Memory for FREELOAD
================================================================================
(Changes)::
(Version 1.1)::
(1) Fixed problem where character devices were skipped if a
block device was loaded first
(2) Added support for block devices. This grew the size of
FREELOAD to 880 bytes so FREELOAD now shrinks to 16 bytes
when finished. This frees a .8k block of upper memory
which is not needed after all devices are loaded.
(Version 1.2)::
(1) Added support for character drivers which contain multiple
devices. There is a requirement for 16 bytes of low
memory for a multiple device driver, but this 16 bytes
supports an unlimited number of devices within the driver.
Without the 16 bytes, DOS believes the initialization of the
driver has failed and only the first device is linked.
(Version 1.3)::
(1) Fixed problem with failing to build a Drive Parameter Block
when a multiple device driver ended with a block device.
(2) Changed automatic reduce to a command line option. FREELOAD
now takes 1K bytes high. If the /S+ (shrink option is used)
this size is reduced to 16 bytes just before the shell is loaded.
(Version 1.4)::
(1) Improved multiple device failure mode. If a multiple device
driver has begun the initiate phase and fails, the high device
is left unlinked, and the loader is left in place with memory
and the device chain set to the length of the last successful
initialization. This method more closely emultates DOS.
(2) Added check that resets FREELOAD if the loader doesn't load the
device in high memory successfully.
(3) Optimized code to reduce memory requirement back to 1K
(Version 1.5)::
(1) Added base 10 display of Drive Table Size message
(Version 1.6)::
(1) Added support for DOS 5 UMB's when moving FREELOAD upto upper
memory. Some device loaders will work with DOS 5 UMB's, and
now you can use the loader instead of DEVICEHIGH= if you want.
(2) Added /Mn option, to allow general control of memory allocation
strategy. First Fit = 0, Best Fit = 1, and Last Fit = 2 were
implemented for both DOS 5 UMB's, and XMS UMB's.
(3) Added check for a 186 processor or better (allows V20/V30).
(4) Now supporting separate program FREELO86.SYS. This program is
functionally identical to FREELO86.SYS, but is compiled to work
on 8086/8088 processors also. The stub left in high memory
is 16 bytes greater using with this variation.
(Version 1.7)::
(1) Changed common parsing algorithum to add support for Hex-Notation
input. This input method is not used in FREELOAD at this time.
(2) Fixed case where device fails but the loader tells DOS the device
was ok. The high memory block is released, but the loader still
reserves low memory. FREELOAD linked the released driver, but now
detects the condition, does not complete the link, and releases
the stub.
================================================================================