Dec 062017
On-the-fly or real-time compression program. Compresses files and uncompresses them as they are used. By George Reznik and others, Kiev, Ukraine.
File JAM125SW.ZIP from The Programmer’s Corner in
Category Recently Uploaded Files
On-the-fly or real-time compression program. Compresses files and uncompresses them as they are used. By George Reznik and others, Kiev, Ukraine.
File Name File Size Zip Size Zip Type
AUTHORS.DOC 8340 3112 deflated
AVAIL.DOC 4709 1795 deflated
CHKALL.BAT 2187 911 deflated
CTL3DV2.DLL 21648 10075 deflated
EXTEND.BAT 1888 714 deflated
JAM.DOC 232634 55162 deflated
JAM.SYS 12574 8806 deflated
JCHAIN.SYS 1001 872 deflated
JCHKDSK.COM 31740 19493 deflated
JCMD.COM 1863 1412 deflated
JCREATE.COM 16289 10210 deflated
JDIR.COM 16730 11019 deflated
JMAX.COM 17596 11269 deflated
JMOUNT.COM 15567 10171 deflated
JMW.EXE 36608 14939 deflated
JMW.HLP 9516 5892 deflated
JPROTECT.DOC 9848 3541 deflated
JPROTECT.SYS 2152 1555 deflated
JSIZE.COM 17880 11408 deflated
JSWAP.COM 4787 3387 deflated
README.DOC 41006 13628 deflated
REGISTER.DOC 4500 1767 deflated
SHRINK.BAT 2013 728 deflated

Download File JAM125SW.ZIP Here

Contents of the README.DOC file


JAM (tm) Version 1.25 Release Notes (Mar 10 1995)

This file contains the following topics:

1. Release highlights
2. Files on the distribution disk
3. Getting started
3.1. Upgrading the JAM from an older version
3.2. Quick Installation Guide
4. Hints on JAM usage
5. Compatibility with certain software utilities
5.1. DOS versions
5.2. Memory managers
5.3. Viruses & Anti-virus Software
5.4. D*Space, Stacker, and other disk compressors
5.5. Networks
5.6. INTERLNK & INTERSVR programs
5.7. Disk repairing/defragmentation utilities
5.8. UnErase/UnDelete utilities
5.9. Disk Cache utilities
5.10. Data encryption software
5.11. Windows 3.xx
5.10. Executable file compressors
6. Possible problems
6.1. JMOUNT displays the message "JAM file is too fragmented".
6.2. Your program tells that the JAM drive is write-protected.
6.3. You find that your JAM drive mounting as a read-only disk.
6.4. You cannot copy files onto JAM drive when it is not full.
7. Addendum to the JAM User's Guide
7.1. The JCHAIN utility
7.2. The JPROTECT utility
8. Technical support

1. Release Highlights

This new (1.25) release features several advantages over previous

* Superior Reliability -- the JAM device driver uses now advanced
technology of interaction with DOS, that resolves all possible
problems with memory managers, disk caches, multitasking
environments, networks, and even with other disk compressors!
You can load JAM driver at any place in your CONFIG.SYS or even
later (using any existing device loaders). Finally, you can link
your JAM drives at any point in your file system with the SUBST,
ASSIGN and JOIN commands.

* New JCHAIN Utility -- a system configuration utility. You can use
JCHAIN to instruct DOS to use additional configuration files.
Thus, you can arrange all the DEVICE= instructions for loading the
JAM into a separate file, and transfer control on it before (or
after) the standard CONFIG.SYS file is executing.

* New JPROTECT Utility -- an ultimate file protection tool.
You can use JPROTECT to protect your compressed data from possible
damages by ill-behaved programs, viruses, etc.

* Improved removable drive simulation -- when JAM drive is not active
(unmounted), or it is mounted on a JAM file located on a floppy disk,
PCMCIA card, or any other removable media, you will see it as a
removable drive in your system (File Manager will display a floppy
drive). However, if you run JMW or JMOUNT and mount it to a file
located on a hard disk, that drive will be recognized as a fixed disk

* Improved JSWAP Utility -- automatically switches drive letters and
all the related system parameters: system bootable drive, current
drive, host drives of all JOINed drives and SUBST'ed directories;
drive letters in COMSPEC=, PATH= and the other system variables,
host drives of JAM files, etc. When you run JSWAP without parameters,
the current drive map is displayed.

