05-10-1994 Mr Ni! (the Great)

 9.92 rev. 2.024 (Release)

 * Bug removed from ARJ_BETA code. Files that can't be packed are now
   stored correctly

 * Unarj Junior versions bit smaller and faster code

18/09/1994 Mr Ni! (the Great)

 9.92 rev. 2.023 (Release)

 * Mode 4 packing 3 to 5 times faster :-) Packing speed is roughly
   the same as LZH 3.xx. Pack ratio is less. Expected future speed 
   improvements are:
     -usage of Chaos CRC-routines (30% faster as the currently 
      used routine)
     -conversion to assembly of the whole pack routine (now only the
      dictionary search and update is optimized)
     -usage of the UNARJ file buffering routines
     -usage of again another tree structure????
   Expected speed reductions are:
     -mode 1 packing (bigger sliding dictionary, huffman tree building)
     -support of all ARJ commands and some TOS-crew additions (to be
      recognized with -~)

 * Added wildcards to ARJ_BETA, not the sophisticated I_A wildcards
   but standard OS controlled wildcards (user request from 
   Chipswinger). For recursive packing of subdirectories please
   wait for the user interface by Insh_Allah.

 * Removed file load bug from ARJ_BETA, modulo 32678 files don't
   result in an error message anymore

 * Changed IRA support to terrorists support: as long as the treaty
   in Northern Ireland holds IRA support is removed. We are looking
   for another terrorist organisation to be supported by -~b ;-)

 * even smaller depack routines to include into your own programs:
   mode 1-3 depack: 1012 bytes
   mode   4 depack: 144 bytes
   mode   0 depack: trivial
   Use UNARJ_PR to dump packed data in a file, see for usage of
   -~d the documentation of UNARJ_PR

 * Added the TOS-crew ARJ icons (for use with TeraDesk, I've heard
   that the normal Atari desktop won't work with icons bigger 
   than 32x32. Well, these icons are bigger, so get TeraDesk 1.40A
   (that's the newest version now (about 5 days old now))

 * the TOS-crew now can be contacted by e-mail! Write to:
   i_a@mbh.wlink.nl to contact Insh_Allah or
   mr_ni@mbh.wlink.nl to contact me (Mr Ni! (the Great))

 * for easy use of ARJ_BETA install the program on your desktop
   (TeraDesk is the best)(use menu item 'install application')
   and enter at the command line:

   d:\result.arj %f

   Now you can drop the file(s) to be packed on the ARJ_BETA icon 
   and the files will be packed in the file d:\result.arj.
   If the file result.arj already existed the file will be deleted
   destroying all previously packed files and a new file will be
   created.

rev 2.018 - 2.022 internal development revisions
  * tried to improve packing speed by using the following tree
    structures:
      -simple sorted list with insertion sort updating (far to slow)
       (don't say I should have used quicksort, each byte has to be
       inserted in a sorted list followed by a tree search. Trying to
       quicksort a sorted list is deadly, in this case insertion sort
       is really the fastest (and of order n))
      -linked trie structure (memory efficient but slow)
      -sequential trie structure (please insert 8MB)
      -own developed statistical dictionary search (best yet)

30/08/1994 Mr Ni! (the Great)

  rev. 2.017 (Release)

 * Even faster decrunching in UNARJ and UNARJ_PR

 * Bug in dump-mode fixed (UNARJ_PR)

 * Added depack and CRC sources, free to include in your programs

 * Smaller Junior versions

 * ARJBETA included, I am still working on it but here is a first
   sample of things to come. Next version will be faster (I hope)
   and will include a userinterface by Insh_Allah (he coded the 
   user interface of all the UNARJ versions too!)

rev 2.004 - 2.016 (Internal ARJ development versions)

04/07/1994 Mr Ni! (the Great)

  rev. 2.003 (Release)

 *  Fixed bug in environment handling, all works now as promised (I do
    hope so).

 *  Further optimized CRC and depack routines.

 *  Changed to a new, faster, printf routine, converted some string
    routines to assembley.

 *  Total speed improvement compared to previous release about 2%.


??/05/1994

  rev. 2.002 (internal revision)

 *  Fixed bug in decode routine, very rare arj files could trigger
    this bug; one of the over 10000 files (over 1GB packed data) we
    tested trigered this bug.


05/04/1994

  rev. 2.001 (internal revision)

 *  Fixed bug in short usage.


06/03/1994 Insh_Allah

  rev. 2.000 (release)

  * Changed to version 9.90á: prelude to ARJ (which will start at version
    10.00)

    We chose rev 2.000 as the documentation talks about rev. 1.0xx and
    upwards. We didn't want to change that so we updated the 'revision'
    number too!
    
  * filecount display bug removed

  * problem with startup-code from Pure C/Turbo C removed: all filenames
    (including the ones containing characters > ASCII 127) are recognized
    correctly now. (Pure C startup-code treated commandline input as array
    of 'signed char' and compared (*p <= ' ') to cut commandline into
    argv[] list!

  * most texts have been changed to German for UNARJJRG.TTP (some
    error-messages are still in English though!)

  * UNARJ Junior versions now can 'test' archives as was listed in the
    documentation long ago. (The first Junior Versions were targeted NOT to
    be able to TEST, only to VIEW and EXTRACT!)

  * Configuration-structs have changed, which results in over 32 KILOBYTE
    less DATA-space in de executable on disk!

  * repaired 'broken archive' handling which seemed to be broken long time
    ago.

  * removed pointer-related bug in short-usage()

  * removed bug related to newly introduced dump-mode and 'UPDATE/FRESHEN'
    setting: warning was issued for every (UN)ARJ version, even the ones
    that don't carry the dumpmode along...

30/01/1994 rev. 1.101 (Internal Revision) alpha

  * commandline parser bug (SERIOUS ONE!) removed: previous versions
    COULDN'T handle the promissed option-concatenation as far as constructs
    like

        -auvjr1jx

    which is meant to be decoded as

        -a -u -v -jr1 -x

    were concerned: switching back to 'normal' (read as: 'non-shifted')
    options would force an errormessage due to some bug in the parser-code.
    Oops!

    Well, to be honest is went something like this: I adapted the option-
    lists without changing the parser-code accordingly, so it went a teeny
    wheeny bit wrong at this particular point. Now that I didn't get any
    furious user on the phone about this one means:

    1) users didn't yet concatenate options that fanatically, or

    2) users didn't think it was worth the paper their anger would be
       spilled on, or

    3) otherwise, in fact ...............................

    (*) mark the number of your choice and, where required, please do write
    something on the dotted lines...  ;-]
	  																		
  * Now we are 100%% ARJ compatible as far as commandline parsing is
    concerned as we can mix various shifted options (see the on-line
    manual, to be shown when executing

      (UN)ARJ -?

    for details)

  * We decreased usage information when an error occurs, so users can still
    read the line(s) listing the error, even if they have option '-jp'
    switched off. The usage() can be viewed using '-? -jp' anyway!

  * 'presumes_curdir': bug fixed which caused routines NEVER to find
    trailing '\\' when it DID exist at the end!


