** ************* ********* (tm) ** ** ** ** ** The ** ****** ** ** ** ** ** ** ** ** ** ** ** ***** **** ** *** *** Real-Time Data Compression Utilities Version 1.20 for IBM/PC/XT/AT, PS/1, PS/2 and compatibles ================================================ Copyright (c) JAM Software, 1992-1994. All Rights Reserved. JAM 1.20 User's Guide Page 1 ------------------------------------------------------------------------ Copyright (c) JAM Software, 1992-1994. All rights reserved. Disclaimer JAM Software disclaims all warranties as to this software or documentation, whether express or implied, including without limitation any implied warranties of merchantability, fitness for a particular purpose, functionality, data integrity or protection. Trademarks JAM and 'The JAM Real-Time Data Compression Utilities' are trademarks of JAM Software. IBM/PC/XT/AT, PS/1, PS/2, PC-DOS and IBM-DOS are trademarks of International Business Machines Corp. MS-DOS, Windows, Windows-NT are trademarks of Microsoft Corporation. DR-DOS is a trademark of Digital Research Inc. Novell DOS is a trademark of Novell, Inc. Trademarks of other companies mentioned in this documentation appear for identification purposes only and are the property of their respective companies. JAM 1.20 User's Guide Page 2 ------------------------------------------------------------------------ Table of Contents ===================== How to Use This Guide . . . . . . . . . . . . . . . . . . . . . . 4 Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . 7 1.1. What is the JAM? . . . . . . . . . . . . . . . . . . . . 7 1.2. Basic concepts of the JAM . . . . . . . . . . . . . . . 9 Chapter 2. Getting Started With the JAM . . . . . . . . . . . . 11 2.1. Before you begin . . . . . . . . . . . . . . . . . . . . 11 2.2. Installing the JAM on your hard disk . . . . . . . . . . 11 2.3. Creating JAM Archive File . . . . . . . . . . . . . . . 13 2.4. Installing the JAM device driver . . . . . . . . . . . . 14 Chapter 3. Using the JAM . . . . . . . . . . . . . . . . . . . 15 3.1. General . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2. Viewing the contents of the JAM Drives . . . . . . . . . 16 3.3. Extended JAM Drive statistics and utilization . . . . . 18 3.4. Optimizing JAM Drives . . . . . . . . . . . . . . . . . 19 3.5. Backing up JAM drives . . . . . . . . . . . . . . . . . 20 3.6. UnDelete operation support . . . . . . . . . . . . . . . 22 3.7. Using the JAM with Windows . . . . . . . . . . . . . . . 23 Chapter 4. Command Reference . . . . . . . . . . . . . . . . . 25 4.1. The JCREATE utility . . . . . . . . . . . . . . . . . . 25 4.2. The JAM device driver . . . . . . . . . . . . . . . . . 29 4.3. The JMOUNT utility . . . . . . . . . . . . . . . . . . . 33 4.4. The JDIR utility . . . . . . . . . . . . . . . . . . . . 37 4.5. The JCHKDSK utility . . . . . . . . . . . . . . . . . . 44 4.6. The JMAX utility . . . . . . . . . . . . . . . . . . . . 49 JAM 1.20 User's Guide Page 3 ------------------------------------------------------------------------ 4.7. The JSIZE utility . . . . . . . . . . . . . . . . . . . 51 4.8. The JSWAP utility . . . . . . . . . . . . . . . . . . . 53 4.9. The JCMD utility . . . . . . . . . . . . . . . . . . . 56 Chapter 5. Guidelines for efficient use of the JAM Drives . . . 57 Chapter 6. F.A.Q. (Frequently Asked Questions) . . . . . . . . 60 Appendix A. Glossary . . . . . . . . . . . . . . . . . . . . . 63 Appendix B. JAM messages directory . . . . . . . . . . . . . . 69 Appendix C. JAM technical information . . . . . . . . . . . . 106 C.1. JAM drive structure . . . . . . . . . . . . . . . . . 106 C.2. JAM device driver . . . . . . . . . . . . . . . . . . 110 C.3. JAM Application Interface . . . . . . . . . . . . . . 114 I n d e x . . . . . . . . . . . . . . . . . . . . . . . . . . 118 JAM 1.20 User's Guide Page 4 ------------------------------------------------------------------------ How to Use This Guide =========================== This guide was designed for three different types of users: Average those who are typical, average computer users (including beginners) who would like to know just enough about a product to use its basic function properly Advanced those who have computer experience and who would like to learn how to use the products advanced functions Expert those who consider themselves computer experts and who would like to know everything about a software product Most computer users belong to the Average category. Usually, they use a standard personal computer system equipped with one hard disk, a printer, and productivity software (such as a word-processor or a spreadsheet package). The JAM in its basic and most common configuration was designed with the typical needs of the average user in mind. There is no need to read the entire manual to understand the principles of the product, to install it, or to use it almost immediately. The minimum you need to read to get started is Chapter 2 - Getting Started With the JAM. An overview of the guide's contents is presented on the following pages. JAM 1.20 User's Guide Page 5 ------------------------------------------------------------------------ Chapter 1 - Introduction In this chapter you will find a brief introduction to the features, benefits, and basic concepts of the JAM package. No prior knowledge or experience is required to understand this chapter, though the user should have a basic understanding of DOS (either PC-DOS, MS-DOS, DR-DOS, or Novell-DOS). For more information regarding the DOS, refer to your Operating System User's Guide. Intended readers: All JAM users. Chapter 2 - Getting Started With the JAM By following a few simple installation instructions as presented in this chapter, you will be able to create your first JAM drive and have it ready for use in less than five minutes. Intended readers: All JAM users. Chapter 3 - Using the JAM This chapter summarizes all that you need to know for the day-to-day operation of the JAM. The chapter informs you how to obtain detailed information about the contents of the JAM drive, and how to verify and optimize it. Intended readers: All JAM users. Chapter 4 - Command Reference This chapter consists of detailed information about components of the JAM package. For each program you will find full command-line syntax, notes regarding its advanced features, and examples on its usage. Intended readers: Advanced and Expert Users. Chapter 5 - Guidelines for efficient use of the JAM Drives In this chapter you will find practical guidelines and useful hints for efficient use of the JAM drives with your application software. Intended readers: Advanced and Expert Users. JAM 1.20 User's Guide Page 6 ------------------------------------------------------------------------ Chapter 6 - F.A.Q. (Frequently Asked Questions) This chapter consists of some frequently asked questions concerning the JAM package and the answers. Intended readers: All JAM users. Appendix A - Glossary This appendix defines many of the key terms used throughout the manual and outlines the principles and differences between the various types of disk drives, and file organization under DOS and JAM. It is highly recommended even for average users to read this appendix and become more familiar with these principles and terms. After reading this section, you will have a better understanding of what the software does and how to use it more effectively. Intended readers: All JAM users. Appendix B - JAM messages directory This appendix provides a listing and explanation of ALL messages that may be displayed by the JAM utilities. This section can help you pinpoint a problem in a error situation, and can serve as a convenient primary source for trouble-shooting and error recovery. Appendix C - JAM technical information This appendix provides an explanation about some technical aspects of the JAM. While mainly general information is supplied, several hints are included that may also help the more advanced users in non-standard activities (e.g. use of external utility programs with the JAM drives, etc.). Intended readers: Expert Users. JAM 1.20 User's Guide Page 7 ------------------------------------------------------------------------ Chapter 1. Introduction ============================= 1.1. What is the JAM? JAM is a transparent hard disk compressor, which enlarges your disk space. With the JAM you will forget about annoying messages like 'Insufficient disk space...' with no need to purchase a new hard disk. JAM includes: * a fast and powerful disk driver, which 'squeezes' your data before writing it to disk and extracts them while reading * a set of utilities (including the troubleshooting one) making your work with the compressed disk pleasant and safe Why use the JAM? You will like the JAM because it provides: * a high speed of data compression and extraction, even higher than that your hard disk has now. You don't have to sacrifice the performance of your computer to the new disk size! * an approximately 2.5 (two and half) - time (!) increase of your disk space. You can even enhance this ratio, having optimized your compressed disk using the JMAX utility * a minimal RAM space required for the JAM-driver (24K or 32K bytes) * a possibility to load the JAM-driver into high memory * a full usage of the resources of the Intel 80386/486 and Pentium processors, working fast enough even on the Intel 80186 * a full compatibility with the software you use, such as Norton Utilities, PCTOOLS, DOS-based LANs, etc. You should not keep in mind that the JAM is working on your computer * a set of the JAM - specific disk utilities, including disk optimizer JMAX, volume resize utility JSIZE, the disk information program JDIR, and a 'doctor' of your compressed disk JCHKDSK * and many other advantages ... JAM 1.20 User's Guide Page 8 ------------------------------------------------------------------------ Speed of the JAM As a rule, the real-time disk compressors impair considerably the overall computer performance. But the JAM doesn't! It uses an effective algorithm of compression and extraction, which allows you to enlarge your disk space without any major slowdown of your system. The built-in reliable cache system provides high performance and full safety for your data. As a result, the write speed for the JAM-compressed disk is only slightly lower than the intrinsic hard disk speed, while the read speed is higher than that of your hard disk. The compression ratio The JAM incorporates several effective algorithms making it possible to achieve at least 2:1 compression. Having optimized your compressed disk by the JMAX utility, you can attain the ratio of 3.0 - 5.0. The JDIR program will inform you on how well the data is compressed. The compatibility of the JAM with other disk utilities The JAM is fully compatible with any well-known disk utility. You can use any program from the Norton Utilities, Mace Utilities, PCTOOLS (to say nothing about standard DOS disk utilities) without any harm to the data on your compressed disk. The JAM will not conflict even with the undelete features like the EraseProtect and UnErase. How much RAM space does the JAM-driver need? Minimum! 32K bytes if you use the 8K clusters, or just 24K bytes if you prefer to use JAM drives with 4K cluster size. Moreover, you can load the JAM-driver into high memory, thus, free some room in conventional memory used by DOS. System requirements * an IBM PC/XT/AT, PS/1, PS/2, or compatible computer with an Intel 80188/186+ or NEC V20/30 processor * PC-DOS/MS-DOS 3.30 - 7.0, DR-DOS 6.0, or Novell DOS 7 * and - of course - a hard disk! JAM 1.20 User's Guide Page 9 ------------------------------------------------------------------------ 1.2. Basic concepts of the JAM Using the JAM, it is possible to compress either the whole disk or a part of it. In both cases the compressed information is presented as a file called the JAM Archive File. The file can have any name with the ".JAM" extension and attributes making it inaccessible to modification. Only the JAM driver will work with JAM archives. The JAM driver is loaded while the system initialization and is presented as one or more Logical Drives, each of them being assigned to an Archive File represents data on it as a standard DOS Disk Drive. The amount of space on existing hard disk (called the Host Drive) which is occupied by the JAM Archive is called the Physical Capacity of the JAM drive. Physical capacity is, on average, only 40% (1 : 2.5) of the JAM Drive size reported by DOS. This value (called Logical Capacity of the JAM drive) means the largest quantity of data which may be stored on a Logical Drive. ,---------------------------. : JAM Device Driver : :---------------------------: DOS Hard Disk Drives: : JAM Logical Drives: : +----+ +----+ +----+ : +----+ +----+ +----+ : | C: | | D: | ... | I: | /---->| J: | | K: | | L: | ... : +----+ +----+ +----+ | : +----+ +----+ +----+ : || | `----||---------------------' __\/_____________________ | __\/____________________ +------------------------.| | +-----------------------.| | Hard Disk Drive C: || | | JAM Logical Drive J: || |------------------------|| | |-----------------------|| |... || | | Drive size = Log.cap. || |datafile1 || | | = 2.5 * Phys.cap. || |datafile2 || | |-----------------------|| |... || | |... || |DISK1.JAM JAM Archive >-----/ |bigdatafile1 || | (Compressed Data) || |bigdatafile2 || | File size = Phys.cap. || |... || |... || |... || +------------------------+ +-----------------------+ For example, if you create on your Host Drive (say, drive C:) a JAM Archive file (say, file DISK1.JAM) with a size of 40M bytes, you will have a JAM drive (say, drive J:) with a Logical Capacity of 100M bytes. JAM 1.20 User's Guide Page 10 ------------------------------------------------------------------------ Nevertheless, the REAL amount of the data that can be stored on a JAM Drive (called Actual JAM Drive Capacity) directly relates to Average Compression Ratio achieved on it and Physical Capacity of the JAM Drive. To provide you with the most likely amount of Actual Space Available on a JAM Drive at any given moment, the JAM driver reports to application programs its own Free Space estimate. This value (called Projected Free Space) is based on current Average Compression Ratio and both Physical and Logical Free Space available on a JAM Drive. So, for example, the DOS DIR command being run on a JAM drive will always tell you Projected Free Space. To get extended JAM Drive statistics, including both Logical and Physical parameters you may use JCHKDSK utility. Further detailed considerations regarding JAM Drives statistics and utilization are presented in Chapter 3. Using the JAM. JAM 1.20 User's Guide Page 11 ------------------------------------------------------------------------ Chapter 2. Getting Started With the JAM ============================================= 2.1. Before you begin Before you begin the installation and use of the JAM, you must check that the following system requirements are met: * an IBM PC/XT/AT, PS/1, PS/2, or compatible computer with an Intel 80188/186+ or NEC V20/30 processor * PC-DOS/MS-DOS 3.30 - 7.0, DR-DOS 6.0, or Novell DOS 7 * and at least one hard disk. Note: It is highly recommended to run a Disk Defragmentation utility on your hard disk system (e.g. Gazelle Systems' OPTune, Golden Bow's VOPT, Central Point Software's COMPRESS, Norton Utilities' SPEEDISK (MS-DOS 6.0+ DEFRAG) and alike) BEFORE installing the JAM, as it may greatly improve system performance. 2.2. Installing the JAM on your hard disk Your computer should be turned on and at the DOS prompt. If your computer normally runs a program automatically when you turn it on, you will need to exit from this program. You should have a prompt on your screen similar to: C:\> Insert the diskette containing the original JAM distribution in your floppy drive, either A: or B:. Next, create a subdirectory for JAM on your hard drive. To do so type: C:\>MD JAM Then change to this subdirectory. C:\>CD JAM C:\JAM> Now enter the name of the self-extracting archive file on your JAM disk, include the drive letter as part of the name. C:\JAM>A:JAM120 Note that the name of the self-extractor used throughout this manual (JAM120.EXE) may vary but will follow the pattern of JAM###.EXE where ### represents the version number of the software. JAM 1.20 User's Guide Page 12 ------------------------------------------------------------------------ The contents of this file will now extract into the JAM subdirectory. The A: and C: drives in the above command are only for example, and may be replaced with other drive letters as appropriate to your particular setup. If you use Windows, you should move two files supplied with JAM package to Windows system directories. For example, if Windows is installed on drive C: you should type the following commmands: COPY JMOUNT.PIF C:\WINDOWS DEL JMOUNT.PIF COPY CTL3DV2.DLL C:\WINDOWS\SYSTEM DEL CTL3DV2.DLL Next, you should modify your AUTOEXEC.BAT file. You can edit this file with any editor that can load and save DOS TEXT or plain ASCII files (For example, "edit" in DOS 5.0, Windows Write, or any word processor with a DOS TEXT editing ability). If you have DOS 5.0 type: C:\>EDIT AUTOEXEC.BAT Look for a line in the file that says something similar to: PATH=C:\;C:\DOS;(etc...) Go to the end of this line and add a semicolon if one is not already there, and the drive and path to the JAM that you just created. For example "...;C:\JAM" The line will now look like this: PATH=C:\;C:\DOS;C:\JAM You will most likely have additional items between the C:\DOS; and C:\JAM. Save the file and exit. You will have to re-boot your computer so that the changes take effect. After you reboot type "path" at the command line and press [ENTER]. Your machine will show the path. Make sure that the subdirectory you placed the JAM files in is shown in the path. JAM 1.20 User's Guide Page 13 ------------------------------------------------------------------------ 2.3. Creating JAM Archive File Now, you should find an appropriate Host Drive. This is the physical drive on which you will create the JAM Archive File (You may refer to Appendix A in this manual to get familiar with the JAM terminology). Then look how much free space has your Host Drive (say, drive D:), using, for example the DOS's DIR command: C:\>DIR D: and determine amount of it you want to compress (in an example below we will allocate 1000K bytes for the JAM Archive File). Please note, that amount of space you can define as a JAM Archive should not be less than 72K bytes and not greater than 512M bytes. Finally, you should assign the name for new JAM File to create (say, FIRST) and type: C:\>JCREATE D:FIRST /A /S=1000 When this program finishes work it gives a display similar to this: JCREATE 1.20 Copyright (c) JAM Software, 1992-1994. All rights reserved. JAM file: D:\FIRST.JAM 512 bytes in boot sector + 1536 bytes in JAM descriptor table + 512 bytes in file allocation table(s) + 8192 bytes in root directory + 2531328 logical / 1012224 physical bytes available for files --------------------------------------------------------------- 2542080 logical / 1022976 physical bytes total on archive 40.0% (2.5 / 1.0) anticipated compression ratio You may now verify that new JAM Archive is created. Type: C:\>JDIR D:FIRST /A /Q at the DOS command prompt. After you press [ENTER] you should see a screen like: Volume in drive D: has no label Directory of D:\ FIRST JAM 1022976 04-01-94 8:00p 1 File(s) 1022976 bytes 3956736 bytes free JAM 1.20 User's Guide Page 14 ------------------------------------------------------------------------ 2.4. Installing the JAM device driver Next, you should modify your CONFIG.SYS file. Here you also can edit this file with any text editor. If you have DOS 5.0 type: C:\>EDIT CONFIG.SYS and insert two lines at the top of file: DEVICE=C:\JAM\JAM.SYS DEVICE=C:\JAM\JMOUNT.COM D:\FIRST Note, that the C:\JAM directory and D:\FIRST JAM Archive File name in the lines above are only for example, and may be replaced with other names as appropriate to your particular setup. If you use Windows, you should now modify your SYSTEM.INI file. Type: C:\>EDIT C:\WINDOWS\SYSTEM.INI and add the following command to the [386Enh] section: ReflectDOSInt2A=TRUE Save the file and exit. In order to start using the JAM Drive you have just created, you will have to re-boot your computer at this time. YOUR FIRST JAM DRIVE IS READY FOR IMMEDIATE USE. GOOD LUCK! JAM 1.20 User's Guide Page 15 ------------------------------------------------------------------------ Chapter 3. Using the JAM =============================== 3.1. General From the user's point of view, the JAM drive may be regarded as a standard DOS drive operating like any other drive in the system. You may use any DOS command such as COPY, DEL, or DIR with it, use it as a file directory for your word-processing or spreadsheet software, store archive and historical information in it to save space, or even store program files (those with the .EXE or .COM extension) and run them from the JAM Logical Drive. You may use your applications with the JAM drive without any alterations, just as with a standard drive. The JAM software operates behind the scenes in a completely transparent manner. As far as you are concerned, the information is stored and retrieved from the JAM drive as if it was a standard disk drive, without any external interventions, except for one significant difference: the information stored on the JAM drive takes up on average 40% of the space the same information would occupy on a standard DOS disk drive. JAM 1.20 User's Guide Page 16 ------------------------------------------------------------------------ 3.2. Viewing the contents of the JAM Drives You may use the DOS DIR command to view the contents of the JAM Drives. However, in some cases, you may also need to know how well the files on the JAM drive are compressed (or in other words -- how much physical space they use). To obtain accurate information regarding the JAM Drive contents and status (which cannot be obtained from DOS or any other external utility), you must use the JAM JDIR command. The syntax of the JDIR (see Chapter 4 - Command Reference for details) is almost the same as DOS DIR command, except for /C switch -- allowing you to show the files' and average Compression Ratio on the JAM Drive. For example, the command: JDIR J:\WINDOWS\*.DLL /C will produce the screen like: JDIR 1.20 Copyright (C) JAM Software, 1992-1994. All rights reserved. Volume in drive J: is WINDOWS Directory of J:\WINDOWS CARDS DLL 148528 09-13-91 4:30p 26.64% MGRLIB DLL 29712 06-01-92 3:50p 43.75% MORICONS DLL 118864 03-10-92 3:10a 29.17% PBRUSH DLL 6766 03-10-92 3:10a 62.50% RECORDER DLL 10414 03-10-92 3:10a 46.88% WEPUTIL DLL 19200 09-13-91 4:30p 39.58% 31.68% average compression ratio 6 File(s) 333484 bytes 1238450 bytes free The Compression Ratio is calculated based on the Logical and Physical space occupied by file (or by group of files): Physical Bytes Allocated Compression Ratio = 100 * ---------------------------- Logical Bytes Allocated (Refer to Appendix A in this manual to get familiar with DOS and JAM file organization). JAM 1.20 User's Guide Page 17 ------------------------------------------------------------------------ Thus file MORICONS.DLL (on example above) on Logical level occupies 15 8K bytes' clusters (i.e. 15 * 8K = 120K = 116K(file size) + 4K(slack)), but its Physical (compressed) size is only: Compression Ratio * Logical Size 29.17 * 120K ------------------------------------ = -------------- = 35K. 100 100 Note, that the JDIR calculates and reports summary information only for the files which were specified in the search criteria (in the example above we have used *.DLL file specification). To determine the Overall Compression Ratio of a JAM Drive, type: JDIR J:\*.* /S (switch /S makes files in all subdirectories included in the listing). JAM 1.20 User's Guide Page 18 ------------------------------------------------------------------------ 3.3. Extended JAM Drive statistics and utilization The JCHKDSK utility program verifies the integrity of the JAM Drive, and provides you with statistical information regarding the overall disk usage, utilization, Compression Ratio, and the Logical, Physical and Projected Free Space currently available. JCHKDSK displays a status report similar to the following example: Volume in drive D: is WINDOWS Volume Serial Number is 11D1-223F JAM logical drive D: JAM file: C:\JAM\MNT\WINDOWS.JAM 150142976 bytes total disk space 60057088 bytes total archive space 81920 bytes in 2 hidden files 59392 bytes in 2 hidden files 1654784 bytes in 202 directories 1654784 bytes in 202 directories 113655808 bytes in 2824 user files 53265920 bytes in 2824 user files 34750464 bytes available on disk 5078016 bytes free on archive 47.65% average compression ratio (2.1:1) 7577600 bytes projected free space 655360 bytes total memory 400592 bytes available memory The data on the left half of the screen shows the JAM Logical Drive usage, the data on the right side -- JAM Archive File information (Physical space usage). The Projected Free Space is calculated based on the Physical Total Space, Logical and Physical Free Space reported. The recalculation formulae is: Projected Free Space = Log.Free Space * Xi + Phys.Free Space * (1 - Xi), Physical Free Space where: Xi = -------------------------- Physical Total Space is the Physical Space Usage Ratio. When archive is empty, Xi is equal 1 and Projected Free Space is equal to Logical Free Space. Otherwise, when archive is almost full, Xi comes to 0, and Projected Free Space will be near to Physical Free Space. The JAM driver also calculates the Projected Free Space and uses it to replace the Logical Free Space value reported by DOS. Thus, almost all application programs (for example Windows File Manager, XTreeGold, Norton Commander, or standard DOS DIR command) will always display recalculated number of bytes available on JAM drives, providing you with the most likely amount of space you will use. JAM 1.20 User's Guide Page 19 ------------------------------------------------------------------------ 3.4. Optimizing JAM Drives Like for a standard DOS drive, extended reading and writing of a JAM compressed drive may cause diminished performance due to scattering of the data throughout the disk. To eliminate this problem on a standard disk drive you may run a standard DISK DEFRAGMENTATION UTILITY (e.g Central Point Software's COMPRESS, Norton Utilities' SPEEDISK (MS-DOS 6.0+ DEFRAG) and alike). Although having run standard defragmentation utility on a JAM drive, you will probably NOT improve your system's performance (*). To perform proper (and completely safe) optimization of the JAM compressed drive, you should run a JMAX utility, which comes with the JAM package. This utility provides several types of disk optimizations, including ReCompression, and Defragmentation of data on the JAM File. ReCompress - packs JAM compressed files tigther to give you up to 40% (!) more available space on your compressed drive. In addition, this optimization can significantly increase speed of the data extraction, and as a result, your disk will work up to 10-20% faster (!). Defragment - places all data of the files in consecutive sectors on the disk. For example, to optimize JAM drive J, you would type the following at the command prompt: JMAX J: To optimize the current drive, type the following command: JMAX Note that JMAX utility is quite smart - it would not do its job for a second time. So, you can recompress your JAM drive on weekly or even daily basis, not worrying about long time it takes to execute - if you have changed only one file on your JAM disk, JMAX would recompress only this file. ---------- (*) The point is that data organization on the JAM Archive File is NOT the same as on the JAM Logical Drive (see Appendix C for details), and to write data on the JAM drive, JAM.SYS uses own (specific for variable- length blocks) allocation algorithm. In other words, when standard defragmenter calls the JAM driver to write some data to a certain location on the Logical Drive, JAM.SYS will compress and write it to the first appropriate block of currently available (unallocated) sectors on the Archive File. As a result, we will have a JAM Drive with well orga- nized logical structure, and highly fragmented data on physical level. Moreover, when the JAM archive file is almost full, such defragmenters may actually DAMAGE the compressed data (most of them simply cannot handle device errors correctly -- they may modify the FAT and directory information, even if file's data(clusters) have not been written). JAM 1.20 User's Guide Page 20 ------------------------------------------------------------------------ 3.5. Backing up JAM drives Since the JAM drive appears to DOS as a standard disk drive, you can use standard backup utilities such as the DOS BACKUP command, the FASTBACK program, or similar backup programs, all of which perform the backup on a file-by-file basis. All you need do is specify the drive letter for the JAM drive as a source drive. With the JAM, you can perform a super-fast backup on your entire JAM drive. It should be clarified that the JAM drive is actually a DOS file that resides on the Host drive, though it may not be displayed by standard DOS commands such as DIR (in case if this file is actually a hidden file). This file (representing the JAM drive) contains all of your compressed files and may be backed up using your standard backup procedure, through which you will realize two additional benefits: * The overall backup time is significantly reduced (backing up one big file is much faster than backing up many small files) * The space required for the backup is reduced to a minimum since the files are compressed. On average, you will need one-half the number of diskettes or other backup media when using JAM than you would otherwise require. Furthermore, the size of the JAM drive can be reduced to its absolute minimum by using the "-" (shrink) option in the JSIZE utility program before starting the backup procedure, thus eliminating the backup of unused space in the JAM archive. Use the JMOUNT utility to obtain the DOS file name of the archive attached to the JAM drive, and to unmount it. Then use the JSIZE utility to shrink the size of archive, and finally -- use your usual backup utilities to backup this file. For example, if you want to backup your JAM drive E:, JMOUNT will display a name such as: JAM drive E: --> C:\WINDOWS.JAM Run JMOUNT /D E: to unmount this file, and run JSIZE C:\WINDOWS.JAM - to reduce the size of archive C:\WINDOWS.JAM to its absolute minimum (you can restore its size later using "+" (extend) option of JSIZE). Then use your usual backup utility -- for example, DOS BACKUP command -- as follows: BACKUP C:\WINDOWS.JAM A: JAM 1.20 User's Guide Page 21 ------------------------------------------------------------------------ Later, to restore the JAM archive, enter: JMOUNT /D E: C: CD \ RESTORE A: C:\WINDOWS.JAM JMOUNT C:\WINDOWS.JAM E: Note: Instead of using JMOUNT, you may run Windows-based JMW utility (see section 3.7 for details). JAM 1.20 User's Guide Page 22 ------------------------------------------------------------------------ 3.6. UnDelete operation support 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. For each logical drive, the JAM driver maintains a special [DirectWrite] flag which is essential for proper UnDelete utilities operation (specifically, being set to ON it enables Direct Write operations, used by certain low-level disk programs, including UnDelete utility). By default, this flag is set to OFF, and this should be normal setting. This flag should be set to ON before attempting to UnDelete files on the JAM drive, then it should be reset to OFF. To show and modify current status of the [DirectWrite] flag for some specified JAM drive (say, drive J:), you should use the JMOUNT utility. Before using the UnDelete utilities, issue the following command: JMOUNT J: /W+D Now you can perform the UnDelete activities as desired. After these activities are completed, issue the following command: JMOUNT J: /W-D Executing JMOUNT without any parameters will report the JAM drives list including current [DirectWrite] flag status. Further detailed considerations regarding the JMOUNT utility, special UnDelete-compatible mode, and other JAM drive flags are presented in Section 4.3 "The JMOUNT Utility". Note: Instead of using JMOUNT, you may run Windows-based JMW utility (see section 3.7 for details). JAM 1.20 User's Guide Page 23 ------------------------------------------------------------------------ 3.7. Using the JAM with Windows The JMW utility is a companion application to the JAM device driver. It provides you with information about existing JAM drives, and allows you to alter the access mode of each JAM drive. Through JMW you can easily change the state of your JAM drives without the necessity to switch to the DOS box and specify list of parameters for JMOUNT utility. Note: Current version of JMW works just as a front-end for JMOUNT, which means that the JMOUNT.PIF file must be in Windows directory and must contain true path to the JMOUNT.COM program for JMW to work. When run, JMW will display a dialog window containing a list of all existing JAM drives, information about selected drive (including logical capacity and amount of projected free space, current drive setting, the name of JAM file attached to the drive), and the set of buttons which are used to control JMW. Mounting a JAM archive with JMW To mount a JAM archive on selected drive, you may either click on the "JAM Archive File" box and specify the name of file to mount, or click on the "Find" button to activate file search dialog to find the JAM archive file. Once the file name is specified you should click the "Mount" button. JMW will automatically execute JMOUNT to perform the connection. Unmounting a JAM drive with JMW To unmount a JAM drive, select the drive in drive list box, and then click on the "Unmount" button. Once the drive will be unmounted, the name of archive in "JAM Archive file" box will be replaced by the string "not attached". Setting access mode of a JAM drive with JMW To change the access mode of a JAM drive, select the drive in drive list box, and click corresponding checkbox in "Access mode" section. There are two main possible settings: Read-Only and Read-Write mode. If you choose Read-Write mode you can also specify the following options: - Direct Write -- allows you to run low-level utilities on JAM drives; for instance you will need to switch this mode to perform Undelete activities JAM 1.20 User's Guide Page 24 ------------------------------------------------------------------------ - Write caching -- if write caching is enabled, JAM will delay writes to the disk to avoid extra I/O and compression operations; this can dramatically improve performance when writing to the disk - Zero compression -- disables on-the-fly compression; sometimes this can improve system performance when some large packages are running - Undelete support -- switches the JAM drive in Undelete-compatible mode; this makes chances to undelete your compressed files better, but requires extra disk space to temporary store them. Then you will have to click "Reset" button so that the changes take effect. JAM 1.20 User's Guide Page 25 ------------------------------------------------------------------------ Chapter 4. Command Reference ================================== This chapter consists of summary information about the JAM device driver and the other JAM utilities. For each program, full command-line syntax, notes regarding some advanced features, and examples on usage are provided. For full list of error messages, see Appendix B. 4.1. The JCREATE utility ---------------------------- Creates an empty JAM Archive file by using free space on an uncompres- sed drive. Being mounted as a JAM drive, Archive File will provide more storage capacity than the amount of space it uses. Syntax JCREATE [drive:][\][path\]filename[.ext] [/A[:][attributes]] [/S=size] [/R=ratio] [/C=clustsiz] [/F=fats] [/D=dirsiz] [/V[label]] [/X] [/Q] or DEVICE=[drive2:][\][path2\]JCREATE.COM [drive:][\][path\]filename[.ext] [/A[:][attributes]] [/S=size] [/R=ratio] [/C=clustsiz] [/F=fats] [/D=dirsiz] [/V[label]] [/X] [/Q] Parameters [drive:][\][path\] Full or relative path of the file to create. This is optional part of the name of file to create. If you omit it, JCREATE uses current DOS drive/directory to create file. In any case drive that contains the space you want to use to create new drive SHOULD BE UNCOMPRESSED. filename[.ext] Specifies the name of the JAM file to create. If you omit the filename extension, JCREATE uses ".JAM". [drive2:][\][path2\] Specifies the location of the JCREATE.COM file. JAM 1.20 User's Guide Page 26 ------------------------------------------------------------------------ Switches /A[:][attributes] Specifies attributes to be assigned to the new JAM Archive file. If you omit this switch, JCREATE clears all file attributes except for read-only flag. If you use this switch without specifying attributes, JCREATE sets system, hidden and read-only flags to prevent Archive File removing, modification and physical reallocation by disk-optimizing programs. The following list describes each of the values you can use for attributes. The colon (:) is optional. Use any combination of these values, and do not separate the values with spaces. +H or H Makes file hidden (unmovable during disk optimization) -H Makes file visible +S or S Makes a system file -S Removes system flag +A or A Make file ready for archiving (backup) -A Prohibits file archiving +R or R Makes file read-only -R Makes file accessible for modifications /S=size Amount of space in K-bytes (72 <= size <= 524288) to allocate for the JAM Archive File. If you omit this switch, JCREATE uses all available space on drive for the file. /R=ratio Sets maximum logical size of the JAM Archive by specifying an anticipated compression ratio (percentage of compressed size / original size): ratio = 100 % -> 1.0:1 (zero compression), ... , ratio = 40 % -> 2.5:1 (default value for compression ratio), ... , ratio = 10 % ->10.0:1 (maximum compression). /C=clustsiz Sets cluster size, in K-bytes, for the JAM Archive File. Using this switch you may specify either 4K or 8K (default value) clusters. JAM 1.20 User's Guide Page 27 ------------------------------------------------------------------------ /F=fats Sets the number of FAT (DOS File Allocation Table) copies. If you omit this switch JCREATE initializes one File Allocation Table on new JAM Archive File. If your system does not work with disk drives having only one FAT, you need to set this parameter to 2. /D=dirsiz Sets the maximum number of root directory entries. Values supported are: 64, 128, 256, or 512. If you omit this switch JCREATE initializes 256 entries in root directory. /V[label] Specifies the JAM-drive volume label. If you use this switch without specifying name to be assigned to volume label, JCREATE doesn't create label on new JAM Archive. If you omit this switch, JCREATE uses filename string to make volume label. /X[=maxsize] Creates an extendable JAM archive (i.e. archive file, which size can be extended by the JSIZE utility). The maxsize parameter specifies maximum possible size (in K-bytes) of the JAM archive file. If not specified, all host drive capacity is used. /Q Quiet mode (does not display copyright and status information). Notes Before you run JCREATE ... It is strongly recommended TO TEST AND DEFRAGMENT your disk BEFORE you create any archive file. By doing so you will avoid numerous possible problems, and ensure maximum performance of compressed drive you will create. JAM Archive File attributes Using JCREATE with /A switch will also protect your new Archive file from occasionally removing, modification and physical reallocation. Do not use DISK DEFRAGMENTATION UTILITIES (e.g Central Point Software's COMPRESS, Norton Utilities' SPEEDISK (MS-DOS 6.0+ DEFRAG) and alike) when you have mounted JAM Archive files which do not have HIDDEN and/or SYSTEM attribute set. Doing so can result in relocating compressed JAM volumes without noticing JAM driver, thus causing serious data loss and corruption. Either UNMOUNT JAM Archives prior to disk optimization (see Section 4.3 for details) or give them HIDDEN attribute with JCREATE or DOS ATTRIB program. Archives with 4K and 8K bytes clusters Using JCREATE you may initialize JAM archives with either 4K or 8K clusters. The main advantage of archives with 4K bytes clusters is possibility to load JAM driver with small buffers (see JAM.SYS /C switch). In this case JAM.SYS will need only 24K bytes of memory to work with such archive. Opposite reason is the better compression ratio (usually +5..10%) achieved on drives with 8K bytes clusters. JAM 1.20 User's Guide Page 28 ------------------------------------------------------------------------ Extendable JAM archives Using /X switch it is possible to create a JAM archive which size can be easily extended by JSIZE utility. This feature can be used to perform an incremental compression of hard disk with existing files. I.e. you can 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, and so on. The main disadvantage of extendable archives is extra space which they require to store allocation structures (JDT+FAT). For example, an extendable archive with actual size=500K and maxsize=256M, will use 384K to store JDT+FAT, and just 116K -- for compressed data. Initializing RAM drive for compression Using the JAM it is possible to enlarge size of the RAM-drive on your PC as well as its hard-disk capacity. To do it you should simply create JAM Archive File on your RAM disk and then mount it as a JAM drive. To allow you perform all these steps in the most convenient way, we made file JCREATE.COM both an executable program and a device driver. An example of running JCREATE from CONFIG.SYS file is given below. Examples To create a new JAM Archive file that uses all available space on uncompressed drive E, type the following command: JCREATE E:TEST1 To create a new JAM Archive File by using 10 MB of space on uncompressed drive E, type the following command: JCREATE E:TEST2 /s=10240 To create a new JAM Archive File by using 10M of space on uncompressed drive E, and to direct the JAM driver to recalculate free space on it using anticipated compression ratio 25% (4.0 to 1), type the following command: JCREATE E:TEST3 /s=10240 /r=25 To initialize RAM-drive R: for compression during system start-up, you may add the following line into your CONFIG.SYS file: DEVICE=C:\JAM\JCREATE.COM /Q R:\RAM-DISK.JAM (switch /Q prevents display status messages on your display). JAM 1.20 User's Guide Page 29 ------------------------------------------------------------------------ 4.2. The JAM device driver ------------------------------ The JAM device driver is a utility that provides access to your compressed drives. To initialize it you should add the DEVICE command for JAM.SYS driver to your CONFIG.SYS file. Also you may use DOS's DEVICEHIGH command or special LOADHI (HILOAD) programs (supplied with QEMM or 386MAX packages) to load JAM.SYS to upper memory. Syntax DEVICE=[drive:][\][path\]JAM.SYS [/M=maxmount] [/C=clustsiz] [/A=allocbufs] [/B=clustbufs] [/Q] or DEVICEHIGH=[drive:][\][path\]JAM.SYS [/M=maxmount] [/C=clustsiz] [/A=allocbufs] [/B=clustbufs] [/Q] Parameter [drive:][\][path\] Specifies the location of the JAM.SYS file. Switches /M=maxmount Specifies the number of mountable JAM drives. If you omit this switch, JAM.SYS initializes only one drive, that will be assigned to first available drive letter in DOS drive list. If you need to mount more than one JAM Archive File, you should specify the number of your files next to the /M= switch. JAM.SYS is able to support up to ten drives at the same time. /C=clustsiz Specifies maximum cluster size (in Kbytes) of all JAM files to be mounted. If you omit this switch JAM.SYS will support Archives with either 4K or 8K clusters. If you need to mount JAM Files with only 4K clusters you may set this parameter to 4. This will allow you reduce size of the JAM driver in memory by 8K. More detailed information concerning memory consumption is given below. /A=allocbufs Specifies the number of Allocation Buffers. These buffers JAM.SYS uses to speed-up access to JDTs (JAM drive Descriptor Table) on mounted Archive Files. By default the JAM driver uses one allocation buffer. /B=clustbufs Specifies the number of Data Buffers. JAM.SYS uses these buffers to speed-up access to compressed clusters on mounted Archive Files. If you omit this switch JAM driver will use one buffer for compressible data. /Q Quiet mode (does not display copyright and status information). JAM 1.20 User's Guide Page 30 ------------------------------------------------------------------------ Notes JAM.SYS and JMOUNT.COM Unlike other real-time compressors (e.g. SuperStor or Stacker) the JAM driver DOES NOT MOUNT ARCHIVE FILES AUTOMATICALLY. This means, that any attempts to read from /write to a JAM drive will cause "Device not ready" error (like when you forget to insert diskette in floppy- drive), until you ASSIGN this drive to a JAM Archive file. To perform such assignment you should run JMOUNT utility (either immediately after loading JAM.SYS in CONFIG.SYS file or whenever else). Loading programs from JAM-drives during system start-up If you want to run a program that is placed on the JAM-drive from your CONFIG.SYS or AUTOEXEC.BAT files, you should be sure that JAM.SYS was installed and assigned to corresponding Archive File BEFORE you call your program. Otherwise you will get error messages like "Unrecognized command in CONFIG.SYS" or "Bad command or file name". In any case, you should NOT move system files: * IO.SYS (or IBMBIO.COM in PC-DOS, DR-DOS, or Novell DOS), * MSDOS.SYS (or IBMDOS.COM), * HIMEM.SYS (or HIDOS.SYS), * EMM386.SYS (or any other Expanded Memory Manager that you use), * CONFIG.SYS (and the other system configuration files that you use), and JAM utilities' files: * JAM.SYS and JMOUNT.COM to the JAM drive. JAM.SYS switches and their influence on memory consumption The following table describes JAM.SYS memory usage: -----------------------+--------------+------------------------------- Object | Parameter | Object Size | | clustsiz = 8K clustsiz = 4K -----------------------+--------------+---------------+--------------- Driver itself | ----- | 22.2K | 18.2K Each drive supported | /M=maxmount | 1.2K | 1.2K Each allocation buffer | /A=allocbufs | 0.5K | 0.5K Each cluster buffer | /B=clustbufs | 8K | 4K -----------------------+--------------+---------------+--------------- Total: 14.2K + 1.2K * maxmount + 0.5K * allocbufs + 1K * (clustbufs +1) * clustsiz Using internal cache system To increase compressed drives performance, JAM.SYS uses two sets of disk buffers. The first ones are used to speed-up access to JDTs (JAM Drive Descriptor Table) on mounted Archive Files. Each allocation buffer has 512 bytes (1 sector) of length and may consist of up to 128 clusters' descriptors. It's quite enough to work with drives, whose overall size is less than 10M. But, if your JAM drives have a large capacity, you should enlarge this value. To choose the most suitable to your system number of allocation buffers, use the following table: JAM 1.20 User's Guide Page 31 ------------------------------------------------------------------------ ---------------------+------------------------------------------------ JAM drive capacity | Recommended number of Allocation Buffers | clustsiz = 8K clustsiz = 4K ---------------------+------------------------+----------------------- <= 20M | 4 | 8 <= 40M | 8 | 16 <= 70M | 15 | 30 <= 100M | 25 | 45 >= 200M | you should set /A=2 and use external disk cache ---------------------+------------------------+----------------------- The second set of buffers JAM.SYS uses to speed-up access to compressed data on mounted Archive Files. These buffers contain EXPANDED data of clusters that have been read from or that will be written to the disk. Size of each data buffer is equal to the maximum cluster size supported by the JAM driver and may be 4K or 8K bytes. So, using large number of data buffers, you will take a lot of memory from DOS. We recommend you to choose number of data buffers in range from 1 to 8 in accordance with your speed/memory requirements. Using external disk caches The built-in JAM.SYS cache system provides speed-up only for your compressed drives. Moreover, the JAM driver cache DOES NOT SUPPORT background disk writing, reordering low-level i/o requests, special hard disk read/write modes, and other advanced methods of disk performance improvement that do not guarantee full safety for your data. In other words, the JAM.SYS internal cache system could not completely replace a standard disk cache utility, e.g. SMARTDrive, HyperDisk, Super PC-Kwik (or its OEMs: PC-Cache and Qualitas Qcache), NCACHE2, etc. So, if you have one of these programs running with the JAM, you should release some memory by resetting JAM.SYS's /A and /B switches. The number of allocation buffers (/A switch) should not be larger than number of currently supported JAM drives. The number of data buffers (/B switch) may be 1. 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. To prevent this effect (and to make work with your compressed data more reliable) you should load your disk cache BEFORE JAM.SYS driver, thus leaving only the second way for caching JAM drives. JAM 1.20 User's Guide Page 32 ------------------------------------------------------------------------ In addition, you can get additional speed-up for compressed drives even if you use an external disk cache. The point is that external cache program holds some data from physical disk (you CANNOT run cache program over the JAM logical drives), thus these data ARE COMPRESSED, and to make them visible for application programs JAM.SYS MUST EXPAND them. When you use JAM driver's own disk cache buffers (see discussion of /B switch above), this decompression overhead can be sometimes avoided. Example To install JAM driver that supports 1 logical drive with 8K clusters and uses 1 allocation and 1 data buffers, add to file CONFIG.SYS the following line: DEVICE=C:\JAM\JAM.SYS JAM 1.20 User's Guide Page 33 ------------------------------------------------------------------------ 4.3. The JMOUNT utility --------------------------- Shows JAM drive map, or mounts/unmounts JAM drives. Unlike other real-time compressors (e.g. SuperStor or Stacker) the JAM driver DOES NOT MOUNT ARCHIVE FILES AUTOMATICALLY. To perform a connection between each your JAM Archive Files and JAM drive letters you must run this utility. Thus you can set for each JAM drive its own ACCESS MODE (see section Notes for details). Syntax DEVICE=[drive1:][\][path1\]JMOUNT.COM [/M] [drive2:][\][path2\]filename[.jam] [drive3:] [/W[:][mode] | /R] DEVICE=[drive1:][\][path1\]JMOUNT.COM [/U] drive4: [/W[:][mode] | /R] DEVICE=[drive1:][\][path1\]JMOUNT.COM /D drive5: or JMOUNT [/M] [drive2:][\][path2\]filename[.jam] [drive3:] [/W[:][mode] | /R] JMOUNT [/U] drive4: [/W[:][mode] | /R] JMOUNT /D drive5: Parameters [drive1:][\][path1\] Specifies the location of the JMOUNT.COM file. [drive2:][\][path2\] Full or relative path of the file to mount. This is optional part of the file name. If you omit it, JMOUNT uses current DOS drive/ directory to find file to mount. filename[.ext] Specifies the name of the Archive file you want to mount. If you omit extension, JMOUNT uses ".JAM". drive3: Specifies the drive letter to assign to the newly mounted compressed drive. This switch is optional; if you don't specify a drive letter, JMOUNT assigns the new drive the next available drive letter. drive4: Specifies the drive for which you want to change the ACCESS MODE . drive5: Specifies the drive you want to unmount. JAM 1.20 User's Guide Page 34 ------------------------------------------------------------------------ Switches /M Establishes a connection between a JAM Archive File (filename[.jam] parameter) and a JAM drive letter (drive4: parameter), so that you can use the files the JAM file contains. This switch is optional; if you don't specify either /U, /W, /R or /D switches, JMOUNT performs this action, if 'filename' and 'drive4' parameters are found. /W[:][mode] Allows write/modify data on the newly mounted compressed drive. This switch is optional; if you don't specify /R switch, JMOUNT sets compressed drive to read-write mode with disabled direct write, enabled write-behind caching, and standard allocation strategy (see section NOTES for details). The following list describes each of the values you can use for mode. The colon (:) is optional. Use any combination of the values, and do not separate these values with spaces. +C or C enables write behind caching for the JAM-drive -C disables write-behind caching for the JAM-drive +D or D enables direct write to the JAM drive -D disables direct write to the JAM drive +U or U use fully undelete-compatible allocation strategy on the JAM drive -U use standard allocation strategy on the JAM drive +Z or Z disables compression of data before writing -Z enables compression /R Sets read-only mode for the newly mounted compressed drive. You cannot use this switch in combination with /W[:][mode]. /U Resets access mode for already mounted JAM drive 'drive4:'. This switch is optional; if you don't specify /M or /D commands and either /W, or /R switches are specified, JMOUNT performs this action. You may use this switch to make your JAM drive accessible or inaccessible for writing, to enable or disable write behind caching, or to change its allocation strategy (see section NOTES for details). /D Breaks the connection between the selected drive's compressed Archive File and its drive letter 'drive5:'. Unmounting a drive makes it temporarily unavailable. /Q Quiet mode (does not display copyright and status information). JAM 1.20 User's Guide Page 35 ------------------------------------------------------------------------ Notes Current JAM drive map If you run JMOUNT with no parameters, it displays the current JAM drive map. For each drive letter that refers to the JAM drive, JMOUNT shows its Archive File and access mode (flags: [ReadOnly], [DirectWrite], [NoCache], [StdUndel]). In cases when the JAM drive is unmounted or is engaged by another JAM utility (for example if JMAX is working), JMOUNT displays status 'available' or 'locked' accordingly. Mounting JAM drives Read-Only By using /R switch, it is possible to protect all data on your JAM drive from any modifications. This mode will be useful for drives that contain executable files of some large packages, games, books and other information you need not to modify. Usually such data occupy about 80% and more of hard disk space and we recommend you to store and protect it using the JAM package. Control direct write requests Another level of data protection on the JAM drives is presented by the [DirectWrite] flag. This flag could be set/cleared by the /W[+|-]D switches' combination. When [DirectWrite] flag is cleared (the default setting), the JAM driver blocks all direct requests to write data. These requests (DOS interrupt #26h, and non-DOS JAM driver calls) could be produced only by some low-level disk utilities (e.g. Norton Utilities' DiskEdit, DiskTools, UnErase, etc.). So, if you want to run such an utility on the JAM drive, and COMPLETELY UNDERSTAND WHAT YOU HAVE TO DO, you should remount it to allow direct writing. After these activities are completed, run JMOUNT again to resume [DirectWrite] protection. Using write behind caching The /W[+|-]C combination of switches allows you to control the JAM internal cache system. By the default, the JAM driver uses write behind caching. This means that if JAM driver receives two or more requests to write data into the same group of adjacent sectors, and this area could be covered by JAM.SYS data buffers, then this area will be compressed and physically written only once. To make such optimization completely safe, the JAM driver keeps data in buffers only while DOS writes files, and flushes them when DOS finishes this work (i.e. when you close file). Nevertheless, having run JMOUNT utility with /W-C parameter you will force JAM.SYS write all data on disk immediately. This mode could be useful, for example, for system programmers, when they are debugging their programs, or doing everything else which may hang system in any moment. JAM 1.20 User's Guide Page 36 ------------------------------------------------------------------------ The JAM allocation strategies The JAM driver provides two alternative strategies of managing space in JAM Archive files. The first (default) strategy allows you efficiently use JAM Drive Physical Space, but has some limitations on possibility of successful file UnDelete operations. In other words, we can guarantee, that you will successfully UnDelete file only if you will run UnDelete utility IMMEDIATELY after the file was deleted. In other cases (if some data has been written to the JAM drive) even if your UnDelete utility reports that file is successfully recovered, you could find some corrupted clusters (containing garbage or zeros) in it. You will avoid this problem if you choose the second (Full Undelete Compatible) strategy. Working in this mode it is always possible to recover deleted files, if standard UnDelete utility tells that they are not damaged. But this method has one disadvantage -- excessive Physical Space usage. For example, immediately after deleting some of your files you will have slightly less amount of additional Physical Free Space than overall Physical Size of files deleted. To force JAM driver use all Available Physical Space in this mode, you should run JMAX utility with /C switch to clear (deallocate) all information in pending deleted files. Zero compression mode Because some files does not compress well, and some applications take too long to perform operations on compressed data, JMOUNT utility lets you control the compression process. Use /W+Z combination of switches to disable compression of data before writing, and /W-Z -- to enable it. To mount the compressed Archive File TEST.JAM located on default drive/directory, as first available JAM drive (say, drive J:), you would type the following: JMOUNT /M TEST J: or just: JMOUNT TEST To make JAM drive J: read-only, you would type the following: JMOUNT /U /R J: or just: JMOUNT /R J: To unmount compressed drive J, type the following command: JMOUNT /D J: JAM 1.20 User's Guide Page 37 ------------------------------------------------------------------------ 4.4. The JDIR utility ------------------------- The purpose and usage of this program is very similar to the one of DOS's "DIR" command. The same as "DIR", JDIR displays a list of the files and subdirectories that are in the directory you specify. JDIR supports all standard switches of the MS-DOS 6.XX "DIR" and provides a lot of advanced features, e.g. displays files' attributes, displays files' fragmentation, detects allocation errors, etc. In addition, being run on the JAM drive, JDIR is able to calculate and show the compression percentage of files matched, and their average compression ratio. When you use JDIR without parameters or switches, it displays the disk's volume label and serial number; one directory or filename per line, including the filename extension, the file size in bytes, and the date and time the file was last modified; and the total number of files listed, their cumulative size, and the free space (in bytes) remaining on the disk. Syntax JDIR [drive:][\][path\][filename][.ext] [/P] [/W] [/A[:][attributes]] [/O[:][sortorder]] [/S] [/B] [/L] [/C[format]] [/F] [/K] [/M] [/T] [/U] [/Q] Parameters [drive:][\][path\] Specifies the drive and directory for which you want to see a listing. [filename][.ext] Specifies a particular file or group of files for which you want to see a listing. JAM 1.20 User's Guide Page 38 ------------------------------------------------------------------------ Switches /P Displays one screen of the listing at a time. To see the next screen, press any key. /W Displays the listing in wide format, with as many as five filenames or directory names on each line. /A[:][attributes] Displays only the names of those directories and files with the attributes you specify. If you omit this switch, JDIR displays the names of all files except hidden and system files. If you use this switch without specifying attributes, JDIR displays the names of all files, including hidden and system files. The following list describes each of the values you can use for attributes. The colon (:) is optional. Use any combination of these values, and do not separate the values with spaces. +H or H Hidden files -H Files that are not hidden +S or S System files -S Files other than system files +D or D Directories -D Files only (not directories) +A or A Files ready for archiving (backup) -A Files that have not changed since the last backup +R or R Read-only files -R Files that are not read-only JAM 1.20 User's Guide Page 39 ------------------------------------------------------------------------ /O[:][sortorder] Controls the order in which JDIR sorts and displays directory names and filenames. If you omit this switch, JDIR displays the names in the order in which they occur in the directory. If you use this switch without specifying sortorder, JDIR displays the names of the directories, sorted in alphabetic order, and then displays the names of files, sorted in alphabetic order. The colon (:) is optional. The following list describes each of the values you can use for sortorder. Use any combination of the values, and do not separate these values with spaces. +N or N In alphabetic order by name -N In reverse alphabetic order by name (Z through A) +E or E In alphabetic order by extension -E In reverse alphabetic order by extension (Z through A) +D or D By date and time, earliest first -D By date and time, latest first +S or S By size, smallest first -S By size, largest first +G or G With directories grouped before files -G With directories grouped after files +C or C By compression ratio, lowest first -C By compression ratio, highest first +F or F By file fragmentation, lowest first -F By file fragmentation, highest first JAM 1.20 User's Guide Page 40 ------------------------------------------------------------------------ /S Lists every occurrence, in the specified directory and all subdirectories, of the specified filename. /B Lists each directory name or filename, one per line (including the filename extension). This switch displays no heading information and no summary. The /B switch overrides the /W switch. /L Displays unsorted directory names and filenames in lowercase. This switch does not convert extended characters to lowercase. /C[format] Displays the compression ratio of files compressed using the JAM. If you use this switch without specifying format, JDIR displays the compressed size / original size ratio. The following list describes each of the values you can use for format. N Displays compressed size / original size ratio R Displays (original size - compressed size) / original size ratio M MS-DOS 6.XX DIR format (xx.y to 1.0) S Stacker SDIR format (xx.y:1) The /C switch is ignored when used with the /W or /B switch. /F Displays file fragmentation. /K No volume label or pathname. /M Omit total bytes information. /T Displays file attributes. /U Displays summary information only. /Q Quiet mode (does not display copyright and status information). JAM 1.20 User's Guide Page 41 ------------------------------------------------------------------------ Notes Using wildcards with JDIR You can use wildcards (* and ?) to display a listing of a subset of files and subdirectories. For an example illustrating the use of a wildcard, see the EXAMPLES section. Specifying file display attributes If you specify the /A switch with more than one value in attributes, JDIR displays the names of only those files with all the specified attributes. For example, if you specify the /A switch with the +R and -H values for attributes by using either /A:+R-H, /A:R-H, /A+R-H or /AR-H, JDIR displays only the names of read-only files that are not hidden. Specifying filename sorting If you specify more than one sortorder value, JDIR sorts the filenames by the first criterion first, then by the second criterion, and so on. For example, if you specify the /O switch with the E and -S values for sortorder by using either /O:+E-S, /O:E-S, /O+E-S or /OE-S, JDIR sorts the names of directories and files by extension, with the largest first, and displays the final result. The alphabetic sorting by extension causes filenames with no extensions to appear first, then directory names, then filenames with extensions. Using redirection symbols and pipes When you use a redirection symbol (>) to send JDIR output to a file or a pipe (|) to send JDIR output to another command, use the /A:-D, /B, and /Q switches to list only the filenames. You can use the filename parameter with the /B and /S switches to specify that JDIR is to search the current directory and its subdirectories for all filenames that match filename. JDIR lists only the drive letter, directory name, filename, and filename extension, one path per line, for each filename it finds. Before using a pipe for redirection, you should set the TEMP environment variable in your AUTOEXEC.BAT file. Otherwise, the temporary file will appear in the directory listing. JAM 1.20 User's Guide Page 42 ------------------------------------------------------------------------ Presetting JDIR parameters and switches You can preset JDIR parameters and switches by including the SET command with the DIRCMD or JDIRCMD environment variables in your AUTOEXEC.BAT file. You can use any valid combination of JDIR parameters and switches with the SET DIRCMD or SET JDIRCMD command, including the location and name of a file. For example, to use the DIRCMD environment variable to set the wide display format (/W) as the default format, include the following command in your AUTOEXEC.BAT file: SET DIRCMD=/W For a single use of the JDIR command, you can override a switch set by using the DIRCMD environment variable. To do so, you use the same switch on the JDIR command line, but you must also precede the switch letter with a minus sign, as the following example shows: JDIR /-W You can change the DIRCMD default settings by typing the SET command at the command prompt with a new parameter or switch after the equal sign (=). The new default settings are effective for all subsequent DIR commands until you use SET DIRCMD again on the command line or until you restart MS-DOS. Examples Suppose you want to display all files and directories in a directory, including hidden or system files. To specify this display, type the following command: JDIR /A Suppose you want JDIR to display one directory listing after another, until it has displayed the listing for every directory on the disk in the current drive. Suppose also that you want JDIR to alphabetize each directory listing, display it in wide format, and pause after each screen. To specify such a display, be sure the root directory is the current directory and then type the following command: JDIR /S/W/O/P JAM 1.20 User's Guide Page 43 ------------------------------------------------------------------------ JDIR lists the name of the root directory, the names of the subdirectories of the root directory, and the names of the files in the root directory (including extensions). Then JDIR lists the subdirectory names and filenames in each subdirectory in the directory tree. To alter the preceding example so that JDIR displays the filenames and extensions but omits the directory names, type the following command: JDIR /S/W/O/P/A:-D To print a directory listing, type the redirection symbol and PRN after any form of the DIR command, as the following example shows: JDIR > PRN When you specify PRN on the JDIR command line, the directory listing is sent to the printer attached to the LPT1 port. If your printer is attached to a different port, you must replace PRN with the name of the correct port. You can also redirect output of the JDIR command to a file by replacing PRN with a filename. A path is also accepted on the command line. For example, to direct JDIR output to the file JDIR.DOC in the RECORDS directory, type the following command: JDIR > \RECORDS\JDIR.DOC To display a list of all the filenames with the .TXT extension in all directories on drive C, type the following command: JDIR C:\*.TXT /W/O/S/P JDIR displays, in wide format, an alphabetized list of the matching filenames in each directory and pauses each time the screen fills, until you press a key to continue. JAM 1.20 User's Guide Page 44 ------------------------------------------------------------------------ 4.5. The JCHKDSK utility ---------------------------- This checks the status of a disk and displays a status report. Can also fix errors on standard DOS and JAM drives. The status report shows errors found in the DOS file system, which consists of the File Allocation Table (and JAM Descriptor Table for JAM drives) and Directories. If errors exist on the disk, JCHKDSK alerts you with a message. You should use JCHKDSK occasionally on each disk drive to check for errors. Syntax JCHKDSK [drive:][[\][path\]filename[.ext]] [/F] [/V] [/C] [/E] [/N] [/T] [/A] [/Q] [/X] Parameters drive: Specifies the letter of the drive you want JCHKDSK to check. This parameter is optional; if you do not specify a drive, JCHKDSK checks the current drive. [\][path\]filename[.ext] Specifies the location and name of a file or set of files that you want CHKDSK to check for fragmentation. You can use wildcards (* and ?) to specify multiple files. Switches /F Fixes errors on the disk. Do not use this option when running JCHKDSK from multitasking programs other than MS-Windows, DESQview, MS-DOS Task Switcher, or DR-DOS 6.0 TaskMAX. For more information, see "Using CHKDSK with open files" in section Notes below. /V Displays the name of each file in every directory as the disk is checked. /C Compares FAT copies. Use this switch on standard DOS drives to ensure that each copy of the File Allocation Table (FAT) are exactly the same. /E Shows empty files. This switch allows you to see all zero-length files on your disk. Some of such files could be left on your disk due to system hangs, crashes, etc. JAM 1.20 User's Guide Page 45 ------------------------------------------------------------------------ /N Strict file name checking. Assumes that file names may consist of: uppercased letters: A-Z, numbers 0-9, and some special characters: ~`!@#$%^&*()-_{}'. /T Tests readability and verifies the integrity of files on a JAM drive. /A Automatic mode. In combination with /F switch automatically selects the best way to recover most of disk errors. /Q Quiet mode (does not display status messages like 'Reading...', Comparing FATs..., etc.). /X Displays extended disk information (Sector and Cluster size, size of reserved disk area (Boot Sectors), size and number of FAT copies, maximum number of entries in the Root Directory, Total number of sectors on disk). Notes Format of status reports On a standard DOS drive JCHKDSK displays status report similar to the following example: Volume in drive C: has no label 10411008 bytes total disk space 57344 bytes in 2 hidden files 49152 bytes in 12 directories 6377472 bytes in 265 user files 3923968 bytes available on disk 4096 bytes in each allocation unit 2541 total allocation units on disk 958 available allocation units on disk 655360 bytes total memory 545984 bytes available memory JAM 1.20 User's Guide Page 46 ------------------------------------------------------------------------ To show extended disk information (Sector and Cluster size, size of reserved disk area (Boot Sectors), size and the number of FAT copies, etc.) you should run JCHKDSK with /X switch. Volume in drive C: has no label 512 bytes per sector 8 sectors per cluster 1 sector(s) reserved 2 FAT copies 8 sectors per FAT 512 maximum root directory entries 20383 total sectors on disk 10411008 bytes total disk space 57344 bytes in 2 hidden files 49152 bytes in 12 directories 6377472 bytes in 265 user files 3923968 bytes available on disk 4096 bytes in each allocation unit 2541 total allocation units on disk 958 available allocation units on disk 655360 bytes total memory 545984 bytes available memory On a JAM drive JCHKDSK displays more detailed report which includes both Logical and Physical JAM drive parameters, Average Compression Ratio, and Projected Free Space currently available. Volume in drive H: is TEST Volume Serial Number is 1B00-0F38 JAM logical drive H: JAM file: C:\TEST.JAM 25534464 bytes total disk space 10213376 bytes total archive space 57344 bytes in 2 hidden files 37376 bytes in 2 hidden files 98304 bytes in 12 directories 98304 bytes in 12 directories 7004160 bytes in 265 user files 4055552 bytes in 265 user files 18374656 bytes available on disk 6022144 bytes free on archive 58.82% average compression ratio (1.7:1) 13303808 bytes projected free space 655360 bytes total memory 545984 bytes available memory JAM 1.20 User's Guide Page 47 ------------------------------------------------------------------------ Fixing disk errors JCHKDSK will correct errors it finds if you specify the /F switch. If you do not use the /F switch, JCHKDSK alerts you with a message if a file needs to be fixed but does not fix the error(s). Detailed explana- tions and recommendations on fixing all disk errors which JCHKDSK can detect are given below in section Error Messages. Using JCHKDSK with open files Never use JCHKDSK when files are currently open. JCHKDSK is designed for use when the files on the disk are in an unchanging state -- that is, when they are not open. When a file is open, it is probably changing, and DOS will update the file allocation table and the directory structure to reflect changes. Such updates are not always made immediately, and updates to the file allocation table and the directories occur at different times. If you run JCHKDSK when files are open on the disk, it interprets differences between the directory structure and the file allocation tables as errors. Running JCHKDSK /F when files are open may result in corruption or loss of data. Therefore, never run JCHKDSK /F from another program, or when Windows, DESQview, MS-DOS Task Switcher or DR-DOS 6.0 TaskMAX (Novell DOS 7 Task Manager) are running. Using JCHKDSK with assigned drives and networks The JCHKDSK utility does not work on drives formed by the SUBST or ASSIGN commands. You cannot use JCHKDSK to check a disk on a network drive. Physical disk errors Being run on a standard DOS drive, the JCHKDSK could find only logical errors in the DOS file system, not physical disk errors. Nevertheless, being run on a JAM drive with /T switch, JCHKDSK could find also physical errors on a Host Drive. Bad disk sectors Bad sectors reported by JCHKDSK were marked as "bad" when your disk was first prepared for operation. Physical disk-error correction utilities can also mark sectors as "bad." Bad sectors pose no danger. ERRORLEVEL parameters If JCHKDSK does not find any errors, it returns an ERRORLEVEL value of 0. If JCHKDSK found one or more errors, it returns an ERRORLEVEL value of 255. Saving a JCHKDSK status report to a file You can save a JCHKDSK status report by redirecting the output to a file (located on any other disk drive, of course). Do not use the /F switch when you redirect JCHKDSK output to a file. JAM 1.20 User's Guide Page 48 ------------------------------------------------------------------------ Examples If you want to check the disk in drive A and have JCHKDSK fix any errors encountered, type the following command: JCHKDSK A: /F JCHKDSK pauses and displays messages if it encounters errors. Then it may prompt you to specify how you want JCHKDSK to correct the errors. JCHKDSK finishes by displaying a report showing the status of the disk. To redirect the output of JCHKDSK to a file named STATUS, type the following command: JCHKDSK A: > STATUS Because the output is redirected, JCHKDSK does not repair errors it encounters during the check; but it records all the errors in a report file. Afterward, you can use JCHKDSK with the /F switch without redirection to correct any errors noted in the status report. JAM 1.20 User's Guide Page 49 ------------------------------------------------------------------------ 4.6. The JMAX utility --------------------------- Packs clusters compressed by the JAM driver tighter to give more available space on selected JAM drive. JMAX also automatically defragments and clears free space on the JAM drive. Syntax JMAX [drive:] [/M[:]method] [/C] Parameter drive: Specifies the drive you want to defragment. This parameter is optional; if you do not specify a drive, JMAX recompresses and defragments the current drive. Switches /M Specifies an optimization method to use. If you omit this switch, or specify /M without parameter, JMAX uses the highest compression method available (see list below). The following list describes each of the values you can use for the method. 0 - NO recompression (consolidate sectors only). 1 - FAST (the 1st level) recompression. Provides 20-30% better compression ratio than algorithm built-in the JAM driver. 2 - MAX (the 2nd level) recompression. This method allows you to get maximum compression ratio, but takes approximately twice more time than the 1-st method. /C Clears free space only. This switch is useful with JAM drives working in Full UnDelete Compatible mode (see Section 4.3 /Notes). JAM 1.20 User's Guide Page 50 ------------------------------------------------------------------------ Notes Difference between JMAX and standard Disk Defragmentation programs Standard Disk Defragmentation programs (e.g. Gazelle Systems' OPTune, Golden Bow's VOPT, Central Point Software's COMPRESS, Norton Utilities' SPEEDISK, etc.) optimize disk performance by reorganizing the files on a drive. You can use them to optimize uncompressed drives. Although you can run them on a JAM drive, doing so will probably not improve your system's speed. Unlike these programs, the JMAX utility does not perform file-level reorganization. JMAX recompresses and reorganizes compressed clusters to give you more free space on the JAM drive. Nevertheless, such optimization will also significantly speed-up the JAM drive (better compressed data require less space to store on physical disk, but also require less time to be expanded!). Examples To defragment drive D, you would type the following at the command prompt: JMAX d: To defragment the current drive, type the following command: JMAX JAM 1.20 User's Guide Page 51 ------------------------------------------------------------------------ 4.7. The JSIZE utility --------------------------- Enlarges or reduces the size of a JAM archive file. You might want to enlarge a JAM drive if its host drive contains plenty of free space. You might want to reduce the size of a JAM drive if you need more free space on the host drive. Syntax JSIZE [d:][\][path\]filename[.ext] [+|-][size] Parameters [d:][\][path\] Full or relative path of the JAM archive file. This is optional part of the name of file to resize. If you omit it, JSIZE uses current DOS drive/directory to find the archive file. filename[.ext] Specifies the name of the JAM file you want to resize. If you omit the filename extension, JSIZE uses ".JAM". Switches [+|-]size Specifies amount of space (in K-bytes) on which the JAM archive file should be extended (+ prefix), or shrunk (- prefix). If size not specified, maximum possible value is used. Notes Before you run JSIZE ... The JSIZE utility may be run only on Inactive JAM Archive files. Use the JMOUNT utility to dismount the Archive file, run JSIZE to extend or shrink its size, and then mount it again. Also, it is strongly recommended TO TEST AND DEFRAGMENT your disk BEFORE you extend any archive file. By doing so you will avoid numerous possible problems, and ensure maximum performance of a JAM drive you will extend. Show file size limits If you run JSIZE without specifying + or - switches, it displays file's physical and logical capacity for three possible types of configuration: Minimum (fully shrunk archive), Actual, and Maximum (extended on all currently available space on host drive). JAM 1.20 User's Guide Page 52 ------------------------------------------------------------------------ Examples To show on which size the file C:\TEST1.JAM can be extended (or shrunk), type the following command: JSIZE C:\TEST1 To extend the size of file C:\TEST2.JAM on 20M, type the following command: JSIZE C:\TEST2 +20480 To shrink the size of file C:\TEST3.JAM on 10M, type the following command: JSIZE C:\TEST3 -10240 To change the size of file C:\TEST4.JAM so that it is as large as possible, type the following command: JSIZE C:\TEST4 + JAM 1.20 User's Guide Page 53 ------------------------------------------------------------------------ 4.8. The JSWAP utility --------------------------- JSWAP lets you switch between the names of any two drives. For example, entering JSWAP C: D: will switch the names of drives C: and D:, resulting in drive C: effec- tively being mapped to the original drive D:, and drive C: effectively being mapped to the original drive D:. Using the JSWAP utility might be of utmost importance for users whose applications and batch files are "tailored" to use a specific physical drive letter (most often C:), which would have to be reconfigured to work with a different drive letter if moved to work with a JAM drive letter (e.g. D:). Instead of going through the tedious process of reconfiguration, you may just use the 'JSWAP C: D:' command to switch between the names of C: (the original drive letter) and D: (JAM drive letter). Now you can just use your JAM drive as drive C: with all your preconfigured applications and batch files as before! In addition, JSWAP can hide/restore any existing drives. For example, entering JSWAP -D: will hide drive D:, so that immediately after drive C: you will see drive E: and the other drives. To restore drive D: you would just type: JSWAP +D: The hide/restore options can be useful when you want to keep one or more extra JAM drives to mount diskettes or any other removable devices, or when you created JAM file on whole hard disk partition, and want to hide the host drive. JAM 1.20 User's Guide Page 54 ------------------------------------------------------------------------ Syntax JSWAP [/Q] [+|-]d1: [+|-]d2: or DEVICE=[drive:][\][path\]JSWAP.COM [/Q] [+|-]d1: [+|-]d2: Parameters d1: d2: Drive letters to interchange and/or switch. Any drive letters, which are assigned to existing DOS block devices, should be specified. [drive:][\][path\] Specifies the location of the JSWAP.COM file. Switches + Restores previously disabled (hidden) drive. - Hides specified drive letter. /Q Quiet mode (does not display copyright and status information). /? or /H Displays online help screen. Notes Swapping drive letters during system start-up To allow you switch drive letters during system start-up we made file JSWAP.COM both an executable program and a device driver. Thus, for example, if you need to swap your host drive C: and JAM drive D: before loading other device drivers or TSR programs, you would add the line like: DEVICE=C:\JSWAP.COM /Q C: D: to your CONFIG.SYS file. Note, that all commands below this line must be modified to have correct drive letters. JAM 1.20 User's Guide Page 55 ------------------------------------------------------------------------ Hide/restore drive letters during system start-up If you use the DEVICE command to run JSWAP utility, its hide/restore subcommands (+|-) will not take effect because DOS will reassign drive attributes after loading all device drivers (including JSWAP). If you are using MS-DOS or PC-DOS you can avoid this problem by running JSWAP utility via INSTALL command in CONFIG.SYS file. Unfortunately, this will not help under Novell DOS, and DR-DOS. To hide/restore drives under Novell DOS you should run the JSWAP utility from your AUTOEXEC.BAT file. JAM 1.20 User's Guide Page 56 ------------------------------------------------------------------------ 4.9. The JCMD utility ------------------------- Replaces standard DOS "DIR" and "CHKDSK" commands by JDIR and JCHKDSK programs. Syntax JCMD [/I | /R] [drive:][\][pathname] Parameter [drive:][\][pathname] Specifies the location of JDIR.COM and JCHKDSK.COM programs. If not specified, current disk/directory is used. Switches /I Install JAM interceptor /R Remove JAM interceptor from memory Notes The JCMD utility relies on (undocumented) DOS API for installable command names (int 2fh, ax=ae00h,ae01h). This API is supported by standard DOS command processor (COMMAND.COM), as well as by 4DOS (version 4.0 and higher) and NDOS. Other command processors may not implement this interface, so JCMD utility would have no effect. JAM 1.20 User's Guide Page 57 ------------------------------------------------------------------------ Chapter 5. Guidelines for efficient use of the JAM Drives =============================================================== This chapter highlights some of the techniques and considerations for efficient use of the JAM drives, allowing you to take full advantage of the JAM. 1. Refrain from storing access-time sensitive data on the JAM drives. Access-time sensitive data is defined as data to which access time is most critical, and to which access should be as fast as possible. Usually, a relatively large amount of access operations are performed on such data in a limited period of time. Data in this category are: * database index files: very high access rate; access time must be minimal. * program overlay (or dynamically linked libraries) files (those having a file extension of .OVL, .OVR, or .DLL), as well as programs which contain internal overlays (big .EXE files): they are accessed many times during the execution of an application. 2. Store data insensitive to access time on the JAM drives. This category includes word-processing documents and spreadsheet files. The access time for retrieving and saving such files is of lesser importance, and in most cases with the JAM an increase in access time is not even noticed -- while the benefit of data compression and space saving is optimal. 3. Store data with a high compression ratio on the JAM Although there is no restriction whatsoever on the nature of the data stored on the JAM drive, a basic understanding of the internal functions of the JAM will assist you in the proper selection of data suitable for storage. The data compression algorithms used by the JAM are based upon the Occurrence Rate of various characters (and strings of characters) in the data file. The effective Compression Ratio becomes larger as the number of similar characters, words and phrases in the file becomes greater. JAM 1.20 User's Guide Page 58 ------------------------------------------------------------------------ TEXT Files generally consist of a relatively small number of different characters (i.e. the printable characters, spaces, punctuation marks, etc.) with a relatively high occurrence rate. The vocabulary of them is also quite predictable based on the kind of text. Also, DATABASE and SPREADSHEET files typically contain many zeroes and spaces in a relatively high occurrence rate, as well as many similar words and numbers. These types of files have a high Compression Ratio potential. Many GRAPHICAL files are also well-suited to data compression. This includes CAD/CAM software, and many graphical storage formats used in image processing, desktop publishing, and multimedia industry (except for those already well-compressed file formats, for example, JPEG, GIF, some TIFF files). Therefore, when using a word-processor, database, or a spreadsheet program, maintain your document library, your database directory, or your spreadsheet directory on a JAM drive. On the other hand, in program files (i.e. those with a file extension of .EXE or .COM), most of the 256 possible characters (as well as 2-3 character combinations), may occur at a high rate. Therefore, these files are regarded as having a low Compression Ratio potential. There are exceptions: Windows programs usually contain resource data (bitmaps, icons, text strings, etc.) bind into .EXE files; such files also have high Compression Ratio potential. When in doubt, you may copy a file to the JAM drive, using the DOS COPY command. You may then use the JDIR utility to determine the exact Compression Ratio. If the compression is not satisfactory, you could try to recompress this drive (containing the copied file) by JMAX utility, and run JDIR again. If the compression still is not satisfactory, the copied file may be deleted from the JAM drive (or from the source drive if the Compression Ratio is satisfactory). 4. Use the JMAX utility. By using the JMAX utility, you can optimally recompress your data achieving even better kind of on-the-fly compression than ordinary JAM driver does. Often, you are not just saving disk space because of higher compression ratio - the access to JMAX-recompressed data becomes a bit faster! Also, the JMAX utility is quite smart - it would not do its job for a second time. So, you can recompress your JAM drive on weekly or even daily basis, not worrying about long time it takes to execute - if you have changed only one file on your JAM disk, JMAX would recompress only this file. See Chapter 4.6 for details on JMAX usage. JAM 1.20 User's Guide Page 59 ------------------------------------------------------------------------ 5. Use your JAM archive files for super-fast backup. As discussed in Chapter 3, you may backup your data much more quickly using the JAM archive files, saving not only time, but using less backup media as well. 6. Use the DOS APPEND command. The DOS APPEND command enables you to distribute your data files on several disks and/or directories, yet access them in a completely transparent manner as if all of your files were in one large disk/ directory. In this way, you may store some of your data files on the JAM drive, your other files on a standard DOS disk, and use all of your files as if they all reside in your current disk or directory. Refer to your DOS manual for further information about the APPEND command. 7. Store seldomly used files on JAM drives. Many users today hold large volumes of data on-line, on their hard-disks, not willing to search for needed file on floppies or streamer cassette. This is fine, but some rarely-used on-line documentation or development toolkits can occupy quite a large portion of your hard disk, thus competing for disk space with your heavy-used data files. The one possible solution is to use file compression (archiving) programs, such as PKZIP, ARJ, etc. While these programs are extremely useful as good space-savers, they also do have one big disadvantage: you lose ability to work with your data transparently. Instead, you should instantly pack and unpack them. JAM offers a good compromise solution here: store such seldom-used files on a compressed JAM drive. You lose some bit of disk space comparing to file-archiving programs, but you would gain a transparent DOS access for these files! And on most 486-based machines, JAM drives can be read FASTER than DOS ones. This is because you properly utilize the horsepower of your CPU to help your disk drive. JAM 1.20 User's Guide Page 60 ------------------------------------------------------------------------ Chapter 6. F.A.Q. (Frequently Asked Questions) ==================================================== Q What does the name JAM mean? A JAM, n. very thick sweet liquid made from fruit boiled and preserved in sugar, used esp. for spreading on bread. jam, v. 1. to pack, crush, or gather, tightly into a small space. 2. To fill with people, cars, etc., so that movement is difficult or impossible. 3. ... Oops, just a short Longman quote. Well, it really means "JAM Archive Manager." Q In simple terms, how does the JAM work? A The JAM uses a certain portion (a large or small fraction, as determined by you) of the free space available on your hard disk drive. The JAM creates on your hard disk drive (Host Drive) a new DOS drive called the JAM drive. This acts exactly like a standard DOS drive (allowing you to continue using DOS and application programs, as usual) -- however, with one significant difference: the JAM compresses the data written to the JAM drive (automatically and in a completely transparent manner), thereby reducing the amount of disk storage required to store your data, on average, by 60% (2.5:1)! In other words, the JAM effectively enlarges the capacity of your hard disk. Q Can the JAM actually enlarge the capacity of my disk drive with its existing data and programs? A Yes! The JAM can provide you capability to effectively enlarge the capacity of your existing hard disk drive by saving, on the average 60% of the storage required by DOS to store your files. The JAM will not affect your existing data and programs. (Until you copy these files to a JAM drive and delete them from the Host drive, the disk space required to store these existing programs and data will not be reduced.) JAM 1.20 User's Guide Page 61 ------------------------------------------------------------------------ Q Do I have to do anything to my existing software applications or data files to use the JAM? A No. The JAM acts as a standard DOS drive and works in a completely transparent manner. Once it is loaded into memory (and this is done automatically when your computer is turned on), it does the work for you "in the background". As stated above, however, in order to reduce the storage capacity required for your existing data files they must be copied to a JAM drive. Q Will the JAM affect the performance of my existing software applications? A Yes, in some cases the JAM may affect the speed which your application software operates, however, it will not be noticeable to you, as it affects only the actual reading or writing of data to your hard disk. The overall effect is to a certain degree dependent upon the type of computer you are using (XT, 286 AT, or 386/486/Pentium AT). The slower the computer, the more noticeable any delay is; and your application software -- applications that are constantly updating data files -- may not be well suited for use with an JAM drive if you are using an XT (for example). Nevertheless, on modern i386/486 and Pentium computers the JAM drives usually work FASTER than original non-compressed DOS drives. Q Do I need to format my hard disk to use the JAM? A No. The JAM 1.20 creates the Compressed Drives as JAM Archives on your existing hard disk. The future versions will also compress whole hard disk partitions and floppy disks. Please contact us for upgrade information. Q Can I use the JAM drive as if it were a standard DOS disk? A Yes, you may use ANY DOS command, you may create directories on your JAM drive, backup, restore, etc. The JAM User's Guide provides a complete explanation regarding the usage of the JAM with DOS. JAM 1.20 User's Guide Page 62 ------------------------------------------------------------------------ Q Since the JAM is always in memory ready to work transparently for me, it is using a certain portion of my available main memory. How much it is using? A The JAM in its minimum configuration (i.e. only one JAM drive with 4K clusters, and minimum cache buffers) requires about 24Kb RAM resident memory. To support 8Kb cluster's drives JAM device driver requires 32Kb of memory. Each additional active JAM drive requires a small additional amount of RAM (about 1.2Kb RAM per logical drive). Moreover, you can load the JAM driver into upper memory (by EMM386 (from MS-DOS, DR-DOS, or Novell DOS), QEMM, 386MAX and other memory management software), thus, free some room in conventional memory used by DOS. Q Will the JAM work on any kind of hard disk drive? A Yes, the JAM should work on any type of hard disk with PC-DOS/MS-DOS 3.30 - 7.0, DR-DOS 6.0, or Novell DOS 7 in use. Q Will the JAM compress my RAM drive? A Yes. The JAM can enlarge the capacity of your virtual RAM disk, providing you with more room for frequently executing programs and temporary files. Q How does the JAM differ from other data compression utilities? A Unlike most data compression utilities, which compress data on a file-by-file basis (thereby keeping the data offline), the JAM compresses the data on a sector-by-sector basis, enabling the JAM driver to always retain your data online and available to you. Q How can I maximize my use of the JAM with my existing data and programs? A 1. Create a JAM drive. 2. Move your applications and data files to the JAM drive. 3. Run JMAX utility on this drive 4. For those program files (i.e. .EXE and .COM files) where the compression is less than satisfactory, you may move them back to the Host Drive. JAM 1.20 User's Guide Page 63 ------------------------------------------------------------------------ Appendix A. Glossary =============================== Physical Drives Physical disk drives are magnetic storage media of a predefined capacity and which range from several up to thousands megabytes. A Physical Drive is usually connected to a disk controller which constitutes a hardware link between the operating system and the physical storage media. Hard Disk Logical Drives Physical Drives may be divided into logical Partitions of a predeter- mined length using utilities such as the DOS FDISK, or various disk management programs. Each partition is assigned a Drive Name Letter corresponding to one Logical Drive. Host Drives Host Drive is the JAM terminology for a Logical Drive on which JAM Archive Files (see below) are created. Any Logical Drive (assigned to a Hard Disk partition) can act as a Host Drive. JAM Archive Files (or JAM Files) With the JAM, you may allocate space on your Host Drive to create the JAM Drive (see below). This space will be presented as a file (called JAM Archive File, or just JAM File) on your Host Drive. Being mounted as a JAM Drive, a JAM Archive will provide more storage capacity than the amount of space it uses. JAM Logical Drives (or JAM Drives) Being installed the JAM device driver provides one or more additional drives (called JAM Drives), which can represent compressed data in JAM Archives as standard DOS Logical Drives. JAM 1.20 User's Guide Page 64 ------------------------------------------------------------------------ Sectors and Clusters Information is recorded on a Logical Drive in units called sectors, whose size is determined by the FORMAT utility during the formatting process (the Sector length is usually equal to 512 bytes). Thereafter, this length remains constant unless the Logical Drive is reformatted. Furthermore, DOS groups the Sectors into Clusters, each of which consist of an equal number of Sectors. The Cluster Size (i.e. the number of sectors in a cluster) is also determined during the formatting process. While Sectors present a minimum chunk of information which can be read from or written to a disk, Clusters define the minimum File Allocation Unit. The disk is allocated one cluster at a time to files and directories. Cluster number always refers to the data area of a disk (space reserved for files and subdirectories). Valid cluster numbers always start at 2. They correspond to entries in the File Allocation Table (see below). On JAM drives clusters are INDEPENDENTLY COMPRESSED and allocated on Host Drive as smaller groups of adjacent sectors. To match where these groups are stored JAM uses additional table called JAM Descriptor Table (see below). The JAM driver supports clusters with logical size of 4K or 8K bytes (i.e. 8 or 16 sectors). Boot Record The first sector of a DOS Logical Drive always contains a data structure called the DOS Boot Record. This contains such critical information as Sector and Cluster Size, Reserved Sectors before FAT and Number of FAT Copies, Entries in Root Directory, Total Sectors on disk, etc., that is used by the system in accessing the media correctly. A standard DOS Boot Record contains a short program that is executed during system startup, which reads and executes the hidden system file, IO.SYS (or IBMBIO.SYS). If it can't locate this file, it typically displays a message similar to: Non-System disk or disk error. Replace and strike any key... The JAM Drives have some additional fields in Boot Record (refer to Appendix C for details), and to prevent its destruction by some system transferring software (for example DOS's SYS.COM) the JAM driver protects this disk area from writing. JAM 1.20 User's Guide Page 65 ------------------------------------------------------------------------ DOS File Allocation Table (FAT) This is the part of DOS's bookkeeping system which maintains a record of where on the disk each File is stored. The technique is relatively simple. In the Directory Entry (see below) for each File is a Starting Cluster value. That cluster contains the first part of the file's data. If the file is more than one cluster, the FAT tells DOS where to find the next bit of the file's data. Each FAT cell identifies the next cluster occupied by the file's data. It's usually easy to follow a chain: for instance, FAT cell #2 contains a 3; #3 contains a 4, and so forth. The cell at the end of the chain contains an End Of File marker (0FFF or 0FFFF hex value). ______________________ +---------------------.| | Boot Sector || |=====================|| | FAT entries || ,----------------- #2: ,--[ 3 ]<--------. ------ | ,-------------- #3: `->[ 4 ]--. || | FAT chain | | ,----------- #4: [EOF]<-' || | ------ | | | ... | ............... || | | | | ,---- #MaxCls: [ 0 ] --- || | - unused cluster | | | ... | |=====================|| | | | | | | Root Directory || | | | | ... | | ............... || | | | | | | MYFILE.EXT [2]--------' - Starting cluster number | | | ... | | ............... || | | | | |=====================|| | | | ... | | Data Area || | | | | |---------------------||---------- `----------------->Cluster #2: || ^ | | | | ............... || Disk area where file `-------------->Cluster #3: || MYFILE.EXT is recorded. | | | ............... || Allocated space is: `----------->Cluster #4: || 3 * ClusterSize = 24K | | ............... || v (= 8K) StartSector = | |---------------------||---------- DataStart + | | ............... || ClusterNo * `---->Cluster #MaxCls: || ClusterSize; | ............... || +---------------------+ On JAM Drives File Allocation Table is an Incompressible object. Its location and number of its copies could be obtained from the JAM Drive Boot Record. JAM 1.20 User's Guide Page 66 ------------------------------------------------------------------------ JAM Descriptor Table (JDT) An additional table in the JAM Archive file which maintains allocation information for each compressed Cluster. The JAM device driver uses this data to determine where the cluster is stored and how many sectors it has in a compressed form. Each JDT cell has cluster's Flags ([Allocated], [Deleted], and [Directory] bits), Location in compressed Data Area (Starting Sector and the Number of Sectors values), and Compression method identifier. ______________________ +---------------------.| | Boot Sector || Starting Sector, |=====================|| Number of Sectors | JDT entries: || ,------------------- #2: [ 0 ][ 5 ]<-----------. ----- | ,---------------- #3: [ 6 ][ 7 ]<--------. | JDT entries used | | ,------------- #4: [ 14 ][ 3 ]<-----. | | ----- | | | | ................. || | | | | | | ,---->#MaxCls:[ empty ]- || | | | - unallocated | | | | |=====================|| | | | cluster | | | | | FAT entries || | | | | | | | | #2: ,--[ 3 ]<--------------+ ----- | | | | | #3: `->[ 4 ]--. --------' | FAT chain | | | | | #4: [EOF]<-' -----' | ----- | | | | | ............... || | | | | `---- #MaxCls: [ 0 ] --- || ------ | - unused cluster | | | |=====================|| | | | | | Root Directory || | | | | | ............... || | | | | | MYFILE.EXT [2]--------------' - Starting cluster | | | | ............... || number | | | |=====================|| | | | | Compressed Data Area|| | | | |---------------------||--------------- `------------------->Data Sector #0 || ^ | | ^ 5 + 1 | ............... || | | | v sectors| ............... || Archive area where file `---------------->Data Sector #6 || MYFILE.EXT is recorded. | ^ | ............... || Allocated space is: | | 7 + 1 | ............... || (5+1 + 7+1 + 3+1) | v sectors| ............... || * SectorSize = 9K `------------->Data Sector #14 || | ^ 3 + 1 | ............... || v v sectors|---------------------||--------------- | ............... || +---------------------+ JAM 1.20 User's Guide Page 67 ------------------------------------------------------------------------ The JAM Descriptor table is located between the Boot Sector and the first FAT on a JAM archive. This area is also visible on a JAM logical drive as an extension of the boot area. Like the Boot Record, JDT is accessible to DOS and standard application programs in read-only mode. Further detailed consideration, regarding the JAM internal structures is presented in Appendix C. Files The information in a Logical Drive is stored in units called Files. From user's point of view, a file contains a specific set of data, such as a document, spreadsheet, data base, program, etc. DOS stores the files on your Logical Drives using an integral number of Clusters. A File always starts at the Beginning of a new Cluster, and occupies as many Whole Clusters as required to contain the entire file, even if this means that the last Cluster remains almost completely empty (and therefore, wasted). Such wasted space is called Slack space, and it is typical that 10% to 30% of your hard disk is Slack space. On JAM Drives all Clusters of the File are independently compressed, and allocated as a portions of adjacent Sectors. Such technique allows you almost completely eliminate the Slack space, thereby providing a major ancillary benefit. Directories These are the disk data areas that hold the bookkeeping information about disk files. All DOS Logical Drives have at least one Directory, the Root Directory, which is stored at an easy-to-find place at the start the drive. For each File, DOS maintains a Directory Entry. It contains the File's Name, Size, the Date and Time when it was created or last modified, File Attribute information, and the disk address where the first part of the file data is stored. Besides standard File Entries, a Directory might contain two other types of entries. First, the Root Directory may contain a Volume Label. (It is displayed when you type DIR or JDIR from the DOS prompt, but serves merely as an identifier.) The other type of entry is a Subdirectory Entry. These are critical to the operation of DOS. Instead of describing the size and location of a file, each points to another directory. JAM 1.20 User's Guide Page 68 ------------------------------------------------------------------------ In all but the Root Directory, there are two special Subdirectory Entries, with the Filenames of "." and ".." (dot and dot-dot, as they're called, or sometimes, "self" and "parent"). The "." entry points to cluster containing this directory, while ".." entry points back to the directory in which it is described. This system helps DOS climb around the directory tree. On JAM drives both root-directory and subdirectories are not compressed. This solution provides high speed of directory access and make usage of compressed devices more reliable. JAM 1.20 User's Guide Page 69 ------------------------------------------------------------------------ Appendix B. JAM messages directory =========================================== This appendix lists the JAM error messages in alphabetical order, giving the origin of the message followed by an explanation of it and where possible, suggestions for correcting the error. Bad first cluster, or file 'xxxxxxxxxxx' is empty. Origin JMOUNT Explanation JMOUNT cannot determine the first cluster of JAM file 'xxxxxxxxxxx'. Either you are running JMOUNT under incompatible version of DOS or your hard disk file system is seriously damaged. Try to run JCHKDSK on your host drive. If JCHKDSK detects an error with your JAM file and prompts you to fix this error -- answer No and do the following steps: 1. Unmount all JAM drives which Archive Files are on a defective disk. 2. Run a low-level disk analysing utility (for example, Norton Utilities' DISKEDIT program), and try to recover the FAT chain of your JAM file manually. 3. Run JCHKDSK, NDD, ScanDisk or other standard disk-repairing utility to fix the other problems on your hard disk. 4. Reboot your computer. 5. Run JCHKDSK /F /T on your JAM drives. Bad volume label 'xxxxxxxxxxx' Origin JCHKDSK Explanation Either the root directory has two or more entries marked as volume label, or entry xxxxxxxxxxx has non-zero length (or start cluster). Run JCHKDSK /F to convert this entry to file (or sub-directory). JAM 1.20 User's Guide Page 70 ------------------------------------------------------------------------ Boot record / DOS DPB parameters mismatch. Origin JCHKDSK Explanation For no normal reason, disk parameters in Boot Record and in system memory are different. Try to reboot your computer and run JCHKDSK again. CPU Intel 80188/186+ or NEC V20/V30 required. Origin JAM.SYS, JCHKDSK, JMAX Explanation JAM utilities need at least an Intel 80188/186+ or NEC V20/V30 CPU to work properly. If you have one of the more modern CPUs (I80386, I80486, or Pentium), JAM will automatically detect and fully utilize its power. Cannot analyze a remote (or redirected to a network server) drive x: Origin JDIR Explanation JDIR cannot analyze file structure on networked or non-standard DOS drives. This error cannot appear on JAM drives. To show list of files on a remote drive use DOS DIR command instead. Cannot change current position in file: xxxxxxxxxxxx Origin JSIZE Explanation Either your archive file has a serious allocation error, or your hard disk controller cannot move its read/write heads to the requested position. Unmount all your JAM drives and try to run NDD, ScanDisk or other standard disk-repairing utility on your hard disk. JAM 1.20 User's Guide Page 71 ------------------------------------------------------------------------ Cannot change file attributes. Origin JCREATE, JSIZE Expanation JCREATE(JSIZE) cannot assign new attributes to the JAM archive file. Run NDD, ScanDisk or other standard disk-repairing utility on your host drive. Cannot check a SUBSTed or ASSIGNed drive x: Origin JCHKDSK Explanation The JCHKDSK utility does not work on drives formed by the SUBST or ASSIGN command. To check files on drive x:, deactivate SUBST (or ASSIGN) and run JCHKDSK on the drive that was assigned to drive x: instead. Cannot check a remote (or redirected to a network server) drive x: Origin JCHKDSK Explanation You cannot use JCHKDSK to check a disk on a network drive. Cannot close file Origin JCREATE, JSIZE Expanation JCREATE(JSIZE) cannot complete operation on the JAM archive file. Unmount all your JAM drives and try to run NDD, ScanDisk or other standard disk-repairing utility on your hard disk. Cannot create a JAM archive on a JAM drive. Origin JCREATE Explanation JAM cannot create (and work with) an archive located on a compressed drive. Try to specify another (non-compressed) disk as a host drive for a JAM archive. JAM 1.20 User's Guide Page 72 ------------------------------------------------------------------------ Cannot create a JAM archive on a network drive. Origin JCREATE Explanation JAM cannot create (and work with) an archive located on a network drive. Try to specify another (local) disk as a host drive for a JAM archive. Cannot create an extendable archive on drive z: File size (/S parameter) too small. Origin JCREATE Explanation The size of extendable archive's allocation structures (JDT+FAT) is greater than specified file size. Try to specify large file size (/S=400 (Kbytes) is usually enough to create an extendable archive on ANY host drive). Cannot create file Origin JCREATE Explanation Either your target disk/directory is full or you have problems with physical writing on your disk. Try to run NDD or ScanDisk to test your hard disk. Cannot extend file. Trying alternate method ... Origin JSIZE Explanation A file I/O error has occurred. In all cases, when DOS fails to continue operation, JSIZE tries to analyze information on host drive manually (bypassing DOS), and finishes this action, or, when it is impossible -- makes undo changes. Try to run NDD or ScanDisk to test your hard disk. JAM 1.20 User's Guide Page 73 ------------------------------------------------------------------------ Cannot locate DOS CDS array. Origin JSWAP Explanation Some control programs (like DR-DOS 3.31+) do not initialize pointer to the DOS CDS array, during loading device drivers. To avoid this problem, run JSWAP.COM program from your AUTOEXEC.BAT instead. Cannot modify file: xxxxxxxxxxxx Origin JSIZE Explanation A file I/O error has occurred during file modification. Unmount all your JAM drives and try to run NDD, ScanDisk or other standard disk-repairing utility on your hard disk. Cannot mount file: xxxxxxxxxxxx in Undelete Compatible mode Origin JMOUNT Explanation Some of your pending deleted files cannot be recovered. Having detected this, JMOUNT tries to mount archive file in standard mode. If you want to force the JAM driver work in Undelete Compatible mode again, you should do the following: 1. Run JMAX /C on a JAM drive on which file xxxxxxxxxxxx is mounted (to remove all pending deleted files on archive). 2. Run JMOUNT /W+U again (to set Undelete Compatible mode). Cannot mount the Archive File located on a JAM device. Cannot mount the Archive File located on a SUBSTituted device. Cannot mount the Archive File located on a non-DOS device. Origin JMOUNT Explanation JAM cannot work with archive files located on a compressed, SUBSTituted, or non-DOS drive. JAM 1.20 User's Guide Page 74 ------------------------------------------------------------------------ Cannot mount the Archive File located on a remote device. Origin JMOUNT Explanation The JAM driver cannot work with archive files located on a remote server. If you use one of the DOS-based LANs, you would have access to remote JAM files by installing the JAM on a server machine. Cannot mount under DOS x.yy: too large FAT in archive xxxxxxxxxxxxx Origin JMOUNT Explanation Since MS-DOS 4.0, 4.01, 5.0, and PC-DOS 5.1 cannot handle drives with large FATs (12-bit FAT >= 192 sectors) properly (bug in DOS's BPB-DPB convertor), JMOUNT will not activate such JAM archive files. Note: This error can appear only if you have created an extendable JAM archive file using JCREATE R1.18. Later versions of JCREATE utility can produce extendable archives with 'sliding' FAT which can be mounted without any restrictions. To correct the FAT size (and its location) in such archives you could use the JSIZE utility: 1) Extend the archive file, so that its logical capacity will be greater than 32M, 2) Shrink the archive to its original size. Cannot open JAM Archive File: xxxxxxxxxxx Origin JMOUNT, JSIZE Explanation You may receive this message if specified file does not exist, its name was spelled incorrectly, or you have too many open files. To overcome the last case try to specify large value for the FILES= variable in your CONFIG.SYS file. JAM 1.20 User's Guide Page 75 ------------------------------------------------------------------------ Cannot read FAT on drive x: Cannot read initial sector(s) of xxxxxxxxxxxxx Cannot read sectors #xxx-yyy on drive z: Origin JMOUNT, JDIR, JMAX, JSIZE Explanation An error reading your physical drive has occurred. To minimize the data loss the following steps should be taken: 1. Unmount all JAM drives which Archive Files located on a defective disk. 2. Run NDD, ScanDisk or other disk-repairing utility on your hard disk. 3. Reboot your computer. 4. Run JCHKDSK /F /T on your JAM drives. Cannot recover '.' and '..' entries Origin JCHKDSK Explanation There is no space in a directory to add '.' and '..' entries (see also Explanation for message "Invalid '.' and '..' entries"). Try to remove at least two files in this directory and run JCHKDSK /F again. Cannot resize a JAM archive located on a network device. Origin JSIZE Explanation JSIZE cannot modify an archive file located on a network drive. Try to run JSIZE on your remote machine instead. Cannot resize a JAM archive: JDT+FAT size/maximum capacity mismatch. Origin JSIZE Explanation An error in JAM file boot record parameters (see Appendix C for details). JAM 1.20 User's Guide Page 76 ------------------------------------------------------------------------ Cannot resolve pathname: xxxxxxxxxx Origin JDIR Explanation Specified pathname cannot be resolved to fully qualified form (drive:\path\filename.ext). You may receive these messages if specified drive does not exist, there are problems with reading information from this drive, or path\filename was spelled incorrectly. Cannot select drive x: Origin JCHKDSK Explanation There was an error during reading status information from drive x:. You may receive this message when you forget to insert diskette in floppy-disk drive, or when drive x: is a device driven drive (for example, Secure File System's drive) which has not been mounted, or is temporarily locked. Cannot shrink file. Trying alternate method ... Origin JSIZE Explanation A file I/O error has occurred. In all cases, when DOS fails to continue operation, JSIZE tries to analyze information on host drive manually (bypassing DOS), and finishes this action, or, when it is impossible -- makes undo changes. Try to run NDD or ScanDisk to test your hard disk. Cannot swap drives. DOS FASTOPEN installed. Origin JSWAP Explanation JSWAP has detected a DOS FASTOPEN utility. This program keeps track for locations of most recently used files on disks, so that DOS does not have to navigate along the path every time the file is opened. To swap drives correctly, you should unload the FASTOPEN program or run JSWAP before loading it (for example, using device statement in file CONFIG.SYS). JAM 1.20 User's Guide Page 77 ------------------------------------------------------------------------ Cannot swap drives. Drive x: is a JOINed drive. Cannot swap drives. Drive x: is a SUBSTed drive. Cannot swap drives. Drive x: is a network drive. Cannot swap drives. Drive x: is a phantom drive. Cannot swap drives. Drive x: is an ASSIGNed drive. Origin JSWAP Explanation JSWAP cannot interchange drive letters of non-physical or non-device-driven DOS drives. In most of these cases, you could simply change the letter which is used to create a JOINed, ASSIGNed, or SUBSTituted drive. Cannot swap drives. Invalid drive specification x: Origin JSWAP Explanation Either specified drive does not exists or was spelled incorrectly. Cannot swap drives. Open files on drive x: Origin JSWAP Explanation JSWAP cannot change the name of drive containing open files. Close all files on drive x: and rerun JSWAP. Cannot write sectors #xxx-yyy in file zzzzzzzzzzzz Origin JMAX, JSIZE Explanation An error writing to your physical drive has occurred. To minimize the data loss the following steps should be taken: 1. Unmount all JAM drives which Archive Files located on a defective disk. 2. Run NDD, ScanDisk or other disk-repairing utility on your hard disk. 3. Reboot your computer. 4. Run JCHKDSK /F /T on your JAM drives. JAM 1.20 User's Guide Page 78 ------------------------------------------------------------------------ Cluster #xxx (in directory 'yyyyyyyyyy') has not been taken for directory Origin JCHKDSK Explanation Cluster which is actually a sub-directory, has a [Directory] flag set to OFF in JAM Descriptor Table (see Appendix C for details). The JAM driver cannot set [Directory] flag to a sub-directory cluster only if this cluster has a bad structure. Probably, some sectors in it were corrupted. If this is in case (JCHKDSK shows series of others errors like "Invalid entry name"), you should: 1. Move all correct files from this directory on any other drive. 2. Run JCHKDSK /F and remove all invalid entries in this subdirectory. 3. Use DOS RD/MD commands to delete this subdirectory and create new with the same name. 4. Move all saved files back. If JCHKDSK will find no other defects in this subdirectory, you may either: 1. Run JCHKDSK /F -- to correct [Directory] flag, or: 2. Ensure that there is at least 16K bytes of physical free space on your JAM drive and simply move one of files from this subdirectory to any other one, and then -- move it back to this directory: the JAM driver will correct the [Directory] flag (and if the directory was compressed -- decompress it) itself. or: 3. Ensure that there is at least 16K bytes of physical free space on your JAM drive. Then, change to this subdirectory, and issue these DOS commands: MKDIR XYZ RMDIR XYZ (use any other name if directory named XYZ exists). The JAM driver will correct the [Directory] flag (possibly decompressing the directory) itself. JAM 1.20 User's Guide Page 79 ------------------------------------------------------------------------ Cluster #xxx (in file 'yyyyyyyyyy') cannot be expanded Origin JCHKDSK, JMAX Explanation Compressed data integrity error. If this error is detected by JMAX utility, it stops optimization process and prompts you run JCHKDSK /F/T to check integrity of the other clusters on disk. You could either try to recover some data, which this cluster contains, or clear it. To recover the data you should copy file 'yyyyyyyyyy' on any other drive, using DOS COPY command, and on all messages like: 'Unable to read data from drive x: (Abort,Ignore,Fail)?' answer 'I' - ignore. When this process finishes, you can examine this copy of the file to see if it contain any data you need. If /F switch specified, JCHKDSK will prompt you to clear this cluster. If you answer Y, JCHKDSK sets flag [Allocated] to OFF in JAM Descriptor Table. This flag will mean that this cluster consists of zeros (see Appendix C for details). If you answer N, JCHKDSK keeps this cluster unchanged. Cluster #xxx (in file 'yyyyyyyyyy') has been mistaken for directory Origin JCHKDSK Explanation Cluster which logically belongs to a file, has a [Directory] flag set to ON in JAM Descriptor Table (see Appendix C for details). The JAM driver may set [Directory] flag to a non-subdirectory cluster only if: 1. Data stored in this cluster have very similar structure to one which have the DOS directories, and 2. This cluster (or whole file) was written on disk directly (i.e. bypassing DOS functions). Use JCHKDSK /F to set this flag to off. JAM 1.20 User's Guide Page 80 ------------------------------------------------------------------------ Cluster #xxx (in file 'yyyyyyyyyy') has invalid compression level Cluster #xxx (in file 'yyyyyyyyyy') has invalid location Cluster #xxx (in file 'yyyyyyyyyy') has invalid size Cluster #xxx (in file 'yyyyyyyyyy') is cross linked on sectors #xxx thru #yyy in JAM archive Origin JCHKDSK, JMAX, JSIZE Explanation Cluster has invalid parameter(s) in JAM Descriptor Table (see Appendix C for details). Use JCHKDSK /F to clear (physically deallocate) this cluster. If physically cross-linked clusters were detected, it is highly recommended to rerun JCHKDSK with /T switch to test clusters' readability. This will help you to select and clear only those clusters which actually are damaged (i.e. cannot be expanded). When the JAM driver detects any of these errors itself (either during mounting an archive file, or during any file operation on a compressed drive) it returns to DOS the 'General Failure' error and switches this drive to read-only mode (to minimize the data corruption). So, whenever you find that your JAM drive is switched to read-only mode you should do the following steps: 1. Run JCHKDSK /T on a JAM drive on which the file yyyyyyyyyyy is mounted. 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 such files on any other drive, by DOS COPY command and 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 /W x: to switch a drive in read-write mode. 5. Replace all files which you have corrected by their copies. JAM 1.20 User's Guide Page 81 ------------------------------------------------------------------------ Cluster #xxx (in file 'yyyyyyyyyy') has not been deleted Origin JCHKDSK, JMAX, JSIZE Explanation Cluster which is logically deleted (e.g. has zero entry in FAT), has not a [Deleted] flag set to OFF in JAM Descriptor Table (e.g. occupies certain physical space). JCHKDSK /F will save this cluster as a new file (with name like 'LOST0001.CHK') in the root directory (see also JCHKDSK error 'xxxxxx lost allocation unit(s) found in yyy chain(s)' for comments). Cluster #xxx (in file 'yyyyyyyyyy') has not been undeleted Origin JCHKDSK, JMAX, JSIZE Explanation Cluster which is logically allocated (e.g. has non-zero FAT value), has a [Deleted] flag set to ON in JAM Descriptor Table (see Appendix C for details). Use JCHKDSK /F to correct this flag (or, in case if cluster cannot be undeleted -- to clear this cluster). Cluster #xxx has incorrect FAT value Origin JMAX, JSIZE Explanation FAT entry contains incorrect value. Run JCHKDSK /F /T to specity and fix the error. Cluster #xxx is a compressed subdirectory Origin JMAX, JSIZE Explanation In normal conditions, the JAM driver does not compress subdirectories. Moreover, if such subdirectory exists and you want to create or delete any file in it, the JAM driver will always try to expand and reallocate it before modifying its data. To force the JAM driver expand compressed subdirectory, you should free at least 16K bytes of physical space on the JAM drive, then change to this subdirectory and issue these DOS commands: MKDIR XYZ RMDIR XYZ (use any other name if directory named XYZ exists). JAM 1.20 User's Guide Page 82 ------------------------------------------------------------------------ Clusters #xxx and #yyy have the same FAT value Origin JMAX, JSIZE Explanation Disk contains files cross-linked on FAT level. Run JCHKDSK /F /T to specity and fix the error. DESQview has been detected. Jxxxxx cannot run in a multitasking environment. DR-DOS 6.0 TaskMAX has been detected. Jxxxxx cannot run in a multitasking environment. Origin JCHKDSK, JMAX, JSIZE, JSWAP Explanation DESQview (or DR-DOS TaskMAX) has been detected. Please exit your task switcher and run corresponding JAM utility program (JCHKDSK, JMAX, JSIZE, or JSWAP) from the DOS command line. Warning: If you start JCHKDSK, JMAX, JSIZE, or JSWAP from some non-standard multitasking programs, you may lose data. Disk error #xxx: yyyyyyyyyyyyyyyyy Origin JCHKDSK, JSIZE Explanation An error occurred during direct reading from (writing to) the disk. The following list describes each of the values you may receive as xxx: 13h - attempted write on write-protected disk 14h - unknown unit ID 15h - disk drive not ready 16h - unknown command 17h - disk data error (CRC error) 18h - bad request structure length 19h - disk seek error 1ah - unknown disk media type 1bh - disk sector not found 1dh - write fault error 1eh - read fault error 1fh - general failure Unmount all your JAM drives and try to run NDD, ScanDisk or other standard disk-repairing utility on your hard disk. JAM 1.20 User's Guide Page 83 ------------------------------------------------------------------------ Drive x: is not a JAM device. Origin JMOUNT, JMAX Explanation Specified (or default) drive is not a JAM drive. To show the map of all existing JAM drives you may run JMOUNT utility without parameters Drive/pathname: xxxxxxxxxxxx redirected to: yyyyyyyyyyyy Origin JDIR Explanation This message may appear if you run JDIR on a JOINed, SUBSTituted, ASSIGNed, or networked drives. In all such cases yyyyyyyyyyyy means 'true' pathname that would be needed if the drive/path were not redirected as xxxxxxxxxxx. Drives should be different. Origin JSWAP Explanation JSWAP cannot interchange the drive letter with itself. Entry 'xxxxxxxxxx' has a bad attribute Origin JCHKDSK Explanation Entry has incorrect combination of file attributes (for example, Sub-directory and Volume Label). Run JCHKDSK /F to correct this problem. Entry 'xxxxxxxxxx' has invalid first cluster Origin JCHKDSK Explanation File or directory has an invalid link to the File Allocation Table. JCHKDSK /F could only remove such entry. Nevertheless, if the FAT still contains a valid allocation chain, JCHKDSK will assign to it a file like LOST0001.CHK in the root directory. See also JCHKDSK error 'xxxxxx lost allocation unit(s) found in yyy chain(s)' for further details. JAM 1.20 User's Guide Page 84 ------------------------------------------------------------------------ Entry 'xxxxxxxxxx', points into 'yyyyyyyyyy' Origin JCHKDSK Explanation First cluster of entry xxxxxxxxxx points into disk area already occupied by file yyyyyyyyyy. Use JCHKDSK /F to remove this entry. DO NOT use DOS's DEL command! Entry has a bad name 'xxxxxxxxxx' Origin JCHKDSK Explanation The directory has entry with invalid filename. Use JCHKDSK /F to remove this entry. Entry has a duplicated name 'xxxxxxxxxx' Origin JCHKDSK Explanation The directory has at least two entries with the same names. Currently you have access only to the first entry in such directory (which contains duplicated filenames). To have access to second entry (file or directory) you should rename first one (for example, using DOS RENAME command). File 'xxxxxxxxxx' already exists Origin JCREATE Explanation Specified file already exist. You should use another name (or path), or delete existing file if you have just created it by running JCREATE with wrong parameters. File 'xxxxxxxxxx' can be extended only on yyyyyyK bytes. File 'xxxxxxxxxx' can be shrunk only on yyyyyyK bytes. File 'xxxxxxxxxx' cannot be extended. File 'xxxxxxxxxx' cannot be shrunk. Origin JSIZE Explanation Specified [+|-]size parameter is out of range, or file cannot be extended (shrunk) any more. JAM 1.20 User's Guide Page 85 ------------------------------------------------------------------------ File 'xxxxxxxxxx' has allocation error !!! Origin JDIR Explanation File xxxxxxxxx seriously damaged. Possible one of the following allocation errors: 1. File has invalid starting cluster number 2. One of entries in FAT chain has invalid value 3. One of entries in FAT chain is marked as bad cluster 4. One of entries in FAT chain makes a circular link 5. File size/ length of FAT chain mismatch Run JCHKDSK /F to specity and fix the error. File 'xxxxxxxxxx' has a bad link Origin JCHKDSK Explanation File or directory xxxxxxxxxxx has an invalid link in FAT chain. If you specify the /F parameter, JCHKDSK will truncate this file at the last valid cluster. File 'xxxxxxxxxx' has a circular link Origin JCHKDSK Explanation Circular link found in file xxxxxxxxxxx. Use JCHKDSK /F to break the loop in FAT chain. File 'xxxxxxxxxx' has invalid size. Origin JCHKDSK Explanation File size/ length of FAT chain mismatch. Use JCHKDSK /F to adjust file size to the amount of space it occupies on the disk. JAM 1.20 User's Guide Page 86 ------------------------------------------------------------------------ File 'xxxxxxxxxx' has too long FAT chain. Origin JCHKDSK Explanation The amount of space occupied by the file xxxxxxxxxxx (length of FAT chain) is larger than its size (value described in directory entry). Using JCHKDSK /F you could either truncate FAT chain, or continue checking assuming that FAT contains true information. In the second case JCHKDSK will prompt you to correct file size (see previous message). File 'xxxxxxxxxx' is empty. Origin JCHKDSK Explanation This warning may appear if you run JCHKDSK /E. Some of empty files could be left on your disk since system hangs, crashes, etc. If /F switch also specified JCHKDSK will prompt you to remove such files. File 'xxxxxxxxxx' is not a JAM Archive. Origin JMOUNT, JSIZE Explanation Either specified file has never been a JAM Archive, or it is a seriously damaged JAM File. In the latter case, you should contact us for technical support. File 'xxxxxxxxxx' not found. Origin JMOUNT, JSIZE, JCMD Explanation Either specified file does not exist or spelled incorrectly. To activate JAM drive or to change its size, you should specify the name of corresponding Archive File as an essential parameter. To install JAM command interceptor (JCMD utility), you should be sure that program files JDIR.COM and JCHKDSK.COM will be found in current (or specified in command line) directory. JAM 1.20 User's Guide Page 87 ------------------------------------------------------------------------ File 'xxxxxxxxxx' size/FAT chain mismatch. Origin JMOUNT Explanation Specified JAM archive file (and host drive's file system) is seriously damaged. Try to recover file xxxxxxxxxxxx manually (using Norton Utilities' DISKEDIT or other low-level disk-analyzing program), and then do the following steps: 1. Unmount all JAM drives which Archive Files are on a defective disk. 2. Run NDD, ScanDisk or other standard disk-repairing utility on your hard disk. 3. Reboot your computer. 4. Run JCHKDSK /F /T on your JAM drives. File 'xxxxxxxxxx' too fragmented. Origin JMOUNT Explanation JAM driver is able to handle archive files which consist of up to 16 separate contiguous areas upon the host drive. A file which 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. JAM 1.20 User's Guide Page 88 ------------------------------------------------------------------------ File not found. Origin JDIR Explanation File(s) not matched in a directory, or specified directory is empty. To show list of ALL files (including special system and hidden files) a in subdirectory you could rerun JDIR with /A switch: JDIR pathname\*.* /A File search error. Origin JCMD Explanation Either specified drive does not exist, or drive\pathname was spelled incorrectly. Files 'xxxxxxxxxx' and 'yyyyyyyyyyy' are cross linked on allocation unit #zzzz. Origin JCHKDSK Explanation Files or directories are recorded as using the same disk space. JCHKDSK will not fix a cross-linked files, even if you specify the /F switch. To fix a cross-linked file, copy the specified files or directories elsewhere and delete the originals. Some of the information in these files may be lost. JAM 1.20 User's Guide Page 89 ------------------------------------------------------------------------ Host drive error #xxx. Origin JMOUNT, JCHKDSK Explanation An error reading (or writing) physical drive has occurred. To minimize the data loss the following steps should be taken: 1. Unmount all JAM drives which Archive Files are on a defective disk. 2. Run NDD, ScanDisk or other standard disk-repairing utility on your hard disk. 3. Reboot your computer. 4. Run JCHKDSK /F /T on your JAM drives. Incompatible JAM Archive File version. Origin JMOUNT, JSIZE Explanation Specified JAM Archive file is created by incompatible version of the JCREATE utility. You should either reinstall the latest release of the JAM package you have, or (if this error appears again) you could contact us to get the latest official version. Incompatible sector size on drive x: Origin JCREATE, JMOUNT, JSIZE Explanation JAM driver does not support devices with non-standard sector size (almost all hard-disks use 512-bytes sectors). You may receive this error working with some hard disk partitioning programs (like SpeedStor or Disk Manager), or RAM-disk utility (like PC-DOS, DR-DOS, or Novell DOS's VDISK.SYS or MS-DOS's RAMDRIVE.SYS driver. In most cases, it is possible to make these programs use 512-bytes sectors (refer to your DOS or Disk Manager User's Guide for details). JAM 1.20 User's Guide Page 90 ------------------------------------------------------------------------ Incorrect DOS version. Origin All JAM utility programs. Explanation The JAM has NOT been tested with version of DOS that your computer has now. JAM 1.20 is fully compatible with the following Disk Operating Systems (Control Programs): 1. PC-DOS 3.30, 5.02, 6.01, 6.3 2. MS-DOS 3.30, 4.01, 5.0, 6.0, 6.2, and 7.0beta (January 1994) 3. Compaq DOS 3.31, 5.0 4. DR-DOS 6.0 (April 1992 and earlier releases) 5. Novell DOS 7, 7.1 If you have newer release of MS-DOS, PC-DOS or Novell DOS, please contact us for upgrade information. Incorrect DOS OEM number. Origin JAM.SYS Explanation Your computer has a DOS with uncommon OEM number. JAM device driver accepts any MS-DOS-compatible Operating Systems with version 3.30-7.0 and with the following OEM signatures: 00h - IBM 01h - Compaq 0Dh - Packard-Bell 0FFh - Microsoft If you have received this message, you should contact us for upgrade information. Incorrect JAM driver version. Origin JCMD, JMOUNT, JDIR, JCHKDSK, JSIZE, JSWAP Explanation You have incompatible versions of the JAM device driver (file JAM.SYS) and its utility programs (like JMOUNT, JDIR, JCHKDSK, JSIZE, JSWAP, or JCMD). You should either reinstall the latest release of the JAM package you have, or (if this error appears again) you could contact us to get the latest official version. JAM 1.20 User's Guide Page 91 ------------------------------------------------------------------------ Incorrect maximum file size (/X) parameter. Origin JCREATE Explanation The maximum size of extendable JAM archive specified incorrectly. The maxsize value should always be greater than 392K bytes and less than or equal to 512M bytes. The upper limit should also be less or equal to the capacity of the host drive (i.e. you cannot create an archive with maxsize=512M on 128M drive). Incorrect parameter: xxxxxxxxxx Origin All JAM utility programs Explanation The specified parameter is not supported by the utility or specified value is out of range. Look for corresponding section in Chapter 4. 'Command Reference' or rerun your utility program with /? (or /h) switch for help. Insufficient memory. Origin JAM.SYS Explanation Insufficient memory to install the JAM driver. Try reduce number of buffers (/A and /B parameters), and restart system. You may also receive this message if you have tried to load JAM Driver high with some unsupported memory management software (currently MS-DOS, PC-DOS, DR-DOS and Novell DOS EMM386.SYS drivers were tested, as well as QEMM, 386MAX, etc.). If the problem disappears when loading driver low, please contact us for upgrade information. Insufficient room in root directory. Origin JCHKDSK Explanation JCHKDSK cannot add entry (usually to save lost chains) to the root directory. Move some files from root directory and repeat JCHKDSK. JAM 1.20 User's Guide Page 92 ------------------------------------------------------------------------ Invalid '.' and '..' entries Origin JCHKDSK Explanation Either directory is totally empty, or it does not contain '.' and '..' entries, or information stored in them is not correct. Run JCHKDSK /F to reconstruct these entries. In a subdirectory, the first two entries, (.) and (..), are not really files, but part of DOS's bookkeeping. They are pointers to where this subdirectory and its parent directory are on disk. The (.) file points to itself (its starting cluster is the same as the actual cluster location of the subdirectory "file" on the disk). The (..) file points to where it came from (its parent directory). Invalid (or DOS reserved) file name: xxxxxxxxxxxx Origin JCREATE, JMOUNT, JSIZE Explanation Specified filename cannot be resolved to fully qualified form (drive:\path\filename.ext). You may receive this message if specified drive does not exist, path\filename was spelled incorrectly, or if you have specified some MS-DOS reserved name (for example, PRN, CON, NUL, CLOCK$ ...). Invalid boot record in JAM Archive file: xxxxxxxxxxxx Invalid boot record on JAM drive y: Origin JMOUNT, JSIZE, JDIR, JMAX Explanation The JAM file xxxxxxxxxxxx (or drive y:) has invalid boot record parameters. Either file xxxxxxxxxxx (or drive y:) is seriously damaged or it is not a JAM file (drive). Files (drives) that have been damaged in this way cannot be recovered automatically. Refer to the Appendix C for technical information. JAM 1.20 User's Guide Page 93 ------------------------------------------------------------------------ Invalid combination of command line switches. Origin JMOUNT, JCHKDSK Explanation Specified switch does not supported by JMOUNT or two of specified switches cannot be used simultaneously. Look for corresponding section in Chapter 4. 'Command Reference' or run your utility program with /? switch for help. Invalid disk parameters in boot record. Origin JCHKDSK Explanation Some logical characteristics of your disk found in Boot Sector appear to be incorrect. JCHKDSK cannot perform further testing. Invalid drive in JAM Archive File specification: xxxxxxxxxxx Origin JMOUNT Explanation Specified filename contains invalid host drive specification. Invalid drive specification x: Origin JCREATE, JMOUNT, JDIR, JCHKDSK, JSWAP Explanation Specified drive does not exist, or it was spelled incorrectly. To show the map of all existing JAM drives you may run JMOUNT utility without parameters Invalid parameter: xxxxxxxx Invalid switch: xxxxxxxx Origin All JAM utility programs Explanation The specified parameter or switch is not supported by the utility or specified value is out of range. Look for corresponding section in Chapter 4. 'Command Reference' or run your utility program with /? switch for help. JAM 1.20 User's Guide Page 94 ------------------------------------------------------------------------ Invalid signature in boot record. Origin JCHKDSK Explanation The drive is missing End of Boot Record signature (55AAh). Run JCHKDSK /F to fix this problem. JAM Archive File specification expected. Origin JMOUNT Explanation Name of the JAM-file was omitted or spelled incorrectly. To mount the JAM drive, you should specify its Archive File as an essential parameter. JAM Archive File xxxxxxxxxxx already mounted as drive y: Origin JMOUNT Explanation You CANNOT mount a JAM Archive File as two or more JAM drives. To associate files on the JAM drive with different path or drive letter you could use DOS's ASSIGN, JOIN, or SUBST commands. See your DOS User's Guide for details. JAM Archive file xxxxxxxxxx cluster size too large. Origin JMOUNT Explanation The JAM file xxxxxxxxxx has larger cluster size than JAM.SYS driver is currently supported. Add /C=8 to the JAM.SYS line in CONFIG.SYS and reboot. JAM 1.20 User's Guide Page 95 ------------------------------------------------------------------------ JAM Archive file xxxxxxxxxxx structure error - mounted read-only. Origin JMOUNT Explanation 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 a JAM drive on which the file xxxxxxxxxxx is mounted. 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 such files on any other drive, by DOS COPY command and 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 /W x: to switch a drive in read-write mode. 5. Replace all files which you have corrected by their copies. JAM drive x: already mounted. Origin JMOUNT Explanation Specified JAM drive already mounted. Run JMOUNT /D x: to deactivate this drive and run JMOUNT again to attach new Archive File to the JAM drive x: JAM drive x: already unmounted. Origin JMOUNT Explanation Specified JAM drive already unmounted. JAM 1.20 User's Guide Page 96 ------------------------------------------------------------------------ JAM drive x: locked. Origin JMOUNT, JCHKDSK, JMAX Explanation Specified JAM drive is locked by another JAM utility (for example, by JMAX or JCHKDSK). You may receive this message if you run JMOUNT from a multitasking program other than MS-Windows, DESQview, MS-DOS Task Switcher, or DR-DOS TaskMAX. Check out the other sessions of your task manager, and wait while JMAX or JCHKDSK finishes its work. JAM drive x: mounted read-only. Origin JMAX Explanation JMAX cannot optimize read-only mounted JAM drives. Run JMOUNT /W x: to enable write on drive x:. JAM drive x: not mounted. Origin JCHKDSK, JMAX Explanation Specified JAM drive not mounted. Mount a JAM archive file to the drive x: (using JMOUNT utility) and rerun JCHKDSK (or JMAX). JAM driver not installed. Origin JMOUNT, JMAX Explanation JMOUNT (or JMAX) cannot perform any action (except displaying help screen -- on /? switch) without JAM driver in memory. Install JAM driver (using device statement in CONFIG.SYS file) and rerun JMOUNT. JAM 1.20 User's Guide Page 97 ------------------------------------------------------------------------ JAM file size/boot record parameters mismatch. Origin JMOUNT, JSIZE Explanation Either your host drive file system is seriously damaged, or file has invalid parameters in boot record. To check the host drive file system run NDD, ScanDisk or other standard disk repairing utility. If it will not detect any problem -- try to learn the contents of archive file's boot sector. Refer to the Appendix C for technical information. JAM file xxxxxxxxx mounted as drive y: Please, deactivate this file (type JMOUNT /D y:), and then rerun JSIZE. Origin JSIZE Explanation JSIZE cannot resize an active JAM archive file. Deactivate this file (type JMOUNT /D y:), and then rerun JSIZE. JAM-drive specification expected. Origin JMOUNT Explanation JMOUNT cannot determine to which JAM drive specified action (/D, or /U switches) refers. To reset, or unmount the JAM drive, you should specify the JAM drive letter as an essential parameter. JAM-driver already installed. Origin JAM.SYS Explanation Your CONFIG.SYS file has at least two lines that initialize JAM.SYS device driver. You may load the JAM driver only once. To support more than one JAM drive use /M switch. JCMD already installed. Origin JCMD Explanation You cannot install JCMD command interceptor twice. To remove JCMD from memory type: JCMD /R. JAM 1.20 User's Guide Page 98 ------------------------------------------------------------------------ JCMD cannot be removed. Origin JCMD Explanation JCMD cannot be removed from memory due to another TSR program, loaded after JCMD. JCMD is not installed. Origin JCMD Explanation You cannot remove JCMD since it is not installed. To install JCMD type: JCMD /I. Jxxxxxx aborted Origin JCHKDSK, JCREATE, JMAX, JSIZE Explanation Control-C or Control-Break key was pressed. Logical drive size too big (> XXX Mbytes) Try to specify smaller physical size (/S), or expected compression ratio (/R) Origin JCREATE Explanation Specified combination of /C, /S and /R parameters produces too big logical drive size. Because number of clusters on standard DOS drives cannot be greater than 65526 (hex FFF6), maximum logical sizes of JAM drives with 4K and 8K clusters are 256M and 512M bytes respectively. Try to specify larger cluster size (/C switch), or smaller physical size (/S switch), or larger expected compression ratio (smaller value for /R switch). JAM 1.20 User's Guide Page 99 ------------------------------------------------------------------------ MS-DOS Task Switcher has been detected. Jxxxxxx cannot run in a multitasking environment. Origin JCHKDSK, JMAX, JSIZE, JSWAP Explanation MS-DOS Task Switcher has been detected. Please exit your task switcher and run corresponding JAM utility program (JCHKDSK, JMAX, JSIZE, or JSWAP) from the DOS command line. Warning: If you start JCHKDSK, JMAX, JSIZE, or JSWAP from some non-standard multitasking programs, you may lose data. Maximum logical archive size too big (> xxxMbytes). Origin JCREATE Explanation Specified combination of /C, /X and /R parameters produces too big maximum logical archive size. Try to specify larger cluster size (/C switch), or smaller extended file size (/X), or larger expected compression ratio (in terms of space usage -- /R switch). Media Descriptor Byte is invalid. Origin JCHKDSK Explanation The Media Descriptor Byte, located in the FAT, contains invalid information. The disk is either not a DOS disk or the Media Descriptor Byte has become corrupt. Use JCHKDSK with /F parameter to correct this value. Name of the JAM Archive File expected. Origin JCREATE, JSIZE Explanation Name of the JAM archive file was omitted or spelled incorrectly. To create new JAM Archive (using JCREATE utility), or to change the size of an existing JAM Archive (using JSIZE utility), you should specify its file name as an essential parameter. JAM 1.20 User's Guide Page 100 ------------------------------------------------------------------------ No available JAM drive(s). Origin JMOUNT Explanation All JAM drives are mounted. Dismount one of them, or increase number of JAM drives by specifying larger /M parameter for JAM.SYS driver in your CONFIG.SYS file. Not enough memory. Origin JDIR, JCHKDSK, JMAX, JSIZE Explanation Not enough memory to read and analyze disk structures. JCHKDSK and JDIR read FAT, JDT (for JAM drives), and all (or selected by path/file specificetion) sub- directories on disk. For example, on a PC with 640K of free DOS memory JDIR can analyze disk with up to 4K subdirectories, containing up to 16K matching files. JMAX and JSIZE keep in memory only FAT, JDT, and some additional tables. For example, to analyze the maximum possible JAM archive (512M bytes of logical space) JMAX (or JSIZE) will need approximately 384K bytes of conventional memory. Try making more memory available to your JAM utility. If this does not solve the problem then reduce the scope of your command and try again. Novell DOS 7 Task Manager has been detected. Jxxxxxx cannot run in a multitasking environment. Origin JCHKDSK, JMAX, JSIZE, JSWAP Explanation Novell DOS 7 Task Manager has been detected. Please exit your task switcher and run corresponding JAM utility program (JCHKDSK, JMAX, JSIZE, or JSWAP) from the DOS command line. Warning: If you start JCHKDSK, JMAX, JSIZE, or JSWAP from some non-standard multitasking programs, you may lose data. JAM 1.20 User's Guide Page 101 ------------------------------------------------------------------------ Overlapped clusters #xxx and #yyy Origin JMAX, JSIZE Explanation JMAX (or JSIZE) has detected physically cross-linked clusters on JAM archive. Run JCHKDSK /F /T to check integrity of compressed data on disk and repair this problem. Path x:\yyyyyyyyyy not found. Origin JDIR Explanation Specified directory does not exist. To show list of all subdirectories on disk you could type: JDIR /A+D /B /S x:\ where x: means your drive letter. Probable non-DOS disk. Origin JCHKDSK Explanation The JCHKDSK utility cannot analyze non-DOS drives (which have non-DOS file organization). Specified file(s) not found. Specified path not found. Origin JCHKDSK Explanation Specified location or name(s) of file(s) for JCHKDSK fragmentation analysis was spelled incorrectly. JAM 1.20 User's Guide Page 102 ------------------------------------------------------------------------ Stacker x.yy has been detected. Origin JAM.SYS Explanation JAM device driver has detected Stacker data comression utility. Load the JAM driver before Stacker in your CONFIG.SYS file. Sub-directory 'xxxxxxxxxxx' has a bad size Origin JCHKDSK Explanation The sub-directory has invalid length. JCHKDSK /F is able to correct this value. Sub-directory 'xxxxxxxxxxxx' cannot be expanded Origin JCHKDSK Explanation Compressed subdirectory integrity error. In this case directory tree past this point will not be processed, and therefore, all files which were stored in it will be recognized as LOST chains. See also JCHKDSK error 'xxxxxx lost allocation unit(s) found in yyy chain(s)' for comments. Sub-directory 'xxxxxxxxxxxx' has been compressed Origin JCHKDSK Explanation In normal conditions, the JAM driver does not compress subdirectories. Moreover, if such subdirectory exists and you want to create or delete any file in it, the JAM driver will always try to expand and reallocate it before modifying its data. To force the JAM driver expand compressed subdirectory, you should free at least 16K bytes of physical space on the JAM drive, then change to this subdirectory and issue these DOS commands: MKDIR XYZ RMDIR XYZ (use any other name if directory named XYZ exists). JAM 1.20 User's Guide Page 103 ------------------------------------------------------------------------ Sub-directory 'xxxxxxxxxxxx' has not been allocated Origin JCHKDSK Explanation Cluster which is actually a sub-directory, has a [Allocated] flag set to OFF in JAM Descriptor Table (see Appendix C for details). Such situation can occur if you will try to create a subdirectory on a almost full JAM drive. Use DOS RD command or JCHKDSK /F to remove this subdirectory. If you want to create a correct subdirectory, you should be sure that there is at least 8K bytes of physical free space. The FAT copies mismatch. Origin JCHKDSK Explanation Each copy of the File Allocation Table (FAT) should be exactly the same. If an error occurs while DOS is updating the FATs, they may get out of synchronization with each other, resulting in data loss. To check (and correct) this situation you could run JCHKDSK with /C (and /F) switch. There are only xxxxxxx bytes free on drive z: Origin JCREATE Explanation Specified file size (/S parameter) is larger than amount of free space on drive you want to use to create Archive File. There are open files on drive x: Origin JMOUNT, JCHKDSK, JSIZE, JSWAP Explanation JAM utility has detected open files on drive x:. Close all files on drive x: before running your JAM utility program. JAM 1.20 User's Guide Page 104 ------------------------------------------------------------------------ There is no available entries in root directory. Overwrite deleted entries [Y/N] ? Origin JCHKDSK Explanation JCHKDSK cannot add new entry (to save lost chains) to the root directory. Answer Yes to overwrite deleted entries, or No -- to stop lost chain recovering process. In the last case you should move some files from root directory and repeat JCHKDSK. Too many matching files. Origin JDIR Explanation Not enough memory to read and sort information about files on disk. JDIR reads FAT, JDT (for JAM drives), and all selected by path/file specificetion subdirectories on disk. For example, on a PC with 640K of free DOS memory JDIR can analyze disk with up to 4K subdirectories, containing up to 16K matching files. Try making more memory available to JDIR utility. If this does not solve the problem then reduce the scope of your command and try again. Windows 3.0 in Real or Standard mode has been detected. Jxxxxxx cannot run in a multitasking environment. Windows 3.xx in Enchanced Mode has been detected. Jxxxxxx cannot run in a multitasking environment. Origin JCHKDSK, JMAX, JSIZE, JSWAP Explanation Microsoft Windows has been detected. Please exit Windows and run corresponding JAM utility program (JCHKDSK, JMAX, JSIZE, or JSWAP) from the DOS command line. Warning: If you start JCHKDSK, JMAX, JSIZE, or JSWAP from some non-standard multitasking programs, you may lose data. JAM 1.20 User's Guide Page 105 ------------------------------------------------------------------------ xxxxxx lost allocation unit(s) found in yyy chain(s). Convert lost chains to files? Origin JCHKDSK Explanation JCHKDSK found 'yyy' FAT chains which have not been assigned to directory entries, and therefore are inaccessible. If you answer Y, CHKDSK collects the lost clusters into files with the name LOSTnnnn.CHK (where nnnn is a number between 0000 and 9999) in the root directory. As long as these files are not in binary format you may be able to look at them using the EDIT or the TYPE command, recover any valuable data they contain, and then delete them. If you answer N, CHKDSK frees the lost clusters so that they can be used when new files are created. JAM 1.20 User's Guide Page 106 ------------------------------------------------------------------------ Appendix C. JAM technical information ============================================= C.1. JAM drive structure On logical level the JAM devices have absolutely the same structure as standard DOS disks. At the very beginning (sector # 0) they contain standard Boot Record; next sectors represents one or two copies of DOS File Allocation Table (FAT); then there are 4, 8, or 16 sectors of Root Directory, and finally -- clusters of files and subdirectories on logical disk. N Disk area Size (in sectors) --- -------------------- ---------------------------- 1. Boot Sector(s) ReservedSectors 2. FAT#1 ... FAT#N FatSize * FatCount 3. Root Directory (RootEntries * 32) /SectorSize 4. Data Clusters. MaxCluster * ClusterSize But, such a standard disk layout is just a result of following DOS disk structure conventions. Our main concern is about how the compressed data is actually stored on disk. The disk space is allocated by DOS in a units of clusters. To ensure maximum speed and reliability, JAM driver compresses each cluster independently. The size of compressed cluster can be different, depending on the compression ratio and the amount of data actually contained in the cluster (remember that file with size of 1 byte occupies 1 cluster in DOS!). To achieve actual space savings, JAM stores each compressed cluster in a number of (continuous) physical disk sectors. So, to read a portion of a file by its cluster number (given by DOS), JAM driver should find where on the disk the compressed cluster is located, and what is its size. To store such information, JAM needs a separate table for it. This table is called the JAM Descriptor Table (JDT). For each cluster (either allocated or free), this table contains the cluster's compressed size (in sectors), starting location (as a sector number), compression method used, and some status flags. This table is stored just before first FAT, inside boot sectors. (Normal DOS disks contain only 1 sector in Boot Sectors area. Therefore, this sector is often called just a Boot Sector. The JAM uses this area to store a Boot Sector, followed by JDT entries.) JAM 1.20 User's Guide Page 107 ------------------------------------------------------------------------ JAM Archive File structure: N Area Size (in sectors) --- -------------------- ---------------------------- 1. Boot Sector 1 + 2. JAM Descriptor Table (MaxCluster * 4) /SectorSize ------------------------------ ReservedSectors 3. FAT#1 ... FAT#N FatSize * FatCount 4. Root Directory (RootEntries * 32) /SectorSize 5. Compressed Data Area. MaxCluster * ClusterSize /ExpectedCompRatio = CompDataSectors The format of the JAM Drive Boot Sector (which is an extension over standard DOS 4.0+ Boot Sector format) and JAM Descriptor Table is given below. Format of the JAM boot sector Offset Size Description 00h 3 BYTEs near jump to start of boot code 03h 8 BYTEs *OEM company name and version ('JAM x.yy', x.yy - version) 0Bh 25 BYTEs extended BIOS parameter block (BPB) 24h BYTE physical driver number (0 = floppy, 80 = hard disk) 25h BYTE reserved 26h BYTE extended boot record signature 27h DWORD volume serial number 2Bh 11 BYTEs volume label 36h 8 BYTEs file system ID 3Eh DWORD *compressed data area size (in sectors) 42h 2 BYTEs *reserved 44h DWORD *maximum total number of sectors on drive \ before archive 48h DWORD *maximum compressed data area size / was shrunk 4Ch 64 BYTEs *encrypted password 8Ch 370 BYTEs boot code 1FEh WORD end of boot sector signature (55AAh) JAM 1.20 User's Guide Page 108 ------------------------------------------------------------------------ Format of the JAM cluster descriptors (4-bytes cells of the JAM Descriptor Table) Offset Size Description 00h BYTE cluster size (in sectors) bits 0..3: cluster size - 1 flags (cluster type) bit 4: reserved (always sets to 0) bit 5: Directory bit 6: Deleted bit 7: Allocated 01h BYTE starting sector number (high 4 bits) bits 0..3: (starting sector >> 16) & 0Fh compression level bits 4..6: 0 - real-time compression (built-in driver algorithm) 1 - normal compression 2 - maximum compression (built-in JMAX algorithms) 3..7 - reserved compression flag bit 7: (0 - cluster stored/1 - compressed) 02h WORD starting sector number (low word) It should be noted that besides of cluster allocation information (cluster size and starting sector number), descriptor also has several flags which are used by the JAM driver to determine the type and current status of the cluster. When flag [Allocated] is set to 0, the cluster is considered EMPTY (i.e. containing zeros), and the other parameters in descriptor are ignored. All clusters which have been written to the JAM drive (and therefore use some physical space in JAM archive), must have [Allocated] flag set. The flag [Deleted] is used to indicate that cluster was deleted. When DOS removes cluster (i.e. sets corresponding entry in FAT to 0), the JAM driver sets [Deleted] flag to 1. Then if you run some UnDelete utility (e.g. Central Point Software's Undelete, or Norton Utilities' Unerase), JAM.SYS analyzes the integrity of data in this cluster, and if they have not been overwritten, JAM driver sets the [Deleted] back to 0, thus, making it possible to undelete files on JAM drives. JAM 1.20 User's Guide Page 109 ------------------------------------------------------------------------ The [Directory] flag means that cluster contains subdirectory information. To make access to subdirectories more reliable and fast, the JAM driver does not compress such clusters. Moreover, if (under no normal reasons) compressed subdirectory exists, JAM.SYS will always expand it automatically. Finally, JAM descriptor contains information on the compression method used to pack the cluster. Actually, the JAM system incorporates several compression algorithms, which differ by compression ratio/speed tradeoff. The JAM driver includes the fastest (real-time) algorithm, which internal number is 0. Two other methods (slower, but better on compression ratio) are built in JMAX utility (its numbers are 1 and 2 respectively). The numbers 3..7 are reserved for future algorithms. JAM 1.20 User's Guide Page 110 ------------------------------------------------------------------------ C.2. JAM device driver In order to better understand how the JAM works, let us review how DOS operates with your application software to read and write data on your hard disk. General Data Flow Control under DOS can best be illustrated as: ,----------------------------. | Application Programs | `-------------/\-------------' (1) :: ,-------------------\/-------------------. | DOS Kernel | `-------------------/\-------------------' (2) :: ,-----------------------\/-----------------------. | Disk Device Driver | `-----------------------/\-----------------------' (3) :: ,-------------\/-------------. | Disk BIOS (Int 13h) | `-------------/\-------------' (4) :: ,-------\/-------. | Hard Disk | `----------------' where: Application - is your software program; DOS Kernel - is a main part of the Disk Operating System; Disk Device Driver - is the system control program assigned by DOS to interface to your hard disk device. The reading of data from your hard disk consist of four steps: 1. Application <--> DOS Kernel Read data from hard disk C: 2. DOS Kernel <--> Device Driver for drive C: Read nn sectors starting at sector xxxx from logical drive #2 3. C:'s Device Driver <--> Disk BIOS Read nn sectors starting at from a hard disk 4. Disk BIOS <--> Hard disk Perform series of hardware-depended operations to read information recorded on a hard disk. JAM 1.20 User's Guide Page 111 ------------------------------------------------------------------------ The writing of data to your disk also consists of four steps: 1. Application <--> DOS Kernel Write data to hard disk C: 2. DOS Kernel <--> Device Driver for drive C: Write nn sectors starting at sector xxxx to logical drive #2 3. C:'s Device Driver <--> Disk BIOS Write nn sectors starting at to a hard disk 4. Disk BIOS <--> Hard disk Perform series of hardware-depended operations to record information on a hard disk. The JAM reorganizes requests to the Hard Disk Device Driver, and acts as the Device Driver for the JAM logical drive. In addition, the JAM compresses (during write) and decompresses (during read) the data written to or read from the JAM drive. Data Flow Control when using the JAM can be (with some simplifications) illustrated as: ,------------------------------------------. ,,===================.. | User's Application Programs | || JAM Utilities || `--/\-----------------/\---------------/\--' ``=/\================'' (1) :: (7) :: (9) :: (11) :: ,,=====\/======.. ,,=====\/======.. ,,===\/========\/=.. ,,=============.. || JAM Int 21h || || JAM Int 24h || || JAM Int 2Fh || || JAM Int 2Ah || ``===/\===/\==='' ``===/\===/\==='' ``===/\======/\==='' ``===/\===/\==='' (2) :: || (8) :: || (10) :: || (12) :: || ,----\/-----------------\/-----------------\/--------------------\/---------. | DOS Kernel | `-------------------------------------/\------------------------------------' (3) || || :: || || ,,=======\/=================\/=======\/===========\/=================\/==.. || JAM Driver || ``===================================/\=================================='' (4) :: ,------------------------\/-----------------------. | Host Disk Driver | `------------------------/\-----------------------' (5) :: ,-------------\/-------------. | BIOS (Int 13h) | `-------------/\-------------' (6) :: ,-------\/-------. | Hard Disk | `----------------' JAM 1.20 User's Guide Page 112 ------------------------------------------------------------------------ where: JAM Int 21h/24h/2Ah/2Fh - are the JAM.SYS interrupt handlers JAM Driver - is a main part of the JAM.SYS program, which simulates JAM Logical Drives JAM Utilities - the others programs used the JAM API interface (see the next section for details) The reading of data from your JAM drive consist of six steps: 1. Application <--> JAM Int 21h Read data from the JAM drive J:. JAM Int 21h tracer simply passes request to the DOS kernel (and forwards the DOS error code back to Application). 2. JAM Int 21h <--> DOS Kernel Read data from the JAM drive J:. 3. DOS Kernel <--> J:'s JAM Driver Read nn sectors starting at sector xxxx from JAM logical drive. JAM driver analyses JDT to find location of the compressed data on JAM archive, calls the Host Disk driver to read them, decompresses them and passes back to DOS Kernel for application program. 4. J:'s JAM Driver <--> Host Disk (C:)'s Device Driver Read nn sectors starting at sector xxxx from hard disk logical drive #2 5. Host Disk (C:)'s Device Driver <--> Disk BIOS Read nn sectors starting at from a hard disk 6. Disk BIOS <--> Hard disk Perform series of hardware-depended operations to read information recorded on a hard disk. The writing of data to your JAM drive also consists of six (main) steps: 1. Application <--> JAM Int 21h Write data to the JAM drive J:. JAM Int 21h tracer passes request to the DOS kernel. When DOS finishes this operation, JAM Int 21h tracer analyzes state of the JAM drive, and if it is needed (for example, when archive file is almost full) -- calls DOS and JAM driver again to flush its buffers (to perform file system synchronization). Finally, JAM Int 21h tracer forwards the DOS error code back to Application. 2. JAM Int 21h <--> DOS Kernel Write data on the JAM drive J:. JAM 1.20 User's Guide Page 113 ------------------------------------------------------------------------ 3. DOS Kernel <--> J:'s JAM Driver Write nn sectors starting at sector xxxx on JAM logical drive. JAM driver splits requested sectors area [xxxx..xxxx+nn] on series of logical clusters [yy..yy+m] which cover this region. For each cluster, JAM.SYS gets corresponding JDT entry to determine if the cluster was already written (allocated) on disk, and its allocation parameters. In case if cluster was already allocated and JAM.SYS should modify only part of it, the clusters data will be read, then expanded (if it was stored in a compressed form), updated, compressed again, and finally -- physically written on archive. If the cluster is empty, or JAM.SYS should modify all its sectors, the cluster's data will be simply compressed and written on archive. To write data on archive (or to read them from), the JAM driver calls the Host Disk driver. 4. J:'s JAM Driver <--> Host Disk (C:)'s Device Driver Write nn sectors starting at sector xxxx to hard disk logical drive #2 5. C:'s Device Driver <--> Disk BIOS Write nn sectors starting at to a hard disk 6. Disk BIOS <--> Hard disk Perform series of hardware-depended operations to record information on a hard disk. Some additional steps will be taken when current write request cannot be successfully performed. For example, JAM Int 24h tracer may be activated (steps 7 and 8) to handle an Archive Overflow exception accurately (there is no corresponding device error code in DOS, except for MS-DOS 6.0+). The JAM Int 2Ah/2Fh (and several others) tracers are used to solve some compatibility problems (for example, to tell SMARTdrive cache utility that JAM drives are non-cacheable), and to represent an interface to the other JAM utility programs (see the next section for details). JAM 1.20 User's Guide Page 114 ------------------------------------------------------------------------ C.3. JAM Application Interface The following functions can be used by application programs to work with the JAM drives. Current version (1.20) of JAM.SYS supports 8 functions, accessed as INT 2Fh/AX=5200...5207h. Functions AX=5208..521F are reserved for future versions of the JAM. --------d-2F5200----------------------------- INT 2F - JAM.SYS 1.20 - "GetVersion" - INSTALLATION CHECK AH = 52h AL = 00h Return: AH = 80h (successful) BX = internal JAM.SYS version number CX = size of JAMINFO structure (see below) DX = JAM.SYS segment address Program: JAM.SYS is a main component of the JAM Real-Time Data Compression Utilities by George A. Reznik and friends (JAM Software). SeeAlso: AX=5201h Format of JAMINFO structure: Offset Size Description 00h 25 BYTEs extended BIOS parameter block (BPB) |\ 19h BYTE physical driver number | \ 1Ah BYTE reserved | \ copy from an 1Bh BYTE extended boot record signature | > archive file's 1Ch DWORD volume serial number | / boot-sector 20h 11 BYTEs volume label | / 2Bh 8 BYTEs file system ID |/ 33h DWORD total number of sectors in JAM archive file (size of compressed data area) 37h BYTE flags bit 7: full undelete-compatible allocation strategy bit 6: no write-behind caching bit 5: read-only mode bit 4: enable direct write requests (Int 26h, non-DOS requests, etc.) bit 3: zero compression mode bits 2..0 are reserved for internal use 38h 128 BYTEs full JAM archive file name B8h WORD the number of fragments in archive file BAh 96 BYTEs archive file fragmentation list - array of 16 FRAGMENT structures: Offset Size Description 00h WORD starting sector (low word) 02h BYTE starting sector (high byte) 03h WORD size of fragment (low word) 05h BYTE size of fragment (high byte) 11Ah DWORD address of the host-drive DPB (Drive Parameter Block) 11Eh DWORD number of free sectors in JAM archive file 122h WORD device status word (see below) JAM 1.20 User's Guide Page 115 ------------------------------------------------------------------------ Values for status (high byte, low is DOS error code for Host drive): 00h successful 01h drive is not a JAM drive 02h drive is already attached 03h archive file cluster size value is larger than driver's one 04h drive is not attached 05h drive is locked 06h drive is not locked 07h bad physical-level request 08h host drive reading/writing error 09h bad entries in JAM descriptor table 0ah compressed data integrity error 0bh archive file overflow 0ch bad DOS request 0dh incorrect parameters in JAMINFO structure --------d-2F5201----------------------------- INT 2F - JAM.SYS 1.20 - "GetInfo" - GET COMPRESSED DRIVE INFORMATION AH = 52h AL = 01h DL = compressed drive number (0-default, 1-A:, etc.) DS:BX -> buffer for JAMINFO structure (see above) Return: AH = status (see also above) 00h successful 01h drive is not a JAM drive SeeAlso: AX=5200h --------d-2F5202----------------------------- INT 2F - JAM.SYS 1.20 - "Attach" - MOUNT COMPRESSED DRIVE AH = 52h AL = 02h DL = drive number (0-default, 1-A:, etc.) to attach to the JAM archive file DS:BX -> pointer to JAMINFO structure (see above), which contains parameters of the JAM file to mount, and pointer to the host drive DPB (i.e. DPB of the drive on which the JAM file is located) Return: AH = status (see also full list above) 00h successful 02h drive already attached 03h archive file cluster size value is larger than driver's one - not mounted 08h host drive reading error (while building allocation list) 09h bad entries in JAM descriptor table - file mounted read-only 0dh incorrect parameters in JAMINFO structure AL = host drive error code (see DOS device error codes) SeeAlso: AX=5203h JAM 1.20 User's Guide Page 116 ------------------------------------------------------------------------ --------d-2F5203----------------------------- INT 2F - JAM.SYS 1.20 - "Detach" - UNMOUNT COMPRESSED DRIVE AH = 52h AL = 03h DL = drive number (0-default, 1-A:, etc.) to detach Return: AH = status (see also full list above) 00h successful 01h drive is not a JAM drive 04h drive already detached 05h drive locked 08h host drive reading/writing error (while flushing buffers) 09h bad entries in JAM descriptor table 0bh archive file overflow 0dh incorrect parameters in drive's JAMINFO structure AL = host drive error code (see DOS device error codes) SeeAlso: AX=5202h --------d-2F5204----------------------------- INT 2F - JAM.SYS 1.20 - "Lock" - LOCK COMPRESSED DRIVE AH = 52h AL = 04h DL = drive number (0-default, 1-A:, etc.) to lock Return: AH = status (see also full list above) 00h successful 01h drive is not a JAM drive 04h drive is not attached 05h drive already locked 08h host drive reading/writing error (while flushing buffers) 09h bad entries in JAM descriptor table 0bh archive file overflow 0dh incorrect parameters in drive's JAMINFO structure AL = host drive error code (see DOS device error codes) SeeAlso: AX=5205h, AX=5206h, AX=5207h --------d-2F5205----------------------------- INT 2F - JAM.SYS 1.20 - "UnLock" - UNLOCK COMPRESSED DRIVE AH = 52h AL = 05h DL = drive number (0-default, 1-A:, etc.) to unlock Return: AH = status (see also full list above) 00h successful 01h drive is not a JAM drive 04h drive is not attached 06h drive is not locked 08h host drive reading error (while rebuilding allocation list) 09h bad entries in JAM descriptor table 0dh incorrect parameters in drive's JAMINFO structure AL = host drive error code (see DOS device error codes) SeeAlso: AX=5204h, AX=5206h, AX=5207h JAM 1.20 User's Guide Page 117 ------------------------------------------------------------------------ Note: Lock and UnLock functions were added to the JAM API to prevent asynchronous physical-level access (see AL=06/07) to compressed data on JAM drives. In other words, two or more programs which use JAM API (say, JMAX optimizer and JCHKDSK - disk checker) cannot be run on the same JAM drive simultaneously. --------d-2F5206----------------------------- INT 2F - JAM.SYS 1.20 - "Read" - PHYSICAL READ DATA FROM JAM ARCHIVE AH = 52h AL = 06h DL = drive number (0-default, 1-A:, etc.) DS:BX -> disk transfer packet (see below) Return: AH = status (see also full list above) 00h successful 01h drive is not a JAM drive 04h drive is not attached 06h drive is not locked 07h bad request (parameters in transfer packet) 08h host drive reading error 0dh incorrect parameters in drive's JAMINFO structure AL = host drive error code (see DOS device error codes) SeeAlso: AX=5207h Format of disk transfer packet: Offset Size Description 00h DWORD sector number 04h WORD number of sectors to read(write) 06h DWORD transfer address --------d-2F5207----------------------------- INT 2F - JAM.SYS 1.20 - "Write" - PHYSICAL WRITE DATA TO JAM ARCHIVE AH = 52h AL = 07h DL = drive number (0-default, 1-A:, etc.) DS:BX -> disk transfer packet (see above) Return: AH = status (see also above) 00h successful 01h drive is not a JAM drive 04h drive is not attached 06h drive is not locked 07h bad request (parameters in transfer packet) 08h host drive writing error 0dh incorrect parameters in drive's JAMINFO structure AL = host drive error code (see DOS device error codes) SeeAlso: AX=5206h --------------------------------------------- JAM 1.20 User's Guide Page 118 ------------------------------------------------------------------------ I n d e x ============= +---+ | A | +---+ AUTOEXEC.BAT . . . . . . . . . . . . . . . . . . . . . . 13, 31, 42, 43 Access-time Insensitive Data . . . . . . . . . . . . . . . . . . . . 58 Sensitive Data . . . . . . . . . . . . . . . . . . . . . . . . . 58 Actual Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Allocation Buffers . . . . . . . . . . . . . . . . . . . . . . . 30, 31 Errors . . . . . . . . . . 48, 81, 82, 84, 85, 86, 87, 89, 96, 103 Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Anticipated Compression Ratio . . . . . . . . . . . . . . . . . . . . 27 Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 14 Average Compression Ratio . . . . . . . . . . . . . . . . . . . . 19, 47 +---+ | B | +---+ Bad Sectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Basic Concepts of the JAM . . . . . . . . . . . . . . . . . . . . . . 10 Boot Record . . . . . . . . . . . . . . . . . . . . . . . . 65, 94, 108 Sector . . . . . . . . . . . . . . . . . . . . . . . . . . 65, 108 Buffers for Allocation information . . . . . . . . . . . . . . . 30, 31 Compressed Clusters . . . . . . . . . . . . . . . . . . . . . 30, 31 +---+ | C | +---+ CONFIG.SYS . . . . . . . . . . . . . . . . . . . . . 15, 29, 30, 31, 33 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 80188/186+ . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 I80386/I80486/Pentium . . . . . . . . . . . . . . . . . . . . . . 71 NEC V20/V30 . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Cache Built-in JAM driver . . . . . . . . . . . . . . . . . . . . . . 31 Capacity Logical . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Physical . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Projected . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Cluster . . . . . . . . . . . . . . . . . . . . . . . . . 18, 27, 28, 65 Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 30 Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Method . . . . . . . . . . . . . . . . . . . . . . . . . . 50, 110 Ratio . . . . . . . . . . 9, 17, 18, 19, 38, 41, 47, 50, 58, 59, 110 Anticipated . . . . . . . . . . . . . . . . . . . . . . . . . 27 Average . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Potential . . . . . . . . . . . . . . . . . . . . . . . . 58, 59 Control Direct Write requests . . . . . . . . . . . . . . . . . . . . 36 Cross-linked Clusters . . . . . . . . . . . . . . . . . . . . . . . . 81 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 JAM 1.20 User's Guide Page 119 ------------------------------------------------------------------------ +---+ | D | +---+ DIRCMD variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 DOS APPEND command . . . . . . . . . . . . . . . . . . . . . . . . . 60 ASSIGN command . . . . . . . . . . . . . . . . . . . . . . . . . 48 ATTRIB command . . . . . . . . . . . . . . . . . . . . . . . . . 28 BACKUP command . . . . . . . . . . . . . . . . . . . . . . . . . 21 COPY command . . . . . . . . . . . . . . . . . . . . . . . . . . 16 DEL command . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 DEVICE command . . . . . . . . . . . . . . . . . . . . . . . . . 30 DEVICEHIGH command . . . . . . . . . . . . . . . . . . . . . . . 30 DIR command . . . . . . . . . . . . . . . . . . . . . . . . . 16, 38 EDIT command . . . . . . . . . . . . . . . . . . . . . . . . . . 13 File Allocation Table . . . . . . . . . . . . . . . . . . . . . . 66 Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 PATH command . . . . . . . . . . . . . . . . . . . . . . . . . . 14 SUBST command . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Data Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 31 Defragmentation Utilities . . . . . . . . . . . . . . . . . . . . 20, 28 DirectWrite flag . . . . . . . . . . . . . . . . . . . . . . . . 23, 36 Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Disk Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Built-in JAM driver . . . . . . . . . . . . . . . . . . . . . . . 32 External . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Drive Logical . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Physical . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 +---+ | E | +---+ External disk cache utilities . . . . . . . . . . . . . . . . . . . . 32 +---+ | F | +---+ FAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66, 104 Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . 66, 104 Copies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Allocation Errors . . . . . . . . . 48, 81, 84, 85, 86, 87, 89, 106 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 28, 39 Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Free Space . . . . . . . . . . . . . . . . . . . . . . . . . . . 19, 47 Logical . . . . . . . . . . . . . . . . . . . . . . . . . . . 19, 47 Physical . . . . . . . . . . . . . . . . . . . . . . . . . . 19, 47 Projected . . . . . . . . . . . . . . . . . . . . . . . . 11, 19, 47 JAM 1.20 User's Guide Page 120 ------------------------------------------------------------------------ +---+ | G | +---+ Getting Started With the JAM . . . . . . . . . . . . . . . . . . . . 12 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 +---+ | H | +---+ Hard Disk Logical Drive . . . . . . . . . . . . . . . . . . . . . . . 64 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . 12 Host Drive . . . . . . . . . . . . . . . . . . . . . . . 10, 14, 21, 64 +---+ | J | +---+ JAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 61 Allocation Strategies . . . . . . . . . . . . . . . . . . . . . . 37 Application Interface . . . . . . . . . . . . . . . . . . . . . 115 Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Structure . . . . . . . . . . . . . . . . . . . . . . . . . 108 Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . 10 Boot Sector layout . . . . . . . . . . . . . . . . . . . . . . 108 Cache System . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Descriptor Table . . . . . . . . . . . . . . . . . . . . 67, 81, 82 Device Driver . . . . . . . . . . . . . . . . . . . . . . . 30, 112 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 30 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Drive . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 34, 64 Access Mode . . . . . . . . . . . . . . . . . . . . . . . . . 35 Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Optimization . . . . . . . . . . . . . . . . . . . . . . 20, 50 ReCompression . . . . . . . . . . . . . . . . . . . . . . 20, 50 Statistics and Utilization . . . . . . . . . . . . . . . . . 19 Structure . . . . . . . . . . . . . . . . . . . . . . . . . 107 Viewing Contents . . . . . . . . . . . . . . . . . . . . . . 17 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 64 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 28 Logical Drive . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Memory Requirements . . . . . . . . . . . . . . . . . . . . . . . 31 JCHKDSK utility . . . . . . . . . . . . . . . . . . . . . . . . . 19, 45 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Status report . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 JAM 1.20 User's Guide Page 121 ------------------------------------------------------------------------ JCREATE utility . . . . . . . . . . . . . . . . . . . . . . . . . 14, 26 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 JDIR utility . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 38 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 JDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 109 [Allocated] flag . . . . . . . . . . . . . . . . . . . . . 104, 109 [Deleted] flag . . . . . . . . . . . . . . . . . . . . 81, 82, 109 [Directory] flag . . . . . . . . . . . . . . . . . . . 79, 80, 110 JMAX utility . . . . . . . . . . . . . . . . . . . . . . . . 20, 50, 59 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 JMOUNT utility . . . . . . . . . . . . . . . . . . . . . . . 23, 31, 34 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 JSIZE utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 JSWAP utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 +---+ | L | +---+ Logical Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Free Space . . . . . . . . . . . . . . . . . . . . . . . . . 19, 47 Lost Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Low-level disk utilities . . . . . . . . . . . . . . . . . . . . . . 36 JAM 1.20 User's Guide Page 122 ------------------------------------------------------------------------ +---+ | M | +---+ Media Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . 100 Memory Requirements . . . . . . . . . . . . . . . . . . . . . . . 31, 63 Mounting JAM drives Read-Only . . . . . . . . . . . . . . . . . . . . 36 Multitasking environments . . . . . . . . . . . . . . 83, 100, 101, 105 +---+ | O | +---+ Open Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Optimizing JAM Drives . . . . . . . . . . . . . . . . . . . . . . 20, 50 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 +---+ | P | +---+ PS/1, PS/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Physical Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Disk Errors . . . . . . . . . . . . . . . . . . . . . 48, 76, 78, 83 Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Free Space . . . . . . . . . . . . . . . . . . . . . . . . . 19, 47 Projected Capacity . . . . . . . . . . . . . . . . . . . . . . . . . 10 Free Space . . . . . . . . . . . . . . . . . . . . . . . 11, 19, 47 +---+ | R | +---+ RAM Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ReCompressing JAM Drives . . . . . . . . . . . . . . . . . . . . 20, 50 Read-Only Access Mode . . . . . . . . . . . . . . . . . . . . . . . . 36 Root Directory . . . . . . . . . . . . . . . . . . . . . . 68, 92, 105 +---+ | S | +---+ Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Seldomly used files . . . . . . . . . . . . . . . . . . . . . . . . . 60 Slack space . . . . . . . . . . . . . . . . . . . . . . . . . . . 18, 68 Sort Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Sub-directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 System Requirements . . . . . . . . . . . . . . . . . . . . . . . 9, 12 JAM 1.20 User's Guide Page 123 ------------------------------------------------------------------------ +---+ | U | +---+ UnDelete - compatible allocation strategy . . . . . . . . . . . . . . 37 Operation Support . . . . . . . . . . . . . . . . . . . . . . . . 23 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 +---+ | V | +---+ Viewing the contents of JAM Drives . . . . . . . . . . . . . . . . . 17 +---+ | W | +---+ Write Behind Caching . . . . . . . . . . . . . . . . . . . . . . . . 36 JAM 1.20 User's Guide Page 124 ------------------------------------------------------------------------ T H E E N D