* Improved JCREATE, JMOUNT, and JSIZE utilities -- all these
utilities can determine attempts to create, mount, or edit JAM
files located on redirected (ASSIGN, JOIN, SUBST, etc), phantom
(DRIVER.SYS-driven), or compressed (JAM, Stacker, DoubleSpace,
and DriveSpace) drives.

* Improved JMAX utility -- more detailed disk integrity analysis
before optimization; improved data compression algorithm (1..2%
extra compression)!

* and many other advantages ...

2. Files on the disk

The JAM 1.25 distribution contains the following files:

README.DOC This file
JAM.SYS The JAM device driver
JCREATE.COM JAM archive files creation utility
JMOUNT.COM JAM drives mount/dismount utility
JDIR.COM Extended directory display utility
JSIZE.COM Archive size modification utility
JMAX.COM JAM drives recompressor/defragmenter
JCHKDSK.COM Drive check/repair utility
JSWAP.COM Drive switcher
JCMD.COM JAM command interceptor (replaces DOS "DIR"
and "CHKDSK" commands by JDIR and JCHKDSK)
JMW.HLP | JMW (JMount for Windows)
CTL3DV2.DLL | utility files
JCHAIN.SYS System configuration utility
JPROTECT.SYS \ A file protection utility
JPROTECT.DOC / and documentation
CHKALL.BAT Checks all JAM drives \ examples on using
EXTEND.BAT Extends specified JAM drive | JAM utilities
SHRINK.BAT Shrinks specified JAM drive / in batch files
JAM.DOC JAM User's Guide
REGISTER.DOC JAM registration information
AUTHORS.DOC List of people involved in the development of JAM 1.25
AVAIL.DOC Information on JAM distribution

3. Getting Started

3.1. Upgrading the JAM from an older version

This version of the JAM is NOT COMPATIBLE with versions prior 1.05 !
If you are upgrading the JAM from an older version, you should BackUp
the files on the existing JAM Drives, delete corresponding Archive Files,
install new version of the JAM, and restore files you have BackUp.

3.2. Quick Installation Guide

The following steps should be taken before you start:

1. Check your file system integrity by CHKDSK (or ScanDisk) utility

2. Defragment your hard disk drives using a disk optimization utility
like DEFRAG (MS-DOS/PC-DOS 6.0+), DISKOPT (DR-DOS 6, Novell DOS 7),
SPEEDISK (Norton Utilities), COMPRESS (PC-TOOLS), OPTune, etc.

If you have not any of the commercial programs above, or you find
that your defragmenter works too slow, we could suggest you to try
a shareware Disk OrGanizer by G. Allen Morris:

3. Copy the JAM files (see above) on your hard disk.

executable file compressors like LZEXE, PKLITE, etc. See section
5.11 for details.

4. Check your system configuration (files CONFIG.SYS and AUTOEXEC.BAT)

4.1. If you have installed the JAM with version prior 1.05, please
read the Section 4. "Upgrading the JAM from an older version".

4.2. If you have installed QEMM 7.0x with enabled DOS-UP feature,
please read the Section 5.2 in this file.

4.3. If you have installed Stacker, DoubleSpace, SuperStor, or
other disk-compression system, read the Section 5.4 below.

4.4. If you use a disk cache utility, read the Section 5.9.

5. Install the JAM, using the instructions in JAM.DOC Chapter 2 -
"Getting Started With the JAM". Note that now you can also create
extendable archive files (use JCREATE with /X switch). This allows
you make a small archive file, using available free space on your
hard disk, then move some files from the host drive on the JAM one,
then extend size of JAM archive (using JSIZE utility), and so on.
The same technique can be applied to deinstallation as well.

6. In case of problems, please refer to this README and JAM

4. Hints on JAM usage

This section provides a list of typical first-time questions asked
about the JAM driver and utilities. Please refer to other sections of
README.DOC (5 - Compatibility and 6 - Possible problems) and to the
JAM.DOC for further information.

Q. How can I create a second JAM drive?

A. 1. Check your file system integrity by CHKDSK (or ScanDisk) utility

2. Defragment your hard disk drives using a standard disk
optimization utility (MS-DOS/PC-DOS 6.0+ DEFRAG, etc.)

3. Run JCREATE /s=Kbytes [/x if extendable]

4. Edit your COMFIG.SYS file and:

4.1. add the /M=2 switch in line:

4.2. add a new line below:
- is a drive/directory where the JAM utilities
are located
- full name of the newly created JAM file

4.3. Save file CONFIG.SYS and exit editor.

5. Reboot your computer.

Q. How can I enlarge capacity of an existing JAM drive?