06/01/1994 21:29 rev. 1.092 (Internal Revision) alpha

  * bug with CRC calculus for 1-byte, 2-byte, 64KByte+1 byte, 64KByte +
    2-bytes, etc... filelengths. Run that test properly now (When intro-
    ducing Chaos CRC routine, we did change some things to fit the routine
    into the rest of the code, but we unfortunately DIDN'T check these
    special filesizes. (oops 8-[ )

  * bug when displaying introductionary usage() fixed: when that text was
    displayed, settings would be such that it would allways be printed as
    if '-ss' option was enabled, even when it wasn't -> unreadable text
    flashing along on a single line, useless to the novice, for which the
    text is meant...
	  
26/12/1993 ??:?? rev. 1.091 (Internal Revision) alpha

  * 'bugs' fixed concerning BACKUP flagged files: now (UN)ARJ listens to
    -jg and -jg1 switches correctly: -jg1 lists BACKUP files only with 'v'
    or 'l' commands; unless '-jg' or '-jg1' specified, you cannot extract
    any BACKUP flagged files (before, BACKUP flagged files were extracted,
    thus blocking their non-BACKUP flagged equivalents unless file
    overwrite was enabled. (boo :-((( ))

  * 'dump' mode introduced: very handy for those among you want to use
    ARJ-packed files for demo's or include it in their own source. 'dump'
    can be done in 'binary' or 'source' form; 'header-files' can be created
    on the way in Assembley or C-language. 'source'-dump can be either ASM
    or C-style.

  * once more ;-)) we reorganized our sources. BTW, we are now heading for
    the 100K executable. (unpacked!) Estimates are we can gain 40% with
    complete packed executable, but since I personally HATE ice! and other
    style packed executables...

  * included options (tested):

   -~ss (no screen scrolling) (user request)

    -~fb[nnn] specify amount of file-buffering. (handy in Multitasking
              Environments, negative values specify amount of mem still
              free when running (UN)ARJ)

    -~crc[n] CRC speed (and memory usage)

    -~* no CRC checking (unsafe but faster extracting)

12/12/1993 11:00 rev. 1.09 (Internal Revision) alpha

  * we keep 'alpha' in our version number as long as we don't have packing
    implemented...

  * depacking has been speeded up again (again!).

  * bugs removed concerning non-ARJ files:

    if you would do something like this

      UNARJ.TTP t -ray+ -v+ k:\*.*

    all files, including modules, texts, etc. are looked upon as possible
    ARJ files and, as you might have guessed, a lot of error-messages
    result from this action. However, we might expect to have the innocent
    user to issue such a command once in a while. (.ARJ extension is
    automatically added when you do this:

      UNARJ.TTP t -ray+ v+ k:\*                           )

    Things went WRONG ('Internal Error', crash(!), etc.) when you did this:

      UNARJ.TTP x -ray+ -v+ k:\*.*

    (really depack the shit you'll find) Now finally this problem has been
    fixed: UNARJ is made more butthead-proof...

22/09/1993 ??:?? rev. 1.03 alpha (intern)

  * Again speed up for mode 4 extracting.

09/09/1993 @ 00:44:?? rev. 1.02 alpha:

  * total files count fixes (was allways displayed as ZERO

  * total size etc. when viewing fixed.

  * redirection with stderr included ( >& ) fixed (we hope)

  * error-count report fixed: broken archives and unrecognized archives are
    counted as errors now too!
  
added:

  * global error count report: summa summarum all errors.

  * even faster depacking still: speed increment by a marv' 10%
  
10/09/1993 @ 21:50:?? rev 1.03 alpha:

  * version 1.02 had a MAJOR BUG since we used new file-access routines:
    every ARJ was opened and immidiately WRITTEN to! No wonder every ARJ
    was bad afterwards and reduced to zero bytes in the process: how to get
    lots of freee disk space (variant 3546 ;-(( )
    
