home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-04-16 | 64.0 KB | 1,679 lines |
- Document Crunch-Mania V1.95 User's Guide
-
- Crunch-Mania User's Guide
-
- Registered / Test Version 1.95 - 11.04.95
-
-
-
- Written by Thomas Schwarz
-
- Copyright (c) 1991-95 by Thomas Schwarz
- All rights reserved
-
-
- 1. Introduction
- ================
-
-
- 1.1. Copyright & Registration
- ------------------------------
-
- Crunch-Mania is Copyright (c) 1989-95 by Thomas Schwarz. It was
- released under the concept of "Shareware". All versions until V1.6 are
- Public Domain, but starting with V1.7 they are Shareware. I have released
- a test version that may be spread to give you a hint on the program's
- abilities. If, after a testing period of some weeks, you find this
- program useful, please register. By cooperating with this concept you
- help to ensure continued development of this product.
-
- Registered Users will receive the latest release version of
- Crunch-Mania, a faster library, the latest version of RTDD, includes and
- autodocs for the CrM.library and separate decrunch sourcecodes (in
- Assembler). The registered version has no annoying registration
- requesters and has some more features which are ghosted in the test
- version.
-
- No person(s) or businesses other than the author are authorized to
- accept any registration or distribution fees in any form whatsoever,
- except as specified by the author. Only people who have sent US 20, DM 30
- or more to the following address will be regarded as registered users.
- Only these two currencies and only bank-notes will be accepted.
-
- Thomas Schwarz
- Dammstrasse 12
- 70806 Kornwestheim
- Germany
-
- Just put the money in an envelope together with some piece of paper
- with your request and your address on it or print out the orderform and
- then post it to me.
-
- Delivery may take two to eight weeks. Usually you will be sent your
- registered version right away, but if a new version is imminent to be
- completed, you will get that one as soon as it becomes available.
-
- I am still searching for somebody or a company who distributes this
- program as a commercial product, so I can spend my time in developing new
- features and not in pasting stamps on envelopes. So be free to contact me
- to relieve my pain!
-
- The reqtools.library this program uses starting with V1.8 is copyright
- 1991/1992 by Nico François. That's what I call cool!
-
-
- 1.2. Distribution
- ------------------
-
- Basically, the test version of Crunch-Mania may be distributed freely
- as long as the following conditions are met:
-
- The Distributor may only charge a fee up to the costs of obtaining any
- common public domain disk. The distributor agrees to stop distributing
- the programs and data involved on request of the author. The distributor
- may only distribute an unmodified copy of the original program, with all
- the supplied documentation and copyright notices left intact.
-
-
- 1.3. Support
- -------------
-
- If you have any suggestions, bug reports or questions, please contact
- the author at the above address.
-
- When sending bug reports, please describe exactly under what
- circumstances the bug occured, what equipment was used and what happened.
- If possible also try to give me enough information to reproduce the bug.
- It is very difficult to find bugs when you don't know exactly what
- happened. Please don't just send messages like "my machine sometimes
- crashes when I try to load xxx", that really doesn't help me. If
- possible, submit the offending file in crunched and original state to me
- so I can test it myself, or give me a pointer where I can find the files.
-
-
- 1.4. License
- -------------
-
- 1. This license applies to the product called "Crunch-Mania", a set of
- programs for the Commodore-Amiga computer, published by Thomas Schwarz
- under the concepts of ShareWare, and the accompanying documentation,
- example files and anything else that comes with the original distribution.
- The terms "Programs", "Crunch-Mania" and "CrM" below, refer to this
- product. The licensee is addressed as "you".
-
- 2. You may copy and distribute verbatim copies of the programs'
- executable code and documentation as you receive it, in any medium,
- provided that you conspicuously and appropriately publish only the
- original, unmodified programs, with all copyright notices and disclaimers
- of warranty intact and including all the accompanying documentation,
- example files and anything else that came with the original.
-
- 3. You may not copy and/or distribute these programs without the
- accompanying documentation and other additional files that came with the
- original. You may not copy and/or distribute modified versions of these
- programs.
-
- 4. You may not copy, modify, sublicense, distribute or transfer the
- programs except as expressly provided under this license. Any attempt
- otherwise to copy, modify, sublicense, distribute or transfer the programs
- is void, and will automatically terminate your rights to use the programs
- under this license. However, parties who have received copies, or rights
- to use copies, from you under this license will not have their licenses
- terminated so long as such parties remain in full compliance.
-
- 5. By copying, distributing and/or using the programs you indicate your
- acceptance of this license to do so, and all its terms and conditions.
-
- 6. Each time you redistribute the programs, the recipient automatically
- receives a license from the original licensor to copy, distribute and/or
- use the programs subject to these terms and conditions. You may not
- impose any further restrictions on the recipients' exercise of the rights
- granted herein.
-
- 7. You may not disassemble, decompile, re-source or otherwise reverse
- engineer the programs.
-
- 8. You may use the programs for a period of up to 30 days for testing
- purposes. After that, you have to register.
-
- 9. If you wish to incorporate parts of the programs into other programs,
- write to the author to ask for permission.
-
- 10. You agree to cease distributing the programs and data involved if
- requested to do so by author.
-
- 11. You may charge a fee to recover distribution costs. The fee for
- diskette distribution may not be more than the cost to obtain any common
- public domain disk.
-
- 12. Only the test version is intended to be distributed, the registered
- version may only be used by registered users and nobody else.
-
-
- 1.5. Disclaimer
- ----------------
-
- THERE IS NO WARRANTY FOR THE PROGRAMS, TO THE EXTENT PERMITTED BY
- APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAMS "AS IS" WITHOUT WARRANTY
- OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
- PROGRAMS IS WITH YOU. SHOULD THE PROGRAMS PROVE DEFECTIVE, YOU ASSUME THE
- COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE
- PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
- GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
- USE OR INABILITY TO USE THE PROGRAMS (INCLUDING BUT NOT LIMITED TO LOSS OF
- DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
- PARTIES OR A FAILURE OF THE PROGRAMS TO OPERATE WITH ANY OTHER PROGRAMS),
- EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGES.
-
-
- 1.6. Future Plans
- ------------------
-
- The program is planned to be a real multi-talent. So a disk archiver
- and a files archiver will be added as soon as I have any spare time. But
- my special attention will be given to the development of faster and more
- effective algorithms. Another goal is to adapt the GUI to Commodore's
- styleguide rules.
-
- If you register and support my program, you will speed up the release
- of new and better versions. If there is little demand I may drop this
- project and start coding something else and that would be a great pity.
-
-
- 1.7. Why buy the registered Version?
- -------------------------------------
-
- Well, first of all you should buy the registered version, if you use
- this program for a longer time. With a registration you will support
- future releases. The registered version is faster both in crunching and
- in decrunching. With the registered version you can decrunch reloc files
- and not only data files. Registered users get the latest version of my
- run-time-data-decruncher (RTDD) which is very useful e.g. for crunching
- icons or include files, they will be automatically decrunched. The source
- code of the decruncher is also provided to be implemented in your own
- releases. Registered users receive a library that crunches and decrunches
- faster. A registered user gets the latest version of this product plus
- the next version as soon as it gets available! A program worth using is a
- program worth buying!
-
-
-
- 2. General Information
- =======================
-
-
- 2.1. Outward Appearance
- ------------------------
-
- The program opens a 2 planes intuition screen which is *NOT* a public
- screen. It uses the intuition.library for full multitasking compatiblity,
- the gadtools.library for nicer gadgets and menus and the reqtools.library
- ((c) Nico Francois) for nice requesters. It is self-detaching so you do
- not need to call it with "run". You can either run it from CLI or from
- the Workbench.
-
- The program is controlled by gadgets and menus. On the right side
- there is an area for tables and error messages and at the bottom there is
- a statusline combined with a percentage display which indicates what the
- program is just doing.
-
-
- 2.2. Numbers Input & Output
- ----------------------------
-
- Input:
- You can enter hex and decimal numbers, but hexadecimal numbers are only
- recognized with a leading "$". To get negative numbers put a "-" at the
- beginning of the line. An empty gadget has the same effect as one with a
- zero, sometimes this also means that you want to disable this option, e.g.
- an empty "Stack At"-gadget means that you don't want to set the stack to a
- special address. Some extra functions can be reached by entering chars
- instead of numbers.
-
- Output:
- The output follows the same rules as the input: a "$" indicates a
- hexadecimal number, the rest is decimal. But there is one exception:
- while loading executables in the Address- or Link-Mode the dehunker
- displays hexadecimal numbers without a leading "$". This has not been
- forgotten but left out as a result of lack of space.
-
-
- 2.3. System Requirements
- -------------------------
-
- For packing small files 512KB may suffice but the full power of this
- program can only be obtained with at least 1MB memory resulting from
- 200-400KB of tables depending on the version, the crunchmode and the
- offset. Two drives are comfortable but not necessary. No problems have
- occured under Kickstart 1.2, 2.0 and 3.0, so it should also work under
- 1.3, 2.x and 3.x+.
-
-
- 2.4. Other Information
- -----------------------
-
- There are no known bugs. Nevertheless the author is in no way liable
- for any errors and gurus invoked by the Program. In most cases the user
- himself produces the errors by misusing the Program.
-
- This document will only deal with the important things. Understanding
- minor details like Filelen is expected. These things are left out.
-
-
- 2.5. A Word on the Keys
- ------------------------
-
- You may invoke actions by pressing special keys. These actions are
- the same as the corresponding gadgets would cause. The key that stands
- for a certain gadget is underlined in the text next to or in the gadget.
-
- When pressing a key, the gadget behaves as if you had used the mouse,
- i.e. it looks like being pressed down. In this state no actions have yet
- happened, you may cancel your choice by pressing one of the <Shift> keys.
- Otherwise the action will be performed as supposed. Only one key at the
- same time is regarded as pressed, keys that are pressed while an other key
- is still pressed will be ignored.
-
-
-
- 3. CLI-Options, Menus & Gadgets
- ================================
-
-
- 3.1. Command Line Options
- --------------------------
-
- Here is a list of all options and parameters available and adjustable
- via the CLI. The same options can be used in the configuration file
- "S:CrM.cfg". This file is processed before the command line, so you can
- change your defaults via the CLI. A "+" instead of a "-" in front of the
- option reverses the result.
-
-
- 3.1.1. <?> - CLI Help
- -----------------------
-
- This option lists all currently available options in the CLI to give
- you a brief overview of what you can do there and then asks for a new
- command line. This option has to be the first in the command line and no
- other options may be specified with it.
-
- EXAMPLE
-
- 1> CrM ?
-
- Crunch-Mania V1.9r - Copyright (c) 1991-93 Thomas Schwarz
-
- Command Line Options:
- .
- :
-
- Enter Command Line:
-
- (Well, with <Esc>-codes this looks a bit nicer)
-
-
- 3.1.2. <-c> - Set Screen Colors
- --------------------------------
-
- With this option followed by four hexadecimal numbers you can set your
- own personally preferred screen colors fitting your needs. The highest
- nibble of each number stands for the red part of the color, the mid nibble
- for the green part and the lowest nibble for the blue part.
-
- EXAMPLES
-
- 1> CrM -c$889 $2 $ccd $358 ;These are the default colors.
- or
- 1> CrM -c$0 $bbb $2a2 $137
-
-
- 3.1.3. <-d> - Enable Auto Makedir
- ----------------------------------
-
- This option comes into effect when you crunch whole directories or use
- the multiselect feature of the filerequester and you select a subdir.
- When this option is active this dir will be automatically created when CrM
- tries to access a file located in this dir, otherwise there will appear an
- information requester. When you deny this requester the whole dir is
- skipped.
-
- EXAMPLES
-
- 1> CrM +d ;lets a requester appear
-
-
- 3.1.4. <-e> - Set Extra Mem Size
- ---------------------------------
-
- As this program does not support floating compression, the source and
- destination memory blocks overlap to reduce the memory needed. Extra Mem
- specifies the distance between the two blocks.
-
- The error message "File not crunchable!!!" indicates that the cruncher
- would have overwritten some data which has not yet been processed with
- crunched data. Nevertheless you can crunch those files by setting extra
- mem to a higher value, but the files usually then become longer than the
- original.
-
- Extra Mem may be set by the option <-e> directly followed by a number
- in the range from 100 to 10000. Default is 100.
-
- EXAMPLES
-
- 1> CrM -e100 ; Sets Extra Mem to 100
- or
- 1> CrM -e$200 ; Sets Exrta Mem to 512
-
-
- 3.1.5. <-f> - Enable LED-Flash
- -------------------------------
-
- While packing the power-LED flashes to show the user that the program
- is working. As you certainly know, the power-LED also steers the low-pass
- filter for the four audio channels. This may lead to an annoying sound
- when listening to a tune while crunching. To prevent this you can disable
- the flickering with the option <+f>, default is on.
-
- EXAMPLE
-
- 1> CrM -f ;Enable LED-Flash (default)
-
-
- 3.1.6. <-g> - Enable Segment-BPTRs
- -----------------------------------
-
- This option only comes into effect in the address and link modes.
- There you can relocate executable to a certain address. The dos.library
- does the same but it adds the lenght of a hunk and the pointer to the next
- hunk in memory to all hunks. Normally this is only for internal DOS use,
- but some programs use these BPTRs to calculate the addresses of their
- hunks. You can enable the creation of BPTRs with this option so that
- these programs don't crash any more. As you don't need this option very
- often the default setting is off.
-
- EXAMPLE
-
- 1> CrM -g ;now BPTRs are created
-
-
- 3.1.7. <-h> - Set Huffman Buffer Size
- --------------------------------------
-
- This option can be used to set the size of the buffer used in the
- LZ-Huffman compression mode for collecting statistics. The size of this
- buffer affects the compression ratio in unpredictable ways. As a general
- rule, keep this at the default, but if you are compressing homogenous data
- with an approximately fixed relative frequency of symbols (like text
- files), setting this to a large value will improve compression. Binaries
- generally compress best with the default setting.
-
- The Huffman buffer may be of any size between 4K and 64K and must be
- specified immediately following the <-h> string, in kilobytes.
-
- EXAMPLE
-
- 1> CrM -h32 ;Sets the Huffman buffer size to 32768 (32K)
- ;bytes
-
- The default Huffman buffer size is 16K.
-
-
- 3.1.8. <-i> - Set Subdir-Level
- -------------------------------
-
- CrM takes care of this option when you want to crunch an entire
- directory or use the multiselect feature of the filerequester and select
- dirs. This number specifies the level upto which the dirs are scanned.
- The number follows immediately after the "-i", see examples for more
- details. Accepted values range from "-1" to "127".
-
- Let's say you want to crunch the whole ramdisk and let's say yours
- looks like mine below. If you specify "-1" as number the whole ramdisk
- will be compressed. If you enter "0" only "dirlist" will be crunched
- because it is the only file in the rootdir. When you take "1" as the
- number CrM will crunch "dirlist" and the files "ASM-One.Pref" to
- "ZOOMOPTS" in the env directory. Taking "2" as number will have the same
- effect as "-1" (in this example case).
-
- RAM DISK:
- ENV (dir)
- GadToolsBox (dir)
- GadToolsBox.prefs
- egs (dir)
- mouse.prefs
- Sys (dir)
- floppy.prefs font.prefs
- icontrol.prefs input.prefs
- locale.prefs overscan.prefs
- palette.ilbm pointer.ilbm
- printer.prefs printergfx.prefs
- printerps.prefs screenmode.prefs
- serial.prefs sound.prefs
- sysfont.prefs wb.pat
- wbconfig.prefs wbfont.prefs
- win.pat
- ASM-One.Pref NEWLIST_LANG
- TERMPATH xprascii
- xprzspeed ZedZapWindow
- ZOOMOPTS
- Clipboards (dir)
- T (dir)
- dirlist
-
- EXAMPLES
-
- 1> CrM -i-1 ;take whole directory
-
- 1> CrM -i1 ;crunch sourcedir and the files of the dirs
- ;in it
-
- Default is -1 (scan entire directory).
-
-
- 3.1.9. <-I> - Ignore Configfile
- --------------------------------
-
- In the configuration file "S:CrM.cfg" you may specify your own personal
- default settings which are loaded immediately after the start of the
- program. This option prevents CrM from loading the config file what may
- come in handy when you don't have your boot disk inserted. This option
- has to be the first in the command line but others may also be set there.
-
- EXAMPLE
-
- 1> CrM -I +r ;don't load config file and don't load reqtools.library
-
- 1> CrM -I ;don't load config file and use internal defaults
- ;instead
-
-
- 3.1.10. <-p> - Set Taskpriority
- --------------------------------
-
- This value sets the taskpriority of the background task which is
- responsible for loading, crunching and saving. The task handling the
- windows, menus and gadgets always has a higher priority so that it is not
- frozen while crunching. Nevertheless you have to select the priority
- wisely because high priorities will interfere multitasking which makes
- this machine so powerful! This value ranges from "-128" to "126".
-
- EXAMPLE
-
- 1> CrM -p-5 ;Set Pri to -5
-
- Default is -1.
-
-
- 3.1.11. <-r> - Enable reqtools.library
- ---------------------------------------
-
- The reqtools.library is loaded by default and is used for user
- communication. When you are short of memory you may prevent CrM from
- loading it with the option <+r>.
-
- The reqtools.library is copyright Nico Fracois. It is used for
- filerequesters, numberrequesters and informationrequesters. CrM can
- operate without this library, but it is more comfortable to use it.
-
- 1> CrM +r ;don't open reqtools.library
-
-
- 3.1.12. <-s> - Enable Sample Encoding
- --------------------------------------
-
- This feature is especially designed for compressing 8-Bit samples.
- Generally this option will only reduce the crunched size with samples as
- this algorithm is comparable with delta-encryption. It calculates the
- relative difference between two bytes instead of the absolute values. Now
- imagine a sine wave. The difference between two bytes is in the range of
- -4 to +4, but the absolute values go from -128 to +127. The algorithm
- will convert the file into one with about 20 different values instead of
- 256.
-
- To give you a hint on the efficiency of this algorithm I have put up
- the following chart. The files are standard 31 Instruments Protracker
- modules taken from the "Mayday Attack Vol. II" packed with the LZ-Huffman
- compression algorithm. The proportional numbers reflect the saved bytes.
-
- Name | Original | Sample-Mode=Off | Sample-Mode=On
- -----------------------+----------+-----------------+----------------
- mod.acid_yell | 230764 | 19.7% 185338 | 27.0% 168350
- mod.badada | 112742 | 35.1% 73196 | 41.2% 66338
- mod.flatliner | 140886 | 29.3% 96648 | 47.8% 73612
- mod.fuck_you! | 142652 | 24.8% 107238 | 33.3% 95202
- mod.gotta_speed | 108594 | 21.4% 85338 | 33.7% 71992
- mod.hard_attack | 108100 | 47.0% 57260 | 54.6% 49118
- mod.leck_mich_am_arsch | 125486 | 39.0% 76528 | 46.3% 67338
- mod.something_big | 162756 | 19.5% 131092 | 27.2% 118556
- mod.world_of_terror | 102114 | 48.2% 52932 | 51.8% 49174
- mod.you_gotta_believe | 85092 | 24.7% 64084 | 26.6% 62490
- -----------------------+----------+-----------------+----------------
- Total | 1319186 | 29.5% 929654 | 37.7% 822170
-
- EXAMPLE
-
- 1> CrM -m ;Enable Sample Encoding
-
- Default is off, as most files compress worse with it.
-
-
- 3.1.13. <-t> - Set Textbuffersize
- ----------------------------------
-
- This value specifies the size of the history buffer in lines. On
- Kick1.2/1.3 this value is fixed to 18, as my version of the
- gadtools13.library always crashed when I tried to scroll the outputfield
- whith the slider next to it. You may enter values from "18" to "999".
-
- EXAMPLE
-
- 1> CrM -t200 ;Set history size to 200 lines
-
- Default is 100.
-
-
- 3.1.14. <-u> - Enable Free Mem Updating
- ----------------------------------------
-
- The title bar of the screen or the window displays the currently
- available unused memory. This display is updated every 1/10 second. You
- can disable this with <+u> to gain a bit more speed, but it's not very
- much.
-
- EXAMPLE
-
- 1> CrM +u ;no updating
-
-
- 3.1.15. <-y> - Enable Data Encryption
- --------------------------------------
-
- Starting with CrM V1.9 you have the possiblity to encrypt your data
- with a password. You have to enter this password when the crunching is
- finished. You will see only spaces in the requester, therefore you have
- to enter it twice to be sure that you have entered it correctly.
- Currently this only works in the Data-Mode, in all other modes the state
- of this flag is ignored.
-
- EXAPMLE
-
- 1> CrM -y ;Enable pw encryption
-
- Default is off.
-
-
- 3.2. Menu Options
- ------------------
-
- In the following lines the functions of the menus are described. Menus
- are accessible via the right mousebutton.
-
-
- 3.2.1. Project Menu
- --------------------
-
- In this menu the basic operations have found their place. They have
- the same effect as the corresponding gadgets, just for people who like
- menus more than gadgets. For "About" and "Save Prefs" there is no
- corresponding gadget.
-
-
- 3.2.2. About - <a>
- -----------------------
-
- This will display the text that is shown when you start the program.
- When the reqtools.library is active a requester is called instead. In the
- registered version this requester also displays the user's address.
-
-
- 3.2.3. Load File - <l>
- -----------------------
-
- Load a File, has the same function as Load gadget, see `Load'.
-
-
- 3.2.4. Crunch - <c>
- -----------------------
-
- Crunch the loaded data, has the same function as Crunch gadget, see
- `Crunch'.
-
-
- 3.2.5. Save File - <s>
- -----------------------
-
- Save a File, has the same function as Save gadget, see `Save'.
-
-
- 3.2.6. Save Prefs
- ------------------
-
- This function has no equivalent gadget. It creates the config file
- "S:CrM.cfg" and saves the current status of the menus to it. You may edit
- the created file with any texteditor for the prefs are saved as normal
- ASCII-text.
-
-
- 3.2.7. Iconify - <i>
- -----------------------
-
- Close screen and window and open a small window on the workbench
- screen, same effect as Iconify Gadget, see `Iconify'.
-
-
- 3.2.8. Quit - <Q>
- -----------------------
-
- Leave Crunch-Mania, same as Quit gadet, see `Quit'.
-
- NOTE: you have to press <Shift> when using the keyboard shortcut.
-
-
- 3.2.10. Options Menu
- ---------------------
-
- This menu contains several preferences and values that are used in the
- program. There are no corresponding gadgets, so you have to use the menu.
- Some options are disabled when the the reqtools.library is not active.
-
-
- 3.2.11. Free Mem Update
- ------------------------
-
- See `<-u> - Enable Free Mem Updating' for details. Default is on.
-
-
- 3.2.12. reqtools.library
- -------------------------
-
- See `<-r> - Enable reqtools.library' for details. Default is on.
-
-
- 3.2.13. Segment-Ptrs
- ---------------------
-
- Consult `<-g> - Enable Segment-BPTRs' for more information. Default is
- off.
-
-
- 3.2.14. LED-Flash
- ------------------
-
- See `<-f> - Enable LED-Flash' for further information. Default is on.
-
-
- 3.2.15. Sample-Mode
- --------------------
-
- See `<-s> - Enable Sample Encoding' for more details. Default is off.
-
-
- 3.2.16. Encrypt Data
- ---------------------
-
- See `<-y> - Enable Data Encryption' for datails. Default is off.
-
-
- 3.2.17. Auto Makedir
- ---------------------
-
- See `<-d> - Enable Auto Makedir' for details. Default is on.
-
-
- 3.2.18. Priority
- -----------------
-
- Here you can set the task priority of Crunch-Mania. There are three
- given possibilities (-3, 0, 3) the custom option The current task priority
- is shown behind the double point. Select your priority wisely, because
- high priorities will interfere multitasking, and that's what makes this
- machine so powerful! See `<-p> - Set Taskpriority' for more information.
- Default is -1.
-
-
- 3.2.19. Include Subdirs
- ------------------------
-
- Here you can set the rekursion depth for scanning dirs. There are two
- predefined possibilities, "All Subdirs" which equals -1 and "No Subdirs"
- meaning 0, and the Set Level option where you can set any level between -1
- and 128. See `<-i> - Set Subdir-Level' for more details. Default is -1.
-
-
- 3.2.20. Extra Mem
- ------------------
-
- See `<-e> - Set Extra Mem Size' for a detailed description. The
- current value is shown after the double point. You may change it by
- selecting the menu item. The new value will be used when the next file is
- loaded. Default is 100.
-
-
- 3.2.21. Huffman-Buf
- --------------------
-
- See `<-h> - Set Huffman Buffer Size' for more details. Default size is
- 16K.
-
-
- 3.2.22. Text Buffer
- --------------------
-
- See `<-t> - Set Textbuffersize' for more details. Default size is 100
- lines.
-
-
-
- 3.3. Gadgets
- -------------
-
- Most gadgets behave as you expect it. Only the mode gadgets
- (Reloc/Data/ Address/Link) are a bit special. You can only change the
- mode when the buffer is empty. To empty the buffer you have to press the
- abort gadget.
-
-
- 3.3.1. Quit
- ------------
-
- Uuh, I forgot the function of this gadget. Well, I think you should
- not use it, cause it's the end of everything. It's the most senseless
- gadget of all. Anyway, when pressing it a requester is invoked where you
- have to confirm your choice.
-
-
- 3.3.2. Abort
- -------------
-
- Generally you need this gadget only to stop crunching. But you also
- have to press this button when you e.g. loaded something in reloc mode
- and now want to load something in data mode. You will experience that you
- can't do this unless you press this gadget. You may not change the
- crunchmode when something is loaded because then the decrunchers would not
- fit. By pressing this gadget you unlock that feature.
-
-
- 3.3.3. Iconify
- ---------------
-
- This closes the main screen and opens a new small window on the
- workbench screen. The new window displays the togo-counter, so you can
- crunch something and see when it has finished. You may return to the main
- screen by pressing the right mousebutton when the window is active.
-
-
- 3.3.4. Crunchmode
- ------------------
-
- Here you may select between the four crunchmodes. These are: Reloc,
- Data, Address, Link. There is also an "Auto" Checkbox. When it is
- selected CrM automatically detects whether a file is executable or not and
- changes the Crunchmode accordingly. This is only for registered users.
-
- In the reloc mode you can load any executable except overlayed files (I
- think there are not too many). The hunk structure is analysed and
- displayed while loading. Name, Symbol and Debug hunks are skipped, Reloc
- hunks are sorted and precompensated. This new reloc table format is
- shorter and even better crunchable than the one DOS uses!
-
- The data mode was designed for normal not-executable data files. They
- are loaded into memory, compressed and then saved with a small data
- header. The small comment which is also saved is for RTDD which takes the
- original len out of it without opening the file resulting in a faster
- access when reading the dir.
-
- The address mode is a bit similar to the ByteKiller cruncher. Here you
- can load executables and fix them to a special address, load
- position-depentant code or just load pure data. The decruncher then puts
- this data to a specified memory block and jumps somewhere. This
- crunchmode is not very DOS-friendly (especially the decruncher) but very
- handy e.g. for bootloading games. The dehunker displays some hexadecimal
- numbers without a leading "$", so don't get confused.
-
- The link mode resembles tetrapack/defpack. In this mode you can load
- several executable and data files into a precleared memory block which you
- have to define first. Executables are relocated to certain addresses
- inside the block, data files are loaded to a specified position in the
- block.
-
- I recomend to use the last two modes only with proggies which do not
- return to the CLI because important system-parameters and -tables may be
- destroyed.
-
- When the Auto checkbox is checked CrM behaves in an itelligent way. It
- detects whether the loaded file is executable or not, and then decides
- which mode (reloc or data) is the right one.
-
-
- 3.3.5. LowMem & HighMem
- ------------------------
-
- These two gadgets are only available in link mode. They specify the
- memory block to which the files are loaded. This block is buffered
- someplace else in memory while loading and crunching, so you don't have to
- care about crashes. LowMem and HighMem both have to be even addresses and
- HighMem has to be higher than LowMem. It is recommended to set the
- "Decrunch to" address to LowMem to avoid unwanted results.
-
-
- 3.3.6. Load|Fix File to
- ------------------------
-
- These two gadgets are active in the address and link mode. The "Load /
- Fix" gadget determines whether an executable is loaded as a data file
- (Load) or relocated to the address given in the string gadget below it
- (Fix). For data files this cycle gadget has no effect. In the address
- mode the string gadget is only important for executables, it contains the
- address where to fix them to. In the link mode this gadget affects both
- executable and data files in the same way: with the address in the gadget
- an offset to the beginning of the memory block is calculated and the file
- is then loaded there. The file has to fit completely in the given memory
- block.
-
-
- 3.3.7. Load
- ------------
-
- With the "Load" gadget you may load files in all modes. When there is
- no filename given in the string gadget next to it, or when the filename in
- the string gadget has not been changed since the last loading, a
- reqtools.library filerequester apppears (when enabled). After pressing
- "Load" and then selecting a file the program immediatly begins to load the
- file. You may select more that one file and even dirs by holding down the
- <Shift> key. Then you will be asked for a destination dir.
-
- With the DIR gadget next to the load filename you may select a
- directory to crunch. Now the whole directory will be packed, subdirs may
- be included or not, this depends on the Include Subdirs Level (see chapter
- 3.1 for details). You may activate the string gadget by pressing
- <Return>.
-
- When loading an executable its hunk structure is displayed in the
- output field either with decimal numbers (reloc) or with hexadecimal
- numbers (adress and link), where Range is the part the entire hunk
- occupies and Len is the length of the actual data in the hunk. The
- filelength is shown below the load string gadget. "Processed Len" only
- appears in the Reloc mode in the display field and shows the size of the
- stripped and precompressed data. This is the len of the data the cruncher
- really crunches.
-
- When you load a file that has been crunched in reloc or in data mode it
- is automatically decrunched presuming you selected the right mode (reloc
- for executable files and data for data files) so you can recrunch it or
- save the original file. After it has been decrunched the file is treated
- as if you had loaded it in its original form.
-
-
- 3.3.8. Algorithm
- -----------------
-
- This is again a rotating gadget. You may select beween these two
- crunch algorithms: LZ-Huffman and CrM-Normal.
-
- LZ-Huffman is the best of these algorithms, but not the fastest. Files
- crunched in this mode need 1248 bytes of additional memory to decrunch.
- The decruncher is also slightly slower than the one of the CrM-Normal
- mode. To crunch files in this mode you need continuous memory blocks with
- the sizes:
- 128K
- + 5*Crunchoffset
- + Huffman Buffer
- With the default values of $7ffe and 16K this will lead to a memory usage
- of 304K.
-
- The advantage of the CrM-Normal mode is its fast decruncher and its low
- memory usage. But its results are the worst of the two modes partly
- caused by the Crunchoffset which is limited to $4200. It needs no
- additional memory to decrunch. The memory used while crunching is shown
- in the following table:
- 128K
- + 5*Crunchoffset
- With the default Crunchoffset of $4200 this will lead to a memory usage of
- 210K.
-
-
- 3.3.9. Offset
- --------------
-
- This value specifies the range in which redundant data is searched and
- eliminated. Higher values produce better results but also longer crunch
- times. Values range from 1 to $4200 in the CrM-Normal mode and from 1 to
- $7ffe in the LZH mode. Values which are too high will be automatically
- reduced to the maximum.
-
-
- 3.3.10. Crunch
- ---------------
-
- Now you have started the real crunching process. This will take a
- while, so be patient. The ToGo counter is displayed in the status line at
- the bottom. It shows how much data has not yet been processed. This
- counter is permanently updated and is also shown in the Iconify window.
- When finished the crunched len of the file is displayed above the save
- string gadget. This is not the final length! The decruncher or data
- header is not yet added.
-
- The error "File not crunchable!" indicates that there is not enough
- space between the original and the crunched data. You may increase Extra
- Mem to avoid this message, but generally these files become longer when
- crunched.
-
- The message "Min Security-Distance" shows the distance between the
- source and destination memory block which is needed to decrunch a file in
- the same memory block properly. The crunched data has to be in front of
- the decrunched data. For more information have a look at the decruncher
- source.
-
-
- 3.3.11. Decruncher
- -------------------
-
- With this gadget you can select the decruncher you want. Each
- crunchmode has a special set of decrunchers. Not all gadgets that are
- displayed are also needed for the selected decruncher. So be careful to
- select the right decruncher especially in the address and link mode.
-
- First of all there is the data mode. As it is really senseless to put
- a decruncher before a data file there is only the data option. This will
- save a 14 bytes data header in front of the encoded data which is
- necessary for decrunch. This header is described in the decruncher
- source. This decruncher does not any other input.
-
- Then there is the reloc mode. If you choose the simple decruncher
- (it's the shortest one with implemented decruncher) you have a pretty low
- level decruncher. When a crunched program is running, twice as much
- memory is used as needed. The decruncher doesn't free the needless memory
- but lets this do the dos.library after the whole program has done its job.
- You can only use this decruncher in combination with the CrM-Normal
- algorithm. This decruncher takes no input from other gadgets.
-
- The decruncher you should use is the normal decruncher. It frees the
- unnecessary memory before running the program. Here you can choose
- whether to kill the decruncher or not. Killing it will result in a bit
- more free memory, a longer decruncher and the cli_module in pr_CLI in the
- process structure pointing on the first hunk of the program (normally it
- points on the decruncher). Some programs need this (e.g. CygnusEd). As
- you might have guessed this decruncher pays attention to the "Kill Decr"
- gadget.
-
- The latest decruncher is the library decruncher. It is the shortest
- one, but you need the CrM.library to run a program with that decruncher.
- With this decruncher you should have no problems with the cli_module
- pointer. You can use this decruncher to crunch libraries, fonts, devices,
- handlers (careful with the last two, crunch them only with Kick2.0+
- because DOS uses an internal jumptable that cannot be patched in
- Kick1.2/1.3). This decruncher is independent of any gadgets.
-
- The address and link modes have the same decrunchers. Normally it
- suffices to use the normal decruncher. You can tell him where to decrunch
- the data and where to jump. When you use the LZ-Huffman algorithm you
- also have to supply a value to the "LZH-Table at" gadget, because this
- decruncher needs some memory for a 1248 bytes large table to build the
- huffman tree.
-
- The professional decruncher has some more options. You can set the
- stack as well as locate the decruncher somewhere in memory. You may stop
- the drives, set the status register and init some important hardware
- registers or addresses. You may let out some options by clearing their
- gadget. This packer saves only the really necessary parts and not an
- ultimate decuncher where only some values are changed and much senseless
- code is dragged along.
-
- Finally you can save the files as data files. This has the same effect
- as just loading them in data mode.
-
-
- 3.3.12. Decrunch to
- --------------------
-
- The "Decrunch To"-address specifies the address where the data is
- decrunched to. By entering here a "p" no special address is taken.
- Instead of this some mem is allocated (in the Hunk-Header) and there the
- data will be decrunched to. "c" has almost the same effect but here it
- will be in Chip-Mem (e.g. for proggies with internal copperlist).
-
-
- 3.3.13. Jump to
- ----------------
-
- "Jump to" is the address where the decruncher will jump to after
- decrunching. In most cases this is the same address as the
- Decrunch-address. If there is a "p" or "c" as the Decrunch-Address, the
- Jump-Address is relative to the beginning of the data. By entering here a
- "r" the decruncher will return to the calling code after decrunching.
-
-
- 3.3.14. Stack at
- -----------------
-
- This gadget specifies where the stack should be put. The Stackaddress
- is written into a7 (stackpointer) as the first action before decrunching.
-
-
- 3.3.15. Decruncher at
- ----------------------
-
- The decruncher can copy itself to a safe position which is fixed by
- "Decruncher at". Of course this is done before decrunching.
-
-
- 3.3.16. Stop Drives
- --------------------
-
- You may stop all floppies either before decrunching or after
- decrunching (or both). The left column is responsible for all actions
- before decrunching and the right one for after. Stopping drives "lame"
- will switch off the motor but not the drive LED (at least it does so with
- my external drive). To turn it out you have to select "pro".
-
-
- 3.3.17. SR (Status Reg)
- ------------------------
-
- The value given in this gadget is written in the status register
- immediately before the program is entered. You may also enter values with
- the supervisor bit set (e.g. $2700), the status register is set with the
- help of trap #0. This may cause some troubles with accelerated machines
- when the vbr is not at address 0.
-
-
- 3.3.18. Move Gadgets
- ---------------------
-
- These are the twenty gadgets placed in five rows with two times two
- columns each. They are designed to write certain values to special
- addresses outa the data range. In the first column there are the values
- which can be wordened with a following ".w" (e.g. $0.w) and in the second
- one there are the addresses which are automatically shortened if possible
- (like in Ass: e.g. move.w #0,$dff180). The first two columns are
- executed before decrunching and the second two after. E.g. you can
- change the background color before decrunching to red and when decrunching
- has finished to black. Or you can turn off all interrupts and DMAs.
-
- EXAMPLES
-
- 1) move "$0.w " , "$dff180 " ;set colour0 to black
- move "$f00.w " , "$dff182 " ;set colour1 to red
-
- You can also combine the above two lines into a single one:
-
- move "$f00 " , "$dff180 " ;set colour0/1 to back/red
-
- 2) move "$60000 " , "$6c " ;set level 3 interrupt to
- ;$60000
- 3) move "$7fff.w " , "$dff09a " ;disable all interrupts
-
-
- 3.3.19. Save
- -------------
-
- The save filerequester and filename follow the same rules as described
- in 3.3.7. The save directory may be different to the load directory. You
- can save the original file before pressing the crunch button or save the
- crunched file after crunching it. NOTE: decrunched executables are never
- totally equal to their original state, because some useless hunks are
- removed, reloc tables are sorted and Hunk_Ends are added. The final file
- lenght is displayed above the save string gadget.
-
- When pressing the DIR gadget next to the save filename you may select a
- destination directory for multiple selected files and for crunching a
- whole directory. While crunching you can select a new save filename (Save
- gadget is ghosted).
-
-
- 3.3.20. LZH-Table At
- ---------------------
-
- This gadget determines where the LZH-Decruncher locates the tables it
- needs to decrunch the data. This gadget is only in the address and link
- modes important when you the LZ-Huffman crunch algorithm. The table is
- 1248 bytes large, so it won't be too hard to find some space for it.
-
-
- 3.3.21. Advanced Options
- -------------------------
-
- This gadget opens and closes the Advanced Options window. It contains
- the "Move" gadgets and "Stop Drives" gadgets. Compared to older versions
- it looks more jovial this way.
-
-
- 3.3.22. Slider Bar
- -------------------
-
- The Slider Bar may be used to scroll the output field. When the slider
- bar is at the bottom each text that is printed out will cause the display
- to scroll up, if it is somewhere in the middle, the display will stay at
- it's place but the slider bar will scroll instead. When the slider bar
- reaches the top, the display will scroll again. This way you can reread
- something that was previously printed without being disturbed.
-
-
-
- 4. Supplied Utilities
- ======================
-
- This section describes the utilities which have to do with this packer
- and which are supplied with this package.
-
-
- 4.1. Run-time Data-Decruncher (RTDD)
- -------------------------------------
-
- This utility is very powerful and useful. It patches some (6 or 9)
- vectors of the dos.library, so any loaded datafile will be automatically
- decrunched. When the file is loaded entirely no extra mem is needed,
- otherwise the program will allocate a memoryblock as large as the original
- file and will decrunch it there. In all further read calls the wanted
- data is only copied from this buffer, so this will also speed up
- disk-access. In the current version (v1.9) RTDD supports all crunch
- algorithms (CrM!, CrM2), any Min Security-Len, the sample-mode and
- password encrypted data. In combination with the CrM.library you will be
- able to crunch almost EVERY file without realizing anything (except a
- little slow-down).
-
- The following entries of the dos.library are patched:
- - Open()
- - Close()
- - Read()
- - Seek()
- - Examine()
- - ExNext()
- When you are running Kick2.0+ these are also patched:
- - ExAll()
- - ExamineFH()
- - OpenFromLock()
-
- RTDD also supports some command line options:
- "?" ··· This will display a help page.
- "-i" ·· Install Only, DON'T remove RTDD. Useful for scripts.
- "-r" ·· Remove Only, DON'T install RTDD. Useful for scripts.
- When no options are given RTDD assumes that you want to change it's state
- from installed to removed or vice versa.
-
- You CANNOT run RTDD from the workbench!
-
- There have occured some strange effects when using RTDD in combination
- with Directory Opus. I will try to fix this in future versions.
-
-
- RTDD V2.0
- ----------
- RTDD 2.0 has the same task as RTDD 1.9, but there is a major difference:
- it is a commodity. CLI options and icon tooltypes are the same and they
- will be explained together now.
-
- CX_PRIORITY - Specifies the priority RTDD has among other commodities.
- NOTE: This is NOT the task priority!
- CX_POPKEY - Specifies the combination of keys which will let RTDD's
- window appear.
- CX_POPUP - Specifies whether RTDD's window will popup when RTDD is
- started.
- PATCH - Tells RTDD whether or not to patch the system.
- CACHE - Function not yet implemented
- MAXMEM - Function not yet implemented
-
- EXAMPLE:
- 1> RTDD CX_PRIORITY=0 CX_POPKEY="ctrl alt d" CX_POPUP=NO PATCH=YES
- CACHE=NO MAXMEM=524288
-
- The "Active" menu was designed for a very special case. Let's say you
- have installed RTDD and you want to remove it (for whatever reason), but
- you can't remove it, because another program has also patched the vectors
- that RTDD uses. With the old version there was no way to get rid of RTDD,
- but by turning off the "Active" menu you may prevent RTDD now from
- decrunching data while the patches are still installed.
-
-
- 4.2. The CrM.library
- ---------------------
-
- This program has the option to save crunched execuatables which will
- use the CrM.library to decrunch. Furthermore this library can be used by
- any programmer to decrunch data files easily. Each registered user will
- get the includes and autodocs of the library and may use it in his own
- productions. Registered users also get a faster version of the library.
-
- Starting with release 1.9 (v4) the library also includes the crunch
- algorithms, so any programmer can use the library to crunch his (or her)
- own data. CrM will also use the library. Consult the autodocs for
- further information how to program it.
-
- The library supports Sample encoded and password encoded files. When
- you want to decrunch a password crunched file the library sets up a
- reqtools requester where you can enter the password. The entered password
- is saved in a list so you don't have to enter the password all the time.
- When you enter the same password twice you may remove it (or all
- passwords) from the list.
-
-
- 4.3. The xpkCRM2.library
- -------------------------
-
- This library is an xpk interface for the CrM.library. It uses the
- crunch and decrunch routines of the LZ-Huffman mode the CrM.library
- provides. It behaves like any other standard xpk library, so there should
- not occur any problems with any application using xpk. It requires
- CrM.library v4+.
-
- The internal benchmarks which are displayed with the xQuery command do
- not reflect the real performance of the library. As I don't own a A3000 i
- cannot execute them correctly. Sorry for the inconvenience.
-
-
- 4.4. The xpkCRMS.library
- -------------------------
-
- This library is an xpk interface for the CrM.library. It uses the
- crunch and decrunch routines of the LZ-Huffman mode in combination with
- the Sample mode the CrM.library provides. It behaves like any other
- standard xpk library, so there should not occur any problems with any
- application using xpk. It requires CrM.library v4+. This library is
- quite like the xpkCRM2.library, the only difference is that it uses
- additionally the Sample mode. Thus your data is also delta encrypted
- which may lead to better results with 8-bit samples. See
- `<-s> - Enable Sample Encoding' for more details.
-
- The internal benchmarks which are displayed with the xQuery command do
- not reflect the real performance of the library. As I don't own a A3000 i
- cannot execute them correctly. Sorry for the inconvenience.
-
-
- 4.5. CrMPW
- -----------
-
- With this little program you can add or remove passwords to or from the
- list the CrM.library keeps to decrypt data. The use of this program is
- really self-explanatory, just type in the program's name to get an
- overview of the parameters.
-
- The commands are case-insensitive, but the "all" has to be in lowcase
- to clear the whole list.
-
-
- 4.6. CrMData
- -------------
-
- This is another tiny but useful utility in the Crunch-Mania package.
- It allows to crunch and decrunch data files via the CLI. You may also use
- it in combination with your directory utility (e.g. DiskMaster, DirOpus).
- To get a list of the supported options just call CrMData without any
- parameters. The parameters have the same result as the corresponding
- switches in the main program (CrM).
-
-
-
- 5. Trivialities
- ================
-
- Many Thanx may reach:
- - Commodore for this fantastic Computer with Multitasking
- - my HD for having no head-crashs anymore after trashing the v1.8 source
- - Rene for Beta-Testing
- - Michael Mutschler for Beta-Testing and detecting the Enforcer Hits
- - Karsten Weiß for telling me that my GUI is not "styleguide"-like
- and for testing the xpk sublib (now it works perfect!)
- - Alexander Ehlert for his Oberon Interface
-
- Greetinx and Handsheix fly over to:
- Michael, Rene, Tobias, Karsten, Christian, Christoph, Uli, ...
-
-
-
- 6. Performance Test
- ====================
-
- This test was done on my Amiga 500 with 7.14MHz, 512K Chip, 512K
- fake-Fast, 2M real-Fast, 105M HD, with all files being loaded from dh0:.
-
- 1) "PageStream2" - Main program of Pagestream V2.2, crunched as executable
- 437576 bytes, 110 Hunks, 22369 Reloc Offsets
- Using Library-Decruncher when available, Times with loading from dh0:
-
- Cruncher Crunched Len Crunch Time Decrunch Time
- CrM 1.8r LZH 178848 235s 12s
- CrM 1.8t LZH 178848 352s 15s
- CrM 1.8r Normal 186932 179s 10s
- CrM 1.8t Normal 186932 303s 10s
-
-
- 2) same file as in (1), but crunched as data file
-
- Cruncher Crunched Len Crunch Time Decrunch Time
- CrM 1.8r LZH 211058 285s 14s
- CrM 1.8t LZH 211058 429s 18s
- CrM 1.8r Normal 230344 185s 12s
- CrM 1.8t Normal 230344 331s 12s
-
- 3) "Lha.man" - Text File (Doc of Lha 1.42), 122451 bytes
-
- Cruncher Crunched Len Crunch Time Decrunch Time
- CrM 1.8r LZH 36872 55s 2s
- CrM 1.8t LZH 36872 83s 3s
- CrM 1.8r Normal 42648 46s 2s
- CrM 1.8t Normal 42648 79s 2s
-
- The speed and ratio comparisons towards other packers have been removed
- to ensure equal competition. I don't want to urge people to my packer,
- they have to find out on their own which packer is the best.
-
-
-
- 7. History
- ===========
-
- ********** V1.3 **************
- First Release Version, with almost all Options as V1.4
- not bugfree (Crunch-Routine could produce Shit without a clear Stack)
-
- ********** V1.4 **************
- Intuition Interface added, now callable from Workbench, self-detaching,
- Req-Lib FileRequester
- some Bugs fixed (all code was totally overworked)
-
- ********** V1.5 **************
- V1.5a: Demo Version, no Saving possible
- V1.5b: Release Version
- Both Versions released for the Amiga '91 in Cologne!
- Crunch-Routine optimized, now 0,5-2%. better Results!
- Menu-Options "Priority" and "LED-Flash" added!
- Program sometimes crashed when you quitted it, now fixed
- V1.5c: Auto-SetComment for run-time Data-Decruncher added
-
- ********** V1.6 **************
- Decruncher added
- User-Communication improved
- Quit-Bug finally removed
-
- ********** V1.7 ** 02-Aug-92 **********
- First Release with a free Test-Version and a Registered-Version
- New Crunchalgorithms: LZ-Huffman and Quick-LZH
- Not available in Address and Link Modes
- New Crunchmodes: Data to crunch Datafiles easily (not via Address-Mode)
- Switch which detects Reloc and Data-Files and switches
- between the Modes (only registered Version)
- Speed Improvements: Crunching takes now only half the Time! (only reg.)
- Data-Decruncer added
- Now Source and Destination Dir can be different
- Current Dir of Caller is now the CD of CrM (not df0:)
- 2.0-style Intuition Interface added
- More CLI-Options (including CLI-Help)
- New Iconify-Window: shows now ToGo-Counter
- Minor Bugfixes (various Actions caused Crashes)
- RTDD now removeable, supports new crunchalgorithms
-
- ********** V1.8 ** 02-Nov-92 **********
- New Decruncher:Library, uses CrM.library
- Introducing Library: CrM.library used for executables and data files
- Registered Users get Documentation of Library! and a faster one.
- Now supports reqtools.library V38! (still uses req.library)
- Added Keyboard shortcuts
- Added Project Menu
- New Mode: Sample-mode, get better ratios with 8-Bit Samples
- New Option: Copy Icons (...)
- Now supports multiple select possibilities of file requesters
- Whole directories may now be crunched
- Some changes made to the appearance (Logo, bigger Gads, ...)
-
-
- ********** CrM V1.9 ** 08-Oct-93 **********
-
- - Yes! After almost one year another version...
-
- - new GUI: now uses gadtools.library, on Kick1.2/1.3 gadtools13.library is
- used!
-
- - removed possibility to open a window on the wb
-
- - removed support of req.library, as there is no new version supporting
- the 2.0-Look
-
- - new Decruncher: LZH-Algo now also available in Address and Link modes
-
- - added History for Textoutput (only Kick2.0+) (default: 100 Lines)
-
- - added Percentage Display while crunching, in the main window it's also
- graphical, in the iconify window there is only text. Ffirst to suggest
- this was Michael
-
- - completely rewrote support for filerequester, I hope it won't crash
- anymore. With multiselect you can now also select dirs, unfortunally
- this doesn't work with mfr (at least it doesn't with my version).
-
- - when packing entire directories or using the multiselect feature of the
- filerequester a complete filelist is created before crunching any file.
- Now Source and destination dirs may be the same without the risk of
- confusing dos.
-
- - memory display now uses the correct colors on Kick3.0, thanx to Uli who
- detected this bug and helped me to remove it.
-
- - added menu : Project / Save Prefs
- - added menu : Options / Encrypt Data
- - added menu : Options / Auto Makedir
- - added menu : Options / Include Subdirs
- - added menu : Options / Text Buffer
- - removed menu: Options / Req.library, as CrM no longer supports this lib
-
- - "Copy Icons" still not included, sorry! (menu removed)
-
- - improved user communication. The display field displays now all actions
- the user has done and looks like a real logfile.
-
- - Reloc/Normal Decruncher/Kill Decruncher=Yes would let the decruncher
- crash always. fixed.
-
- - CrM uses and needs now CrM.library V4+
-
- - removed some enforcer hits.
-
-
- CrM.library v4:
- ----------------
- - added crunching algorithms and possibility to encrypt data with a
- password
-
- - when you enter a password to decrunch some data this pw is stored in a
- list so you have to enter this pw only once per reset.
-
- - speeded up decrunch routines. Optimisation ideas by Fabien Letouzey!
-
- - new functions: cmProcessPW(), cmCryptData(), cmProcessCrunchStruct() and
- cmCrunchData(). See Autodocs for details.
-
-
- xpkCRM2.library:
- -----------------
- - xpk sublibrary using CrM.library v4+
-
- - uses LZ-Huffman algorithm
-
- - first release version
-
-
- CrMPW v1.0:
- ------------
- - small tool to add/remove pws to/from the library internal list without
- using the reqtools.library (affects only decryption)
-
- - provided as assembler example source
-
- - first release version
-
-
- CrMData v1.0:
- --------------
- - small command line version of CrM to crunch/decrunch data files.
-
- - supports all algorithms and modes: LZH, Normal, Sample, Password
-
- - provided as assembler example source
-
- - first release version
-
-
- RTDD v1.9:
- -----------
- - now additionally patches ExAll(), OpenFromLock() and ExamineFH() on a
- system with Kick2.0+
-
- - now uses and needs CrM.library (no special version required)
-
- - supports encrypted data: it automatically asks for the pw and decrypts
- the data.
-
- - new command line parameters: -i: Install Only
- -r: Remove Only (useful for scripts)
-
-
- ********** CrM V1.91 ** 11-Feb-94 **********
-
- - A Null message at CrM's messageport caused some Enforcerhits. They
- occured when you tried to scroll the output field down. Fixed.
-
- - When you wanted to quit from the Iconify window and you denied the
- requester, CrM would crash. Fixed.
-
- - CrM caused some Enforcerhits when run from workbench. Fixed.
-
- - CrM crashed very often when you returned from the Iconify window. Fixed.
-
- - This document is now also available in the amigaguide format.
-
- - Overworked menus: multiple selection (right and left mousebutton) is now
- possible, Quit shortcut now really only works in combination with SHIFT and
- the Project menu was reorganized.
-
- - CrM crashed when trying to open a filerequester and reqtools being
- disabled. Fixed.
-
- - Kicked out "Quick-LZH" mode (actually it was already kicked in V1.8, but it
- was still in the cycle gadget)
-
- - Changed Task Names to "CrM V1.91 GUI Task.1" and "CrM V1.91 Action Task.1"
-
- - Load/Save/Crunch menus are now also ghosted like the corresponding gadgets.
-
-
- CrM.library V4.2:
- ------------------
- - The BSS segment in combined Data/BSS or Code/BSS hunks was not cleared
- properly. Thus some programs (e.g. Term) crashed. Fixed.
-
- - Added Oberon interface for this library. Thanx to Alexander Ehlert!
-
- - A mungwall hit frequently occured when crunching in LZH mode, one byte
- outside the allocated buffer was used. Fixed.
-
-
- RTDD V2.0:
- -----------
- - RTDD is now a commodity and works only with KS2.0+.
-
- - You can now deactivate RTDD without removing the patches (sometimes you
- couldn't remove them because another program had also patched some DOS
- functions).
-
-
- CrMData V1.01:
- ---------------
- - CrMData crashed when the gain was negative. Fixed.
-
- - new option -l: CrMData now defaultly skips files which become longer
- when being crunched. With "-l" these files may be saved.
-
-
- xpkCRMS.library V1.1:
- ----------------------
- - xpk sublibrary using CrM.library v4+
-
- - uses LZ-Huffman algorithm plus Sample Mode (delta encryption)
-
- - first release version
-
- ********** CrM V1.95 ** 11-Arl-95 **********
-
- - A Null message at CrM's messageport caused some Enforcerhits. They
- occured when you tried to scroll the output field down. Fixed.
-
- - When you wanted to quit from the Iconify window and you denied the
- requester, CrM would crash. Fixed.
-
- - CrM caused some Enforcerhits when run from workbench. Fixed.
-
- - CrM crashed very often when you returned from the Iconify window. Fixed.
-
- - This document is now also available in the amigaguide format.
-
- - Overworked menus: multiple selection (right and left mousebutton) is now
- possible, Quit shortcut now really only works in combination with SHIFT and
- the Project menu was reorganized.
-
- - CrM crashed when trying to open a filerequester and reqtools being
- disabled. Fixed.
-
- - Kicked out "Quick-LZH" mode (actually it was already kicked in V1.8, but it
- was still in the cycle gadget)
-
- - Changed Task Names to "CrM V1.91 GUI Task.1" and "CrM V1.91 Action Task.1"
-
- - Load/Save/Crunch menus are now also ghosted like the corresponding gadgets.
-
-
- CrM.library V4.2:
- ------------------
- - The BSS segment in combined Data/BSS or Code/BSS hunks was not cleared
- properly. Thus some programs (e.g. Term) crashed. Fixed.
-
- - Added Oberon interface for this library. Thanx to Alexander Ehlert!
-
- - A mungwall hit frequently occured when crunching in LZH mode, one byte
- outside the allocated buffer was used. Fixed.
-
-
- RTDD V2.0:
- -----------
- - RTDD is now a commodity and works only with KS2.0+.
-
- - You can now deactivate RTDD without removing the patches (sometimes you
- couldn't remove them because another program had also patched some DOS
- functions).
-
-
- CrMData V1.01:
- ---------------
- - CrMData crashed when the gain was negative. Fixed.
-
- - new option -l: CrMData now defaultly skips files which become longer
- when being crunched. With "-l" these files may be saved.
-
-
- xpkCRMS.library V1.1:
- ----------------------
- - xpk sublibrary using CrM.library v4+
-
- - uses LZ-Huffman algorithm plus Sample Mode (delta encryption)
-
- - first release version
-
- · · - - -- --- --=- -=-=- -===- -=- -===- -=-=- -=-- --- -- - - · ·
-
- If you find any shit or nonsense above this line please tell me. This may
- occur as I don't read the complete manual each time a new version is
- released, and as I am really too lazy to care about that...
-
- Finito - May the Force be with you!!!
-
- //
- :-) // (-:
- \\ //
- \X/
-