A. 1. Run JMOUNT
to show the host drive and name of your JAM file

2. Run JMOUNT /D
to deactivate your JAM drive

3. Defragment your host drive using a standard disk
optimization utility (MS-DOS/PC-DOS 6.0+ DEFRAG, etc.)

4. Run JSIZE +[Kbytes]
to extend the JAM file

or reboot your computer to make your JAM drive active.

Q. JAM creates drive letters which conflict with my old network drives
or compressed ones. How can I resolve this?

A. Either put JAM.SYS driver on the end of CONFIG.SYS, or use JSWAP
utulity (from CONFIG.SYS or AUTOEXEC.BAT). See JAM.DOC for details
(section 4.2, 4.8).

Q. I cannot undelete files on JAM drive.

A. Refer to section 5.8 of README.DOC. In brief, you should use
JMOUNT /W+D before you run undelete. See also JAM.DOC for
further details (section 4.3).

Q. When I calculate total space used by all my files and subtract it
from original total capacity of empty JAM drive, I did not get the
same free space as DIR command reports. What's wrong?

A. The JAM driver uses complicated algorithm to estimate the real free
space depending on current usage of the disk and current compression
ratio. For example, if you would fill your JAM drive with already
compressed files (for example, .zip files), the projected free space
would drop very fast. Use JCHKDSK to obtain accurate report of used
and free physical and logical disk space. See JAM.DOC for details
(sections 3.3 and 4.5).

Q. How can I convert my existing compressed drives (e.g., Stacker,
Doublespace) to JAM?

A. At the present time, not automatically. You should create a small
resizable JAM drive (use JCREATE MYDRIVE /X /S=500, for example),
then move some files from your old compressed drive to it, shrink
that compressed drive and extend JAM's one, and repeat until all
files are moved. Or, it may be simpler to back up your data and
restore it on JAM drive. See JAM.DOC for details on using JCREATE
and JSIZE (sections 4.1 and 4.7).

Q. JCMD seems to not work. What is happening?

A. First, check if you have specified path for JAM utilities, e.g.:

jcmd /i c:\jam

Then, check if you are using 4DOS or NDOS. If so, make sure you've
loaded the JCMD from any program shell (Norton Commander, Volkov
Commander, XTreeGold, etc.).

Explanation: to replace commands JCMD uses DOS interrupt 2Fh.
When you load JCMD from your program shell, 4DOS intercepts int 2Fh
handler, loads JCMD in memory, then exits restoring original interrupt
2Fh handler. This effectively unlinks JCMD from the interrupt chain.

If you are running Volkov Commander, and you've loaded JCMD from it,
JCMD will be automatically deactivated when VC exits.

Rule of Thumb: run TSRs from DOS command prompt (or AUTOEXEC.BAT).

5. Compatibility with certain software utilities

5.1. DOS versions

The JAM 1.25 is fully compatible with the following Disk Operating Systems
(Control Programs):

1. PC-DOS 3.30, 5.02, 6.01, and 6.3
2. MS-DOS 3.30, 4.01, 5.0, 6.0, 6.2, 6.22, and 7.0
3. Compaq DOS 3.31, 5.0
4. DR-DOS 6.0 (April 1992 and earlier releases)
5. DR-DOS 6.0 March 1993 "business update"
7. Novell DOS 7


1. To prevent possible conflicts with other Disk Operating Systems,
we have not tested, JAM driver checks the DOS OEM number. If DOS
version is between 3.30 and 7.0, but OEM number is neither 00h
(IBM), 01h (Compaq), nor 0FFh (Microsoft), the JAM driver will
display the error message like:

'Warning: Incorrect DOS OEM number.'

In this case (or in case if you have newer release of PC-DOS,
MS-DOS, or Novell DOS than listed above) you could contact us for
upgrade information (see section 8. Technical Support below).

2. This method cannot detect several other uncommon Operating Systems.
For example, it is possible to load JAM driver under PTS-DOS,
BMT-DOS, etc. which, in fact, are not compatible with JAM 1.25.

5.2. Memory managers

The JAM 1.25 is compatible with all memory managers we have tested
including HIMEM, EMM386 (supplied with PC-DOS, MS-DOS, DR-DOS, and
Novell DOS), QEMM386 and 386MAX. Occasionally, the memory manager will
require special parameters to work properly, or you will need to change
order of loading the JAM components.

Some detailed information about particular products is given below:

The JAM is fully compatible with Quarterdeck's QEMM 5.0-7.5+,
including such new technologies as Stealth ROM and DOS-Up features.

