home *** CD-ROM | disk | FTP | other *** search
/ CD-X 3 / cdx_03.iso / shutils / dos / uc2b305.arj / U_MANUAL.TXT < prev    next >
Encoding:
Text File  |  1995-09-16  |  170.2 KB  |  4,504 lines

  1. JUST GIVE THE "UC -??" COMMAND TO GET INTERACTIVE ACCESS TO THE MANUAL.
  2.  
  3.  
  4. 0. WHAT IS NEW (overview of changes from revision 3 to 4)
  5. =========================================================
  6.  
  7. This chapter describes all differences between UltraCompressor II (tm)
  8. revision 3 (the June 1 1995 release) and revision 4.
  9.  
  10. This chapter contains the following paragraphs:
  11.  
  12.         - A. Bug fixes
  13.         - B. Enhancements
  14.         - C. Known problems/issues
  15.  
  16. When you use the AIP-NL manual viewer you can jump to a chapter or a
  17. paragraph by pressing the corresponding digit(s) or letter.
  18.  
  19.  
  20. 0.A BUG FIXES
  21. =============
  22.  
  23.    The use of PCPs, no longer erroneously causes fatal error 225.
  24.  
  25.    The size of the error logfile is no longer reported erroneously.
  26.  
  27.    Visual UltraCompressor now properly copies system and hidden files
  28.    from disk to disk.
  29.  
  30.    Visual UltraCompressor now properly shows all possible error messages
  31.    when copying from disk to disk.
  32.  
  33.    Visual UltraCompressor no longer leaves temporary directories on disk
  34.    if the current drive and the temporary files directory are on
  35.    different disks.
  36.  
  37.    Visual UltraCompressor no longer complains that UC.EXE is not in the
  38.    PATH if it is in the current directory.
  39.  
  40.    Visual UltraCompressor now properly handles filenames ending with
  41.    international characters.
  42.  
  43.    !DTT (dynamic time travel) can now be used on an archive which is
  44.    managed by VM (version manager).
  45.  
  46.  
  47. 0.B ENHANCEMENTS
  48. ================
  49.  
  50.    Visual UltraCompressor has been adapted to cooperate better with
  51.    braille equipped systems.
  52.  
  53.    UC2 now stores and re-stores Windows 95 long filenames. Details on
  54.    Windows 95 support are in chapter 16.
  55.  
  56.    VU now shows and handles Windows 95 long filenames. (use F11 to
  57.    toggle the view mode)
  58.  
  59.    VU now handles Enter/Double-Click as VIEW instead of EDIT which makes
  60.    it much faster inside archives.
  61.  
  62.    UC2SEA now allows specification of volume size per byte.
  63.  
  64.  
  65. 0.C KNOWN PROBLEMS/ISSUES
  66. =========================
  67.  
  68. UC2/UC2SEA/UCEXE and resident virus scanners
  69. --------------------------------------------
  70.    UC2 can "generate" executables (extraction from an archive), UC2SEA
  71.    and UCEXE also generate executables. Some (resident) virus scanners
  72.    detect that an executable is changed/generated and warn you a virus
  73.    might be active. In many cases UC2 and UC2SEA are capable of avoiding
  74.    this problem but not all virus scanners allow this. This problem is
  75.    not unique, other archivers, compilers and executable compressors
  76.    have similar problems.
  77.  
  78. SuperOptimizer efficiency
  79. -------------------------
  80.    The SuperOptimizer could be made about 20% faster by eliminating
  81.    redundant decompression phases. The SuperOptimizer currently uses a
  82.    universal approach capable of handling all archive types. In the
  83.    future some more specialized methods will be used for the
  84.    SuperOptimizer.
  85.  
  86. UC2 transaction processing and UNDELETE tools
  87. ---------------------------------------------
  88.    To minimize the risk of data loss in case of e.g. power failures, UC2
  89.    always works 'transaction oriented'. UC2 often uses temporary files
  90.    to achieve this. In some environments deleted files are not really
  91.    deleted, but moved to a different location. This allows better
  92.    recovery of deleted files. Examples of this are the OS/2 DELDIR
  93.    setting and the Norton SmartCan program. Since these tools use a
  94.    first in first out approach, intensive use of UC2 can 'take over' the
  95.    deleted file space. DELDIR, SmartCan, etc. should be disabled before
  96.    UC is executed if this is unwanted.
  97.  
  98. VU DISK to DISK copy command is "ugly"
  99. --------------------------------------
  100.    Unlike many other shells, VU uses the XCOPY command to copy files.
  101.    This has a disadvantage and a lot of advantages. The disadvantage is
  102.    the lack of a nice full color progress bar. The advantages are:
  103.  
  104.     - OS/2 extended attributes are fully preserved
  105.     - Windows 95 long filenames and attributes are preserved
  106.     - XCOPY is in most cases the fastest way to copy files
  107.     - all network and file system specific error messages are shown
  108.     - VU will automatically adapt to future operating system revisions
  109.  
  110.  
  111. 1. INTRODUCTION (how to get started, features, etc.)
  112. ====================================================
  113.  
  114. This chapter briefly discusses all the software included in the
  115. UltraCompressor II PRO package.
  116.  
  117. For 'commercial' use the UC2 PRO evaluation copy can only be used for a
  118. period of 30 days. More details on this are in chapter 2. Chapter 2 also
  119. contains the AIP-NL license agreement. By using this package, you are
  120. agreeing to be bound by the terms of this agreement.
  121.  
  122. Please use ORDER.FRM to order a license for our products.
  123.  
  124. This chapter contains the following paragraphs:
  125.  
  126.         - A. What is UltraCompressor II?
  127.         - B. Support, feedback, dealers, third party tools
  128.         - C. Features, main
  129.         - D. Features, business/corporate use
  130.         - E. Features, developers
  131.         - F. Features, BBS sysops
  132.         - G. Included files
  133.         - H. Credits
  134.         - I. Acknowledgements
  135.         - J. Press release
  136.  
  137. When you use the AIP-NL manual viewer you can jump to a chapter or a
  138. paragraph by pressing the corresponding digit(s) or letter.
  139.  
  140.  
  141. 1.A WHAT IS ULTRA-COMPRESSOR II?
  142. ================================
  143.  
  144. UltraCompressor II (tm) from AIP-NL (Ad Infinitum Programs) is an
  145. archiver. An archiver is a file handling and compression utility. It
  146. will make most of your files significantly smaller and it can keep
  147. related files together. When you need the files, you can decompress them
  148. with the same UC2 utility. UC2 is very easy to use, thanks to its simple
  149. user interface and has support for all archiving needs.
  150.  
  151. An archive behaves just like a floppy disk. It has a directory
  152. structure, you can copy from the archive with extraction and copy to the
  153. archive by adding. It is also possible to delete files from the archive.
  154.  
  155. UC2 can also make such an archive DAMAGE PROTECTED (tm), so ALL files in
  156. the archive are safe, even if there are disk errors (within reasonable
  157. limits).
  158.  
  159. With UC2 an archive can contain multiple versions of the same file.
  160.  
  161. With a clear manual and a limited number of commands, UC2 will turn out
  162. to be very easy to use. Most of the options are configurable, so the
  163. commands are very simple and easy to remember.
  164.  
  165. In general UC2 is very fast, especially when updating archives or
  166. extracting files from archives. At the same time it has superior
  167. compression. UC2 can handle near unlimited collections of files, in
  168. multi-gigabyte archives, even on a XT. For a detailed overview of the
  169. features of UC2, see paragraph C.
  170.  
  171.  
  172. 1.B SUPPORT, FEEDBACK, DEALERS, THIRD PARTY TOOLS
  173. =================================================
  174.  
  175. Contacting AIP-NL
  176. -----------------
  177.    Mail       : P.O. Box 1432, 3430 BK Nieuwegein, The Netherlands
  178.  
  179.    Phone      : +31-30-662107
  180.    FAX        : +31-30-616571
  181.    BBS        : +31-3402-55707
  182.  
  183.    Internet   : desk@aip.nl
  184.  
  185.    CompuServe : 100115,2303
  186.  
  187.    We actively monitor the Internet newsgroup comp.compression.
  188.  
  189.    Up-to-date software is always available from:
  190.  
  191.       CompuServe : GO IBMPRO, LIB 10
  192.       InterNet   : ftp://ftp.nl.net/gopher/NLnet-connected/aipnl/...
  193.       BBS        : +31-3402-55707
  194.  
  195.    When you have any questions, just ask us or any of our dealers. We
  196.    will answer your questions as soon as possible.
  197.  
  198.    You can also contact desk@aip.nl to become a beta tester, to be added
  199.    to our mailing list or to request uuencoded copies of our software.
  200.  
  201. Feedback
  202. --------
  203.    Help us to make this product even better. Tell us what you want us to
  204.    improve in UC2 and all our other products. Comment on the manuals in
  205.    general, or on a manual in a specific language, is also very welcome.
  206.  
  207. Dealers
  208. -------
  209.    USA, BMT Micro
  210.  
  211.       Mail        : 452 Horn Rd, Wilmington, NC 28412-2411, USA
  212.       Phone       : (800) 414-4268 (toll free, orders only)
  213.                     (910) 791-7052
  214.       FAX         : (910) 350-2937
  215.       BBS         : (910) 350-8061 (direct link to AIP-NL)
  216.       Internet    : thomas.bradford@bmtmicro.com
  217.       CompuServe  : 74031,307
  218.       FidoNet     : 1:3628/11
  219.  
  220.    France, SERMEDITECH
  221.  
  222.       Mail        : 6 Rue Racine, 02200 Courmelles, France
  223.       Phone       : 23.73.98.90
  224.       FAX         : 23.73.40.71
  225.       BBS         : 23.73.02.51
  226.       Internet    : rfrey@sermeditec.win.net
  227.       CompuServe  : 100346,1161
  228.       FidoNet     : 2:322/12
  229.       SparkNet    : 74:322/1
  230.       FrancoMedia : 101:176/106
  231.  
  232.    Singapore, Online Technology
  233.  
  234.       Mail        : P.O. Box 0685, Bukit Merah Central, Singapore 9115
  235.       Phone       : (65) 298-8634
  236.       FAX         : (65) 298-1324
  237.       Internet    : 71413.3330@compuserve.com
  238.       CompuServe  : 71413,3330
  239.  
  240.    Israel, Magic
  241.  
  242.       Mail        : 29 Etzion St., Ra'anana 43562, Israel
  243.       Phone       : 09-441-579
  244.       FAX         : 09-984-945, 09-916-647
  245.       BBS         : 09-916-647, 09-984-945, 09-918-533
  246.       Internet    : tammar@chemsg5.tau.ac.il
  247.       FidoNet     : 2:405/52
  248.  
  249.    Australia, GeNNeXXuS Pty. Ltd.
  250.  
  251.       Mail        : P.O. Box 768, Revesby, NSW 2212, Australia
  252.       Phone       : +61-2-725-1862
  253.       FAX         : +61-2-725-3259
  254.       BBS         : +61-2-725-3541
  255.       Internet    : aip-nl@gnxs.com.au
  256.       Fidonet     : 3:713/611
  257.  
  258. Third party tools
  259. -----------------
  260.    For third parties AIP has implemented a third party interface in UC2
  261.    (UC2-3PI). For documentation and samples sources please contact
  262.    AIP-NL.
  263.  
  264.    The following tools have UltraCompressor II support: (we list the
  265.    lowest version number with UC2 support)
  266.  
  267.       ARCHIVE MANAGER PRO 1.0, Alexander Maltsev, archive manager,
  268.                                freeware
  269.  
  270.          Internet   : Alexander.Maltsev@p29.f271.n5020.z2.fidonet.org
  271.          FidoNet    : 2:5020/271.29   Moscow Russia
  272.  
  273.          Available on any AMP Support BBS. Contact to become an
  274.          Authorized User or Support BBS.
  275.  
  276.       ArcMaster 10.0, New-Ware, archiver shell, shareware $35 USD
  277.  
  278.          Mail       : 8050 Camino Kiosco, San Diego, CA 92122-1820, USA
  279.          Phone      : (619) 455-6225 (Business hours ONLY please!)
  280.          BBS        : (619) 455-5226
  281.  
  282.       AVIEW 4.5, Chris Buijs, archive viewer, freeware
  283.  
  284.          Mail       : De Spil 22, 1507 CX Zaandam, The Netherlands
  285.          BBS        : +31-(0)75-704890
  286.          CompuServe : 100117,3242
  287.          FidoNet    : 2:280/407.16
  288.  
  289.       DOS Navigator(tm) 1.30, RIT S.R.L., DOS shell, shareware $35 USD
  290.  
  291.          Mail       : str. Tudor Vladimirescu 18, Chishinau, 277024,
  292.                       Republic of Moldova
  293.          Phone      : +373 2 26-10-16
  294.          FAX        : +373 2 26-14-16
  295.          BBS        : +373 2 22-64-83, +373 2 22-85-77
  296.          Internet   : AxoNSoft@silk.glas.apc.org
  297.          FidoNet    : 2:469/33
  298.  
  299.       Morgul 1.00, Toni Nikkanen, music module player, free/cardware
  300.  
  301.          Mail       : Kymenlaaksonkatu 7 D 45, FIN-48100 KOTKA, Finland
  302.          BBS        : +358 (9)51 3758236
  303.          Internet   : tnikkane@clinet.fi, luovaa@freenet.hut.fi
  304.          FidoNet    : 2:221/18
  305.  
  306.       MTA 15.56, DISP, archive converter, shareware $25 USD
  307.  
  308.          Mail       : P.O. box 131, 1170 AC, Badhoevedorp, Netherlands
  309.          BBS        : +31-(0)1749-48422
  310.          CompuServe : 100120,1146
  311.          FidoNet    : 2:281/904.5
  312.  
  313.       REARJ 2.25, ARJ Software, archive converter, part of ARJ 2.41a
  314.  
  315.          Mail       : 2606 Village Road West, Norwood,
  316.                       Massachusetts 02062
  317.          Internet   : robjung@world.std.com
  318.          CompuServe : 72077,445
  319.  
  320.       SHEZ 9.7, CSD, archiver shell, shareware $39 USD
  321.  
  322.          Mail       : P.O. Box 15248, Santa Rosa, CA 95402, USA
  323.          Phone      : (707) 575-9868
  324.          Internet   : jim.derr@kandy.com
  325.          CompuServe : 76266,2634
  326.  
  327.       THD ProScan Version 11.0, File/Upload Tester/Convertor
  328.  
  329.          FidoNet    : 1:259/423.0
  330.  
  331.  
  332.  
  333.    If you are aware of a tool which has UltraCompressor II support, but
  334.    which is not included on this list, please let us know.
  335.  
  336.    The products included here are manufactured by vendors independent of
  337.    AIP-NL; we make no warranty, implied or otherwise, regarding these
  338.    products' performance or reliability.
  339.  
  340.  
  341. 1.C FEATURES, GENERAL
  342. =====================
  343.  
  344. Better compression
  345. ------------------
  346.    Up to 72% better compression than competing software. (See chapter 4
  347.    paragraph A options TF, TN, TT and the O commands; chapter 6
  348.    paragraph A.)
  349.  
  350. Speed
  351. -----
  352.    Compression is fast and configurable to favor compression speed or
  353.    archive size. Extraction is very fast. UC2 is also very fast when it
  354.    UPDATES an archive, even if this archive is large, stored on a
  355.    network server or stored on a slow (floppy) disk. (See chapter 4
  356.    paragraph A options TF and I; paragraph F 'smart skipping'; chapter 6
  357.    paragraph A.)
  358.  
  359. Reliability
  360. -----------
  361.    Archives can optionally be protected against damage, allowing them to
  362.    recover from most disk-errors without any loss of data. UC2 always
  363.    works 'transaction oriented' allowing recovery from most crashes
  364.    without any loss of data. It has optional double-verification,
  365.    preventing data loss in case of hardware or software problems. (See
  366.    chapter 4 paragraph A the P command; chapter 6 paragraph A
  367.    'reliability level'.)
  368.  
  369. Powerful command line
  370. ---------------------
  371.    Straightforward, yet powerful command line. If UC2 can figure it out,
  372.    you don't have to specify it. The manual contains 4 separate sections
  373.    on the command line to make sure you get only the information
  374.    relevant for what you want. (See chapters 3,4,5 and 8).
  375.  
  376. Easy to use graphical user interface
  377. ------------------------------------
  378.    Good looking, general purpose, graphical shell. VU is highly
  379.    configurable allowing you to tailor it to your personal taste. (See
  380.    chapter 12.)
  381.  
  382. Integrated help
  383. ---------------
  384.    UC2 has integrated help (with search) and an, easy to use, integrated
  385.    configuration tool. Only a few commands are needed to manage archives
  386.    with UC. UC can automatically deal with ARC, ARJ, LZH, ZIP, etc.
  387.    archives as if they are UC archives. (See chapter 3; chapter 6.)
  388.  
  389. Highly configurable
  390. -------------------
  391.    Many operation details can be configured by built in configuration
  392.    tools and/or by directly changing the readable AIP-NL.INI file. (See
  393.    chapter 6 and chapter 12.)
  394.  
  395. Ultra-fast self extracting archives
  396. -----------------------------------
  397.    Self extracting archives can span multiple diskettes. Their operation
  398.    is fully configurable. They work up to 3 times faster than competing
  399.    self extractors. (See chapter 13.)
  400.  
  401. Full support of OS/2 2.x extended attributes
  402. --------------------------------------------
  403.    OS/2 2.x extended attributes (such as icons, WPS long icon names,
  404.    WordPerfect 5.2 for OS/2 summary information, etc.) can be kept in an
  405.    archive. They are managed automatically. (See chapter 6 paragraph A
  406.    'Store OS/2 2.x extended attributes'.)
  407.  
  408.  
  409. 1.D FEATURES, BUSINESS/CORPORATE USE
  410. ====================================
  411.  
  412. Advanced version management
  413. ---------------------------
  414.    Multiple versions of file collections (projects) can be managed with
  415.    the included 'Version Manager' (VM) tool. VM supports project level
  416.    version labelling. Also included is UDIFF, an 'unlimited pass' tool
  417.    to compare text files. (See chapter 8 paragraph A and chapter 15.)
  418.  
  419. Scripts
  420. -------
  421.    A 'script' file can contain a large list of files (e.g. to be
  422.    compressed). A script file can also be used as a substitute for
  423.    multiple (complex) commands. Scripts can be nested, to allow the
  424.    construction of 'building blocks'. Scripts can be very long
  425.    (multi-megabyte). (See chapter 4 paragraph F 'scripts'.)
  426.  
  427. Capable of heavy duty tasks
  428. ---------------------------
  429.    There is almost no limit to the number of files in an archive or to
  430.    the number of files processed in a single command. Where some other
  431.    programs get into trouble with more than 10,000 files, UC2 can easily
  432.    handle a much larger number of files. Even a simple PC-XT can (given
  433.    time) handle this workload. (See chapter 7 paragraph A.)
  434.  
  435. Error handling and logging
  436. --------------------------
  437.    UC2 has advanced error handling and logging. This is especially
  438.    important when large collections of files are archived from shared
  439.    (network) disks. In almost all cases UC2 allows you to solve severe
  440.    problems and enables you to continue the operation. (See chapter 4
  441.    paragraph F 'superior error handling' and chapter 8 paragraph F.)
  442.  
  443. Private compression profiles
  444. ----------------------------
  445.    This feature allows you to use UC2 as an optimized special purpose
  446.    compressor for a specific kind of data (e.g. text files in a specific
  447.    language). (See chapter 8 paragraph F.)
  448.  
  449. State of the art encryption
  450. ---------------------------
  451.    UltraCrypt can protect your data with heavy duty enhanced triple DES
  452.    (Digital Encryption Standard) encryption. Faster encryption is
  453.    included as well. (See chapter 9.)
  454.  
  455. State of the art authenticity verification
  456. ------------------------------------------
  457.    UltraSeal and UltraSafe can help you protect your data against
  458.    undetected changes (e.g. virus infections or data falsifications).
  459.    They do not use 'security by obscurity', but they use digital
  460.    signatures based on Lucas functions. (See chapters 10 and 11.)
  461.  
  462.  
  463. 1.E FEATURES, DEVELOPERS
  464. ========================
  465.  
  466. File version management
  467. -----------------------
  468.    Multiple versions of a file (e.g. the MAY 2 21:33:18 and the MAY 3
  469.    02:17:22 version) can be kept in an archive. UC2 version management
  470.    is very simple to use. (See chapter 4 paragraph E.)
  471.  
  472. Advanced version management
  473. ---------------------------
  474.    Multiple versions of file collections (projects) can be managed with
  475.    the included 'Version Manager' (VM) tool. VM supports project level
  476.    version labelling. Also included is UDIFF, an 'unlimited pass' tool
  477.    to compare text files. (See chapter 8 paragraph A and chapter 15.)
  478.  
  479. Very fast updates
  480. -----------------
  481.    UC2 is very fast in updating large archives while maintaining
  482.    superior compression and reliability. No complex commands or options
  483.    are needed for this. (See chapter 4 paragraph A options TF and I;
  484.    paragraph F 'smart skipping'; chapter 6 paragraph A.)
  485.  
  486. Simple path management
  487. ----------------------
  488.    With UC2 it is very easy to copy any set of files from anywhere on
  489.    disk to anywhere in the archive and vice versa. (See chapter 4
  490.    paragraphs A and B, the # option.)
  491.  
  492. Filter on file contents
  493. -----------------------
  494.    Define a search string and only files containing this string will be
  495.    printed, listed, extracted, added, etc. (See chapter 8, paragraph E.)
  496.  
  497. Filter on anything else
  498. -----------------------
  499.    Filter on date/time, attributes, if a file is newer, query for each
  500.    file, etc. (See chapter 8, paragraph E.)
  501.  
  502. Compress dos executables
  503. ------------------------
  504.    UCEXE can make DOS executables MUCH smaller, while they remain
  505.    working. On top of that UCEXE compressed executables check their own
  506.    integrity. (See chapter 14.)
  507.  
  508.  
  509. 1.F FEATURES, BBS SYSOPS
  510. ========================
  511.  
  512. Multimedia banners
  513. ------------------
  514.    UC2 allows you to add multimedia banners (text, graphics, sound and
  515.    music) to an archive, or to a collection of archives. (See chapter 5
  516.    paragraph B.)
  517.  
  518. Easy conversion combined with virus scanning
  519. --------------------------------------------
  520.    UC2 can convert collections of archives of almost any kind with just
  521.    one simple command. If preferred, UC2 will scan archive contents for
  522.    viruses during conversion. (See chapter 5 paragraph A.)
  523.  
  524. Get rid of viruses forever
  525. --------------------------
  526.    The industrial strength authenticity verification software can help
  527.    you to get rid of viruses forever by protecting archives against
  528.    unauthorized changes. (See chapters 9 and 10)
  529.  
  530. Needs only 32kb free memory to run
  531. ----------------------------------
  532.    UC2 can be used together with other large programs, perfect for
  533.    mailers and other (large) programs that need to call UC2. (See
  534.    chapter 5 paragraph C.)
  535.  
  536. Time stamp
  537. ----------
  538.    Time stamp (collections of) archives with the date/time of their
  539.    newest file. (See chapter 8, paragraph E.)
  540.  
  541. Private compression profiles
  542. ----------------------------
  543.    This feature allows you to use UC2 as an optimized special purpose
  544.    compressor for a specific kind of data (e.g. email). (See chapter 8
  545.    paragraph F.)
  546.  
  547.  
  548. 1.G INCLUDED FILES
  549. ==================
  550.  
  551. Please note UC2PRO.EXE has been protected with UltraSeal. You can use
  552. UltraSafe to verify whether you have an original version.
  553.  
  554. General
  555. -------
  556.    U_MANUAL.TXT   the manual
  557.    ORDER.FRM      order form
  558.    USEAL.FRM      supplement to ORDER.FRM for ordering USEAL
  559.    FILE_ID.DIZ    file for BBSes
  560.    AIP-NL.INI     configuration file
  561.  
  562. UltraCompressor II
  563. ------------------
  564.    UC.EXE         command line archive
  565.    US.EXE         install UltraStealth
  566.    UUC.EXE        use UltraStealth
  567.  
  568. UC2 Tools
  569. ---------
  570.    VM.EXE         version manager
  571.  
  572.    SAS.EXE        simple archive splitter
  573.  
  574.    UCDIR.BAT      compress directory
  575.    UEDIR.BAT      expand directory
  576.  
  577.    UPROT.BAT      protect archive
  578.    ULOCK.BAT      lock archive
  579.  
  580. Other tools
  581. -----------
  582.    VU.EXE         GUI archiver shell
  583.    VU.PIF         Program Information File to make MS-Windows run VU.EXE
  584.                   in full screen mode
  585.    VU.REG         File to add VU.EXE to the Windows 95 registry.
  586.  
  587.    UC2SEA.EXE     convert UC2 archive into an executable
  588.    DOS.SEA        extraction module for UC2SEA
  589.  
  590.    UCEXE.EXE      make DOS executable smaller and self checking
  591.  
  592.    UDIFF.EXE      compare two text files
  593.  
  594.    UCRYPT.EXE     UltraCrypt executable
  595.    USAFE.EXE      UltraSafe executable
  596.  
  597.  
  598. 1.H CREDITS
  599. ===========
  600.  
  601. AIP-NL would like to thank the following people for their involvement,
  602. work, support, ideas, testing, checking, etc.:
  603.  
  604.    Aarif Rashid                    Ad Nühn
  605.    Ad Spijkers                     Allen Koberg
  606.    Andrew Cadach                   Andy Hakim
  607.    Arjan Bosse                     Arno Haket
  608.    Arnold Jansen                   Bernardo Javier Siu Fabry
  609.    Bruce Ray                       Bruus Antonides
  610.    Charles Evans                   Charlie Negyesi
  611.    Conny de Vries                  Damir Lukic
  612.    Danny Bezemer                   Dejan Markovic
  613.    Dirk Schreib                    Doug Lamb
  614.    Doug Tooley                     Ellen de Vries
  615.    Eric Morel                      Eric Veldhuyzen
  616.    Eugen Woiwod                    Ewout de Klijne
  617.    Fabian Meuller                  Forrest Aldrich
  618.    Frank Leene                     Fred Snijder
  619.    Fred Wijshoff                   Gary van Beeck
  620.    Geoffrey Broadwell              Glenn Evan Copeland
  621.    Graeme Cross                    Graham Scott
  622.    Greg Roelofs                    Gregory Flint
  623.    Gudmundur J. Helgason           Hans Klunder
  624.    Hans Peer                       Helen Derks
  625.    Ian Spenser Nelson              Ingrid Foster-Dingley-Groot
  626.    Itamar Even-Zohar               Jacob Poon
  627.    Jan Kalin                       Jan van Hees
  628.    Jan van Leeuwen                 Jan-Pieter Cornet
  629.    Jan-Willem Overbeek             Janne Kankaala
  630.    Jasmijn de Vries                Jason Buchanan
  631.    Javier Manero                   Jean-loup Gailly
  632.    Jeroen Hoppenbrouwers           Joe Emenaker
  633.    Joe Fortser                     Joe Negron
  634.    Joergen Hjort                   John Mitchell
  635.    Joost Pruijt                    Juan Manuel Ruiz Lopez
  636.    Juha Kivijärvi                  Kai Uwe Rommel
  637.    Kit Thong                       Kovács Balázs
  638.    Leonid Yakovlev                 Leslie Klieb
  639.    Marc Randolph                   Marco van de Wetering
  640.    Marijke Hoytink                 Mark Adler
  641.    Mark Kovarski                   Mark de Boer
  642.    Markus Kaemmerer                Marton Anka
  643.    Michael Sumulong                Mike Charnock
  644.    Mike Davis                      Mike Laster
  645.    Mike McCombs                    Morten Lejboelle
  646.    Ned Crigler                     Nico de Vries
  647.    Oleg P. Serdjuk                 Oliver Fromme
  648.    Paul Kocher                     Peter Oudenhoven
  649.    Piet van Oostrum                Pieter de Ruiter
  650.    Rafael Ramirez                  Reinier de Groot
  651.    Rianne van Leur                 Richard Foster-Dingle
  652.    Rick Hoorn                      Rob van Hoeven
  653.    Robbie Vance                    Robert Lindeman
  654.    Roger Burton-West               Ronald Raymond Dippol
  655.    Roy Alexander                   Ryan Oakley
  656.    Ryan Watkins                    Sjuck Brongersma
  657.    Soeren Fisker                   Stefan Hermansson
  658.    Stefano Zamprogno               Terry Chan
  659.    Thaddaeus Kong                  Theo Boersma
  660.    Thomas Wolff                    Timothy F. Sipples
  661.    Tomas Hajny                     Udo van den Heuvel
  662.    Victor T. Ng                    Vincent van Wichen
  663.    Wes Nakamura                    Willem Verloop
  664.    Wong Ling
  665.  
  666. We especially want to thank YOU, the reader of this manual, for
  667. considering the use of our products.
  668.  
  669. Help us to make this product even better. Tell us what you want us to
  670. improve in UC2 and all our other products. AIP-NL applications are
  671. always designed in close cooperation with the people who use them.
  672. Comment on the manuals in general, or on a manual in a specific
  673. language, is also very welcome.
  674.  
  675.  
  676. 1.I ACKNOWLEDGEMENTS
  677. ====================
  678.  
  679. UltraCompressor II is a trademark of AIP-NL (Ad Infinitum Programs).
  680.  
  681. Most mentioned brand and product names are trademarks or registered
  682. trademarks of their respective companies.
  683.  
  684.  
  685. 1.J PRESS RELEASE
  686. =================
  687.  
  688. AIP-NL releases UltraCompressor 2.4 with FULL Windows 95 support
  689. ----------------------------------------------------------------
  690.  
  691. UTRECHT, The Netherlands, August 24, 1995. AIP-NL today released a new
  692. revision of UltraCompressor II PRO. Revision 4 adds FULL support for
  693. Windows 95 long filenames. Both the command line and the GUI (SHELL)
  694. version now have full Windows 95 long filename support.
  695.  
  696. Included into UC2 PRO are:
  697.  
  698.    UltraCompressor II revision 4, a general purpose archiver
  699.       - up to 72% better compression than competing products
  700.       - up to 10 times faster archive updating than competing products
  701.       - DAMAGE PROTECTION (tm) allows recovery from disk errors
  702.       - capable of managing very large (>1,000,000 files) archives
  703.       - full OS/2 extended attribute support
  704.       - full Windows 95 long filename support
  705.  
  706.    Visual UltraCompressor, a high speed general purpose shell
  707.       - fastest graphical shell in the world
  708.       - unique two phase user interface to allow easy AND powerful access
  709.       - fully customizable
  710.  
  711.    UC2SEA, converts UC2 archives into UltraFAST standalone executables
  712.       - the generated executable can span multiple (floppy) disks
  713.       - up to 3 times faster than competing products
  714.       - a fixed fee allows unlimited distribution
  715.       - source code availability allows full customization
  716.  
  717.    UCEXE, makes a DOS executable MUCH smaller and self-checking
  718.  
  719.    Version Manager, project level version management
  720.  
  721.    UltraDIFF, file compare tool with unique 'unlimited pass' method
  722.  
  723. Requirements: MS/PC-DOS 2.1 or higher, IBM Compatible 8088 or higher,
  724. 640k RAM, 1Mb hard disk space. UC2 detects and utilizes EMS/XMS,
  725. 386/486/Pentium, MS-Windows, OS/2, Novell-DOS, DesqView, etc.
  726.  
  727. AIP-NL intends to keep improving its products at a high rate, keeping
  728. ahead of its competitors at following customer and market demands. UC2's
  729. open architecture has already enabled more than 50 third parties to add
  730. full UC2 support to their applications.
  731.  
  732. CONTACT: USA       : Thomas Bradford, BMT-Micro, (910) 791-7052
  733.          Europe    : Nico de Vries, AIP-NL, +31-(0)30-(2)662107
  734.          InterNet  : desk@aip.nl
  735.          CompuServe: 100115,2303
  736.  
  737. An evaluation copy can be obtained from
  738.  
  739.     CompuServe      IBMPRO, LIB 10
  740.     InterNet FTP    ftp.nl.net/gopher/NLnet-connected/aipnl/uc2r4p.exe
  741.     World Wide Web  http://www.xs4all.nl/~aipnl
  742.     BBS             +31-3402-55707
  743.  
  744. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  745.  
  746. Benchmark
  747. ---------
  748.  
  749. This is a benchmark made by AIP-NL with 'Dean Cooper's comparer program,
  750. Version 1.02'. The benchmark compares UC2r4 PRO with PKZIP 2.04g and ARJ
  751. 2.41. Of course, the user can perform the best benchmarks by comparing
  752. the tools in 'real life' situations. The test has been performed on a
  753. 486/33 PC with MS-DOS, QEMM and Norton Cache (flushed before each test)
  754. loaded.
  755.  
  756.  
  757. | Program               Compression mode
  758. +---------------------------------------------------------------
  759. | UC2r4 PRO   (UC)      O25  (SuperOptimize archive) *** NEW ***
  760. | UC2r4 PRO   (UC)      -TT  (type tight/multimedia)
  761. | UC2r4 PRO   (UC)      -TN  (type normal)
  762. | PKZIP 2.04g (PKZIP)   -EX  (extra compression)
  763. | ARJ 2.41    (ARJ)     -JM1 (faster Maximum compression)
  764.  
  765.  
  766. | Test     Description                                  Bytes      Files
  767. +-----------------------------------------------------------------------
  768. | source   Borland C++ 3.1 ..\CRTL\CLIB\*.*  (C & ASM)  1,294,460  373
  769. | exe+doc  PKZIP 1.10 distribution package                302,272   17
  770. | sound    MS-Windows 3.1 *.WAV files                      80,304    6
  771. | UPDATE   Add BGIDEMO.C to source.uc2/zip/arj (floppy)   +40,382   +1
  772.  
  773.  
  774. | Test     Program  Compress time  Archive size   %     Decompress time
  775. +----------------------------------------------------------------------
  776. | source   UC O25                  238,540 bytes  100%  29.8 sec
  777. |          UC -TN    46.7 sec      264,550 bytes  111%  29.9 sec
  778. |          ARJ       42.1 sec      399,111 bytes  167%  29.1 sec
  779. |          PKZIP     22.0 sec      412,316 bytes  172%  23.5 sec
  780. |
  781. | exe+doc  UC O25                  111,134 bytes  100%   2.4 sec
  782. |          UC -TN     8.8 sec      114,738 bytes  103%   2.4 sec
  783. |          PKZIP      5.1 sec      127,753 bytes  115%   1.9 sec
  784. |          ARJ        7.4 sec      128,188 bytes  115%   3.4 sec
  785. |
  786. | sound    UC O25                   36,824 bytes  100%   1.3 sec
  787. |          UC -TT     6.9 sec       37,216 bytes  101%   1.3 sec
  788. |          PKZIP      1.7 sec       41,143 bytes  112%   0.4 sec
  789. |          ARJ        1.9 sec       41,658 bytes  113%   0.5 sec
  790. |
  791. | UPDATE   UC -TT    14.3 sec                     100%
  792. |          PKZIP     66.5 sec                     465%
  793. |          ARJ      146.3 sec                    1023%
  794.  
  795.  
  796. 2. LICENSE (the license agreement, warranty, etc.)
  797. ==================================================
  798.  
  799. Some of the essential contents of this chapter:
  800.  
  801.    All rights are reserved by AIP-NL (Ad Infinitum Programs the
  802.    Netherlands).
  803.  
  804.    You are permitted to use the evaluation package for a 30 day
  805.    evaluation period. You must buy it if you continue using it.
  806.  
  807.    You are permitted to use the evaluation package for longer periods
  808.    provided all use is strictly non-commercial. Please note AIP-NL
  809.    strongly encourages you to buy the software.
  810.  
  811.    The package is supplied 'AS IS'. It is up to you to determine its
  812.    usability.
  813.  
  814.    You may ONLY redistribute a 100% UNALTERED copy of the complete
  815.    package through BBSes etc. as long as you make no money from doing
  816.    this. You can (amongst other methods) use the UltraSafe program to
  817.    determine the authenticity of a package distributed by AIP-NL.
  818.  
  819.    You may not alter, reverse engineer, decompile, etc. the program(s)
  820.    or parts of them in any way.
  821.  
  822. This chapter contains the following paragraphs:
  823.  
  824.         - A. Limited warranty
  825.         - B. Documentation
  826.         - C. Non-commercial use license
  827.         - D. Evaluation license
  828.         - E. General license agreement
  829.         - F. Distribution restrictions
  830.  
  831. When you use the AIP-NL manual viewer you can jump to a chapter or a
  832. paragraph by pressing the corresponding digit(s) or letter.
  833.  
  834.  
  835. 2.A LIMITED WARRANTY
  836. ====================
  837.  
  838. AIP-NL (Ad Infinitum Programs the Netherlands) warrants the physical
  839. diskette(s) and physical documentation, provided with registered
  840. versions, to be free of defects in materials and workmanship, for a
  841. period of ninety days from the date of registration. If AIP-NL receives
  842. notification within the warranty period of defects in materials or
  843. workmanship, and such notification is determined by AIP-NL to be
  844. correct, AIP-NL will replace the defective diskette(s) or documentation.
  845.  
  846. The entire and exclusive liability and remedy for breach of this limited
  847. warranty shall be limited to replacement of defective diskette(s) or
  848. physical documentation and shall not include or extend to any claim for
  849. or right to recover any other damages, including but not limited to,
  850. loss of profit, data, or use of the software, or special, incidental, or
  851. consequential damages or other similar claims, even if AIP-NL has been
  852. specifically advised of the possibility of such damages. In no event
  853. will AIP-NL's liability, for any damages to you or any other person,
  854. ever exceed suggested list price or actual price paid, whichever is the
  855. lower, for the license to use the software, regardless of the form of
  856. the claim.
  857.  
  858. All rights not expressly granted here are reserved by AIP-NL.
  859.  
  860.  
  861. 2.B DOCUMENTATION
  862. =================
  863.  
  864. Information in the documentation is subject to change without notice and
  865. does not represent a commitment on the part of AIP-NL. No part of the
  866. documentation may be reproduced or transmitted in any form or by any
  867. means, electronic or mechanical, including photocopying and recording,
  868. for any purpose without the express written permission of AIP-NL.
  869.  
  870. All rights not expressly granted here are reserved by AIP-NL.
  871.  
  872.  
  873. 2.C NON-COMMERCIAL USE LICENSE
  874. ==============================
  875.  
  876. The supplied software contains NO public domain program(s). The software
  877. and all accompanying documentation is Copyright (c) 1991-1995 by AIP-NL.
  878. All rights reserved.
  879.  
  880. This software and accompanying documentation is protected by the
  881. Copyright laws of the Netherlands and also by International Treaty
  882. provisions. Any use of this software in violation of Copyright law or
  883. the terms of this limited license will be prosecuted to the best of our
  884. ability. The conditions under which you may copy this software and
  885. documentation are clearly outlined below under 'Distribution
  886. Restrictions' (see paragraph F).
  887.  
  888. AIP-NL hereby grants you a license to use this software for personal,
  889. non-commercial use. Personal use should always be "away from the
  890. office". Use by non-profit organizations (e.g. non-commercial bulletin
  891. board systems) is considered to be non-commercial use. Please note
  892. AIP-NL strongly encourages you to buy the software.
  893.  
  894. You shall not use, copy, emulate, clone, rent, lease, sell, modify,
  895. decompile, disassemble, otherwise reverse engineer, or transfer the
  896. licensed program, or any subset of the licensed program, except as
  897. provided for in this agreement. Any such unauthorized use shall result
  898. in immediate and automatic termination of this license.
  899.  
  900. All rights not expressly granted here are reserved by AIP-NL.
  901.  
  902.  
  903. 2.D EVALUATION LICENSE (only valid during 30 days evaluation period)
  904. =====================================================================
  905.  
  906. The supplied software contains NO public domain program(s). The software
  907. and all accompanying documentation is Copyright (c) 1991-1995 by AIP-NL.
  908. All rights reserved.
  909.  
  910. This software and accompanying documentation is protected by the
  911. Copyright laws of the Netherlands and also by International Treaty
  912. provisions. Any use of this software in violation of Copyright law or
  913. the terms of this limited license will be prosecuted to the best of our
  914. ability. The conditions under which you may copy this software and
  915. documentation are clearly outlined below under 'Distribution
  916. Restrictions' (see paragraph F).
  917.  
  918. AIP-NL hereby grants you a limited license to use this software for
  919. evaluation purposes for a period not to exceed thirty (30) days. If you
  920. intend to continue using this software (and/or its documentation) after
  921. the thirty (30) day evaluation period, you must make a registration
  922. payment to AIP-NL.
  923.  
  924. Using this software after the thirty (30) day evaluation period, without
  925. registering the software is a violation of the terms of this limited
  926. license. The only exception to this is when the package is solely used
  927. for non-commercial purposes in a non-commercial environment (see 2.C).
  928.  
  929. You shall not use, copy, emulate, clone, rent, lease, sell, modify,
  930. decompile, disassemble, otherwise reverse engineer, or transfer the
  931. licensed program, or any subset of the licensed program, except as
  932. provided for in this agreement. Any such unauthorized use shall result
  933. in immediate and automatic termination of this license.
  934.  
  935. All rights not expressly granted here are reserved by AIP-NL.
  936.  
  937.  
  938. 2.E GENERAL LICENSE AGREEMENT (not valid during evaluation period)
  939. ==================================================================
  940.  
  941. This license becomes valid after you have received proof of license from
  942. AIP-NL.
  943.  
  944. The supplied software contains NO public domain program(s). The software
  945. and all accompanying documentation is Copyright (c) 1991-1995 by AIP-NL.
  946. All rights reserved.
  947.  
  948. This is a non-transferable license for use of the software within your
  949. home, your company or government agency. This allows internal use and
  950. copying of the software for as many sites/computers as are contracted
  951. for. (See ORDER.FRM for site license price schedule.) Distributing,
  952. repackaging, or reselling of the software to third parties is not
  953. allowed. All licenses are prepaid only.
  954.  
  955. This software and accompanying documentation are protected by The
  956. Copyright laws of the Netherlands and also by International Treaty
  957. provisions. Any use of this software in violation of Copyright law or
  958. the terms of this limited license will be prosecuted to the best of our
  959. ability. The conditions under which you may copy this software and
  960. documentation are clearly outlined below under 'Distribution
  961. Restrictions' (see paragraph F).
  962.  
  963. You shall not use, copy, emulate, clone, rent, lease, sell, modify,
  964. decompile, disassemble, otherwise reverse engineer, or transfer the
  965. licensed program, or any subset of the licensed program, except as
  966. provided for in this agreement. Any such unauthorized use shall result
  967. in immediate and automatic termination of this license.
  968.  
  969. All rights not expressly granted here are reserved by AIP-NL.
  970.  
  971.  
  972. 2.F DISTRIBUTION RESTRICTIONS
  973. =============================
  974.  
  975. As the copyright holder, AIP-NL authorizes distribution by individuals
  976. only in accordance with the following restrictions.
  977.  
  978. The package is defined as the entire file either as 'self extracting
  979. executable' or an 'archive' as distributed by AIP-NL. The authenticity
  980. of the package can be verified by contacting AIP-NL, or by running the
  981. AIP-NL UltraSafe program which verifies the digital signatures AIP-NL
  982. ALWAYS adds to all its distributed software. If the package is changed
  983. in any way, distribution is forbidden. Please contact AIP-NL to obtain a
  984. complete package suitable for distribution.
  985.  
  986. You are hereby granted permission by AIP-NL to copy the UC2 PRO
  987. evaluation package for your own use or for others to evaluate, ONLY when
  988. the following conditions are met:
  989.  
  990.    The package - including all related program files and documentation
  991.    files - CANNOT be modified in any way and must be distributed as a
  992.    complete unchanged package, without exception.
  993.  
  994.    Small supplements to the package, such as the introductory or
  995.    installation batch files, are acceptable. This should always be done
  996.    by supplying EXTRA files, never by altering the package (file) as
  997.    distributed by AIP-NL.
  998.  
  999.    No price or other compensation may be charged for the package. A
  1000.    distribution cost may be charged for the cost of the diskette,
  1001.    shipping and handling, as long as the total (per disk) does not
  1002.    exceed US$ 15. In case ANY compensation is charged, the receiver
  1003.    should be notified, in writing, of his obligations concerning the
  1004.    Evaluation License.
  1005.  
  1006.    If you include the package on a distributed CD-ROM, diskette,
  1007.    magazine, book or any other item, you must give one such item for
  1008.    free and without further obligations to AIP-NL. This must be done
  1009.    prior to other distribution of the item.
  1010.  
  1011.    AIP-NL prohibits the distribution of outdated versions of the
  1012.    package, without written permission from AIP-NL. If the version you
  1013.    have obtained is over six (6) months old, please contact AIP-NL to
  1014.    ensure that you have the most current version.
  1015.  
  1016.    The package CANNOT be sold as part of some other inclusive package,
  1017.    nor can it be included in any commercial or non-commercial software
  1018.    packaging offer, without a written agreement from AIP-NL.
  1019.  
  1020.    The package, program(s) or documentation cannot be 'rented' or
  1021.    'leased' to others.
  1022.  
  1023.    If you wish to add any of our packages to a CD-ROM or other
  1024.    collection, please check the release date of the version you have. If
  1025.    the version is over six (6) months old then please contact AIP-NL to
  1026.    ensure that you have the most current version.
  1027.  
  1028.    If you would like to distribute the package as a 'Disk-of-the-Month',
  1029.    or as part of a book, subscription or monthly service, then you must
  1030.    contact AIP-NL in advance to ensure that you have the most current
  1031.    version of the software. Only current versions may be shipped as
  1032.    'Disk-of-the-Month' disks.
  1033.  
  1034.    You may not list any of our products in advertisements, catalogues,
  1035.    or other literature which describes our products as 'FREE SOFTWARE'.
  1036.    This is evaluation software, it is not free!
  1037.  
  1038. You are hereby granted permission by AIP-NL to distribute executables
  1039. which have been compressed by UCEXE, ONLY when the following conditions
  1040. are met:
  1041.  
  1042.    You must own (have bought) the full UC2 PRO package (with disk and
  1043.    manual) from AIP-NL.
  1044.  
  1045.    AIP-NL shall not be liable for any damages arising out of your use of
  1046.    this software, even if they have been advised of the possibility of
  1047.    such damages.
  1048.  
  1049.    You must indemnify, hold harmless and defend AIP-NL from and against
  1050.    any claims or lawsuits, including attorney's, that arise or result
  1051.    from the use of files generated by UCEXE, or any modification
  1052.    thereof.
  1053.  
  1054. You are hereby granted permission by AIP-NL to distribute self
  1055. extracting archives made with UC2SEA, ONLY when the following conditions
  1056. are met:
  1057.  
  1058.    You must own (have bought) the full UC2 PRO package (with disk and
  1059.    manual) from AIP-NL.
  1060.  
  1061.    You must own (have bought) an 'UC2 Self Extracting Archive
  1062.    distribution license' from AIP-NL. This license must specifically
  1063.    cover the 'extraction software' you include in the self extracting
  1064.    archive.
  1065.  
  1066.    AIP-NL shall not be liable for any damages arising out of your use of
  1067.    this software, even if they have been advised of the possibility of
  1068.    such damages.
  1069.  
  1070.    You must indemnify, hold harmless and defend AIP-NL from and against
  1071.    any claims or lawsuits, including attorney's, that arise or result
  1072.    from the use of the files generated by UC2SEA, or any modification
  1073.    thereof.
  1074.  
  1075. All rights not expressly granted here are reserved by AIP-NL.
  1076.  
  1077.  
  1078. 3. UC2 BASIC COMMANDS
  1079. =====================
  1080.  
  1081. This chapter describes the most essential commands of UC2. No special
  1082. features are mentioned. UC2 is very easy to use.
  1083.  
  1084. All details on ordering UltraCompressor II are in ORDER.FRM.
  1085.  
  1086. This chapter contains the following paragraphs:
  1087.  
  1088.         - A. Decompressing a complete UC2 archive
  1089.         - B. Compressing a complete directory(tree) into an archive
  1090.         - C. Making an archive damage protected
  1091.         - D. Verbose list of the archive
  1092.         - Z. Summary
  1093.  
  1094. When you use the AIP-NL manual viewer you can jump to a chapter or a
  1095. paragraph by pressing the corresponding digit(s) or letter.
  1096.  
  1097.  
  1098. 3.A DECOMPRESSING A COMPLETE UC2 ARCHIVE
  1099. ========================================
  1100.  
  1101. Command: UC ES archive-name
  1102.  
  1103.    Put the archive where you want the extracted files to be, and type
  1104.    the command UC ES archive-name, where 'archive-name' is the name of
  1105.    the archive (e.g. UC ES newsoft). All files in the archive will be
  1106.    extracted.
  1107.  
  1108.    UC ES works cautiously. It will never overwrite files, create
  1109.    directories, etc., without first consulting you.
  1110.  
  1111.  
  1112. 3.B COMPRESSING A COMPLETE DIRECTORY (TREE) INTO AN ARCHIVE
  1113. ===========================================================
  1114.  
  1115. Command: UC A archive-name
  1116.  
  1117.    All files in the current directory are compressed into an archive
  1118.    (e.g. 'UC A mydocs' creates mydocs.uc2). If the archive already
  1119.    exists, only new and changed files are (re)compressed.
  1120.  
  1121. Command: UC AS archive-name
  1122.  
  1123.    The files in the current directory and ALL subdirectories are
  1124.    compressed into an archive (e.g. 'UC AS mydocs' creates mydocs.uc2).
  1125.    If the archive already exists, only new and changed files are
  1126.    (re)compressed.
  1127.  
  1128.  
  1129. 3.C MAKING AN ARCHIVE DAMAGE PROTECTED
  1130. ======================================
  1131.  
  1132. Command: UC P archive-name
  1133.  
  1134.    The archive will become damage protected and it will remain damage
  1135.    protected if you add files to it or delete files from it etc. A
  1136.    damage protected archive can recover from most disk errors without
  1137.    losing ANY data. (The disadvantage of making archives damage
  1138.    protected is that the archives become a little bit larger).
  1139.  
  1140.  
  1141. 3.D VERBOSE LIST OF THE ARCHIVE
  1142. ===============================
  1143.  
  1144. Command: UC VS archive-name
  1145.  
  1146.    All files in the archive will be listed. The contents of all its
  1147.    subdirectories will be listed as well.
  1148.  
  1149.  
  1150. 3.Z SUMMARY
  1151. ===========
  1152.  
  1153. UC ES name     EXTRACT all files from archive name.uc2
  1154.  
  1155. UC A  name     COMPRESS all files in current directory into name.uc2
  1156.  
  1157. UC AS name     COMPRESS all files in current directory AND its
  1158.                SUBDIRECTORIES into name.uc2
  1159.  
  1160. UC P  name     make name.uc2 DAMAGE PROTECTED
  1161.  
  1162. UC VS name     the full contents of the archive will be LISTED
  1163.  
  1164.  
  1165. 4. UC2 MAIN COMMANDS
  1166. ====================
  1167.  
  1168. One general issue about UC2 is that you can consider an archive in the
  1169. same way as you would a disk. It has a root directory, sub-directories
  1170. and so on. UC2 always stores the full directory structure. With UC2, you
  1171. do not have to deal with 'match path', 'store full path', 'junk
  1172. directory name', etc.
  1173.  
  1174. The file extension of UltraCompressor archives is currently .UC2. In the
  1175. future, if our file format changes, the extension will become .UC3. This
  1176. means that there can be no confusion about which version of
  1177. UltraCompressor should be used.
  1178.  
  1179. While using UC2, the screen will indicate whether everything is working
  1180. properly. When errors occur they are shown in detail on the screen and
  1181. are also written to an error logfile (if active). When this error
  1182. logfile grows over 25,000 bytes, UC2 will give a warning.
  1183.  
  1184. In this chapter the commands and options in the examples are in upper
  1185. case, and parameters are in lower case. In use, however, the case is
  1186. never important. Any mix of upper and lower case can be used.
  1187.  
  1188. This chapter contains the following paragraphs:
  1189.  
  1190.         - A. Commands/options summary
  1191.         - B. Adding files, listing contents
  1192.         - C. Extracting files
  1193.         - D. Other commands and options
  1194.         - E. Version management
  1195.         - F. Features and automatics
  1196.         - Z. Summary
  1197.  
  1198. When you use the AIP-NL manual viewer you can jump to a chapter or a
  1199. paragraph by pressing the corresponding digit(s) or letter.
  1200.  
  1201.  
  1202. 4.A COMMAND/OPTION SUMMARY
  1203. ==========================
  1204.  
  1205. General: UC command [option(s)] archive-name [files]
  1206.  
  1207. Commands:
  1208. ---------
  1209.    A D E     ADD/DELETE/EXTRACT files to/from archive.
  1210.              (See paragraph B and C.)
  1211.  
  1212.    L V       LIST/VERBOSE LIST contents of archive.
  1213.  
  1214.    P         make archive DAMAGE PROTECTED (approx 1% overhead). Once an
  1215.              archive becomes damage protected, it remains damage
  1216.              protected, even if it is altered. The P command can be
  1217.              combined with other commands (e.g. AP).
  1218.  
  1219.    U         remove damage protection (if present) from archive.
  1220.  
  1221.    T         fully TEST archive. When it is damaged, UC2 will ask if it
  1222.              needs to be repaired. In force mode (see options), UC2 will
  1223.              repair without asking. If an archive is repaired 100% this
  1224.              is reported. If the archive cannot be repaired 100%, the
  1225.              problems (such as which files are still damaged, etc.) are
  1226.              reported on screen and in the error logfile.
  1227.  
  1228.    C         CONVERT ZIP, ARC, ARJ, etc. archives to UC2 archives. (See
  1229.              chapter 5 paragraph A.)
  1230.  
  1231.    O         OPTIMIZE archive can make an archive even smaller without
  1232.              deleting anything from the archive. Especially if an
  1233.              archive has been updated many times and/or contains many
  1234.              versions (revisions) of specific files, optimize can
  1235.              significantly reduce the size of an archive.
  1236.  
  1237.    O<number> SUPER-OPTIMIZE can make archives even smaller than
  1238.              OPTIMIZE. SO takes a LOT of time, and it is not always
  1239.              capable of making the selected archive smaller. SO works by
  1240.              rebuilding the entire archive <number> times, each time
  1241.              using a randomly chosen optimization strategy (part of this
  1242.              is changing the order of the files). Although SuperOptimize
  1243.              takes a LOT of time to make an archive smaller,
  1244.              decompression speed remains unchanged.
  1245.  
  1246.              Please note you can ALWAYS interrupt UC2 (by pressing
  1247.              Ctrl-Break) without risks.
  1248.  
  1249.    R         REVISE archive comment. (See paragraph D.)
  1250.  
  1251. Options:
  1252. --------
  1253.    Options can be concatenated to the command (UC ES arch) or they can
  1254.    be prefixed by a - or / (UC E -S arch).
  1255.  
  1256.    TF TN TT  Type-Fast; Type-Normal (default) or Type-Tight/multimedia
  1257.              compression.
  1258.  
  1259.              In TT mode, UC2 will detect whether a file is a multimedia
  1260.              file. Special (lossless) multimedia compression will then
  1261.              take place.
  1262.  
  1263.              Please note multimedia compression is not able to compress
  1264.              already compressed files (e.g. *.GIF or *.JPG cannot be
  1265.              significantly compressed).
  1266.  
  1267.    TST       Type-Super-Tight compresses a bit better that TT
  1268.              compression, but takes noticeable more time. Only
  1269.              recommended if time is not an issue. TST compression does
  1270.              not affect decompression speed, which remains very fast.
  1271.  
  1272.    S         also process all SUB-DIRECTORIES. By default only the files
  1273.              in the current directory are processed.
  1274.  
  1275.    M         MOVE mode, after addition/extraction the used source files
  1276.              are deleted. UC2 assures the addition/extraction completed
  1277.              successfully before it deletes the source file.
  1278.  
  1279.    F         FORCE mode. Using this mode, the program will work
  1280.              silently. Almost nothing will be asked during execution. In
  1281.              all cases where a question would be asked, the program acts
  1282.              as if 'yes' was answered. When not using this mode, the
  1283.              program will often ask what you want in case of doubt.
  1284.  
  1285.                 when NOT in force mode
  1286.                 ----------------------
  1287.                    - UC2 will prompt you before overwriting files
  1288.                    - UC2 will prompt you before creating directories
  1289.                    - UC2 will optionally ask if hidden/system files
  1290.                      should be processed
  1291.                    - UC2 will optionally ask permission to convert
  1292.                      archives
  1293.                    - UC2 will optionally ask permission to show/play
  1294.                      multimedia banners
  1295.                    - UC2 will prompt you before repairing a damaged
  1296.                      archive (T command)
  1297.  
  1298.                 when in force mode
  1299.                 ------------------
  1300.                    - UC2 will overwrite files without asking
  1301.                    - UC2 will create directories without asking
  1302.                    - UC2 will add hidden/system files (unless
  1303.                      the configuration does not allow that)
  1304.                    - UC2 will always apply auto-conversion
  1305.                    - UC2 will show/play multimedia banners (unless
  1306.                      the configuration does not allow that)
  1307.                    - UC2 will repair an archive immediately, if
  1308.                      the T (test) command finds a problem
  1309.  
  1310.    I         INCREMENTAL mode, for FAST updates and version control.
  1311.              Version control is also called revision management. The
  1312.              original archive is not changed, changed files are appended
  1313.              to the archive. Previous versions (revisions) of a file
  1314.              remain accessible this way. (See paragraph E.)
  1315.  
  1316.    B         BASIC mode (default unless UC2 is configured otherwise).
  1317.              This is the opposite of incremental mode. In basic mode UC2
  1318.              overwrites files in the archive. No former versions of a
  1319.              file are kept in the archive. If there are multiple
  1320.              versions of a file only the latest one is overwritten in
  1321.              non incremental mode.
  1322.  
  1323.    !         EXCLUDE file(s). (See paragraph B.)
  1324.  
  1325.    ;n        extract/delete OLDER VERSION of file (See paragraph E.)
  1326.  
  1327.    !DTT=YYYY-MM-DD/HH:MM:SS
  1328.              DYNAMIC TIME TRAVEL, option for accessing older versions
  1329.              (revisions) of (large) collections of files. (See paragraph
  1330.              E.)
  1331.  
  1332.    #         DESTINATION PATH of files in archive while adding or
  1333.              DESTINATION PATH of files on disk while extracting. (See
  1334.              paragraphs B and C.)
  1335.  
  1336.    ##        Like #, but the specified source path(s) will be appended
  1337.              to the destination path. (See paragraphs B and C.)
  1338.  
  1339.    &         CONCATENATION OF COMMANDS. (See paragraph D.)
  1340.  
  1341.    @         specifies a SCRIPT which substitutes part of the command
  1342.              line. (See paragraph F.)
  1343.  
  1344.    !@        like @, but puts '!' before all entries (useful to exclude
  1345.              a collection of files)
  1346.  
  1347.    !RELIA=   These options allow (temporary) CONFIGURATION of many of
  1348.    !ARCON=   the values one can configure with the configuration
  1349.    !SMSKIP=  screen. The exact usage of these options is documented
  1350.    !BAN=     in chapter 6.
  1351.    !VSCAN=
  1352.    !SOS2EA=  Example: UC A -S !SYSHID=ON arch *.*
  1353.    !NET=
  1354.    !SYSHID=  In this example hidden and system files are also added to
  1355.              the archive.
  1356.  
  1357.  
  1358. 4.B ADDING FILES, LISTING CONTENTS
  1359. ==================================
  1360.  
  1361. Examples:
  1362.  
  1363.    UC A arch *.txt
  1364.       All *.txt files in the current directory are compressed into the
  1365.       archive arch.uc2. If the archive already exists, the files are
  1366.       added to the archive.
  1367.  
  1368.  
  1369.    UC A -TF docs *.* !*.bak
  1370.       All (*.*) files except *.bak files are (RAPIDLY) compressed into
  1371.       the archive docs.uc2.
  1372.  
  1373.    UC A -S a:\back c:\doc\*.*
  1374.       Create/update archive of complete directory with its
  1375.       subdirectories to archive back.uc2 in the root directory of drive
  1376.       A:.
  1377.  
  1378.    When the files to be added are specified with *.*, the command can be
  1379.    shortened: 'c:\doc\*.*' can be replaced by 'c:\doc\'. This also
  1380.    applies to the exclude file(s) option.
  1381.  
  1382.    UC A -S a:\back c:\doc\ !c:\doc\old\
  1383.       All files in c:\doc and its subdirectories (except for files in
  1384.       c:\doc\old and its subdirectories) will be added to back.uc2.
  1385.  
  1386.    UC A -M arch *.bat
  1387.       All *.bat files will be moved from the current directory to the
  1388.       archive arch.uc2.
  1389.  
  1390.    UC A arch #\dir1 *.cpp
  1391.       Add all .cpp files from the current directory to directory dir1 in
  1392.       the archive arch.uc2. When a subdirectory does not already exist
  1393.       in the archive, UC2 will ask you if it has to be created in the
  1394.       archive.
  1395.  
  1396.    UC A arch tools\*.exe drivers\*.drv
  1397.       The *.exe files from the tools directory and the *.drv files from
  1398.       the drivers directory are added to the root directory of the
  1399.       archive.
  1400.  
  1401.    UC A arch tools\*.c drivers\*.drv ##
  1402.       The *.c files from the tools directory are added to the tools
  1403.       directory in the archive, the *.drv files from the drivers
  1404.       directory are added to the drivers directory in the archive.
  1405.  
  1406.    UC A arch tools\*.c drivers\*.drv ##specials
  1407.       The *.c files from the tools directory are added to the
  1408.       specials\tools directory in the archive, the *.drv files from
  1409.       the drivers directory are added to the specials\drivers
  1410.       directory in the archive.
  1411.  
  1412.    UC L arch
  1413.       List contents of root directory of arch.uc2 without
  1414.       subdirectories.
  1415.  
  1416.    UC V arch
  1417.       Verbose list contents of arch.uc2 without subdirectories. Not only
  1418.       the files are shown, but also all the versions of the files, with
  1419.       their date and time.
  1420.  
  1421.    UC L -S arch
  1422.       List contents of all directories and subdirectories in arch.uc2
  1423.  
  1424. When you have a file whose name starts with #, !, @ or & you have to let
  1425. UC2 know that you are referring to a file (and not to something else):
  1426.  
  1427.    UC A arch .\#file
  1428.       Add #file to arch.uc2. The .\ prefix is used to ensure that the
  1429.       filename is not interpreted as destination path.
  1430.  
  1431. Possible alternative ways to enter commands
  1432. -------------------------------------------
  1433.    Options can be put directly after the command or after the previous
  1434.    option (no space allowed) or they can be prefixed by '-' or '/'.
  1435.  
  1436.    Some example alternatives for 'UC A -S -TF docs *.* !*.bak':
  1437.  
  1438.       UC  A -STF docs *.* !*.bak
  1439.  
  1440.          You can concatenate options.
  1441.  
  1442.       UC  ASTF docs *.* !*.bak
  1443.  
  1444.          You can append the options directly to the command.
  1445.  
  1446.       UC  -A -S -TF docs *.* !*.bak
  1447.  
  1448.          It is allowed to precede the command with an '-'.
  1449.  
  1450.       UC  A /S /TF docs *.* !*.bak
  1451.  
  1452.          UC2 does not care whether you use '-' or '/'.
  1453.  
  1454.       UC  A -S -TF docs !*.bak
  1455.  
  1456.          If no file specifications are present, UC2 uses *.*.
  1457.  
  1458. If you want an archive with a name without extension, type a '.' just
  1459. after the archive name:
  1460.  
  1461.    UC A sources. *.*
  1462.       The archive will become 'sources' instead of 'sources.uc2'.
  1463.  
  1464.  
  1465. 4.C EXTRACTING FILES
  1466. ====================
  1467.  
  1468. Examples:
  1469.  
  1470.    UC E docs *.doc
  1471.       Extract all *.doc files from docs.uc2 into the current directory.
  1472.  
  1473.    UC E backup \test\main.doc
  1474.       Extract main.doc from subdirectory test in the archive, into the
  1475.       current directory.
  1476.  
  1477.    UC E -S backup \test\*.*
  1478.       Extract contents of the archive's directory test and all its
  1479.       subdirectories, into the current directory.
  1480.  
  1481.    UC E -S backup \test\*.* #\dir1
  1482.       Extract contents of the archive's directory test and all its
  1483.       subdirectories into the directory \dir1.
  1484.  
  1485.    UC E -M arch *.bat
  1486.       All *.bat files will be moved from arch.uc2 to the current
  1487.       directory.
  1488.  
  1489.    UC E arch tools\*.c drivers\*.drv
  1490.       The *.C files from the tools directory and the *.drv files from
  1491.       the drivers directory are extracted into the current directory.
  1492.  
  1493.    UC E arch \tools\*.c \drivers\*.drv ##
  1494.       The *.c files from the tools directory are extracted into the
  1495.       tools directory beneath the current directory, the *.drv files
  1496.       from the drivers directory are extracted into the drivers
  1497.       directory beneath the current directory.
  1498.  
  1499.    UC E arch tools\*.c drivers\*.drv ##\
  1500.       The *.c files from the tools directory are extracted into the
  1501.       tools directory in the root directory, the *.drv files from the
  1502.       drivers directory are extracted into the drivers directory in the
  1503.       root directory.
  1504.  
  1505.    UC E arch tools\*.c drivers\*.drv ##\specials
  1506.       The *.c files from the tools directory are extracted into the
  1507.       \specials\tools directory, the *.drv files from the drivers
  1508.       directory are extracted into the \specials\drivers directory.
  1509.  
  1510.    When a directory does not exist, UC2 will ask you if it has to be
  1511.    created.
  1512.  
  1513.    UC D arch *.bak
  1514.       Delete all *.bak files from the archive.
  1515.  
  1516.    UC D arch *.* !*.dbf !*.ntx
  1517.       Delete all files except *.dbf and *.ntx files from the archive.
  1518.  
  1519.  
  1520. 4.D OTHER COMMANDS AND OPTIONS
  1521. ==============================
  1522.  
  1523. Examples:
  1524.  
  1525.    UC O5 arch
  1526.       SuperOptimize arch.uc2 5 times.
  1527.  
  1528.    UC T arch
  1529.       Thoroughly test arch.uc2, and if it turns out to be damaged,
  1530.       prompt the user for reparation of the archive.
  1531.  
  1532.       In case the archive is repaired, a new archive is created with the
  1533.       name FIX_xxxx.UC2 (xxxx stands for the sequence number of existing
  1534.       FIX files), the original arch.uc2 remains unchanged.
  1535.  
  1536.    UC P arch
  1537.       Makes arch.uc2 damage protected.
  1538.  
  1539.    UC U arch
  1540.       Remove damage protection from arch.uc2.
  1541.  
  1542.    UC C arch.arj  or
  1543.    UC C arch.zip  or
  1544.    UC C arch.lzh  etc.
  1545.       An archive made with another archiver will be converted to an UC2
  1546.       archive. The extension (e.g. zip, arj) is optional; UC2 will read
  1547.       'UC C arch' as 'UC C arch.*'.
  1548.  
  1549.       Note: be sure the other archiver you need is in a directory named
  1550.       in the PATH statement of your AUTOEXEC.BAT.
  1551.  
  1552.    UC A one *.bat & A -S world *.bak & E -S exec *.exe & A world *.cmd
  1553.       With '&' multiple commands can be given at once.
  1554.  
  1555.       In this command all the .bat files from the current directory are
  1556.       added to one.uc2, all the .bak files from the current directory
  1557.       and all its subdirectories are added to world.uc2, all the .exe
  1558.       files from the archive (including subdirectories) are extracted
  1559.       from exec.uc2 and all the .cmd files from the current directory
  1560.       are added to world.uc2.
  1561.  
  1562.    For long commands we advise you to use '@'. (See paragraph F.)
  1563.  
  1564.    UC R arch
  1565.       With the editor configured in AIP-NL.INI you can view or edit the
  1566.       comment file in the archive arch.
  1567.  
  1568.  
  1569. 4.E VERSION MANAGEMENT
  1570. ======================
  1571.  
  1572. When you want to keep the former versions (revisions) of a file in the
  1573. archive, you can use the -I option to activate 'incremental mode'.
  1574.  
  1575. You can use the -B option, to activate 'basic mode', when you do not
  1576. want to keep the older versions of a file in the archive.
  1577.  
  1578. In the configuration screen (see also chapter 6) it is possible to
  1579. change the default mode from basic mode to incremental mode or vice
  1580. versa.
  1581.  
  1582. In the next examples the default mode of UC2 is basic:
  1583.  
  1584.    UC A -I -S a:\back c:\docs\*.*
  1585.       Incrementally update an archive (a:\back.uc2)
  1586.  
  1587.    UC E arch filename.doc
  1588.       Extracts the most recent version of the file 'filename.doc' from
  1589.       arch.uc2.
  1590.  
  1591.    UC E arch filename.doc;n
  1592.       Extracts the requested version of the file 'filename.doc'. 'n'
  1593.       represents the number of the version.
  1594.  
  1595. Some explanation about 'n':
  1596. ---------------------------
  1597.    Different versions of the same file in the archive get a sequence
  1598.    number.
  1599.  
  1600.    The most recent version gets number 0. The oldest version gets the
  1601.    highest number. Every time the same file is added to the archive in
  1602.    incremental mode, to remain consistent, all versions get a new
  1603.    number.
  1604.  
  1605.    There is no practical limit to the number of versions of a file you
  1606.    can keep in an archive.
  1607.  
  1608. Now we will look at an archive arch.uc2 after completion of some
  1609. operations:
  1610.  
  1611.    UC A -I arch test.doc
  1612.       The file test.doc is added to the archive arch.uc2. This is the
  1613.       first operation on the archive, so it contains only test.doc.
  1614.  
  1615.    UC V arch
  1616.       The verbose list of arch.uc2 shows us:
  1617.         TEST    DOC        1234      MAR-17-1993  12:24:12
  1618.        (name    ext nr     length    date         time)
  1619.  
  1620. After changing the file test.doc, we again add it to arch.uc2:
  1621.  
  1622.    UC A -I arch test.doc
  1623.       The second version of the same file is added to arch.uc2. The
  1624.       archive now contains two files:
  1625.  
  1626.    UC V arch
  1627.       The verbose list of arch.uc2 shows us:
  1628.         TEST    DOC;0      1245      MAR-17-1993  12:26:26
  1629.         TEST    DOC;1      1234      MAR-17-1993  12:24:12
  1630.        (name    ext nr     length    date         time)
  1631.  
  1632. After adding some more versions of the file TEST.DOC, the verbose list
  1633. gives:
  1634.  
  1635.    UC V arch
  1636.         TEST    DOC;0      1356      MAR-17-1993  14:02:00
  1637.         TEST    DOC;1      1349      MAR-17-1993  13:50:56
  1638.         TEST    DOC;2      1298      MAR-17-1993  13:28:32
  1639.         TEST    DOC;3      1280      MAR-17-1993  13:15:42
  1640.         TEST    DOC;4      1245      MAR-17-1993  12:26:26
  1641.         TEST    DOC;5      1234      MAR-17-1993  12:24:12
  1642.  
  1643. Now there are six different versions in the archive of the same file
  1644. TEST.DOC.
  1645.  
  1646. When you want to extract the most recent one, type the next command:
  1647.  
  1648.    UC E arch test.doc    or
  1649.    UC E arch test.doc;0
  1650.       The most recent version of TEST.DOC is extracted from arch.uc2.
  1651.  
  1652. When you want to see another version you have to include the version
  1653. number in the command:
  1654.  
  1655.    UC E arch test.doc;3
  1656.       There are three more recent versions in the archive than the
  1657.       version extracted.
  1658.  
  1659. (Of course the archive is unchanged after extracting a file.)
  1660.  
  1661. Deleting a version from the archive is possible with the next command:
  1662.  
  1663.    UC D arch test.doc
  1664.       The most recent version of the file is deleted from arch.uc2.
  1665.  
  1666. The verbose list will give the next information:
  1667.  
  1668.    UC V arch
  1669.         TEST    DOC;0      1349      MAR-17-1993  13:50:56
  1670.         TEST    DOC;1      1298      MAR-17-1993  13:28:32
  1671.         TEST    DOC;2      1280      MAR-17-1993  13:15:42
  1672.         TEST    DOC;3      1245      MAR-17-1993  12:26:26
  1673.         TEST    DOC;4      1234      MAR-17-1993  12:24:12
  1674.  
  1675. Also an older version of the file can be deleted:
  1676.  
  1677.    UC D arch test.doc;2
  1678.  
  1679. The verbose list will give the next information:
  1680.  
  1681.    UC V arch
  1682.         TEST    DOC;0      1349      MAR-17-1993  13:50:56
  1683.         TEST    DOC;1      1298      MAR-17-1993  13:28:32
  1684.         TEST    DOC;2      1245      MAR-17-1993  12:26:26
  1685.         TEST    DOC;3      1234      MAR-17-1993  12:24:12
  1686.  
  1687. When you want to remove all versions of TEST.DOC from the archive you
  1688. type the following command:
  1689.  
  1690.    UC D arch test.doc;*
  1691.  
  1692. When you want to remove all the older versions from the archive but keep
  1693. the most recent one, you type:
  1694.  
  1695.    UC D arch test.doc;* !test.doc     or
  1696.    UC D arch test.doc;* !test.doc;0
  1697.  
  1698. When the archive contains more files with different versions and you
  1699. only want to keep the most recent version of these files, you type:
  1700.  
  1701.    UC D arch *.*;* !*.*       or
  1702.    UC D arch *.*;* !*.*;0
  1703.  
  1704. As you can see in the examples, for the most recent version of a file,
  1705. you can just type the file name without number, or the filename with
  1706. ';0'.
  1707.  
  1708. Dynamic Time Travel (!DTT=YYYY-MM-DD/HH:MM:SS)
  1709. ----------------------------------------------
  1710.    Time travel simulates the status of the archive, as it was at the
  1711.    specified moment in the past.
  1712.  
  1713.    This feature is included for compatibility with older versions of
  1714.    UC2. Our new version manager (chapter 8 paragraph A) is a much better
  1715.    choice to manage collections of files.
  1716.  
  1717.    Time travel is only available for the extract (E) and the list (L and
  1718.    V) commands. Its syntax is !DTT=YYYY-MM-DD/HH:MM:SS with YYYY being
  1719.    the year (e.g. 1993), MM being the month, DD being the day, HH being
  1720.    the hour (e.g. 21), MM minute, SS second. The year MUST be 4 digits,
  1721.    all other numbers MUST be two digits.
  1722.  
  1723.    You can supply only the left part of the arguments, UC2 will fill in
  1724.    the rest:
  1725.  
  1726.    e.g. !DTT=1993-03-17 will be expanded to 1993-03-17/00:00:00
  1727.         !DTT=1991 will be expanded to 1991-01-01/00:00:00
  1728.         !DTT=1992-01-22/18 will be expanded to 1992-01-22/18:00:00
  1729.  
  1730.    Please note the -/:'s are optional, e.g. !DTT=19930317 can be used
  1731.    instead of !DTT=1993-03-17. (Actually UC2 ignores the -/:'s
  1732.    completely, their only purpose is to make the entered command more
  1733.    readable.)
  1734.  
  1735.    For the next two examples, assume the archive contains:
  1736.  
  1737.       TEST    DOC;0      1349      MAR-17-1993  13:50:56
  1738.       TEST    DOC;1      1298      MAR-17-1993  13:28:32
  1739.       TEST    DOC;2      1280      MAR-17-1993  13:15:42
  1740.       TEST    DOC;3      1245      MAR-17-1993  12:26:26
  1741.       TEST    DOC;4      1234      MAR-17-1993  12:24:12
  1742.  
  1743.    An example:
  1744.       UC E !DTT=1993-03-17/13:30 arch test.doc
  1745.  
  1746.    In this case a 'time travel' to 17 march 1993, 13:30 is executed.
  1747.    Since at that moment the 13:28:32 version of test.doc was the one
  1748.    last added to the archive, THAT version will be extracted.
  1749.  
  1750.    Another example:
  1751.       UC V !DTT=1993-03-17/13:20 arch
  1752.  
  1753.         TEST    DOC;0      1280      MAR-17-1993  13:15:42
  1754.         TEST    DOC;1      1245      MAR-17-1993  12:26:26
  1755.         TEST    DOC;2      1234      MAR-17-1993  12:24:12
  1756.  
  1757.    Note two versions have 'disappeared' and all other versions have got
  1758.    a new index.
  1759.  
  1760.    Please note Dynamic Time Travel NEVER alters the contents of an
  1761.    archive, it only creates a different viewpoint.
  1762.  
  1763. Important notes
  1764. ---------------
  1765.    Especially where an archive has been updated many times and contains
  1766.    many versions of specific files, optimize can significantly reduce
  1767.    the size of an archive.
  1768.  
  1769.    A just optimized archive, which contains multiple versions of files,
  1770.    will often be only a little bit larger than an archive which contains
  1771.    only the last version of all files.
  1772.  
  1773.    Move mode only moves the specified versions. If 6 versions of test.c
  1774.    are present in arch.uc2, then 'UC E -M arch test.c' will move
  1775.    test.c;0 and all other versions (5) will remain in the archive.
  1776.  
  1777.  
  1778. 4.F FEATURES AND AUTOMATICS
  1779. ===========================
  1780.  
  1781. Many advanced features are automatic in UC2. The following topics are
  1782. covered in this paragraph:
  1783.  
  1784.    - Smart skipping
  1785.  
  1786.    - Error handling
  1787.    - Control-break handling
  1788.    - Ensure mode
  1789.    - Crash management
  1790.  
  1791.    - Auto-Conversion of other archives
  1792.    - Virus scan during conversion
  1793.  
  1794.    - Scripts
  1795.    - Wildcards in archives specification
  1796.  
  1797.    - OS/2 2.x extended attributes
  1798.    - Multimedia banners
  1799.  
  1800. Smart skipping
  1801. --------------
  1802.    Smart skipping means: do not do unnecessary things. While updating an
  1803.    archive, files can be changed or not. Unchanged files will be
  1804.    skipped, when smart skipping is on. This makes updating faster. UC2
  1805.    compares name, size, time and date to determine if a file can be
  1806.    skipped. In the configuration, smart skipping can be on or off.
  1807.  
  1808. Error handling
  1809. --------------
  1810.    UC2 allows you not only to notice the error but also to do whatever
  1811.    is needed (including going to DOS!) to solve the problem. UC2 does
  1812.    not just stop, undoing all the work it has already done for you. E.g.
  1813.    when a floppy turns out to be write protected, you can remove the
  1814.    write protection and continue.
  1815.  
  1816. Control-break handling
  1817. ----------------------
  1818.    When you interrupt UC2, you do not just stop it, canceling all
  1819.    valuable work you have done. Instead, you are given the opportunity
  1820.    to go to DOS to do whatever you like (after which UC2 can continue
  1821.    where it left off). You can of course also abort the program.
  1822.  
  1823.    If you press control-break while UC2 is adding files to an archive,
  1824.    you get an extra option which allows you to skip all pending
  1825.    additions. All additions already performed, remain in the archive.
  1826.    (Since smart-skipping will automatically skip files which are already
  1827.    in the archive (when unchanged), you can continue the interrupted
  1828.    command later.)
  1829.  
  1830. Ensure mode
  1831. -----------
  1832.    For those who need absolute reliability, e.g. mission critical data
  1833.    compression tasks, UC2 has an ENSURE operation mode. In this mode UC2
  1834.    handles all updates to an archive as transactions. A transaction can
  1835.    only be confirmed if PROOF has been gathered that the transaction was
  1836.    completed 100% without problems. When a problem has occurred,
  1837.    irrespective of the cause, e.g. hardware failures, software
  1838.    conflicts, they will never get by unnoticed and the operation can be
  1839.    reversed.
  1840.  
  1841. Crash management
  1842. ----------------
  1843.    When adding files to an archive in basic mode, crashes can do no
  1844.    harm, because UC2 works with a temporary file. Only when everything
  1845.    has been completed successfully will the temporary file, which
  1846.    contains the new archive, be renamed to the archive file. To prevent
  1847.    data loss while adding files to an archive in incremental mode, UC2
  1848.    creates a new file with recovery information of the archive. This
  1849.    file is called arch.UR2 (UltraRecover).
  1850.  
  1851.    When everything goes right, this .UR2 file will be deleted
  1852.    automatically and you will never notice it ever existed, but when
  1853.    your computer crashes during adding files to the archive in
  1854.    incremental mode, this .UR2 file will mostly still exist after the
  1855.    crash.
  1856.  
  1857.    If you try to do anything with the archive now, you will get a
  1858.    message to repair the archive with 'UC T'. After the repair, the
  1859.    files arch.UC2 and arch.UR2 will still exist. The repaired archive is
  1860.    stored in the file named FIX_xxxx.UC2 (xxxx stands for the sequence
  1861.    number of existing FIX files). Before you can use the archive again,
  1862.    you have to rename FIX_xxxx.UC2 to arch.UC2 and delete the file
  1863.    arch.UR2. Now the situation is similar to the one before the crash.
  1864.  
  1865. Auto-Conversion of other archives
  1866. ---------------------------------
  1867.    Archives made by other archivers can be converted by UC2. The
  1868.    automatic conversion can be set ON in the configuration (see also
  1869.    chapter 6 paragraph A option D).
  1870.  
  1871.    Adding a file to the archive or any other operation on it, starts
  1872.    automatically with the conversion of it. It is important to know
  1873.    that, when using an archive made with another archiver, you have to
  1874.    type the archive name with the extension (e.g. arch.zip, arch.arj).
  1875.  
  1876.    Note: be sure the other archiver you need is in a directory named in
  1877.    the PATH of your AUTOEXEC.BAT.
  1878.  
  1879. Virus scan during conversion
  1880. ----------------------------
  1881.    The archive to be converted can be optionally scanned for viruses. In
  1882.    the configuration this virus scanning can be switched ON or OFF. You
  1883.    can change AIP-NL.INI and use different virus scanners (see chapter 6
  1884.    paragraph D).
  1885.  
  1886. Scripts
  1887. -------
  1888.    A 'script' can contain a large list of files (e.g. to be compressed).
  1889.    A script can also be used as a substitute for multiple (complex)
  1890.    commands. Scripts can be nested, to allow the construction of
  1891.    'building blocks'. Scripts can be extremely long (multi-megabyte).
  1892.  
  1893.    There are several ways to define a script. If you have entered
  1894.    '@exam' UC2 will look for:
  1895.       (1) an environment variable called EXAM_USC
  1896.       (2) the file 'exam.usc' (current or PATH directory)
  1897.       (3) the file 'exam' (current or PATH directory)
  1898.  
  1899.    UC @exam
  1900.       The contents of 'exam': A arch *.bat & V arch
  1901.       The .bat files are added to the archive arch.uc2 followed by a
  1902.       verbose list of arch.uc2.
  1903.  
  1904.       In this example multiple commands are concatenated by '&'.
  1905.  
  1906.    UC A arch @names
  1907.       The contents of 'names': *.bat *.cpp *.doc
  1908.       The .bat, .cpp and .doc files are added to the archive arch.uc2.
  1909.       In this example the files to be added are substituted by 'names'.
  1910.  
  1911.    UC @toback *.cpp
  1912.       The contents of 'toback': A c:\back
  1913.       All .cpp files are added to c:\back.uc2.
  1914.  
  1915.    UC @a arch *.cpp
  1916.       The contents of 'a': A -TST -SMSKIP=OFF -F
  1917.       This is an example of a 'personalized' add command.
  1918.  
  1919.    !@ works like @, but puts '!' before all entries. It can be used to
  1920.    exclude a collection of files.
  1921.  
  1922.    UC A arch *.* !@names
  1923.       The contents of 'names': *.bat *.cpp *.doc
  1924.       All files except .bat, .cpp and .doc files are added to the
  1925.       archive arch.uc2. In this example the files to be excluded are
  1926.       substituted by 'names'.
  1927.  
  1928. Wildcards in archives specification
  1929. -----------------------------------
  1930.    Instead of adding a file or a group of files to different archives in
  1931.    different commands, it is possible to work with wildcards.
  1932.  
  1933.    UC V *
  1934.       Gives the verbose list of all the archives at once.
  1935.  
  1936.    UC A * filename
  1937.       The file 'filename' will be added to all the UC2 archives in the
  1938.       current directory. Using a wildcard is the only way to access more
  1939.       archives in one command. Only one archive description is allowed
  1940.       in a command.
  1941.  
  1942.    UC A * *.cpp *.bas
  1943.       Of course more wildcards may be used for the files to be added.
  1944.       All .cpp and .bas files will be added to all archives in the
  1945.       current directory.
  1946.  
  1947.    The commands P, U, T, O and C accept multiple archive specifications.
  1948.    Here the archive specification cannot be confused with the files
  1949.    specification because there is none. Also for all these commands the
  1950.    -S option can be used to include archives in subdirectories.
  1951.  
  1952.    UC C *.zip *.arj *.lzh
  1953.       All zip, arj and lzh archives will be converted.
  1954.  
  1955.    UC T -S C:\*
  1956.       All archives on drive C: (including those in subdirectories)
  1957.       will be tested.
  1958.  
  1959. OS/2 2.x extended attributes
  1960. ----------------------------
  1961.    When the option 'Store OS/2 2.x extended attributes' (see chapter 6
  1962.    paragraph A) is active, UC2 gets the capability to store OS/2
  1963.    extended attributes. For example if you attach an icon to a file,
  1964.    compress it and extract it somewhere else, the file will still have
  1965.    its icon. Of course this is only possible on an OS/2 system. When you
  1966.    extract a file from an archive, the extended attributes will be the
  1967.    same as when you put the file in the archive. An archive optimized on
  1968.    a machine without extended attribute support (e.g. a plain DOS
  1969.    machine) will still contain extended attributes.
  1970.  
  1971. Multimedia banners
  1972. ------------------
  1973.    Music, graphics and text banners can be added to an archive. (See
  1974.    chapter 5 paragraph B.)
  1975.  
  1976.  
  1977. 4.Z SUMMARY
  1978. ===========
  1979.  
  1980. SYNTAX: UC command [option(s)] archive-name [files]
  1981.  
  1982. COMMANDS: A D E   add / delete / extract
  1983.             L V   list / verbose list
  1984.             P U   damage protect / unprotect
  1985.               T   test (& repair)
  1986.               C   convert archive to .UC2 archive
  1987.               O   optimize (especially with many versions of files)
  1988.               R   revise archive comment
  1989.  
  1990. OPTIONS: (directly after command, or preceded by '-' or '/')
  1991.        TF TN TT   fast / normal / tight-multimedia
  1992.               S   include subdirectories
  1993.               M   move mode
  1994.               F   force mode (never ask, always yes)
  1995.             I B   incremental mode (keep versions) / basic mode
  1996.  
  1997. ;n  specify version      !DTT=YYYY-MM-DD/HH:MM:SS  dynamic time travel
  1998. !exclude files   #destination   ##+sourcepath   & concat   @script
  1999.  
  2000.  
  2001. 5. UC2 BBS COMMANDS (special features for sysops)
  2002. =================================================
  2003.  
  2004. This chapter contains the following paragraphs:
  2005.  
  2006.         - A. Archive conversion (with virus checking)
  2007.         - B. Multimedia banners
  2008.         - C. UltraStealth (run UC2 with only 32k free memory)
  2009.         - Z. Summary
  2010.  
  2011. When you use the AIP-NL manual viewer you can jump to a chapter or a
  2012. paragraph by pressing the corresponding digit(s) or letter.
  2013.  
  2014.  
  2015. 5.A ARCHIVE CONVERSION (with virus checking)
  2016. ============================================
  2017.  
  2018. Conversion of archives to UC2 archives can be done fully automatic.
  2019. Perfect for the event list of your BBS. Conversion includes the optional
  2020. calling of one or more virus checking programs. Any virus checking
  2021. software can be used. You can define any extraction, checking or
  2022. processing software you would like, to be called by UC2.
  2023.  
  2024. The convert command
  2025. -------------------
  2026.    Command: UC C archives
  2027.  
  2028.       C is the convert command. ARJ/ZIP/LZH etc. archives are converted
  2029.       to UC2 archives.
  2030.  
  2031.    Example: UC C *.ARJ *.ZIP *.ARC
  2032.  
  2033.       All ARJ, ZIP and ARC archives in the current directory are
  2034.       converted to UC2 archives.
  2035.  
  2036.    Command: UC C -S archives
  2037.  
  2038.       Include archives in subdirectories as well.
  2039.  
  2040.    Example: UC C -S C:\*.ARJ C:\*.ZIP C:\*.ARC
  2041.  
  2042.       All ARJ, ZIP and ARC archives on the C: drive (including all its
  2043.       subdirectories) are converted to UC2 archives.
  2044.  
  2045.    VOLUME LABELS, BANNERS, MULTIPLE VERSIONS OF A FILE AND COMMENTS ARE
  2046.    NOT CONVERTED.
  2047.  
  2048.    The original archive will be NEVER be deleted by UC2. This is
  2049.    different from previous releases of UC2.
  2050.  
  2051. Customizing archive conversion
  2052. ------------------------------
  2053.    To convert archives to UC2 archives the original archiver's software
  2054.    will be used. AIP-NL.INI determines which archivers will be used.
  2055.  
  2056.    UC2 uses advanced swapping techniques to swap UC2 out of memory while
  2057.    execution of the other archiver takes place. This assures the
  2058.    archivers have enough memory available.
  2059.  
  2060.    Currently supported formats include: ARC, ARJ, LZH, PAK, ZIP and ZOO.
  2061.  
  2062.    UC2 conversion also supports the 'UCN' format. This format is exactly
  2063.    the same as UC2, but it denotes 'N'ew files. It can be used to mark
  2064.    files new to your BBS, allowing 'conversion' to UC2 archives. This is
  2065.    useful since conversion can also include virus scanning etc.
  2066.  
  2067.    *** WARNING *** Please note than conversion from UCN to UC2 will only
  2068.    keep the newest versions of all contained files, older versions will
  2069.    be removed.
  2070.  
  2071. Virus checking during conversion
  2072. --------------------------------
  2073.    When you activate virus checking (see chapter 6 paragraph A item E)
  2074.    during conversion, the virus checkers defined in AIP-NL.INI are used.
  2075.    If you want another virus scanner to be used, or use more scanners in
  2076.    the check, you are free to change AIP-NL.INI. Just be sure the virus
  2077.    scanner called is available on your system.
  2078.    (See chapter 6 paragraph D.)
  2079.  
  2080. Automatic changes during conversion
  2081. -----------------------------------
  2082.    The AIP-NL [VARIOUS] AFTER-CONVERT command can be used to make
  2083.    automatic changes to archives contents during their conversion. Such
  2084.    a change could include the addition of multimedia banners.
  2085.    (See chapter 6 paragraph D.)
  2086.  
  2087.  
  2088. 5.B MULTIMEDIA BANNERS
  2089. ======================
  2090.  
  2091. UC2 gives you the opportunity to add (multimedia) banners to archives.
  2092. Five file types are supported:
  2093.  
  2094.    U$~BAN.GIF   GIF image
  2095.    U$~BAN.JPG   JPEG image
  2096.    U$~BAN.MOD   MOD music files (playable with e.g. Modplay)
  2097.    U$~BAN.TXT   Standard text
  2098.    U$~BAN.ASK   Special file (determines if UC2 asks 'Continue?' after
  2099.                 showing/playing the banners. The content of this file is
  2100.                 of no importance.)
  2101.  
  2102. If you want to add a banner to an archive, you will have to specify the
  2103. banner file explicitly. No wild cards can be used, e.g. 'UC A arch
  2104. U$~BAN.*' will not work.
  2105.  
  2106. Example: UC A arch U$~BAN.TXT
  2107.  
  2108.    A text banner is added to the archive arch.
  2109.  
  2110. You can add multiple banner files (e.g. U$~BAN.GIF, U$~BAN.MOD and
  2111. U$~BAN.ASK) to a single archive.
  2112.  
  2113. The AIP-NL.INI file contains the default software to show or play
  2114. banners. See chapter 6 paragraph D for more information on this file.
  2115.  
  2116. The banners are shown/played when files are extracted from the archive.
  2117.  
  2118. Under 4DOS ~ is sometimes used as 'compound character'. To resolve
  2119. conflicts, you can change this with the 4DOS 'SETDOS /C^' command.
  2120.  
  2121.  
  2122. 5.C ULTRA-STEALTH (run uc with only 32k free memory)
  2123. ====================================================
  2124.  
  2125. With help of UltraStealth, you can run UC2 with only 32 kilobytes of
  2126. free memory available.
  2127.  
  2128. Suppose you have a huge program (e.g. a word processor or a mailer).
  2129. When this huge program has the ability of starting another DOS program
  2130. only a small amount of memory will be free. UltraStealth allows you to
  2131. have this huge program call UC2. To achieve this you need to do two
  2132. things:
  2133.  
  2134. (1) the (huge) program has to be started with US (UltraStealth)
  2135. ---------------------------------------------------------------
  2136.    Just put US in front of the normal command you use to start the
  2137.    (huge) program. So if the normal command is:
  2138.  
  2139.       bigprog /a /q
  2140.  
  2141.    You now have to use:
  2142.  
  2143.       US bigprog /a /q
  2144.  
  2145. (2) use UUC instead of UC
  2146. -------------------------
  2147.    Instead of using UC from your (huge) program, you should call UUC.
  2148.    UUC behaves exactly like UC. The only difference is that US and UUC
  2149.    together solve the memory problem the (huge) program causes.
  2150.  
  2151. It is also possible to start US with no command behind it. In this case
  2152. the DOS command processor is started and UUC can be used anytime. The
  2153. command processor (and US) can be stopped with the EXIT command.
  2154.  
  2155. When UUC is called, while US is not active, UUC starts UC2 anyway. In
  2156. this case there is no difference in the amount of memory needed for UUC
  2157. and for UC2.
  2158.  
  2159. US and UUC together use about 32k of free memory, most of this will be
  2160. claimed by US.
  2161.  
  2162. Due to the complex nature of UltraStealth, it is recommended you
  2163. test-drive UltraStealth thoroughly in your specific environment before
  2164. you start using it.
  2165.  
  2166.  
  2167. 5.Z SUMMARY
  2168. ===========
  2169.  
  2170. UC C *.ARJ *.ZIP *.LZH
  2171.    Convert archives to UC2 archives.
  2172.  
  2173. US <command>
  2174.    Executes <command> and installs UltraStealth (needed to use UUC)
  2175.  
  2176. UUC ...
  2177.    Exactly the same as UC ..., but much less memory is needed. Will only
  2178.    work with a small amount of memory if UltraStealth is active.
  2179.  
  2180.  
  2181. 6. UC2 CONFIGURATION
  2182. ====================
  2183.  
  2184. When UC2 is started without parameters there is the option to configure
  2185. UC2 (by pressing the 'C' key).
  2186.  
  2187. General options are:
  2188.  
  2189.    A -> Default compression method
  2190.    B -> Default operation
  2191.    C -> Reliability level
  2192.    D -> Automatic archive conversion
  2193.    E -> Virus scan during conversion
  2194.    F -> Smart skipping
  2195.    G -> Amount of output/information
  2196.    H -> Show (multimedia) banners
  2197.    I -> Store OS/2 2.x extended attributes
  2198.    J -> Store system/hidden files
  2199.  
  2200. System options are:
  2201.  
  2202.    M -> Video mode
  2203.    N -> Dynamic program swapping
  2204.    O -> Use EMS
  2205.    P -> Use XMS
  2206.    Q -> Use 386/486/Pentium features
  2207.    R -> Advanced networking
  2208.    S -> Location for temporary files
  2209.    U -> Error logfile
  2210.  
  2211. Quick setup options are:
  2212.  
  2213.    1 -> default
  2214.    2 -> max speed
  2215.    3 -> max compress
  2216.    4 -> max safe
  2217.    5 -> UNDO
  2218.  
  2219. The configuration you choose here will be your default configuration
  2220. when using UC2. All options are stored in the AIP-NL.INI file. Some of
  2221. the options in the configuration screen can also be temporary set on the
  2222. command line. The command line options are also described in this
  2223. chapter.
  2224.  
  2225. This chapter contains the following paragraphs:
  2226.  
  2227.         - A. General options
  2228.         - B. System options
  2229.         - C. Quick setup
  2230.         - D. AIP-NL.INI
  2231.         - E. Optimizing performance
  2232.  
  2233. When you use the AIP-NL manual viewer you can jump to a chapter or a
  2234. paragraph by pressing the corresponding digit(s) or letter.
  2235.  
  2236.  
  2237. 6.A GENERAL OPTIONS
  2238. ===================
  2239.  
  2240. A -> Default compression method
  2241. -------------------------------
  2242.    Equivalent command line options: -TN, -TT, -TST, -TF
  2243.  
  2244.    The compression type can be NORMAL, TIGHT, S-TIGHT or FAST. When
  2245.    installing UC2, the default compression type is normal.
  2246.  
  2247.    In TT and in TST mode, UC2 will detect whether a file is a multimedia
  2248.    file. Special (lossless) multimedia compression will then take place.
  2249.  
  2250. B -> Default operation
  2251. ----------------------
  2252.    Equivalent command line options: -I, -B
  2253.  
  2254.    The add operation can be in BASIC MODE or INCREMENTAL MODE. In basic
  2255.    mode files that already exist in the archive will be replaced by a
  2256.    new version.
  2257.  
  2258.    In incremental mode more versions of a file can be kept in the
  2259.    archive. When an already existing file is added to the archive, the
  2260.    newer version of the file will be added. This mode increases the
  2261.    speed of the addition significantly, especially for slow disks and/or
  2262.    large archives.
  2263.  
  2264.    Another advantage of the incremental mode is the possibility of
  2265.    keeping multiple versions of a file in the archive. If, for example,
  2266.    you want to see what is changed in the file, just compare it to a
  2267.    previous version.
  2268.  
  2269. C -> Reliability level
  2270. ----------------------
  2271.    Equivalent command line options: !RELIA=DETECT, !RELIA=PROTECT,
  2272.                                     !RELIA=ENSURE, !RELIA=CHECK
  2273.  
  2274.    The reliability level can be DETECT, PROTECT or ENSURE.
  2275.  
  2276.    Detect means errors will be reported, but no action will be taken.
  2277.  
  2278.    Protect means errors will be avoided, by using damage protection.
  2279.  
  2280.    Ensure mode means UC2 will make as sure as technically possible,
  2281.    everything will go perfect. First the existing archive will be
  2282.    tested. Then the command given will be executed. The third step
  2283.    includes a complete test on the new archive. When something went
  2284.    wrong, a 'rollback' will take place, and the original archive will be
  2285.    restored. To ensure correct storage on your hard disk, diskcache
  2286.    flush commands will be called at appropriate moments during execution
  2287.    of your command. (See paragraph D.)
  2288.  
  2289.    Check mode means the thorough testing from ensure mode will be used
  2290.    without making all archives damage protected.
  2291.  
  2292. D -> Automatic archive conversion
  2293. ---------------------------------
  2294.    Equivalent command line options: !ARCON=ON, !ARCON=OFF
  2295.  
  2296.    Automatic conversion of other archiver's archives can be ON or OFF.
  2297.    When automatic conversion is on, any operation can be done on other
  2298.    archiver's archives. UC2 will automatically start rebuilding the
  2299.    archive to an UC2 archive. After rebuilding, the command will be
  2300.    executed.
  2301.  
  2302.    When automatic conversion is off, UC2 will not automatically convert
  2303.    archives, but prompt the user, asking permission to convert the
  2304.    archive.
  2305.  
  2306. E -> Virus scan during conversion
  2307. ---------------------------------
  2308.    Equivalent command line options: !VSCAN=ON, !VSCAN=OFF
  2309.  
  2310.    Virus scan can be ON or OFF during the conversion of another
  2311.    archiver's archive (also see paragraph D).
  2312.  
  2313. F -> Smart skipping
  2314. -------------------
  2315.    Equivalent command line options: !SMSKIP=ON, !SMSKIP=OFF
  2316.  
  2317.    Smart skipping can be ON or OFF.
  2318.  
  2319.    When smart skipping is on, unchanged files (already in the archive)
  2320.    are skipped during addition. This makes updating much faster.
  2321.  
  2322. G -> Amount of output/information
  2323. ---------------------------------
  2324.    The amount of output/information can be MINIMAL, VERBOSE or NORMAL.
  2325.  
  2326.    UC2 shows all kinds of information while it is executing your
  2327.    command. Minimal information mode only shows the filenames being
  2328.    processed, no progress indicators are given. Verbose information mode
  2329.    shows in great detail what UC2 is doing. For instance the file name
  2330.    in process is followed by blocks indicating progress. Normal
  2331.    information mode shows what UC2 is doing, but does not give undue
  2332.    attention to details which are not directly related to the given
  2333.    command.
  2334.  
  2335.    In some environments (e.g. Chinese/Japanese/Russian) the behavior of
  2336.    UC2 to print 'high ASCII' characters is unwanted. In those cases you
  2337.    can use the 'SET UC2_NO_HIGH_ASCII=ON' environment setting to disable
  2338.    high ASCII in UC2 output. Please note UC2 already uses an ISO 9241
  2339.    compliant subset of IBM high ASCII to avoid conflicts with e.g. IBM
  2340.    OS/2 2.x XGA systems.
  2341.  
  2342. H -> Show (multimedia) banners
  2343. ------------------------------
  2344.    Equivalent command line options: !BAN=ON, !BAN=OFF, !BAN=ASK
  2345.  
  2346.    You can choose if the banners added to the archives are shown/played
  2347.    automatically (ON), only when you agree (ASK) or never (OFF).
  2348.  
  2349. I -> Store OS/2 2.x extended attributes
  2350. ---------------------------------------
  2351.    Equivalent command line options: !SOS2EA=ON, !SOS2EA=OFF
  2352.  
  2353.    By putting this option ON, OS/2 EAs will be stored when UC2 finds any
  2354.    during compression, when this option is OFF UC2 will not store OS/2
  2355.    2.x EAs. OS/2 2.x extended attributes (such as icons, WPS long icon
  2356.    names, WordPerfect 5.2 for OS/2 summary information, etc.) will be
  2357.    retained in an archive when the option is ON. Please note that OS/2
  2358.    2.x EAs will ALWAYS be extracted, when present in an archive.
  2359.    Extended attributes are preserved by the optimize command, even if
  2360.    this is performed on a machine which does not run OS/2.
  2361.  
  2362. J -> Store system/hidden files
  2363. ------------------------------
  2364.    Equivalent command line options: !SYSHID=ON, !SYSHID=OFF,
  2365.                                     !SYSHID=ASK
  2366.  
  2367.    You can choose if you want 'system' and 'hidden' files to be added
  2368.    ON, OFF or if you want UC2 to ASK you how to deal with them.
  2369.  
  2370.  
  2371. 6.B SYSTEM OPTIONS
  2372. ==================
  2373.  
  2374. M -> Video mode
  2375. ---------------
  2376.    If your card is not compatible with MDA, HERCULES, CGA, EGA, VGA,
  2377.    SVGA, XGA, etc. (very unlikely but possible for some older computers)
  2378.    choose BIOS mode. If you have a monochrome monitor (or laptops etc.)
  2379.    choose MONO instead of COLOR. Please note that if UC2 detects
  2380.    DesqView (which prefers BIOS video on 286 computers) it will use BIOS
  2381.    video, even if UC2 is not configured to use BIOS video.
  2382.  
  2383. N -> Dynamic program swapping
  2384. -----------------------------
  2385.    Dynamic program swapping can be ON (in which case UC2 will be swapped
  2386.    to EMS or disk if it invokes DOS) or OFF.
  2387.  
  2388. O -> Use EMS
  2389. ------------
  2390.    In general '4.0+ ONLY' is the best option. Most modern EMS drivers
  2391.    behave in a reliable way. Some older versions can cause unwanted
  2392.    conflicts and this mode will not use those older versions. Switch EMS
  2393.    OFF if your EMS (emulator) is not compatible with the
  2394.    Lotus/Intel/Microsoft specifications. Switch EMS to 'ANY VERSION' if
  2395.    you have an EMS driver lower than 4.0, which you verified to work
  2396.    correctly with UC2. Compressing and decompressing a large collection
  2397.    of files is a good way to verify this.
  2398.  
  2399.    Default, UC2 allocates all available EMS. By setting the environment
  2400.    variable 'SET UC2_MAX_EMS=xxx', you can specify in kilobytes how much
  2401.    EMS UC2 should use.
  2402.  
  2403. P -> Use XMS
  2404. ------------
  2405.    Switch XMS OFF if your XMS (emulator) is not compatible with the
  2406.    Lotus/Intel/Microsoft specifications. This is not likely since UC2
  2407.    uses XMS very conservatively.
  2408.  
  2409.    Default, UC2 allocates all available XMS. By setting the environment
  2410.    variable 'SET UC2_MAX_XMS=xxx', you can specify in kilobytes how much
  2411.    XMS UC2 should use.
  2412.  
  2413.    Default, UC2 allocates all available UMB (upper memory blocks) from
  2414.    the UMA (upper memory area). By setting the environment variable 'SET
  2415.    UC2_MAX_UMB=xxx', you can specify in kilobytes how much UMB UC2
  2416.    should use.
  2417.  
  2418.    It is also possible for UC2 to use "raw" extended memory (without a
  2419.    XMS driver). With the environment variable 'SET UC2_RAW_EXT=xxx' you
  2420.    can specify in kilobytes how much extended memory UC2 should use.
  2421.    Please note this option is VERY dangerous. We strongly advise you to
  2422.    use a XMS driver (like HIMEM.SYS) instead.
  2423.  
  2424. Q -> Use 386/486/Pentium features
  2425. ---------------------------------
  2426.    Switch off use of 386/486/Pentium options. AIP-NL is not aware of any
  2427.    situation where this feature had to be disabled. UC2 does not suffer
  2428.    from Pentium processors with the infamous 'FDIV bug'.
  2429.  
  2430. R -> Advanced networking
  2431. ------------------------
  2432.    Equivalent command line options: !NET=ON, !NET=OFF, !NET=AUTO-SKIP
  2433.  
  2434.    Network Support. If you have a version of DOS which does not support
  2435.    DOS network calls (e.g. 2.0), or if you have a network which behaves
  2436.    very differently from IBM, Lantastic, Microsoft, Novell or Vines
  2437.    networks, you can set this option to OFF. Sharing archives is then no
  2438.    longer possible.
  2439.  
  2440.    When UC2 attempts to compress a locked file, it allows the user to
  2441.    skip this file by hand. When auto-skip mode is active, locked files
  2442.    will be skipped automatically. A warning is reported and logged if
  2443.    files are skipped.
  2444.  
  2445. S -> Location for temporary files
  2446. ---------------------------------
  2447.    The location for temporary files can be configured. When everything
  2448.    goes well you will never notice the temporary files. Please make sure
  2449.    the directory configured exists on your disk.
  2450.  
  2451.    You can override this setting with the environment variable UC2_TMP
  2452.    e.g. 'SET UC2_TMP=F:\'.
  2453.  
  2454.    The temporary files location will also be used by the virtual memory
  2455.    manager. Default, UC2 will use up to 8192 kilobytes of virtual
  2456.    memory. This amount can be changed with 'SET UC2_VMEM=xxx' to a value
  2457.    from 4096 to 49192 (kilobytes). UC2 needs 1 byte of base memory for
  2458.    each kilobyte of virtual memory.
  2459.  
  2460. U -> Error logfile
  2461. ------------------
  2462.    The error logfile will register all errors and warnings that appear
  2463.    while executing UC2. You can also disable error logging by specifying
  2464.    * as logfile.
  2465.  
  2466.  
  2467. 6.C QUICK SETUP
  2468. ===============
  2469.  
  2470. 1 -> default
  2471. ------------
  2472.    The default setup changes the following settings:
  2473.  
  2474.        GENERAL OPTIONS:
  2475.  
  2476.            default compression mode        into    normal
  2477.            default operation               into    basic mode
  2478.            reliability level               into    detect
  2479.            automatic archive conversion    into    off
  2480.            virus scan during conversion    into    off
  2481.            amount of output/information    into    normal
  2482.            show (multimedia) banners       into    ask
  2483.            store OS/2 2.x ext. attributes  into    off
  2484.            store system/hidden files       into    ask
  2485.  
  2486.        SYSTEM OPTIONS:
  2487.  
  2488.            video mode                      into    color
  2489.            dynamic program swapping        into    on
  2490.            use EMS                         into    4.0 and higher only
  2491.            use XMS                         into    on
  2492.            use 386/486/Pentium features    into    on
  2493.            advanced networking             into    on
  2494.            all locations will be set to the same location as UC.EXE
  2495.  
  2496. 2 -> max speed
  2497. --------------
  2498.    The max speed setup changes the following settings:
  2499.  
  2500.        GENERAL OPTIONS:
  2501.  
  2502.            default compression             into    fast
  2503.            default operation               into    incremental
  2504.            reliability level               into    detect
  2505.            automatic archive conversion    into    on
  2506.            virus scan during conversion    into    off
  2507.            amount of output/information    into    minimal
  2508.            show (multimedia) banners       into    off
  2509.  
  2510.        SYSTEM OPTIONS:
  2511.  
  2512.            video mode   No matter whether the video mode is color or
  2513.                         mono, this configuration will turn off BIOS
  2514.                         usage
  2515.            use EMS                         into    4.0 and higher only
  2516.            use XMS                         into    on
  2517.            use 386/486/Pentium features    into    on
  2518.            advanced networking             into    auto-skip
  2519.  
  2520. 3 -> max compress
  2521. -----------------
  2522.    The max compress setup changes the following settings:
  2523.  
  2524.        GENERAL OPTIONS:
  2525.  
  2526.            default compression             into    s-tight
  2527.            default operation               into    basic mode
  2528.            reliability level               into    detect
  2529.            automatic archive conversion    into    on
  2530.  
  2531. 4 -> max safety
  2532. ---------------
  2533.    The max safe setup changes the following settings:
  2534.  
  2535.        GENERAL OPTIONS:
  2536.  
  2537.            default operation               into    incremental mode
  2538.            reliability level               into    ensure
  2539.            automatic archive conversion    into    off
  2540.            virus scan during conversion    into    on
  2541.            smart skipping                  into    off
  2542.            show (multimedia) banners       into    off
  2543.  
  2544.        SYSTEM OPTIONS:
  2545.  
  2546.            video mode   No matter whether the video mode is color or
  2547.                         mono, this configuration will turn on BIOS usage
  2548.            use EMS                         into    off
  2549.            use XMS                         into    off
  2550.            use 386/486/Pentium features    into    off
  2551.            only if advanced networking was auto-detect:
  2552.                                            into    on
  2553.  
  2554. 5 -> UNDO
  2555. ---------
  2556.    The configuration will be reset to the state it was before you
  2557.    started the configuration screen.
  2558.  
  2559.  
  2560. 6.D AIP-NL.INI
  2561. ==============
  2562.  
  2563. All UC2 settings are kept in the AIP-NL.INI file.
  2564.  
  2565. Please note the AIP-NL.INI file contains settings for ALL AIP-NL
  2566. products.
  2567.  
  2568. All AIP-NL products use the PATH environment variable (usually set in
  2569. AUTOEXEC.BAT) to locate AIP-NL.INI, thus allowing multiple people to use
  2570. the same executable file, while they each have their own configuration
  2571. file.
  2572.  
  2573. AIP-NL.INI consist of sections each containing a number of settings.
  2574.  
  2575. EXPANDERS
  2576. ---------
  2577.    This section specifies how archives should be extracted for use by
  2578.    the convert command.
  2579.  
  2580.    For example "ARC = ARC xzw % *.*/h/a, PKXARC % *.*, PAK e %"
  2581.    specifies that files with the ARC extension should be extracted by
  2582.    ARC, PKXARC or PAK. If more than one of those is available, the first
  2583.    one in the list will be used.
  2584.  
  2585. UC2-GENERAL-OPTIONS, UC2-SYSTEM-OPTIONS
  2586. ---------------------------------------
  2587.    These sections contain all settings from the configuration menu.
  2588.  
  2589. VARIOUS
  2590. -------
  2591.    TEMPORARY-FILES specifies which directory UC2 uses for temporary
  2592.    files.
  2593.  
  2594.    PRINT-FILE specifies how $PRF prints a file.
  2595.  
  2596.    FLUSH-CACHE specifies how ensure mode flushes the disk cache.
  2597.  
  2598.    VIRUS-SCAN specifies how convert can check for viruses.
  2599.  
  2600.    AFTER-CONVERT specifies a command to be executed during archive
  2601.    conversion.
  2602.  
  2603. VIEWERS, EDITORS
  2604. ----------------
  2605.    These sections are mainly used by Visual UltraCompressor. UC2 does
  2606.    use them for the R (revise comment) command and for showing
  2607.    multimedia banners.
  2608.  
  2609.  
  2610. 6.E OPTIMIZING PERFORMANCE
  2611. ==========================
  2612.  
  2613. In general UC2 will automatically utilize available resources (RAM,
  2614. microprocessor) in an optimal fashion. Please note UC2 does not stretch
  2615. beyond the limits of your system to achieve this. It only uses
  2616. officially documented methods to access XMS, EMS, DOS, Windows, OS/2,
  2617. etc. In many cases the methods UC2 uses have been double checked with
  2618. IBM, Microsoft, QuarterDeck, Novell and others. And of course everything
  2619. has been extensively tested on many different environments.
  2620.  
  2621. There are some tips to allow UC2 to work as fast as possible:
  2622.  
  2623.    - make as much base, EMS and XMS memory available as you can spare
  2624.  
  2625.    - (but) on systems supporting virtual memory (e.g. Windows NT and
  2626.      OS/2) you should not make TOO much memory available for UC2 (to
  2627.      prevent swapping)
  2628.  
  2629.    - select maximal speed in the configuration menu
  2630.  
  2631.    - or (e.g. if you prefer better compression)
  2632.       - enable advanced networking (when applicable)
  2633.       - enable EMS/XMS usage
  2634.       - enable 386/486/Pentium usage
  2635.       - set UC2 information to minimal
  2636.  
  2637.    - redirect the output of UC2 to the NUL device (e.g. UC X test > NUL)
  2638.  
  2639.    - install sufficient BUFFERS in your CONFIG.SYS and/or install a disk
  2640.      caching utility
  2641.  
  2642.  
  2643. 7. UC2 TECHNICAL DETAILS (UC2 internals, design, benchmarks)
  2644. ============================================================
  2645.  
  2646. Although many aspects of UC2 look simple and straightforward, UC2 is a
  2647. very advanced program.
  2648.  
  2649. This chapter contains the following paragraphs:
  2650.  
  2651.         - A. Inside UC2
  2652.         - B. Compression technology
  2653.         - C. Damage protection technology
  2654.         - D. Benchmarking
  2655.  
  2656. When you use the AIP-NL manual viewer you can jump to a chapter or a
  2657. paragraph by pressing the corresponding digit(s) or letter.
  2658.  
  2659.  
  2660. 7.A INSIDE UC2
  2661. ==============
  2662.  
  2663. Here a rough overview of the internals of UC2 is given. It can give
  2664. those who are interested more insight into what is going on INSIDE
  2665. UltraCompressor II.
  2666.  
  2667. If you want more detailed technical information (e.g. for making add-on
  2668. tools) you can always contact us. Please note however we do not intend
  2669. to supply the source code of UC2 to third parties. Sample add-on tools
  2670. (including their source code) are available on request.
  2671.  
  2672. UC2 is programmed in C++ and assembly language (for the time critical
  2673. sections). It is devised in a number of modules which are briefly
  2674. described in this section.
  2675.  
  2676.  
  2677. Overview
  2678. --------
  2679.                         GENERAL CONTROL
  2680.                            main
  2681.                            config
  2682.                            command interpreter
  2683.                            manager
  2684.                            archive I/O
  2685.  
  2686.  
  2687.    SYSTEM SERVICES                             COMPRESSION SERVICES
  2688.       video                                       dictionary manager
  2689.       low level I/O                               ultra engine
  2690.       memory manager
  2691.       virtual memory manager
  2692.                                                RELIABILITY SERVICES
  2693.                                                   error handler
  2694.    OTHER                                          damage protection
  2695.       lister                                      guard
  2696.       viewer                                      test
  2697.  
  2698.  
  2699. General control
  2700. ---------------
  2701.    MAIN
  2702.       The main module calls all initialization routines.
  2703.  
  2704.    CONFIG
  2705.       This module handles the interactive configuration screen. This
  2706.       module also uses and maintains AIP-NL.INI.
  2707.  
  2708.    COMMAND INTERPRETER
  2709.       The command line and script files are interpreted in this module.
  2710.  
  2711.    MANAGER
  2712.       Finds out what should happen (e.g. ask the command interpreter,
  2713.       scan the disk and the archive), and makes it happen (call the data
  2714.       compressor, etc.). This module is the most complex module of UC2,
  2715.       but it delegates a lot of hard work to other modules.
  2716.  
  2717.    ARCHIVE I/O
  2718.       Here the archive file format is managed. Conversion between
  2719.       external (compressed flat file) and internal (object database)
  2720.       formats, as well as all kinds of integrity checks are performed.
  2721.  
  2722. System services
  2723. ---------------
  2724.    VIDEO
  2725.       The keyboard, screen and output file (in case of redirection) are
  2726.       managed here.
  2727.  
  2728.    LOW LEVEL I/O
  2729.       Here low level file specifics and networking are handled. Also
  2730.       this module takes care of file caching, an essential issue in
  2731.       making UC2 perform fast on (floppy) disk and network access.
  2732.  
  2733.    MEMORY MANAGER (MM)
  2734.       This module manages base memory, XMS and EMS. The MM decides which
  2735.       components of the program can get memory, and how much memory they
  2736.       can get, to optimize overall performance.
  2737.  
  2738.    VIRTUAL MEMORY MANAGER (VMM)
  2739.       This module manages the 'persistent object database' containing
  2740.       the central directory of an archive and numerous links needed to
  2741.       make processing as efficient as possible. No matter the amount of
  2742.       data in the VMM, it can always work (fast) with only a small
  2743.       amount of memory. VMM uses the memory manager to optimize its
  2744.       performance wherever possible. The VMM also supplies pipeline
  2745.       services for decoupling translation (archive I/O) and compression
  2746.       logic.
  2747.  
  2748. Compression services
  2749. --------------------
  2750.    DICTIONARY MANAGER
  2751.       This component makes dictionaries of collections of files. These
  2752.       dictionaries allow UC2 to use similarities between different files
  2753.       to compress all files even further. The analyzing phase of UC2
  2754.       refers to the creation of dictionaries based on found files. The
  2755.       optimizing phase (which is different from the optimize command)
  2756.       refers to the compression of the dictionaries. One special
  2757.       dictionary (the 'master') is built into the compressor. This
  2758.       dictionary is used to improve compression of the other
  2759.       dictionaries. The master contains information about the general
  2760.       structure of common file types such as: documents, spreadsheets,
  2761.       databases, sources, etc. Private Compression Profiles (8.F) allow
  2762.       you to replace the master with you own dictionary.
  2763.  
  2764.    ULTRA ENGINE
  2765.       The bare high speed compressor/decompressor. Based on a dictionary
  2766.       the redundancy of a stream of data is analyzed and compressed.
  2767.  
  2768. Reliability services
  2769. --------------------
  2770.    ERROR HANDLER
  2771.       The error handler traps DOS system errors and handles them in a
  2772.       neat and consistent way. It often allows the user to go to DOS,
  2773.       solve the problem, leave DOS and continue where UC2 has stopped.
  2774.       The error handler makes it impossible for the user to specify
  2775.       'ignore', (an unfortunate option DOS offers if something goes
  2776.       wrong).
  2777.  
  2778.    DAMAGE PROTECTION
  2779.       This module handles damage protection, damage detection and damage
  2780.       recovery.
  2781.  
  2782.    GUARD
  2783.       The guard continuously checks the internal integrity of UC2. It is
  2784.       often able to prevent damage caused by e.g. software conflicts or
  2785.       hardware problems.
  2786.  
  2787.    TEST (only available in beta versions)
  2788.       Tests and interrogates various components of UC2 during execution.
  2789.  
  2790. Other
  2791. -----
  2792.    LISTER
  2793.       Shows contents of archive in various formats.
  2794.  
  2795.    VIEWER
  2796.       Online help viewer.
  2797.  
  2798.  
  2799. 7.B COMPRESSION TECHNOLOGY
  2800. ==========================
  2801.  
  2802. UC2 significantly outperforms older data compression technology. For
  2803. those interested in background information, we will discuss WHY and HOW
  2804. UC2 is capable of doing this.
  2805.  
  2806. AIP-NL would like to specifically thank Drs. ing. D. Bezemer, Prof. dr.
  2807. J. van Leeuwen, Dr. P. van Oostrum and Drs. ing. N.E. de Vries for their
  2808. significant participation in the design of the UC2 compression engine.
  2809.  
  2810. To begin, we will give a brief explanation of AR002. Most modern data
  2811. compressors (ARJ, LHA, ZIP, ZOO) are derivatives of AR002. AR002 was
  2812. designed by Haruhiko Okumura.
  2813.  
  2814. AR002, a two phase compressor
  2815. -----------------------------
  2816.    DATA <-> (#1, LZ) <-> (grouping) <-> (#2, Huffman) <-> COMPRESSED
  2817.  
  2818.    In phase #1 (the 'LempelZiv' phase) 'matches' are located. Matches
  2819.    are strings of data which are equal. The string 'hello there hello'
  2820.    can be converted to 'hello there '(-12,5) since 'hello' is matched.
  2821.    In general ARJ, LHA, ZIP and ZOO can find matches with a maximum
  2822.    distance of about 32700, and a maximum length of about 500 (rough
  2823.    estimates).
  2824.  
  2825.    In phase #2 (the 'Huffman' phase) the output of phase #1 is divided
  2826.    into blocks. For each block statistics are analyzed (for example the
  2827.    compressor notices the character 'e' is used much more often than
  2828.    'q'). From this analysis an optimal translation table ('Huffman
  2829.    tree') is generated (e.g. 'e'=001 'q'=100100010). The compressed
  2830.    block then consists of the Huffman tree and the translated contents
  2831.    of the block.
  2832.  
  2833.    The storage of the Huffman tree, at the beginning of each block, is a
  2834.    complicated matter which we will not cover here.
  2835.  
  2836.    The number of different values phase #1 can generate is very large
  2837.    (e.g. all 256 possible values of a byte, and about 32700 * 500
  2838.    different match descriptions). Since it is very inefficient to make a
  2839.    Huffman tree for all those possible values, the values are grouped,
  2840.    and statistics are gathered for the groups instead of the single
  2841.    values. LHA, ZOO, ARJ and ZIP all use different methods to realize
  2842.    this grouping.
  2843.  
  2844. UltraEngine
  2845. -----------
  2846.    The UltraEngine is also an AR002 derivative, but with some
  2847.    fundamental enhancements. These enhancements can be divided into two
  2848.    major features: the core engine and the dictionary manager.
  2849.  
  2850.    The dictionary manager is the most significant enhancement. Ordinary
  2851.    data compression engines always start completely 'blank', knowing
  2852.    absolutely nothing about the data they are going to compress. The
  2853.    dictionary manager collects generic information about a group of
  2854.    files. For example a collection of *.DOC files will all have similar
  2855.    characteristics, and share common text strings like 'paper'. The
  2856.    dictionary manager collects this common 'knowledge' in a dictionary.
  2857.    This dictionary is used to make the core engine much smarter when
  2858.    similar files are compressed.
  2859.  
  2860.    UC2 has a dictionary (the 'master') built into the executable as
  2861.    well. This master contains information about common file formats. It
  2862.    contains, for example, information about spreadsheets, databases,
  2863.    word processors, programming languages and common words in: English,
  2864.    French, German and Dutch. This built in information improves
  2865.    compression.
  2866.  
  2867.    The core engine also has some enhancements over the basic AR002
  2868.    engine.
  2869.  
  2870.    The match engine has been replaced by a completely new one. This new
  2871.    engine is capable of finding matches at a distance of 64000 and with
  2872.    a maximum length of 30000.
  2873.  
  2874.    Also the way in which blocks of data are gathered for further Huffman
  2875.    compression is completely different. Instead of looking at one block
  2876.    at a time, the core engine attempts to 'learn' from previous blocks
  2877.    so less information is needed to encode statistical information of a
  2878.    block.
  2879.  
  2880. Alternative
  2881. -----------
  2882.    A collection of files can also be compressed more, with the often
  2883.    used TAR+COMPRESS 'trick'. First collect all files in a single large
  2884.    file, and then compress this single large file at once. Especially
  2885.    for large collections of small files, this improves compression
  2886.    significantly. This approach can be reached with ARJ as well, by
  2887.    first compressing with ARJ -m0, and compressing the resulting archive
  2888.    again with ARJ -jm1.
  2889.  
  2890.    It should be noted, however, that the UltraEngine approach works much
  2891.    better. First of all, the compression is better. The dictionary
  2892.    manager is much smarter than just a simple concatenation. This can be
  2893.    verified by compressing the output of ARJ -m0 with UC -tt. Also the
  2894.    core engine is fine tuned for optimal performance in cooperation with
  2895.    dictionaries. The 64000 byte match length is one of the essential
  2896.    enhancements.
  2897.  
  2898.    Another reason why the UC2 approach is much better, is random access.
  2899.    Try to delete a single file of a collection of 5000 C files when ARJ
  2900.    -m0/-jm1 has been used, or try to add or extract SOME files. UC2 will
  2901.    mostly do this much faster than ordinary archivers (this is a result
  2902.    of better caching and a better file format), and remarkably faster
  2903.    than a collect/compress (unit packing, solid) archiver.
  2904.  
  2905.  
  2906. 7.C DAMAGE PROTECTION TECHNOLOGY
  2907. ================================
  2908.  
  2909. When an archive is 'damage protected' with the P command, it becomes
  2910. resistant to a certain amount of damage. This paragraph explains how UC2
  2911. achieves this.
  2912.  
  2913. We will start with a mathematical operator called 'XOR'. XOR has the
  2914. following properties:
  2915.  
  2916. 0 XOR 0 = 0; 0 XOR 1 = 1; 1 XOR 0 = 1; 1 XOR 1 = 0
  2917.  
  2918. if   a1 XOR a2 XOR a3 XOR a4 XOR a5 = xx
  2919. then a1 XOR xx XOR a3 XOR a4 XOR a5 = a2
  2920. and  a1 XOR a2 XOR a3 XOR xx XOR a5 = a4
  2921. etc.
  2922.  
  2923. This exactly shows the essence of damage protection, a1..a5 are the bare
  2924. data, xx is special (damage recovery) information which can be used to
  2925. restore bare data if it somehow has been destroyed.
  2926.  
  2927. In practice UC2 XORs groups of 512 bytes (sectors) instead of single
  2928. bits. To determine if a specific sector is correct or damaged a checksum
  2929. of all sectors is included in the damage recovery information.
  2930.  
  2931. About 1% of damage protection information is added to an archive. For
  2932. short files this is a single recovery sector (meaning up to 1 damaged
  2933. sector can be recovered), but if the archive is longer multiple damage
  2934. recovery sectors are added, for example one for odd and one for even
  2935. sectors.
  2936.  
  2937.  
  2938. 7.D BENCHMARKING
  2939. ================
  2940.  
  2941. Benchmarking is a very complicated matter. It is always possible to
  2942. create a legitimate looking benchmark which makes product A or product B
  2943. look better. A nice example of this can be seen by just looking at some
  2944. ads.
  2945.  
  2946. We have done a successful attempt to optimize UC2 for daily 'real life'
  2947. use. This means it compresses fast and it decompresses very fast.
  2948.  
  2949. But when archives are used intensively, the bare compression/
  2950. decompression speed is only an aspect of the whole picture. What is also
  2951. very important is how efficient updates are performed. Especially when
  2952. 'the going gets tough', for example when a large archive resides on a
  2953. floppy disk, or when the archive is on a network, UC2 can be much faster
  2954. than other products.
  2955.  
  2956. An unfortunate problem in benchmarking archivers is the 'Calgary
  2957. Compression Corpus', which is often used to compare data compressors.
  2958. Well, UC2 will do better than other compressors with this test, yet the
  2959. real power of the compression engine is not used in this unrealistic
  2960. test. When collections of 'real life' files (e.g. a large collection of
  2961. documents, or sources, or the average archive one finds on a BBS) is
  2962. compressed the difference between UC2 and other products becomes more
  2963. significant.
  2964.  
  2965. Of course, although performance is very important, it is only one aspect
  2966. in the usability of a product.
  2967.  
  2968. In general it is our opinion that you, the user, are the best person to
  2969. perform benchmarks. Try the product the way you would actually USE it
  2970. and see for yourself.
  2971.  
  2972.  
  2973. 8. UC2 EXTENDED COMMANDS
  2974. ========================
  2975.  
  2976. On of the toughest decisions to make, in designing a utility like
  2977. UltraCompressor II, is what option should and should not be included.
  2978. The problem is, that different users have a different view on what
  2979. should be included in the tool. Some users prefer simple and clean,
  2980. other users prefer a tool which adapts exactly to their specific wishes.
  2981.  
  2982. We decided to split the command line options into sections in order to
  2983. solve this conflict:
  2984.  
  2985. BASIC (3)
  2986.    This section aims at maximum simplicity. It only describes extraction
  2987.    of an entire archive, compression of an entire directory and viewing
  2988.    archive contents.
  2989.  
  2990. MAIN (4)
  2991.    Several goals have driven this section:
  2992.    -> smart commands, not needing a lot of complicated options
  2993.    -> the entire command description must fit on one screen (UC -?)
  2994.    -> it should be simple, clean and consistent
  2995.  
  2996. BBS (5)
  2997.    Special commands and options aimed at sysops have been put in a
  2998.    separate section.
  2999.  
  3000. EXTEND (8)
  3001.    Simple is no longer an issue here, only power and flexibility count.
  3002.    Extended commands always start with $, extended options always start
  3003.    with !. Dynamic Time Travel and all options documented in CONFIG (6)
  3004.    are therefore extended options as well, although they are not covered
  3005.    again in this chapter.
  3006.  
  3007. This chapter contains the following paragraphs:
  3008.  
  3009.         - A. Tools: version manager (vm.exe)
  3010.         - B. Tools: lock archive (ulock.bat, uprot.bat)
  3011.         - C. Tools: compress/expand directory (ucdir, uedir)
  3012.         - D. Tools: simple archive splitter (sas)
  3013.         - E. Extended command/option overview
  3014.         - F. Private Compression Profiles
  3015.         - G. Error messages
  3016.         - Z. Summary
  3017.  
  3018. When you use the AIP-NL manual viewer you can jump to a chapter or a
  3019. paragraph by pressing the corresponding digit(s) or letter.
  3020.  
  3021.  
  3022. 8.A TOOLS: VERSION MANAGER (VM.EXE)
  3023. ===================================
  3024.  
  3025. UltraCompressor II allows you to keep multiple versions (revisions) of a
  3026. file in an archive. This feature is, however, single file oriented.
  3027.  
  3028. Version Manager allows you to manage versions of file collections
  3029. (projects). It allows you to attach a 'version label' to a collection of
  3030. files and to extract or list all file versions having that specific
  3031. label.
  3032.  
  3033. This is perfectly suited for marking specific stages of a project to
  3034. allow simple reconstruction of those stages.
  3035.  
  3036. Please note that version labels are case and space sensitive.
  3037.  
  3038. Commands:
  3039. ---------
  3040. VM Mark "label" archive-name
  3041.  
  3042.    Attach "label" to the most current file versions (*.*;0). "label" can
  3043.    be anything you want, e.g. "REV 1.2.1", "Version for Acme Inc.",
  3044.    "LWV" (last working version) etc. One file version can have multiple
  3045.    labels. Labels are case sensitive and can be up to 80 characters
  3046.    long.
  3047.  
  3048. VM Remove "label" archive-name
  3049.  
  3050.    Remove a specific label from an archive (only the label is removed,
  3051.    no files are deleted).
  3052.  
  3053. VM LAbels archive-name
  3054.  
  3055.    List all labels present in the archive in alphabetic order.
  3056.  
  3057. VM History archive-name
  3058.  
  3059.    List all labels present in the archive in chronological order.
  3060.  
  3061. VM L "label" [options] archive-name [files]
  3062. VM V "label" [options] archive-name [files]
  3063.  
  3064.    List/verbose list of all files having the specified label. All UC2
  3065.    options can be used.
  3066.  
  3067. VM E "label" [options] archive-name [files]
  3068.  
  3069.    Extract files having the specified label. All UC2 options can be
  3070.    used.
  3071.  
  3072. 'Special' label names:
  3073. ----------------------
  3074. If a label description ends with $, $$ or # then substitution takes
  3075. place:
  3076.  
  3077.    $   The $ is replaced by the current date (e.g. "LWV $" becomes "LWV
  3078.        NOV-12-1997").
  3079.  
  3080.    $$  The $$ is replaced by the current date and time (e.g. "LWV $$"
  3081.        becomes "LWV NOV-12-1997 22:34:04").
  3082.  
  3083.    #   The # is replaced by an automatic version number (e.g. "KQZ #"
  3084.        becomes "KQZ 1.2.6"). VM always searches for labels with a
  3085.        similar layout, finds the highest one, and increases the last
  3086.        number. For 'major' releases the new version number has to be
  3087.        specified.
  3088.  
  3089. All labels get an index (e.g. @12) which can be used as abbreviation.
  3090. The index for each label is shown by LABELS and HISTORY.
  3091.  
  3092. Examples:
  3093. ---------
  3094. VM MARK "LWV $$" arch
  3095.  
  3096.    Mark the most current files as the current 'Last Working Version',
  3097.    e.g. "LWV NOV-12-1997 12:34:04".
  3098.  
  3099. VM M "REV #" arch
  3100.  
  3101.    Mark the most current files as "REV xxx", where the new version
  3102.    number is automatically determined.
  3103.  
  3104. VM E "REV 1.2.2" -S arch #c:\build
  3105.  
  3106.    Extract all files labelled REV 1.2.2 to c:\build.
  3107.  
  3108. VM E @12 arch
  3109.  
  3110.    Extract all files with the label with index @12.
  3111.  
  3112. VM Finger printing
  3113. ------------------
  3114. Often an executable should contain its own version label. This version
  3115. label can for instance be shown in the startup screen of the
  3116. application. This allows technical support to determine which version of
  3117. a program a specific user is running.
  3118.  
  3119. VM can automate the maintenance of such a version label. It can do this
  3120. by generating an include file which contains a definition for the
  3121. version label. This include file will then be updated automatically when
  3122. the VM MARK or the VM E commands are used.
  3123.  
  3124. The generation of this VM include file is controlled by an environment
  3125. variable.
  3126.  
  3127. Example:
  3128.  
  3129.    SET VM_FINGERPRINT_CPP=mylab.h
  3130.  
  3131.    In this sample the version label is maintained in the C++ include
  3132.    file mylab.h.
  3133.  
  3134.  
  3135. The following filetypes are supported:
  3136.  
  3137.    Environment variable  Type         Sample contents
  3138.    --------------------------------------------------------------
  3139.    VM_FINGERPRINT_ASM    Assembly     db "..."
  3140.  
  3141.    VM_FINGERPRINT_BAS    BASIC        const VM_LABEL$ = "..."
  3142.  
  3143.    VM_FINGERPRINT_C      C            #define VM_LABEL "..."
  3144.  
  3145.    VM_FINGERPRINT_CPP    C++          const char* VM_LABEL = "...";
  3146.  
  3147.    VM_FINGERPRINT_MOD    Modula II    CONST VM_LABEL = "...";
  3148.  
  3149.    VM_FINGERPRINT_PAS    Pascal       CONST VM_LABEL = "...";
  3150.  
  3151.    VM_FINGERPRINT_RAW                 ...
  3152.  
  3153.  
  3154. The file is always generated in the current directory (unless a full
  3155. path is specified).
  3156.  
  3157.  
  3158. 8.B TOOLS: LOCK ARCHIVE (ULOCK.BAT, UPROT.BAT)
  3159. ==============================================
  3160.  
  3161. Example:    ULOCK arch
  3162.  
  3163. The archive arch.uc2 is protected against all manipulative commands
  3164. (e.g. add and delete). Please note that someone could bypass this lock
  3165. by just expanding all files in the archive, and creating a new one.
  3166.  
  3167. Example:    UPROT arch
  3168.  
  3169. All files in arch.uc2 will be protected against deletion. Incremental
  3170. addition to the archive is still allowed, overwriting or deleting files
  3171. not. Perfect for version management where older file versions should
  3172. never be deleted.
  3173.  
  3174. The ULOCK and the UPROT commands can only be reversed by extracting all
  3175. files from the locked/protected archive and building a new one.
  3176.  
  3177.  
  3178. 8.C TOOLS: COMPRESS/EXPAND DIRECTORY (UCDIR, UEDIR)
  3179. ===================================================
  3180.  
  3181. UCDIR
  3182.  
  3183.    This command moves all files from the current directory and below to
  3184.    the archive UCDIRDAT.UC2. If this archive already exists smart
  3185.    skipping will skip redundant work. UCDIRDAT.UC2 is always damage
  3186.    protected. UCDIR will make UCDIRDAT.UC2 read-only to avoid accidental
  3187.    deletion.
  3188.  
  3189. UEDIR
  3190.  
  3191.    This command completely expands UCDIRDAT.UC2 (if it is present in the
  3192.    current directory). The archive is not removed to speed up the UCDIR
  3193.    command. UEDIR will make UCDIRDAT.UC2 deletable.
  3194.  
  3195. Used together UCDIR and UEDIR allow you to keep data readily available
  3196. on disk, while it takes significantly less space than uncompressed, or
  3197. even when compressed with a transparent disk compressor.
  3198.  
  3199.  
  3200. 8.D TOOLS: SIMPLE ARCHIVE SPLITTER (SAS)
  3201. ========================================
  3202.  
  3203. Commands:
  3204.    SAS S arch 123      split arch.uc2 in 123kb pieces, 1kb=1024 bytes
  3205.    SAS B arch          build arch.uc2 from those pieces
  3206.  
  3207. When arch.uc2 is split into 5 pieces, those pieces will be named
  3208. arch.p01, arch.p02, arch.p03, arch.p04 and arch.p05. SAS adds a little
  3209. amount of overhead to each piece.
  3210.  
  3211. SAS allows basic UC2 archive splitting. This can be used to allow
  3212. archives which do not fit on a single floppy disk to be spread amongst
  3213. more than one diskettes.
  3214.  
  3215. For distribution of multivolume archives, UC2SEA (chapter 13) is a
  3216. better choice.
  3217.  
  3218.  
  3219. 8.E EXTENDED COMMAND/OPTION OVERVIEW
  3220. ====================================
  3221.  
  3222. Extended commands always start with $, extended options always start
  3223. with !. Dynamic Time Travel and all options documented in CONFIG (6) are
  3224. all extended options as well.
  3225.  
  3226. Add variants (can be used instead of A)
  3227. ---------------------------------------
  3228.    $FRE    FREshen files in archive (update files, but do not add new
  3229.            ones)
  3230.  
  3231. Extract variants (can be used instead of E)
  3232. -------------------------------------------
  3233.    $EWP    Extract Without Path (extract all files to the same
  3234.            directory, ignoring their original path). This command
  3235.            automatically activates the -S (include subdirs) option.
  3236.  
  3237.    $PRF    PRint Files (how a file should be printed is defined in
  3238.            AIP-NL.INI)
  3239.  
  3240.               Example: UC $PRF arch *.txt
  3241.  
  3242. Archive manipulation commands
  3243. -----------------------------
  3244.    $RED    Remove Empty Directories
  3245.  
  3246.            Usage: UC $RED archive-name(s)
  3247.  
  3248.    $TSN    Time Stamp archive with date/time of Newest file
  3249.  
  3250.            Usage: UC $TSN archive-name(s)
  3251.  
  3252. Miscellaneous commands
  3253. ----------------------
  3254.    $GLF    Generate List File (usable as script/list-file). Please note
  3255.            that this command does not automatically include
  3256.            subdirectories. The -S option is needed to include
  3257.            subdirectories.
  3258.  
  3259.            Usage: UC $GLF listfile-name [options] archive-name [files]
  3260.  
  3261.            Example: UC $GLF listfile.txt -S arch *.doc
  3262.  
  3263.    $DOS    execute DOS command
  3264.  
  3265.            Example: UC $DOS del *.bak & A arch *.*
  3266.  
  3267. Filter/selection options
  3268. ------------------------
  3269.    Filter/selection options can be used for add (A, $FRE), list (L, V,
  3270.    $GLF), delete (D) and extract (E, $EWP, $PRF). Please note these
  3271.    options only filter out files. They do not change the version number
  3272.    of files (unlike Dynamic Time Travel and VM.EXE).
  3273.  
  3274.    !CONTAINS="..."
  3275.            only allow files which contain the specified string, upper
  3276.            and lower case characters match for this option (e.g. Test
  3277.            matches tEsT)
  3278.            Note: the search string can be at most 40 characters.
  3279.  
  3280.    !EFA=HSRA
  3281.            Exclude Files with (Hidden/System/Read-only/Archive)
  3282.            Attributes
  3283.  
  3284.    !ARCA   only include files having the ARChive Attribute bit set
  3285.  
  3286.    !ELD=YYYY/MM/DD-HH:MM:SS
  3287.            only include files with Equal or Later Date/time
  3288.  
  3289.    !EED=YYYY/MM/DD-HH:MM:SS
  3290.            only include files with Equal or Earlier Date/time
  3291.  
  3292.    !QUERY  ask permission for each single file
  3293.  
  3294.    !NEWER  (add and extract only)
  3295.            only add/extract a file, if the source file is NEWER than a
  3296.            (to be overwritten) destination file, or if there is no
  3297.            destination file
  3298.  
  3299.    !NOF    (add and extract only)
  3300.            Never Overwrite a File
  3301.  
  3302.    Examples:
  3303.  
  3304.       UC E !EFA=HS arch
  3305.  
  3306.          Extract all files from arch, except files having the system or
  3307.          the hidden attribute.
  3308.  
  3309.       UC $GLF listfile !CONTAINS="#include <graph.hpp>" arch
  3310.  
  3311.          Create a file 'listfile' which contains all files in arch.uc2
  3312.          containing the string "#include <graph.hpp>".
  3313.  
  3314.       UC A !CONTAINS="main" arch *.cpp
  3315.  
  3316.          Add all *.cpp files containing "main" to arch.uc2.
  3317.  
  3318.       UC D !CONTAINS="old" arch
  3319.  
  3320.          Delete all files containing "old" from arch.uc2.
  3321.  
  3322.       UC VS !CONTAINS="check" *
  3323.  
  3324.          List all files containing "check" from all archives in the
  3325.          current directory.
  3326.  
  3327.       UC E -S !ELD=1992/07/28 !EED=1993/03/17 arch *.*;*
  3328.  
  3329.          Extract all files in the archive dated 1992/07/28 - 1993/03/17.
  3330.          Notice the *.*;* ensures all versions of a file will be
  3331.          considered, not only the newest one.
  3332.  
  3333.       UC $PRF !CONTAINS="echo off" !QUERY arch
  3334.  
  3335.          Try to print all files containing 'echo off', ask permission
  3336.          for each file.
  3337.  
  3338. Miscellaneous options
  3339. ---------------------
  3340.    !RAB     Reset the Archive attribute Bit after adding a file
  3341.  
  3342.    !BAK     keep BAcKup (.BAK) of updated archives
  3343.  
  3344.    !TSN     Time Stamp archive with date/time of Newest file
  3345.  
  3346.    !VLAB    add:     copy Volume LABel from the first mentioned drive to
  3347.                      archive
  3348.             extract: copy Volume LABel from archive to the destination
  3349.                      drive
  3350.  
  3351.    !VLAB=X  add:     copy Volume LABel from drive X: to archive
  3352.             extract: copy Volume LABel from archive to drive X:
  3353.  
  3354.    !ASUB    include Archives in SUBdirectories
  3355.  
  3356.    Examples:
  3357.  
  3358.       UC A -S !ARCA !RAB arch *.*
  3359.           Backup files having the archive attribute bit set and after
  3360.           that reset their attribute bit.
  3361.  
  3362.       UC A !TSN arch *.bas
  3363.           Add *.bas files to the archive, time stamp the archive with
  3364.           the newest file in the archive.
  3365.  
  3366.       UC C !TSN *
  3367.           Convert all archives in the current directory to UC2 archives,
  3368.           time stamp the resulting archives with the newest file in the
  3369.           archive.
  3370.  
  3371.       UC A !VLAB test d:*.cpp
  3372.           Add files and copy volume label from drive D: to the archive.
  3373.  
  3374.       UC A !VLAB test *.cpp d:*.cpp
  3375.           Add files and copy volume label from the current drive to the
  3376.           archive.
  3377.  
  3378.       UC A !ASUB c:\* u$~ban.txt
  3379.           Add u$~ban.txt to all archives (including those in
  3380.           subdirectories) on drive C:.
  3381.  
  3382.  
  3383. 8.F PRIVATE COMPRESSION PROFILES
  3384. ================================
  3385.  
  3386. This feature allows you to use UC2 as an optimized special purpose
  3387. compressor for a specific kind of data (e.g. text files in a specific
  3388. language).
  3389.  
  3390. VERY IMPORTANT WARNING
  3391. ----------------------
  3392.    Private compression profiles (PCPs) are a very powerful but also a
  3393.    dangerous feature. If you build archives using a specific PCP and you
  3394.    somehow lose, change or damage the PCP ALL data in ALL archives you
  3395.    made using the PCP will be COMPLETELY LOST.
  3396.  
  3397. How do PCPs work?
  3398. -----------------
  3399.    UC2 uses built-in knowledge to improve compression. The knowledge
  3400.    built into UC2 is a mix of common file formats. It contains, for
  3401.    example, information about spreadsheets, databases, word processors,
  3402.    programming languages and common words in: English, French, German
  3403.    and Dutch, etc.
  3404.  
  3405.    PCPs allow you to replace the knowledge which UC2 uses with different
  3406.    knowledge. This can be very effective in an environment where the
  3407.    data which is compressed is of a more or less similar kind.
  3408.  
  3409.    One example of where PCPs can be very effective is for two bulletin
  3410.    boards that exchange a lot of email. When a PCP is made for this
  3411.    environment compression will significantly improve, even for very
  3412.    small email messages.
  3413.  
  3414.    Another example is when a lot of archives containing sources in a
  3415.    specific language (e.g. C++) are maintained. A PCP for company
  3416.    specific C++ sources will again significantly improve compression.
  3417.  
  3418. How do I create a PCP?
  3419. ----------------------
  3420.    PCPs work best when they are based on a single file type (e.g.
  3421.    sources). It is possible to make a PCP based on multiple file types
  3422.    but we do not recommend it.
  3423.  
  3424.    A PCP is just a file containing up to 58k of sample data. To build a
  3425.    PCP simply concatenate some sample files together until you have a
  3426.    file of about 58k. The more 'average' your sample files are, the
  3427.    better the PCP will work.
  3428.  
  3429. How do I use a PCP?
  3430. -------------------
  3431.    A PCP is activated by setting an environment variable. This approach
  3432.    allows use of archiver shells (like Visual UltraCompressor) in
  3433.    combination with PCPs. To activate a PCP you should use:
  3434.  
  3435.       set UC2_PCP=<full name of pcp file>
  3436.  
  3437.    to deactivate it you should use:
  3438.  
  3439.       set UC2_PCP=
  3440.  
  3441.    A sample batch for making backups:
  3442.  
  3443.       set UC2_PCP=s:\uc2pcps\sources.pcp
  3444.       UC A a:\backup h:\sources\*.cpp h:\sources\*.h
  3445.       set UC2_PCP=
  3446.  
  3447. How safe are PCPs?
  3448. ------------------
  3449.    UC2 always verifies if a PCP should be used or not.
  3450.  
  3451.    This verification is also performed by older versions of UC2 (error
  3452.    145).
  3453.  
  3454.    UC2 always checks if the correct PCP is used (PCP checksum).
  3455.  
  3456.    A PCP does not limit what can be stored in an archive. (e.g. if a C++
  3457.    PCP is used you can still archive binaries)
  3458.  
  3459.    In all cases if something is wrong, UC2 will give a clear error
  3460.    message (215, 220, 225 or 230).
  3461.  
  3462.    If you use PCPs by accident (you forgot to disable them), your
  3463.    archives will be unusable for people not having access to your PCPs.
  3464.    UC2 always reports to you that it uses PCPs to limit the chance of
  3465.    such a mistake.
  3466.  
  3467.    If you somehow lose, change or damage a PCP ALL data in ALL archives
  3468.    you made using that PCP will be COMPLETELY LOST. There is no way your
  3469.    data can be recovered in such a situation. As always, keeping backups
  3470.    is very important.
  3471.  
  3472.  
  3473. 8.G ERROR MESSAGES
  3474. ==================
  3475.  
  3476. When something went wrong, UC2 displays an error message. UC2 has three
  3477. levels of error messages:
  3478.  
  3479.    Fatal Error  something occurred which forced UC2 to stop
  3480.    Error        something went wrong, but execution could be continued
  3481.    Warning      something happened which might be unwanted
  3482.  
  3483. All errors have a "level", multiple error messages can share the same
  3484. level. This level is shown on screen and also returned to DOS
  3485. (errorlevel). If multiple errors occur, the highest level is returned to
  3486. DOS. For more details the error logfile (if enabled) can be consulted.
  3487.  
  3488. Error message level explanations:
  3489. ---------------------------------
  3490.  
  3491. OK (0)
  3492. ------
  3493.    0  Everything went OK.
  3494.  
  3495. Warnings (1-49)
  3496. ---------------
  3497.    5  Internal error (UC2 beta versions only).
  3498.  
  3499.    7  The archive is protected against changes in archive comment.
  3500.  
  3501.   10  A device name has been mapped to a filename.
  3502.  
  3503.   15  The archive's size did not change (optimize).
  3504.  
  3505.   20  No file/archive found matching ...
  3506.  
  3507.   25  The user chose to skip the rest of the ADD command.
  3508.  
  3509.   30  Skipped file, AUTO-SKIP (network/locking related).
  3510.  
  3511.   35  Skipped file, the user chose to skip the rest of the ADD command.
  3512.  
  3513.   40  Archive has been made with cracked UC.EXE.
  3514.         Although all evaluation versions of UC2 have always been 100%
  3515.         complete and uncrippled, some people have made cracking tools to
  3516.         enter fake serial numbers into UC.EXE. Unfortunately most of
  3517.         these cracking tools severely damage the operation (and thereby
  3518.         the reliability) of UC.EXE. When UC2 detects an archive made
  3519.         which such an archiver it emits this warning. Please notify the
  3520.         source of such archives that their software is illegal and
  3521.         probably unreliable.
  3522.  
  3523. Errors (50-99)
  3524. --------------
  3525.   50  Internal error.
  3526.  
  3527.   55  Failed to delete a file.
  3528.         This can be caused by a network (you do not have sufficient
  3529.         rights to delete a specific file) or by attempts to delete a
  3530.         file from a write-protected disk.
  3531.  
  3532.   60  Failed to delete a directory.
  3533.         This can be caused by a network (you do not have sufficient
  3534.         rights to delete a specific directory) or by attempts to delete
  3535.         a directory from a write-protected disk.
  3536.  
  3537.   63  Failed to rename a file.
  3538.         This can be caused by a network (you do not have sufficient
  3539.         rights to rename a specific file) or by attempts to rename a
  3540.         file on a write-protected disk.
  3541.  
  3542.   65  The conversion of a specific archive failed.
  3543.         The archive has an unknown format, the file is not an archive,
  3544.         or the archive is damaged.
  3545.  
  3546.   70  Failed to set the volume label.
  3547.         This can be caused by a network (you do not have sufficient
  3548.         rights to set the volume label), by attempts to set the volume
  3549.         label of write-protected disk or the volume label is not a valid
  3550.         DOS volume label (e.g. the original was made with the Norton
  3551.         utilities).
  3552.  
  3553.   75  Failed to set OS/2 extended attributes.
  3554.         This can be caused by a network (you do not have sufficient
  3555.         rights to set extended attributes) or by attempts to set
  3556.         extended attributes on a write-protected disk.
  3557.  
  3558.   80  Skipped a file (could not write to it).
  3559.         This can be caused by a network (you do not have sufficient
  3560.         rights to create a specific file) or by attempts to write a file
  3561.         to a write-protected disk.
  3562.  
  3563.   85  Cannot create a directory.
  3564.         This can be caused by a network (you do not have sufficient
  3565.         rights to create a specific directory) or by attempts to create
  3566.         a directory on a write-protected disk.
  3567.  
  3568.   90  The archive is damaged (use 'UC T' to repair it).
  3569.  
  3570.   95  Conversion of the archive failed, due to the detection of a virus.
  3571.  
  3572. Fatal errors (100-255)
  3573. ----------------------
  3574.  100  The user aborted the program by choice or with Ctrl-Break.
  3575.  
  3576.  105  Some problem with UC.EXE.
  3577.         (When trying to reconfigure) UC2 resides on a write-protected
  3578.         diskette or has been made read-only. (Other) The executable is
  3579.         damaged, obtain or install a new one.
  3580.  
  3581.  110  Configuration problem (UC -!).
  3582.         You should reconfigure UC2 (the specific error message explains
  3583.         what you should change).
  3584.  
  3585.  120  The command line is not correct.
  3586.         You have entered an unknown command or option. Consult the
  3587.         manual for more information on what you want to achieve.
  3588.  
  3589.  123  A command/option is not allowed by the configuration (UC -!).
  3590.         If ensure or protect mode is activated (UC -! C) you can no
  3591.         longer use the unprotect command.
  3592.  
  3593.  125  The archive is encrypted.
  3594.         You should use UCRYPT (with the proper password) to decrypt the
  3595.         encrypted archive.
  3596.  
  3597.  130  Failed to access archive (e.g. archive does not exist).
  3598.  
  3599.  135  The archive is locked, some other tool (like VM) is using it.
  3600.  
  3601.  140  A command/option is not allowed by the archive.
  3602.         Archives can be protected against certain commands. For more
  3603.         details see chapter 8 paragraph B.
  3604.  
  3605.  145  A newer version of UC is needed for this archive.
  3606.  
  3607.  150  Cannot create file.
  3608.         This can be caused by a network (you do not have sufficient
  3609.         rights to create a specific file) or by attempts to write a file
  3610.         to a write-protected disk.
  3611.  
  3612.  155  Failed to show banners.
  3613.         U$~BAN.* files are present on disk. You have to remove them, or
  3614.         execute the command from a different directory.
  3615.  
  3616.  157  Failed to edit comment.
  3617.         The file U$~COMM.TXT is present on disk. You have to remove it,
  3618.         or execute the command from a different directory.
  3619.  
  3620.  
  3621.  163  EMS/XMS problem.
  3622.         UC2 encountered a problem with EMS or XMS. Please consult the
  3623.         manual of your memory manager to solve the problem, or disable
  3624.         EMS/XMS usage (UC -!).
  3625.  
  3626.  165  Out of virtual memory.
  3627.         The drive containing temporary data is full, or the upper amount
  3628.         of virtual memory should be changed (see chapter 6 paragraph B
  3629.         option S).
  3630.  
  3631.  170  System/critical error followed by user abort.
  3632.  
  3633.  175  Failed to rename a file.
  3634.         This can be caused by a network (you do not have sufficient
  3635.         rights to rename a specific file) or by attempts to rename a
  3636.         file on a write-protected disk.
  3637.  
  3638.  180  Failed to delete a directory.
  3639.         This can be caused by a network (you do not have sufficient
  3640.         rights to delete a specific directory) or by attempts to delete
  3641.         a directory from a write-protected disk.
  3642.  
  3643.  185  Failed to change to a directory.
  3644.         The directory no longer exists, or you do not have sufficient
  3645.         rights to access the directory.
  3646.  
  3647.  190  Conversion failed due to virus infection.
  3648.  
  3649.  195  Failed to repair archive.
  3650.  
  3651.  200  The archive is damaged, needs repair.
  3652.  
  3653.  205  Conversion failed.
  3654.         The archive has an unknown format, the file is not an archive,
  3655.         or the archive is damaged.
  3656.  
  3657.  210  Update/operation failed.
  3658.         The archive contained errors after an operation (it was verified
  3659.         because ensure mode is enabled).
  3660.  
  3661.  215  Cannot read Private Compression Profile
  3662.         The file specified with the UC2_PCP environment variable does
  3663.         not exist. For more details see 8.F.
  3664.  
  3665.  220  A Private Compression Profile is needed for this archive
  3666.         You have to activate the proper Private Compression Profile. For
  3667.         more details see 8.F.
  3668.  
  3669.  225  This archive needs a different Private Compression Profile
  3670.         You have to activate the proper Private Compression Profile. For
  3671.         more details see 8.F.
  3672.  
  3673.  230  This archive does not use a Private Compression Profile
  3674.         You should empty the UC2_PCP environment variable. For more
  3675.         details see 8.F.
  3676.  
  3677.  250  Failed to write to error logfile.
  3678.         This can be caused by a network (you do not have sufficient
  3679.         rights to write to the error logfile) or by attempts to write to
  3680.         the logfile on a write-protected disk. The location of the error
  3681.         logfile can be changed with 'UC -! U'.
  3682.  
  3683.  255  Internal/special error.
  3684.         This should not occur. Check if TSRs and drivers are installed
  3685.         properly. If everything seems to be OK consult AIP-NL technical
  3686.         support.
  3687.  
  3688.  
  3689. 8.Z SUMMARY
  3690. ===========
  3691.  
  3692. EXTENDED COMMANDS         EXTENDED OPTIONS
  3693.  
  3694. add                       filter/select
  3695.  $FRE freshen              !CONTAINS="+" only files containing +
  3696.                            !EFA=HSRA     exclude files with attributes
  3697. extract                    !ARCA         only files with archive attrib
  3698.  $EWP extract without path !ELD=...      only with equal or later date
  3699.  $PRF print files          !EED=...      only with equal or earlier date
  3700.                            !QUERY        query for each file
  3701. manipulate                 !NEWER        only overwrite if newer
  3702.  $RED remove empty dirs    !NOF          never overwrite file
  3703.  $TSN timestamp with newest
  3704.                           miscellaneous
  3705.                            !RAB         reset archive attribute bit
  3706. miscellaneous              !BAK         create backup of archive
  3707.  $GLF generate list file   !TSN         time stamp with newest
  3708.  $DOS execute DOS command  !VLAB        include volume label (first drv)
  3709.                            !VLAB=X      include volume label (drive X:)
  3710.                            !ASUB        include archives in subdirs
  3711.  
  3712.  
  3713. 9. ULTRA-CRYPT (encryption, password protection)
  3714. ================================================
  3715.  
  3716. After having archived a set of files with UC2, you might want to protect
  3717. them from being accessed by others. To achieve this, you can use UCRYPT.
  3718.  
  3719. UCRYPT protects the archive with a password, chosen by you. The password
  3720. is case sensitive. This increases the amount of possible passwords.
  3721.  
  3722. Those who wish to investigate that UCRYPT properly implements triple DES
  3723. and MD5, and also that it has no hidden 'backdoor' or other weaknesses,
  3724. can get the source code of UCRYPT from AIP-NL. This source code can only
  3725. be used to verify that the code is cryptographically correct. The source
  3726. code can not be disclosed or used for other purposes.
  3727.  
  3728. This chapter contains the following paragraphs:
  3729.  
  3730.         - A. Command summary
  3731.         - B. Encryption
  3732.         - C. Encryption with destruction of the original archive
  3733.         - D. Decryption
  3734.         - E. Export of cryptographic software
  3735.         - Z. Summary
  3736.  
  3737. When you use the AIP-NL manual viewer you can jump to a chapter or a
  3738. paragraph by pressing the corresponding digit(s) or letter.
  3739.  
  3740.  
  3741. 9.A COMMAND SUMMARY
  3742. ===================
  3743.  
  3744. General: UCRYPT command archive-name
  3745.  
  3746. Starting UCRYPT with no command gives an explanation on screen about the
  3747. use of UCRYPT.
  3748.  
  3749. Possible commands are:
  3750.  
  3751.    C   for protecting an archive with a password
  3752.        (enhanced triple DES is used here)
  3753.  
  3754.    E   for protecting an archive with a password and destroying the
  3755.        original archive
  3756.  
  3757.    CF  like C, but uses 'faster' encryption
  3758.        (a MD5 based one-time pad is used here)
  3759.  
  3760.    EF  like E, but uses 'faster' encryption
  3761.  
  3762.    D   makes an archive accessible again
  3763.  
  3764.  
  3765. 9.B ENCRYPTION
  3766. ==============
  3767.  
  3768. Command: UCRYPT C archive-name
  3769.  
  3770.    With this command the archive will be protected with a password. The
  3771.    original unprotected archive still exists after the execution of
  3772.    UCRYPT.
  3773.  
  3774.    After having entered the command, the password will be asked. The
  3775.    password must consist of at least eight characters and at most
  3776.    sixteen.
  3777.  
  3778.    Every keystroke will be represented by an asterisk, so the password
  3779.    is never visible.
  3780.  
  3781.    When you are not sure about a keystroke, use <BACK SPACE> and the
  3782.    keystroke will be undone.
  3783.  
  3784.    As usual with passwords, you will be asked to enter the password
  3785.    twice. When a difference between the passwords is detected, the
  3786.    encryption will be terminated and you have to start again.
  3787.  
  3788.    Encrypting an archive in another directory gives an encrypted archive
  3789.    in the same directory as the original archive.
  3790.  
  3791. Command: UCRYPT C archive-name "password"
  3792.  
  3793.    This command has the same function as the former command. With this
  3794.    command the archive will also be protected with a password, but the
  3795.    password is entered on the command line, between double quotes.
  3796.  
  3797.    Now you will not be asked to repeat the password, but the protection
  3798.    will be done at once. Of course the password is visible, when entered
  3799.    on the command line.
  3800.  
  3801.    You can also use 'faster' encryption by using the CF instead of the C
  3802.    command. The normal encryption uses triple-DES (Digital Encryption
  3803.    Standard) encryption and has some enhancements crippling brute force
  3804.    attacks. This makes the normal encryption safe according to all
  3805.    common standards. The 'faster' encryption uses a less proven method,
  3806.    a MD5 based one-time pad. It is not as established as triple-DES, but
  3807.    for most practical purposes reliable enough.
  3808.  
  3809.  
  3810. 9.C ENCRYPTION WITH DESTRUCTION OF THE ORIGINAL ARCHIVE
  3811. =======================================================
  3812.  
  3813. Commands: UCRYPT E archive-name
  3814.           UCRYPT E archive-name "password"
  3815.           UCRYPT EF archive-name
  3816.           UCRYPT EF archive-name "password"
  3817.  
  3818.    The E and EF commands work the same as the C and CF commands, the
  3819.    only difference is the deletion. This deletion is not an ordinary
  3820.    deletion, but a real destruction of the archive.
  3821.  
  3822.    On systems with integrated datacompression (e.g. Stacker), or systems
  3823.    with a very slow deferred write caching, the destruction might fail.
  3824.    These systems do not allow destruction.
  3825.  
  3826.    On C2 compliant operating systems (e.g. Windows NT) it is sufficient
  3827.    to use the C and CF commands, since these systems already destroy
  3828.    deleted files.
  3829.  
  3830.  
  3831. 9.D DECRYPTION
  3832. ==============
  3833.  
  3834. Commands: UCRYPT D archive-name
  3835.           UCRYPT D archive-name "password"
  3836.  
  3837.    The (encrypted) archive is decrypted.
  3838.  
  3839. For decryption of the archive the password is required. After decryption
  3840. the encrypted archive still exists. The way passwords are handled is the
  3841. same as in paragraph 1.B.
  3842.  
  3843. Entering a wrong password terminates the program with an error message.
  3844.  
  3845. The time UltraCrypt needs to determine that a password is wrong is
  3846. almost the same as the time needed to decrypt an archive with the
  3847. correct password. This is necessary, since other approaches would allow
  3848. someone to try passwords much faster (brute force attack).
  3849.  
  3850. The UCRYPT data-encryption format has more specific features to make
  3851. brute-force attacks much harder. A side effect of this is that there is
  3852. a chance of 1 to 256 the archive will be decrypted into garbage after
  3853. entering a wrong password, without an error message.
  3854.  
  3855.  
  3856. 9.E EXPORT OF CRYPTOGRAPHIC SOFTWARE
  3857. ====================================
  3858.  
  3859. UltraCRYPT is covered by the Dutch 'uitvoerbesluit strategische goederen
  3860. 1963' (export regulations for strategic goods). The 19th version of
  3861. 'handboek strategische goederen' (handbook strategic goods) has been
  3862. published January 21st 1994.
  3863.  
  3864. UltraCRYPT is covered by APN (3), 5D002 (5-10), 5E002 1.b (5-11) and
  3865. "Programmatuur" (DEF-16). This specifically allows unlimited and
  3866. unrestricted export of UltraCRYPT.
  3867.  
  3868. For details or questions one can contact the Dutch Ministry of Economic
  3869. Affairs at +31-(0)20-3798911.
  3870.  
  3871. Please note this does in no way damage the reliability of UltraCRYPT.
  3872. UltraCRYPT uses uncensored and unharmed enhanced triple DES technology
  3873. to maximize the security of encrypted data. AIP-NL is not aware of ANY
  3874. feasible technology capable of breaking UltraCRYPT encryption.
  3875.  
  3876.  
  3877. 9.Z SUMMARY
  3878. ===========
  3879.  
  3880. UCRYPT                     gives explanation about the use of UCRYPT
  3881.                            on screen
  3882. UCRYPT C name
  3883. UCRYPT C name "password"   protects archive, keeping the original
  3884.                            archive
  3885. UCRYPT E name
  3886. UCRYPT E name "password"   protects archive, destroying the original
  3887.                            archive
  3888. UCRYPT CF name
  3889. UCRYPT CF name "password"  like C but uses 'faster' encryption
  3890.  
  3891. UCRYPT EF name
  3892. UCRYPT EF name "password"  like E but uses 'faster' encryption
  3893.  
  3894. UCRYPT D name
  3895. UCRYPT D name "password"   makes archive accessible again
  3896.  
  3897.  
  3898. 10. ULTRA-SAFE (authenticity verification)
  3899. ==========================================
  3900.  
  3901. An archive can be protected by one or more uncrackable, unbreakable and
  3902. unforgeable UltraSeals. Checking if an archive has seals, and if these
  3903. are intact, is done with USAFE.
  3904.  
  3905. An archive with one or more seals cannot be changed without breaking
  3906. these seals. This prevents virus infection, cracking, etc. Each seal
  3907. contains information about who put the seal on the archive.
  3908.  
  3909. Those who wish to investigate that USAFE properly implements Lucas
  3910. function based digital signature verification and also that it has no
  3911. hidden 'backdoor' or other weaknesses, can get the source code of USAFE
  3912. from AIP-NL. This source code can only be used to verify that the code
  3913. is cryptographically correct. The source code can not be disclosed or
  3914. used for other purposes.
  3915.  
  3916. This chapter contains the following paragraphs:
  3917.  
  3918.         - A. The command
  3919.         - B. How secure are these seals?
  3920.         - C. Important
  3921.         - D. Error levels
  3922.  
  3923. When you use the AIP-NL manual viewer you can jump to a chapter or a
  3924. paragraph by pressing the corresponding digit(s) or letter.
  3925.  
  3926.  
  3927. 10.A THE COMMAND
  3928. ================
  3929.  
  3930. Command: USAFE arch
  3931.  
  3932.    The archive arch.uc2 is verified.
  3933.  
  3934. If the archive is protected by one or more UltraSeals, USAFE verifies if
  3935. all these seals are intact. USAFE reports if seals are present, and if
  3936. they are intact. If seals are broken this is reported as well.
  3937.  
  3938.  
  3939. 10.B HOW SECURE ARE THESE SEALS?
  3940. ================================
  3941.  
  3942. 'Authenticity verification' is not new. Many archivers are doing it, BUT
  3943. most of these are based on 'security by obscurity'. They keep their
  3944. method secret and hope nobody finds out how it works. For most of these
  3945. archivers, some or multiple ways of cracking them are known. Sometimes
  3946. even a program to automate forging is available!
  3947.  
  3948. USAFE is NOT based on 'security by obscurity'. It is based on digital
  3949. signature technology. The digital signature technology, USAFE uses, is
  3950. based on Lucas functions. It uses prime factors of 300 and 400 bits,
  3951. which is much more than the current industry standard safety limits.
  3952. AIP-NL is not aware of ANY feasible technology for faking these
  3953. signatures.
  3954.  
  3955. USAFE is slower than weaker authenticity verification methods, but this
  3956. is the price you have to pay for real, instead of fake security. On a
  3957. 386/33 machine USAFE needs about 7.5 seconds for each seal.
  3958.  
  3959.  
  3960. 10.C IMPORTANT
  3961. ==============
  3962.  
  3963. ALL software AIP-NL will ever ship, will be protected by a seal. This
  3964. includes upgrades, etc. If you discover files which claim to be from
  3965. AIP-NL, but are not protected by a seal, DO NOT USE THEM, but report
  3966. them to AIP-NL immediately.
  3967.  
  3968.  
  3969. 10.D ERROR LEVELS
  3970. =================
  3971.  
  3972. USAFE returns an 'errorlevel' to DOS (e.g. for detection in batch
  3973. files). The following levels are defined:
  3974.  
  3975.    0   the archive contains one or more seals which are all intact
  3976.  
  3977.    1   the archive does not contain any seals
  3978.  
  3979.    2   the archive contains one or more seals, which are broken
  3980.  
  3981.    3+  other errors
  3982.  
  3983.  
  3984. 11. ULTRA-SEAL (preventing unwanted changes)
  3985. ============================================
  3986.  
  3987. An archive can be protected by one or more uncrackable, unbreakable and
  3988. unforgeable UltraSeals. Sealing an archive is done with your
  3989. personalized USEAL program.
  3990.  
  3991. An archive with one or more seals cannot be changed without breaking
  3992. these seals. This prevents virus infection, cracking, etc. Each seal
  3993. contains information about who put it on the archive.
  3994.  
  3995. Since USEAL is a personalized tool, it is not included into UC2 PRO. Use
  3996. ORDER.FRM AND USEAL.FRM to order your own copy of USEAL.
  3997.  
  3998. Those who wish to investigate that USEAL properly implements Lucas
  3999. function based digital signatures and also that it has no hidden
  4000. 'backdoor' or other weaknesses, can get the source code of USEAL from
  4001. AIP-NL. This source code can only be used to verify that the code is
  4002. cryptographically correct. The source code can not be disclosed or used
  4003. for other purposes.
  4004.  
  4005. This chapter contains the following paragraphs:
  4006.  
  4007.         - A. The command
  4008.         - B. Important
  4009.  
  4010. When you use the AIP-NL manual viewer you can jump to a chapter or a
  4011. paragraph by pressing the corresponding digit(s) or letter.
  4012.  
  4013.  
  4014. 11.A THE COMMAND
  4015. ================
  4016.  
  4017. Command: USEAL arch
  4018.  
  4019.    Your personal seal is attached to arch.uc2.
  4020.  
  4021. Please note sealing takes some time. On a 386/33 machine sealing takes
  4022. 3.5 to 11 minutes. Checking the seal with USAFE is done much faster.
  4023.  
  4024. After making any changes to a sealed archive you (of course) have to use
  4025. USEAL again to attach your seal to the archive.
  4026.  
  4027.  
  4028. 11.B IMPORTANT
  4029. ==============
  4030.  
  4031. Please make VERY sure before you seal an archive that it contains no
  4032. viruses, and that it is indeed data that deserves your seal.
  4033.  
  4034. Also make sure no one but certified people have access to your (unique)
  4035. copy of USEAL, yet make sure you have a backup of your copy.
  4036.  
  4037.  
  4038. 12. VISUAL ULTRA-COMPRESSOR (general purpose shell)
  4039. ===================================================
  4040.  
  4041. This chapter contains the following sections:
  4042.  
  4043.         - A. Introduction
  4044.         - B. Overview
  4045.         - C. Configuring VU
  4046.         - D. Command line options
  4047.  
  4048. When you use the AIP-NL manual viewer you can jump to a chapter or a
  4049. paragraph by pressing the corresponding digit(s) or letter.
  4050.  
  4051.  
  4052. 12.A INTRODUCTION
  4053. =================
  4054.  
  4055. Visual UltraCompressor is a GUI (graphical user interface) for
  4056. UltraCompressor II (UC2). UC2 revision 3 or later is needed for VU to
  4057. operate. VU is also very usable as a general purpose SHELL for managing,
  4058. viewing, editing and processing files.
  4059.  
  4060. Highlights of VU include:
  4061.  
  4062.     - four panels, each viewing a separate directory/archive
  4063.     - VU can remember the (de)selection of up to 2 million files
  4064.     - user defined commands can be added to VU
  4065.     - user defined commands can be interactive
  4066.     - files can be copied from archive to archive
  4067.  
  4068. VU is highly configurable (see 12.C) allowing you to tailor it to your
  4069. personal taste. VU uses a 'directory cache' to speed up access of UC2
  4070. archives (VU uses plain UC2-3PI to access UC2 archives).
  4071.  
  4072.  
  4073. 12.B OVERVIEW
  4074. =============
  4075.  
  4076. What is on The Screen
  4077. ---------------------
  4078.    VU maintains four 'panels'. Each of those panels shows the contents
  4079.    of a directory. This can be a directory on disk or a directory
  4080.    residing in an UC2 archive. VU always shows the contents of one
  4081.    panel. At the bottom of this panel are tabs allowing you to switch
  4082.    between panels. You can switch between panels by clicking on the
  4083.    tabs, by using cursor keys or by pressing Shift-1 .. Shift-4.
  4084.  
  4085.    Right from the panel there is a set of push buttons which allows you
  4086.    to perform operations.
  4087.  
  4088.    On top of the screen there is an information line. If you move your
  4089.    mouse cursor to the top of the screen or if you press the ALT key a
  4090.    pull-down menu appears (you can also use the MENU push button).
  4091.  
  4092. Changing the current directory
  4093. -----------------------------
  4094.    You can change to a different directory (or to an UC2 archive) by
  4095.    double clicking on a directory, or by pressing the ENTER key.
  4096.  
  4097.    There are some quick navigators available under the panel menu.
  4098.  
  4099. How to select items (files/directories)
  4100. ---------------------------------------
  4101.    Most commands (menu options/push buttons/keyboard) operate on
  4102.    selected items. The selection bar can be moved by pushing the left
  4103.    mouse button or by using the cursor keys. An item can be selected by
  4104.    pushing the right mouse button or by pressing the spacebar.
  4105.  
  4106.    You can start typing the name of an item at any time. While you type
  4107.    the name of the item VU will automatically jump to it for you.
  4108.    Ctrl+Enter can be used to switch between multiple files starting with
  4109.    the same letters.
  4110.  
  4111.    A collection of files can be (de)selected with the panel menu.
  4112.  
  4113. How to execute commands
  4114. -----------------------
  4115.    Commands are executed by pressing a push button, by using the
  4116.    keyboard, or by selecting a menu item. All push buttons and menu
  4117.    items contain a clear indication as to which keyboard shortcut may be
  4118.    used in their place.
  4119.  
  4120.    Some commands operate on a single file (like VIEW and EDIT). The
  4121.    selection bar determines which file this will be.
  4122.  
  4123.    Some commands operate on multiple items (like TO DISK).
  4124.  
  4125. Which commands are available
  4126. ----------------------------
  4127.    Just browse the menu to see which commands are available. Most
  4128.    commands are straightforward. For details on the ARCHIVE commands you
  4129.    can consult chapter 4.
  4130.  
  4131.    Some special commands/considerations which might save time:
  4132.  
  4133.    -> when using TO DISK to copy selected items to disk, a dialog will
  4134.       inform you where the files will go, and ask whether a copy or move
  4135.       operation should be performed
  4136.  
  4137.    -> use DRIVE to change to a different drive
  4138.  
  4139.    -> files can be copied and moved from ANY to ANY place (including
  4140.       from one UC2 archive to another UC2 archive)
  4141.  
  4142.    -> use ALT-1 .. ALT-4 to copy/move files between panels
  4143.  
  4144.    -> if your screen looks like a mess, select TEXT MODE from the panel
  4145.       menu (it should look great on EGA and VGA compatible systems)
  4146.  
  4147.    -> if you are running VU in a Windows or OS/2 window select TEXT MODE
  4148.       (full screen graphical mode will look much better)
  4149.  
  4150.    -> if you do not like something, reconfigure it!
  4151.  
  4152.  
  4153. 12.C CONFIGURING VISUAL ULTRA-COMPRESSOR
  4154. ========================================
  4155.  
  4156. There are two ways to configure Visual UltraCompressor. Some
  4157. configuration options are available in the menu. ALL configuration
  4158. options are present in the AIP-NL.INI text file. AIP-NL.INI can be
  4159. edited with any standard text editor (e.g. EDIT, NOTEPAD or E).
  4160.  
  4161. Please note the AIP-NL.INI file contains settings for ALL AIP-NL
  4162. products.
  4163.  
  4164. All AIP-NL products use the PATH environment variable (usually set in
  4165. AUTOEXEC.BAT) to locate AIP-NL.INI, thus allowing multiple people to use
  4166. the same executable file, while they each have their own configuration
  4167. file.
  4168.  
  4169. AIP-NL.INI consist of sections each containing a number of settings.
  4170.  
  4171. ENTER-DOUBLE-CLICK, VIEWERS, EDITORS
  4172. ------------------------------------
  4173.    These sections allow you to specify what the VIEW, EDIT and
  4174.    ENTER/DOUBLE-CLICK commands do. All these commands are file extension
  4175.    dependant.
  4176.  
  4177.    For example "PCX, GIF = VPIC %, FV %" specifies that files with the
  4178.    PCX and files with the GIF extension should be showed by VPIC or by
  4179.    FV. If both programs are available, the first one will be used. When
  4180.    VU executes the command the % is replaced by the filename.
  4181.  
  4182.    VU will try to locate programs by looking for program files (EXE,
  4183.    COM, BAT or BTM) in the PATH (AUTOEXEC.BAT). If you do not want VU to
  4184.    try to locate the program (e.g. because it is a 4DOS alias) you can
  4185.    place a : before the command (e.g. "PCX, GIF = :VPIC %").
  4186.  
  4187.    The line "* = ..." specifies what should be done if no viewer can be
  4188.    found for a specific file.
  4189.  
  4190.    If you want to make conversion of archives to UC2 archives simpler
  4191.    you might want to add "LZH, ZOO, ZIP, ARJ, PAK, ARC = UC C %" to the
  4192.    [ENTER-DOUBLE-CLICK] section.
  4193.  
  4194.    Please note handling of UC2 and UE2 files is built into VU, it can
  4195.    not be changed.
  4196.  
  4197. VARIOUS
  4198. -------
  4199.    TEMPORARY-FILES specifies which directory VU uses for temporary
  4200.    files.
  4201.  
  4202.    DEFAULT-ARCHIVE specifies the default archive name.
  4203.  
  4204.    VU-UDIFF-PARAMS specifies the parameters used by VU to call UDIFF.
  4205.  
  4206.    XCOPY-PARAMS specifies which options should be used for XCOPY. Only
  4207.    options different from /E /S should be defined since these are build
  4208.    into VU.
  4209.  
  4210. VU-OPTIONS
  4211. ----------
  4212.    This section contains the options which are also available in the
  4213.    menu.
  4214.  
  4215.    SORT-SHOW-PER-PANEL
  4216.       Determines whether each panel has its own settings or all panels
  4217.       share the same settings.
  4218.  
  4219.    FORCE-MODE
  4220.       Determines whether UC2 is used in 'force' mode. In force mode file
  4221.       will be replaced without prompting for confirmation. More details
  4222.       on force mode are in chapter 4.
  4223.  
  4224.    CONFIRM-DELETE
  4225.       Determines whether VU will ask for confirmation on file deletions.
  4226.  
  4227.    VIDEO
  4228.       Video mode can be GRAPHICAL (EGA and VGA systems) or TEXTMODE
  4229.       (other systems, Windows and OS/2 windowed sessions).
  4230.  
  4231.    SCREEN-LINES
  4232.       Determines whether 25 or 43/50 text lines are available.
  4233.  
  4234. VU-USER-ITEMS
  4235. -------------
  4236.    The FILE, FILES, ARCHIVES and COMMAND menu can be extended by user
  4237.    defined commands. For the ARCHIVES menu you can define 5 extra
  4238.    options, for all other menus you can define 9 extra options.
  4239.  
  4240.    For each user defined option you need to specify the menu, the index,
  4241.    the text to display on screen and the actual command.
  4242.  
  4243.    Example:
  4244.  
  4245.       FILES-3-TEXT      = UCEXE
  4246.       FILES-3-ACTION    = ucexe %
  4247.  
  4248.    this example adds an options to the FILES menu to compress selected
  4249.    executables with UCEXE.
  4250.  
  4251.    Please note VU is very smart in handling user commands. If a command
  4252.    somehow changes a file, deletes a file, or generates new files VU
  4253.    will handle this in a very clean way. There will be no difference in
  4254.    handling files on disk or handling files in an archive.
  4255.  
  4256.    It is possible to specify multiple DOS commands for 1 menu option by
  4257.    separating them with the ^ character.
  4258.  
  4259.    It is also possible to make VU ask questions while executing a user
  4260.    defined command.
  4261.  
  4262.    Example:
  4263.  
  4264.       FILES-2-TEXT      = rename
  4265.       FILES-2-ACTION    = ren % ?"New name"
  4266.  
  4267.    this example will ask for a new filename FOR EACH SELECTED FILE. The
  4268.    ?"New name" part will be replaced by the answer to the question.
  4269.  
  4270. VU-STATUS
  4271. ---------
  4272.    These variables are used internally by VU. You can change them if you
  4273.    want, but mostly that will not be very useful.
  4274.  
  4275.  
  4276. 12.D COMMAND LINE OPTIONS
  4277. =========================
  4278.  
  4279. Visual UltraCompressor (obviously) does not need much command line
  4280. options.
  4281.  
  4282. VU <location>
  4283.  
  4284.    Move to <location> and start VU.
  4285.  
  4286. VU <archive>
  4287.  
  4288.    Start VU, show the contents of <archive>.
  4289.  
  4290. VU -R ...
  4291.  
  4292.    Return to the startup directory after VU is closed.
  4293.  
  4294. VU -V <file>
  4295.  
  4296.    Use the VU viewer logic to view <file>.
  4297.  
  4298. VU -E <file>
  4299.  
  4300.    Use the VU editor logic to edit <file>.
  4301.  
  4302. VU -H <section> <file>
  4303.  
  4304.    Handle <file> with the program(s) defined in <section> in AIP-NL.INI.
  4305.    <section> should be structured the same way the VIEWERS and the
  4306.    EDITORS sections are structured. This command allows you to create
  4307.    user defined commands (e.g. COMPILE) which are file extension
  4308.    sensitive.
  4309.  
  4310.  
  4311. 13. UC2SEA (creating UltraFAST self extracting archives)
  4312. ========================================================
  4313.  
  4314. This chapter contains the following paragraphs:
  4315.  
  4316.         - A. Introduction
  4317.         - B. UC2SEA overview
  4318.         - C. SEA overview
  4319.  
  4320. When you use the AIP-NL manual viewer you can jump to a chapter or a
  4321. paragraph by pressing the corresponding digit(s) or letter.
  4322.  
  4323. WARNING: in some environments UC2SEA (NOT the executables it produces)
  4324. fails to operate if the UC temporary directory (UC -! S) is located on a
  4325. Novell network drive.
  4326.  
  4327.  
  4328. 13.A INTRODUCTION
  4329. =================
  4330.  
  4331. UC2SEA is a tool which converts an UC2 archive into a standalone
  4332. executable, a self extracting archive (SEA). No separate extraction
  4333. software is needed to extract the files included in this executable.
  4334.  
  4335. Highlights of UC2SEA include:
  4336.  
  4337.     - the generated executable is extremely fast (especially from
  4338.       floppy)
  4339.     - less than 270k of free memory is needed to run a DOS SEA
  4340.     - all files in the SEA are protected by a checksum
  4341.     - the distribution license allows UNLIMITED distribution
  4342.  
  4343. The datacompression engine of UC2SEA is different from the one used in
  4344. UltraCompressor II. UC2SEA uses a subset of the UltraFAST decompression
  4345. engine which will probably be used in portable UltraCompressor III. In
  4346. most cases a self extracting archive will be larger than the original
  4347. UC2 archive. Due to the new compression engine used in UC2SEA the
  4348. generated executable can be smaller than the original UC2 archive as
  4349. well.
  4350.  
  4351. Please note that the extraction module which UC2SEA includes in the
  4352. executables it produces are Copyright 1995 AIP-NL. A distribution
  4353. license is needed for distribution of self extracting archives. (See
  4354. chapter 2, paragraph F.)
  4355.  
  4356.  
  4357. 13.B UC2SEA OVERVIEW
  4358. ====================
  4359.  
  4360. Usage: UC2SEA [options] [archive]
  4361.  
  4362. Options:
  4363.     -v<size>[,size]   Specify size(s) for multiple volume SEA
  4364.     -b<banner>        Specify small text file to be used as banner
  4365.     -s<extractor>     Specify extractor (default is DOS.SEA)
  4366.  
  4367. UC2SEA arch
  4368.     Convert arch.uc2 to arch.exe (UC2SEA will never remove arch.uc2).
  4369.  
  4370. UC2SEA arch -sWIN95
  4371.     Create a native Windows 95 self extracting archive. For this you
  4372.     need to have WIN95.SEA.
  4373.  
  4374. UC2SEA arch -v600,700
  4375.     Split the executable up in 1 600kb file (arch.exe) and make all the
  4376.     other volumes 700kb (arch.002, arch.003, etc.).
  4377.  
  4378.     Please note volumes can never be smaller than 32k.
  4379.  
  4380. UC2SEA arch -v123456,54321
  4381.     Split the executable up in 1 123456 bytes file (arch.exe) and make
  4382.     all the other volumes 54321 bytes (arch.002, arch.003, etc.).
  4383.  
  4384. UC2SEA arch -bbanner.txt
  4385.     Includes a banner into the self extracting archive. A good example
  4386.     of how a self extracting archive with banner should look is
  4387.     UC2PRO.EXE.
  4388.  
  4389. If a file called SEASTART.BAT, SEASTART.CMD, SEASTART.EXE or
  4390. SEASTART.COM is present in the root directory of the UC2 archive, then
  4391. this program will be called by the SEA module as soon as all files are
  4392. extracted. The SEA module passes the destination directory (for the
  4393. extracted files) as a parameter to SEASTART. This can be an empty string
  4394. if the destination is the current directory. After execution of
  4395. SEASTART.* the file will be deleted by the SEA module. If the SEA module
  4396. somehow fails to complete extracting all files, SEASTART will not be
  4397. called or deleted.
  4398.  
  4399.  
  4400. 13.C SEA OVERVIEW
  4401. =================
  4402.  
  4403. Usage: SEA [-o] destination-directory
  4404.  
  4405. The -o option makes the SEA module overwrite files without asking.
  4406. Otherwise the SEA module will ask "Overwrite 'XXX' (Yes/No/Always/
  4407. nEver/Quit) ?" before overwriting a file.
  4408.  
  4409. If the destination directory is not specified on the command line the
  4410. SEA module will ask what it should do:
  4411.  
  4412.    Press Enter    to extract files to the current directory
  4413.          Spacebar to extract files to a specified directory (prompt)
  4414.          Escape   to extract nothing (quit)
  4415.  
  4416. SEA -? will display micro-help for the SEA module.
  4417.  
  4418. When SEA needs a new disk (volume) it will ask "Insert next disk and
  4419. press [Enter], or press [Q] to quit...".
  4420.  
  4421.  
  4422. 14. UCEXE (compressing executables)
  4423. ===================================
  4424.  
  4425. UCEXE makes DOS programs MUCH smaller and self-checking.
  4426.  
  4427. Usage: UCEXE <file(s)>
  4428.  
  4429. UCEXE will NOT delete compressed executables. The original executable
  4430. will be renamed to <program>.~XE.
  4431.  
  4432. WARNING: Device drivers and self checking/modifying/reading executables
  4433.          should not be compressed.
  4434.  
  4435. You can only distribute compressed executables if you bought UC2 PRO.
  4436. (See chapter 2, paragraph F.)
  4437.  
  4438.  
  4439. 15. ULTRA-DIFF (comparing text files)
  4440. =====================================
  4441.  
  4442. UDIFF visually compares two versions of a text file. It shows you what
  4443. changed between two versions of a file. This can be used to analyze
  4444. changes to batch files, ini files and sources to solve problems like
  4445. "why did it stop working".
  4446.  
  4447. Unlike many other file compare utilities, UDIFF uses an "unlimited pass"
  4448. method to analyze changes. This means UDIFF is capable of reducing the
  4449. list of changes it shows to an absolute minimum. UDIFF is even capable
  4450. of properly finding and reporting CUT + multiple PASTE changes. UDIFF
  4451. can at most compare 5000 lines of text.
  4452.  
  4453. The most common ways of using UDIFF, comparing two versions of a file,
  4454. and comparing a file to its backup, have been built into Visual
  4455. UltraCompressor.
  4456.  
  4457. Usage: UDIFF <oldfile> <newfile> [options]
  4458.  
  4459. Options:
  4460.    -S          smart mode (ignore layout, indentation and spaces)
  4461.    -A          use only ASCII characters in output
  4462.    -V          use VU viewer to browse results
  4463.    -M          show source of moves (CUT)
  4464.    -L<number>  show <number> context lines around changes (default=2)
  4465.    -W          show whole lines
  4466.  
  4467. Environment:
  4468.    SET TABSIZE=n  (default 8)
  4469.  
  4470. Output:
  4471.    MATCH  unchanged line (used to show context of change)
  4472.    ADD    inserted (new) line
  4473.    DEL    removed line
  4474.    CUT    moved line (destination is shown)
  4475.    MCUT   line moved to multiple destinations (number of destinations
  4476.           is shown)
  4477.    PASTE  line moved or copied from different place (source is shown)
  4478.  
  4479.  
  4480. 16. WINDOWS 95 (long filename support)
  4481. ======================================
  4482.  
  4483. In order to remain backward compatible with 16 bit DOS and MS-Windows
  4484. software, Microsoft implemented a 'double filename' system in Windows
  4485. 95. Each file gets 2 names, a short name and a long name.
  4486.  
  4487. (Visual) UltraCompressor II will preserve both the short and the long
  4488. filename of files. UC2 does this completely automatic. No settings or
  4489. options are needed to preserve long filenames (or long directory names).
  4490.  
  4491. Visual UltraCompressor can show both the long and the short filename.
  4492. You can use the F11 key to toggle between viewmodes.
  4493.  
  4494. The UC command line needs short filenames (or wildcards like *.*) to
  4495. operate. UC will (re)store long filenames, but the only way to directly
  4496. view/manipulate long filenames is with Visual UltraCompressor.
  4497.  
  4498. Included with UC2r4 is a file VU.REG. If VU.EXE is in the PATH
  4499. (autoexec.bat) you can double click on this file from the Windows 95
  4500. explorer to register VU.EXE in the Windows 95 registry. You can also
  4501. execute 'REGEDIT VU.REG' from the command line to achieve the same
  4502. result. This will allow you to double-click on UC2 archives from the
  4503. desktop or the explorer to access UC2 archives with VU.
  4504.