README.DOC 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 releases: * 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 drive. * 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.EXE \ JMW.HLP | JMW (JMount for Windows) CTL3DV2.DLL | utility files JMOUNT.PIF / 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: ftp: oak.oakland.edu:/SimTel/msdos/diskutils/dog316.zip. 3. Copy the JAM files (see above) on your hard disk. DO NOT compress files JMOUNT.COM, JCREATE.COM and JSWAP.COM by 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 documentation. 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: DEVICE=\JAM.SYS 4.2. add a new line below: DEVICE=\JMOUNT.COM where: - 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 5. Run JMOUNT 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 NOTES: 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: QEMM: 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 like: DEVICE=\JMOUNT.COM DEVICE=\JCREATE.COM or (in case of DR-DOS or Novell DOS 7) INSTALL=\JMOUNT.COM INSTALL=\JCREATE.COM 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. 386MAX: 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. RAMBOOST: 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: [pif.advice] ; jam pseudo-drivers: jmount.com=low, locked jcreate.com=low, locked jswap.com=low, 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 JPROTECT.DOC. 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 result they can work ONLY WITH STANDARD DOS DEVICE DRIVERS. 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 file. 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: ftp: oak.oakland.edu:/SimTel/msdos/diskutils/dog316.zip. 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 drives. 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 TWICE: 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 driver: ,--------------------. 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 CONFIG.SYS file. 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. Syntax DEVICE=[d2:][\][path2\] JCHAIN.SYS [? ["message_string"]] [d:][\][path\]filename [/Q] Parameters ? ["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. [d:][\][path\] 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. filename Specifies the name of the configuration file to transfer control to. [d2:][\][path2\] Specifies the location of the JCHAIN.SYS file. Switches /Q Quiet mode (does not display copyright information). Notes 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: DEVICE=C:\JAM.SYS DEVICE=C:\JMOUNT.COM C:\SYSTEM.JAM DEVICE=C:\JSWAP.COM C: D: DEVICE=D:\JCHAIN.SYS C:\CONFIG.SYS 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. Example 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. DOS=HIGH COUNTRY=44,,C:\DOS\COUNTRY.SYS DEVICE=C:\JAM\JCHAIN.SYS D:\CONFIG.SYS 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 to: JAM Software George A. Reznik Internet: gar@UA.NET (the best way) Vasilkovskaya str.8, apt.139 gar@jam.kiev.ua 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.