If you want to load portions of DOS into upper memory, using the
QEMM 7.0+ DOS-Up program, you should ensure that there is no lines


or (in case of DR-DOS or Novell DOS 7)


in your CONFIG.SYS file. The point is that DOS-Up is incompatible
with DR-DOS's INSTALL command, and with similar loading method used
by JMOUNT and JCREATE utilities. If you are using either of these
commands in your CONFIG.SYS file, load the JMOUNT and/or JCREATE
utilities from AUTOEXEC.BAT instead.

The JAM is fully compatible with Qualitas's 386MAX (6.0-7.0) memory
manager, running on PC with MS/PC-DOS 5.0 or Novell DOS 7 and higher
in use. If you run 386MAX with one of the older PC/MS/DR-DOS versions,
the JAM.SYS device driver cannot be loaded into upper memory.

If you're running JMOUNT utility with the DEVICE= command at
CONFIG.SYS, RAMBOOST would try to load JMOUNT into upper memory,
and as the result your JAM files may not be mounted after the
analysis phase. To prevent these attempts add to the RAMBOOST.INI
file the following lines:


; jam pseudo-drivers:, locked, locked, locked

5.3. Viruses & Anti-virus Software

Unlike other real-time compressors (e.g. Stacker or XtraDrive) the JAM does
not modify boot-sector parameters during initialization. So, you may use
any virus detector without any restriction (and possibility to see
annoying messages like 'Brand X has detected a program trying to write to
the boot record.' during each system start-up :-).

If your machine has a virus, the JAM can affect the way the virus writes
itself on disk and/or an anti-virus corrects this. For example, JAM's
[DirectWrite] protection feature prevents distribution of several dozen
known viruses, although, it can also make some difficulties for anti-virus
software in repairing infected files. So, if your anti-virus tells that
the JAM drive is write-protected, while you can copy and/or delete files on
it, you should enable [DirectWrite] mode (using JMOUNT /W+D) and run anti-
virus again.

JAM 1.25 includes a new JPROTECT utility, which you can use to protect
your executable files from virus infections. This utility is quite
small, and in combination with JAM [DirectWrite] protection feature
provides comparative with standard antivirus TSRs (e.g. MS-DOS 6+ VSAFE
program) level of virus protection.

For more information about JPROTECT utility, please read the file

5.4. D*Space, Stacker and other disk compressors

JAM 1.25 is fully compatible with MS-DOS 6+ DoubleSpace, and
MS-DOS 6.22 DriveSpace disk compressors. You can load the JAM driver
at any line in your CONFIG.SYS file and work with your JAM- and
D*Space drives without any restrictions.

We DO NOT RECOMMEND you use the JAM with other disk compressors (like
Stacker, SuperStor, etc.) simultaneously. Nevertheless, you can install
the JAM on a machine with Stacker, SuperStor, XtraDrive, or some other
real-time compression program, and run it for evaluation purpose.

The main requirements here are:

* create JAM archive files only on UNCOMPRESSED hard disk drives
(and vice-versa do not create Stac'ed drives over the JAM ones).

* try to avoid reaching the space limits on your compressed drives by
frequently checking its free space.

5.5. Networks

The drive letters used by the JAM for the logical drives are determined by
DOS. When DOS initializes JAM.SYS during the processing of CONFIG.SYS, it
informs the JAM of the next available drive letter. JAM.SYS reports to DOS
the number of drives it controls. DOS then knows what drive letter to
assign to the next block device driver it processes. You can change the
drive letters used by the JAM by installing JSWAP utility (see also section
4.8 in the JAM User's Guide) or (if you have other block device drivers
in your CONFIG.SYS file) by moving JAM.SYS around in the CONFIG.SYS file.
The JAM displays the drive letters it uses on the screen every time the
computer is powered up.

Some networks assign their drives to drive letters in a non-standard way.
If there is a conflict between a drive letter used by the JAM and one used
by a network drive, one drive or the other will be unavailable. The only
solution in the present time (other than that mentioned above) is to
reconfigure the network drive to use a letter that doesn't conflict with
the JAM. No data will be lost on the logical drive even if it is
temporarily unavailable due to a lettering conflict.

5.6. INTERLNK & INTERSVR programs

The INTERLNK & INTERSVR programs, introduced with MS-DOS 6, are
supposed to provide a mechanism of sharing resources of two computers
linked with a null-modem. The INTERLNK driver should be installed
on a local (master) machine, while INTERSVR must work on the remote
(slave) computer. During installation INTERLNK asks INTERSVR about
existing devices on a remote computer and makes copies of their
device drivers on the local system. Later, when you try to access a
remote drive, you send request to its local driver, that is controlled
by INTERLNK. Then INTERLNK will transfer that request to the INTERSVR
on the remote machine, and INTERSVR will call the actual device driver
to perform the request.

We have descrived that mechanism, to show that INTERLNK & INTERSVR
programs do not form a network file system themselves, and as the

Thus, if you instruct INTERLNK to redirect a JAM drive on a remove
machine, INTERLNK will reproduce on a local machine only JAM's device
driver, while all the functions that JAM supports on the DOS interface
level will not be handled on a local machine. For example, you would
see unrealistic amount of free space on a remote JAM drive, the other
JAM utilities will not recognize that drive as a JAM one, etc.
Moreover, if that drive is mounted with enabled [DirectWrite]
protection, JAM driver will block all write requests from the INTERSVR,
so that you will not be able to write files on remote JAM drives.

Nevertheless, there is an alternative way of using JAM with INTERLNK.
You should install a JAM device driver on a local machine (before or
after INTERLNK). Then, when INTERLNK will redirect all the standard
drives from a remote machine, you should run JMOUNT to mount a remote
JAM file on a local JAM drive.

Note: being run from a local machine, JMOUNT may not be able to
determine the type of a remote host drive, and whether the JAM
file is already mounted. So, make sure that your JAM file is
not located on a compressed drive (D*Space, Stacker, etc.),
and is unmounted.

Working in this mode, you can get all the benifits of data compression
in distributed system: a) INTERLNK will transfer only COMPRESSED DATA,
that JAM driver reads from or writes to the remote file, b) built-in
JAM device driver cache systems will represent a LOCAL cache for
UNCOMPRESSED remote data, c) using an external disk cache utility, you
will be able to add an additional LOCAL cache for COMRESSED remote
data, and so on.

5.7. Disk repairing/defragmentation utilities

We DO NOT recommend you to run standard disk defragmentation utilities
like Norton Utilities' SPEEDISK (MS-DOS/PC-DOS 6+ DEFRAG), Central
Point Software's COMPRESS, Gazelle Systems' OPTune and alike on the
JAM drives.

The JAM has a JCHKDSK disk-repairing utility and JMAX optimizer that are
specifically designed for the JAM compressed data. Commercial defragmenters
will NOT produce a well organized compressed disk, and in some cases
actually DAMAGE the compressed data.

There is nothing wrong however, with running your commercial defragmenter
(and/or disk check/repair utility) over a disk that is not controlled by
the JAM.SYS.

Moreover, it is HIGHLY RECOMMENDED to run the standard defragmenter on
your hard disk drive before you create a new or extend an existing JAM

If you have not any of the commercial programs above, or you find that
your defragmenter works too slow, we could suggest you to try a
shareware Disk OrGanizer by G. Allen Morris:

5.8. UnErase/UnDelete utilities

The JAM package enables you to use utility programs (e.g. MS-DOS's
(Central Point Software's) Undelete, Norton Utilities' Quick-Unerase,
etc.) to perform UnDelete operations on erased files residing on JAM

Almost all UnDelete programs use low-level disk access methods, so that
you will need to enable DirectWrite mode for the JAM drive before run
such program on it. This technique is described in section 3.6
"UnDelete operation support" in the JAM User's Guide.

However, there are several UnDelete utilities (like XTreeGold's "Oops"
command) which use another approach to recover deleted files. Instead
of direct modification of FAT and directory, they create file with the
same name, using DOS's create function, then change current position in
it (lseek) on the length of deleted file, and finally, fix the file
size by writing zero bytes, and closing it.

In several cases this method creates files with wrong information,
however it is much easier, and uses only DOS functions (so that it
may be possible to recover files on networked, and any other
devices with compatible file system).

Unfortunately, this method works correctly on JAM drives, only if you
are using the Full Undelete compatible mode (see note "JAM Allocation
Strategies" at section 4.3 in the JAM User's Guide).

In standard mode, JAM driver clears deleted clusters when request on
FAT modification is given by a standard DOS function. As the result,
undeleted files (as well as any other files which you create without
writting actual data in it) will contain zeros.

5.9. Disk Cache utilities

The JAM is fully compatible with almost all standard disk cache utilities
(including HyperDisk, Super PC-Kwik (or its OEM: PC-Cache and Qualitas
Qcache), COMBI-Disk, etc.) which use INT 13h interface only.

Some modern disk caches (like SMARTdrive 4.0+, NCACHE2, NWCACHE, etc.)
intercept (and/or reorganize) requests to all (existing at the moment
of the cache initialization) DOS block device drivers, including the
JAM ones. This means, that the data on the JAM drives would be cached

1. When DOS reads Original Data from/ writes to a JAM drive,

2. When JAM driver reads Compressed Data from/ writes to a
Host drive for the JAM Archive,

and as the result, you would waste memory to keep two copies of the
same data (in compresses and uncompressed form). Moreover, most
probably, your cache program will not be able to handle embedded
requests, and will hang your system (we have investigated this with
SMARTdrive, and several other disk caches).

To prevent this effect JAM checks pointers on device drivers in DOS DPB
(Disk Parameter Block) structures, and when JAM driver receives a test
request sent via another block device, it detaches that intermediate
DOS ,------------. | | - restored pointer
--------->| DPB (D:) | | UNCOMPRESSED DATA | to the JAM driver
REQUEST |============| | ,------------. |
| ...... | | | Disk cache | |
| Dev.header ---/ -->| drive 2 | | ,-----------.
| ...... | 1st |============| | | JAM |
`------------' cache| Cacheable --- \-->| device |
level| drive hdr2 | | driver |
,------------. `------------' |===========|
| DPB(C:) |<--------------------------- Host drive|
|============| COMPRESSED DATA | DPB |
| ...... | ,------------. `-----------'
| Dev.header ------->| Disk cache |
| ...... | 2nd | drive 1 | ,-----------.
`------------' cache|============| | Host disk |
level| Cacheable ------->| driver |
| drive hdr2 | | |
`------------' `-----------'

Thus, whenever you would run such a disk-cache utility, JAM will detach
all extra cache drives, and your cache utility will work correctly.

Nevertheless, if it is possible to install your disk cache from the
CONFIG.SYS file, you should load it BEFORE JAM.SYS driver. Doing so you
would reduce the size of your cache in memory and will not produce any
phantom cache drives.

5.10. Data encryption software

There are three main kinds of security programs:

* First (like DR/Novell-DOS LOGIN and PASSWORD commands, MITAC's Advanced
Disk Manager, passwords in FastBack, etc.) offer "password protection
security" which don't perform any encryption, but simply do a password
check to allow access to the data.

There is no any restriction on using such programs with the JAM.
You should only keep in mind, that if your JAM archive file is located
on a password-protected drive/or directory, you should make this place
accessible when JMOUNT will work.

* Second (like Unix's Crypt, Norton Utilities' Diskreet, Central Point
Software's PC-SECURE, encryption features of Arc, Arj, Lotus 123, Lotus
Symphony, Microsoft Excel, Microsoft Mail, Microsoft Word, Paradox,
Pkzip, etc.) can encrypt individual files, so that you (or someone
else) cannot view their original contents.

Such encrypted files (in most cases) are not compressible and will be
stored in uncompressed form, even if you store such files on a JAM
compressed drive.

You might want to store incompressible files on an uncompressed
drive rather than on a JAM drive. Doing so can sometimes improve
your system's speed.

* Third (like Peter Gutmann's SFS) will create a secure disk (encrypted
diskette or whole hard disk partition), which cannot be accessed except
with a password.

JAM is fully compatible with such programs. Moreover using the JAM over
SFS-encrypted disk you can improve security and speed up the disk
access. To mount a JAM archive located on an encrypted SFS drive you
should load SYS.SYS driver and activate the secure drive before
running JMOUNT.COM program.

5.11 Windows 3.xx

The JAM 1.25 is fully compatible with Windows 3.0, Windows 3.1, and
Windows for Workgroups 3.11. Some detailed information about hints in
using it with the JAM drives is given below.

1. If you are installing Microsoft Windows 3.1 onto a JAM drive, we
suggest you take the following course of action while in the Windows
3.1 Setup program;

a. When given the option of which installation mode to use,
select the:

"Custom Setup" option versus the "Express Setup" option.

b. When you are prompted for the path to Windows install, use a
fully qualified path such as; "C:\WINDOWS" or "C:\WIN31".

2. If you use Microsoft Windows 3.x on your PC, and want to move it
on the JAM drive, you should use the JSWAP utility to swap the
JAM drive letter with that on which Windows is currently located.

3. If you cannot start JMW, make sure you have installed JMW.PIF into your
\WINDOWS directory (and possibly edited it with PIF Editor to
reflect your JAM path settings).

4. If JMW complains about CTL3DV2.DLL not properly installed, make
sure that file is copied to your \WINDOWS\SYSTEM directory.

5.11. Executable file compressors

If you use programs which compress executable files (like PKLITE, LZEXE,
DIET, etc.), do not use them over JAM utilities which can be loaded
as device drivers. These include JCREATE, JMOUNT and JSWAP programs.
If you do compress them and then attempt to load them from CONFIG.SYS,
your system will most probably hang.

6. Possible problems

Note: This section is intended as an aid to JAM users.
It covers some of common situations with JAM which are often
experienced by our users and contains 'recipes' how to resolve them.

This section is not to be meant as a constitution to the JAM
documentation; please refer to it for full description of the JAM
functionality. Note also the Frequently Asked Questions list.

6.1. JMOUNT displays the message "JAM file is too fragmented"

The JAM is able to handle Archive Files which consist of up to 16 separate
contiguous areas (fragments) upon the Host Drive. A file that resides in
many such separate areas is said to be Fragmented. Large Archive Files
might to be too fragmented for the JAM to handle, and therefore require
special treatment.

Run a disk defragmentation utility (e.g. Gazelle Systems' OPTune, Norton
Utilities' SPEEDISK (MS-DOS 6.0+ DEFRAG), Central Point Software's
COMPRESS, and alike) on your Host Drive, and then rerun JMOUNT.

NOTE: Such utilities usually do not work with DOS files that have the
"Hidden" attribute. Therefore, you must first remove the "Hidden" attribute
from the JAM files. You should then use the utility program to reorganize
the Host Drive, and once again assign the "Hidden" attribute to the JAM
files. Having done so, IMMEDIATELY REBOOT the computer system.

6.2. Some of your programs tell that JAM drive is write-protected

You may receive such message under one of the following circumstances:

1. There is an error in JAM drive data structure, and JAM.SYS has
switched drive in read-only mode (to minimize the data corruption).

Run JCHKDSK /T on your JAM drive. If JCHKDSK will find any error,
follow the steps described in Section 4.5 and Appendix B. of the
JAM User's Guide.

2. You use some incompatible Device driver or TSR program, which is
loaded over the JAM.SYS driver and call it directly (i.e. bypassing
DOS kernel). For instance, we have detected such situation with:

a) Stacker and others disk-compressors, which compressed volume
files were located on a JAM drive;

b) the "Dir", and several other computer viruses.

Try to disable each of your TSR program and device drivers (except
the JAM one), and investigate this problem again. If doing so, you
will find a program which conflicts with the JAM driver, try (if it
is possible) to load it before the JAM.SYS device driver in your

3. Your program uses direct disk access.

Some low-level disk utilities (e.g. Norton Utilities' DiskEdit,
DiskTools, UnErase, SpeeDisk, Directory Sort, etc.), use direct
disk access (DOS interrupt 26h, direct requests to device driver,
etc.) to perform non-standard activities like file UnDelete
operations, reorganization files on disk, and so on.

To enable direct write operations on the JAM drive, you should use
JMOUNT utility. For more information about JMOUNT utility and the JAM
[DirectWrite] mode read Section 4.5 of the JAM User's Guide.

6.3. You find that your JAM drive is mounted as a read-only disk.

A serious error in the JAM archive file structure was detected. To minimize
the data loss, the following steps should be taken:

1. Run JCHKDSK /T on the JAM drive.

2. Analyze the list of errors produced by JCHKDSK.
a) Select all clusters which cannot be expanded.
b) Select files which have these non-expandable clusters.
c) Copy these files on any other drive, by DOS COPY command
On all messages like:
'Unable to read data from drive x: (Abort,Ignore,Fail)?'
answer 'I'- ignore.

3. Run JCHKDSK /T /F again. On all messages like:
'Cluster #yyyyy (file 'xxxxxxxxxx') cannot be expanded, Clear it [Y/N]?
answer 'Y' - clear.

4. Run JMOUNT /U /W to switch the drive in read-write mode.

5. Replace all files which you have corrected by their copies.

6.4. You cannot copy files onto JAM drive when it is not full.

You may receive such situation when physical free space of your JAM
drive is too fragmented. Since JAM always allocates continuous chunks
of disk for compressed clusters, it may not write some files into JAM
drive with sufficient (but too fragmented) physical space free.
Solution: run JMAX on your JAM drive (JMAX /m0 would suffice to only
unfragment free space). It may be worth running JCHKDSK before just to
ensure that there is no other problems with your JAM drive. Please
refer to JAM.DOC for details on using JMAX (section 4.6).

7. Addendum to the JAM User's Guide

This section provides some important information which is not included in
the JAM User's Guide.

7.1. The JCHAIN utility

Transfers the control (when CONFIG.SYS is executing) to another
configuration file.


JCHAIN.SYS [? ["message_string"]] [d:][\][path\]filename [/Q]


? ["message_string"]
Prompts you about whether or not you want to transfer control to
a different configuration file. To specify the text for the prompt
you should include a message string after ?, enclosed by double
quotation marks.

Full or relative path of the configuration file. This is optional
part of the name of the configuration file. If you omit it, JCHAIN
uses current DOS drive/directory to find specified filename.

Specifies the name of the configuration file to transfer control to.

Specifies the location of the JCHAIN.SYS file.


Quiet mode (does not display copyright information).


JCHAIN automatically verifies that specified configuration file exists.
If it does exist, the current configuration file is closed and the
operating system begins executing the statements in new file. If it
does not exist, processing returns to the original configuration file.

Note: If you use the JCHAIN utility to transfer control to a
configuration file on another drive, JCHAIN sets the current DOS
drive to the last one. This means that if you won't specify the
full path in all DEVICE and INSTALL statements in secondary
configuration file, DOS will try to find programs to execute on
the drive containing this file.

The main purpose of the JCHAIN utility in JAM package is to allow
you load the JAM device driver, JMOUNT and JSWAP utilities from a
separate file before or after executing of all the program in the
standard CONFIG.SYS file.

Thus, to compress a bootable hard disk partition (say drive C:) you may
leave on it only system files: IO.SYS (or IBMBIO.COM) + MSDOS.SYS (or
IBMDOS.COM), JAM utilities (JAM, JMOUNT, JSWAP, and JCHAIN), put the
other files into a JAM file (say, C:\SYSTEM.JAM), and create a new file
CONFIG.SYS, consisting of the following statements:


During the system start-up the JAM driver will be installed first (say
as drive D:), then the JAM archive with user's files fill be mounted on
that drive, drives C: and D: will be swapped, and finally, JCHAIN will
transfer control to original configuration file. As a result, user's
system will be loaded from JAM compressed disk in a completely
transparent manner.

JCHAIN is also useful when you are using a system with read-only or ROM
disks; JCHAIN allows you to change the configuration specified in the
ROM-based copy of CONFIG.SYS.

Using the JCHAIN's "?" command you can also group together similar
CONFIG.SYS commands into additional CONFIG.SYS files and then execute
them with a single conditional statement. The last feature represents
a powerful method of organization of multiple configurations under
MS/PC-DOS 3..5. It may also be used as an addition or alternative to
the MS/PC-DOS 6's [menu] statements in CONFIG.SYS file.


The following sequence of statements includes a command for JCHAIN
utility to look for the CONFIG.SYS file on drive D: when the operating
system reaches the DEVICE=C:\JAM\JCHAIN.SYS ... line during execution.
If a CONFIG.SYS file exists on drive D:, that file will be executed
rather than the one containing the statement for JCHAIN utility. If
CONFIG.SYS does not exist on drive D:, the original CONFIG.SYS
continues to execute.


7.2. The JPROTECT utility

The detailed documentation on JPROTECT utility is arranged now as a
separate file JPROTECT.DOC.

8. Technical support

We hope that your use of the JAM will be enjoyable and trouble-free.
It is our intention to provide the best possible product and documentation.
We understand that problems may arise, and in most cases you will be able
to resolve any problems you may have by referring to the documentation.
Answers to questions you might have will usually be found within pages of
the JAM User's Guide.

If you find that you need technical support you can send your requests

JAM Software
George A. Reznik Internet: [email protected] (the best way)
Vasilkovskaya str.8, apt.139 [email protected]
252040 Kiev, UKRAINE

Voice: +7(044) 266-6547 Monday through Friday,
6 pm to 10pm Kiev Time (+7 hours GMT)
FAX: +7(044) 266-4091 Monday through Friday,
9 am to 5 pm Kiev Time (+7 hours GMT)
BBS: +7(044) 266-6547 without weekends
11pm to 7 am Kiev Time (+7 hours GMT).

We will be happy to help you with problems and answer your questions.
We would also like to hear any suggestions you have for how the JAM
can be improved.

 December 6, 2017  Add comments

Leave a Reply