home *** CD-ROM | disk | FTP | other *** search
- ============================= Zoom 5.4 ===============================
- ======================================================================
- A floppy disk tracking and archiving utility, written by Olaf `Olsen'
- Barthel, © Copyright 1990-92 by Olaf Barthel, all rights reserved.
- Zoom! is a Gift-Ware product.
- Lh data compression/decompression code © Copyright 1990-91 by
- Holger P. Krekel & Olaf Barthel, bootblock virus recognition code ©
- Copyright 1992 by Gregor Hörmann, run-length-compression code ©
- Copyright 1992 by Henning Leise, arp.library © Copyright 1987-89 by
- Arp Programmers.
- No guarantee of any kind is made that the program(s) described in
- this document are 100% reliable. You use this material on your own
- risk.
-
- ======================= READ THIS OR MISS OUT ========================
- ======================================================================
- On startup `Zoom' will examine its internal hunk structures: if
- anything is not in its correct place both programs will put up alerts.
- To discover what was wrong enter `Zoom SELFTEST'.
- Enter `CRC Zoom' to calculate the external checksum and compare it
- with the sample given in this document. Any difference indicates
- possible virus infection! If you don't trust the sample checksum
- listed in this document, send me a letter or electronic mail (adresses
- listed below) and ask for the `factory checksum'.
-
- THIS AND THE FOLLOWING ZOOM! RELEASES MAY ONLY BE DISTRIBUTED IN
- THE SELF-EXTRACTING ARCHIVE FORM!!!
-
- ============================== Contents ==============================
- ======================================================================
- This package consists of five files. The CRC checksums were obtained
- using the `CRC' utility (also included in this package). Provided
- that all checksums match the following samples (and this document has
- not been modified) no file is virus-infected.
-
- Release Date: 28-Feb-92, 10:49
-
- Zoom (CRC = $5C645E7E, Size = 82180 Bytes)
- Zoom.info
- CRC (CRC = $4F5177B9, Size = 4104 Bytes)
- arp.library (CRC = $805F8D84, Size = 17100 Bytes)
-
- Zoom.doc (Size = 33209 Bytes)
-
- The `CRC' utility will also calculate and print the so-called
- `WRAP' checksum. For all programs in this distribution (including
- `Zoom' and `CRC') this checksum MUST be zero (if nonzero, the
- approriate file has been modified).
- All programs in this distribution are PURE, I suggest setting the
- `p' bit if not already done.
-
- ========================= About this release =========================
- ======================================================================
- I must admit that the previous `Zoom' releases would not work quite as
- correctly as advertised. Revisions previous to v4.2 would
- occasionally produce corrupt disks when decompressing archive files.
- In revision 4.2 the byte run precompressor was removed, curing the
- `corrupt' disk problem. As an unpleasant side effect compression
- performance and speed dropped. The reason for the trouble caused by
- the precompressor was never quite clear and the original Author (K.
- Wiesel) is certain that it works in its unmodified form. In the
- course of events I was told to remove the remaining original
- decompression code and so I did.
-
- A couple of weeks ago I was encouraged to rewrite `Zoom' and to
- replace the previous byte run precompressor with a different
- precompressor. In the course of events `Zoom' and the corresponding
- file format were greatly enhanced. Among other features the program
- now sports support for sector header labels and uses 32 bit checksums.
- The user interface was rewritten to support the Kickstart 2.x new
- look. The `ZoomCheck' program was removed from the distribution, its
- functions have been integrated into `Zoom'.
-
- Due to changes in the output file format files created with the
- current `Zoom' release cannot be decompressed using previous `Zoom'
- releases. `Zoom' v5.4 will still read and decompress old style disk
- archive files provided that they do NOT CONTAIN any run-length encoded
- data since the original decompression routine had to be removed on
- request by the original author.
-
- ============================== Purpose ===============================
- ======================================================================
- Disk archiving utilities are becoming increasingly attractive. Almost
- all other disk compression tools lack a friendly user interface, take
- ages to finish their work or simply produce very long output files.
- `Zoom' uses highly-efficient data compression routines derived from
- LhArc (adaptive Huffman squeezing) which have been converted into
- MC680x0 code (we call it `Lh'). Data compression/decompression is
- always much faster than displayed by programs such as Warp, LhWarp,
- LhArc and older versions of LZ (that is, before Jon Forbes tweaked the
- compression algorithm).
- To reduce the chance of compressing a virus-infected disk, `Zoom'
- will examine the bootblock and display it if it is of nonstandard
- type. The following 274 different bootblock viruses and custom
- bootblocks are recognized:
-
- 16BitCrew PvL 5.4
- 2001 PvL 6.1
- AEK PvL 6.4
- AIDS PvL 6.5
- AlienNewBeat SupplyTeam
- AmigaFreak TelStar
- Ass VirusHunter
- Australian Parasite ACID 1.0
- BS1 ACID 3.0
- BlackFlash Alcatraz MegaDemo 3
- BlowJob Antitrax 2010
- Butonic AtomicSoft
- ByteVoyager 1 Avirex
- ByteVoyager 2 Betrayal 1.0
- ByteBandit 1 BootBug 0.1
- ByteBandit 2 BB Generation
- ByteBandit 3 BootGirl
- ByteWarrior BootIntro 1.2
- CCCP BootIntro NextGen
- ClaasAbraham BootOut 5.5
- CList BootTune
- CodersNightmare BudBrain
- DiskDoktors CCS 2.0
- DAG CCS 3.0
- Destructor DevWare
- DigitalEmotions ClearMem
- DiskGuard DOC 1989
- DiskHerpes Dragons MegaDemo 1
- FAST 1 Dugger
- FAST 2 Int. Soccer
- FICA BootCopy
- Forpib License to kill
- Gadaffi Mad Monks
- Graffiti MemControler 1.2
- Gremlin MemAllocator 1.3
- GXTeam NoFastMem
- HCS NOMAD 1.0
- Hilly Outlaw Checker 1.42
- ICE PAL-Boot
- Incognito Paradroid 90
- IngerIQ Phenomena Enigma
- JITR Phenomena MegaDemo 1
- Joshua 1 PinBall Wizard
- Joshua 2 PowerSlaves 1
- Julie PvL Sound
- Kauki Quartex DrivesOff
- Kefrens Razor 1911 Observe
- Lamer 1 RSI MegaDemo 1
- Lamer 2 RSI MegaDemo 2
- Lamer 3 Scoopex BootIntro
- Lamer 4 Scoopex MentalHangover
- Lamer 5 Scoopex PAL-Boot 2.0
- Lamer 6 S&D BootCheck 1.0
- LameStyleUK S&D DriveControl 1.0
- LSD Sinister Syndicate
- MAD 2 SlipStream 4.0
- MegaMaster SlipStream 6.1
- Mexx Squash 4.3
- MicroSystems SysNot
- MorbidAngel TAL BootLeg 2.1
- NorthStar 1 TheSect MegaConcert
- NorthStar 2 TLC DemoSample
- Obelisk Boot Writer
- ObeliskFormat Venom BootLoader 1.00a
- Opapa Virus Destructor 1
- Paradox 1 Virus Destructor 2
- Paradox 2 VirusKiller prof. 2.0
- Paratax 1 Vision MegaDemo 4
- Paratax 2 Vortex 42 1.3
- PentagonCircle 1 XCopy prof
- PentagonCircle 2 ZeroVirus AutoAddRAM
- PentagonCircle 3 ZeroVirus BigScreen
- PowerBomb ZeroVirus Message
- Rene ZeroVirus NoFastMem
- Revenge Amigo Copy
- RevengeBootload Anarchy 1.1
- SaddamHussein Anarchy 2
- SCA Archaos VirusSlayer 3.13
- ScarFace Archaos VirusSlayer 3.12
- Sendarian Action Replay Pro
- SuperBoy Aspect 1.0
- SwitchOff Amaze Protector
- Target BeerMon Installed
- Termigator Cytax Powerboot 1.2
- TimeBomb Copper
- TGTS FastMem Allocator
- Traveller Hallon 1.4
- Turk Hypnosis
- UltraFox Hyperboot 2.82
- Vermin Interferion Pro
- VirusSlayer Interferion 1
- VKill Interferion 2
- WarHawk Inner City 3.4
- AIDS (HIV) Kefrens Menu
- AmigaMaster LSD 1.1
- BigBoss LSD 1.0
- BladeRunners LSD 2.0
- BLF Mirage Noboot
- CLI-Manager Memory Allocator 1.2
- Clonk Memory Controler 1.3
- DAT MegaBoot 1.3
- Deniz Unal NoFastMem
- Divina Exterminator 1 NTSC Warning
- Extreme Omniboot 5.1
- Fast Eddie Omniboot 3.2
- Frity Option Boot
- Future Disaster Peter Stuer 4.0
- Glasnost Peter Stuer 5.0
- Gyros Punishers Pro
- Hauke Pleasure Boot 1.3+
- Hireling Pseudo Ops 2.1
- Hoden 33.17 Pe Protector
- LoverBoy Quartex 1.0
- MAD 3 Quazar/Dawn
- Nasty-Nasty! Random Access 2.1
- No Banit Anymore! Rebels
- Paramount Scorpion Developments 1.0
- Ripper Scorpion Developments 1.1
- Riska Stoneboot 1.06
- Suntronic Scoopex 1.3
- Twinz Santa Claus Santurary
- ULDV 8 Sabaudian 1.0
- Virus 4.2 Scoopex 1.0
- Warsaw Avenger SlipStream 2.1
- Xerox SlipStream 3.0
- ZAccess 1.0 SlipStream 6.0
- ZAccess 2.0 SlipStream 5.0
- Blizzard SlipStream 7.0
- BWFastLoad SuperDuper
- M&U 5.5 TriStar 1.1
- M&U 6.1 TetraCopy
- StarFire TSB Protector
- PvL 3.0 TSB Virusfree
- PvL 4.0 UltPack BootLoad
- PvL 5.0 VCC BootMem
- PvL 5.1 VCS 3.2
- PvL 5.3 Zap'Em 1.0
-
- `Zoom' will put up an alert if it finds one of these bootblocks on
- a disk to be compressed and will ask you whether you wish to have the
- suspicious bootblock data replaced in the compressed disk archive or
- not. If you choose to replace it, `Zoom' will use a standard
- Kickstart 2.x bootblock in place of the original data. While this
- bootblock is different from the Kickstart 1.3 bootblock, it is still
- compatible with older Kickstart revisions.
-
- ============================ Installation ============================
- ======================================================================
- Copy `arp.library' to your LIBS: directory, `Zoom' requires it. ENV:
- (default AmigaDOS environment storage directory) should be assigned to
- somewhere, but needn't.
-
- ======================== `Zoom' Shell usage ==========================
- ======================================================================
- The following command line template is displayed if you type `Zoom ?':
-
- From,To,Check/K,T=Text/K,S=Start/K,E=End/K,C=Crypt/K,D=ClearData/S,
- B=ClearBlocks/S,V=Verify/S,L=SecLabels/S,Q=Quiet/S,N=NoPrompt/S,
- Selftest/S
-
- From .......... Name of the file to be read and written back to disk
- or the name of the filing device to read the data from
- to be compressed:
-
- Examples: `Zoom from df0: to ram:doodle'
- `Zoom from ram:doodle to df0:'
-
- If possible, `Zoom' will try to determine if source
- and destination overlap. You will be notified if you
- are about to decompress a file residing on the
- destination disk or to create a file on the source
- disk to be compressed.
-
- To ............ Name of the device to store the decompressed data on
- or the name of the file to send the compressed data
- to.
-
- Check ......... A file created by `Zoom' will be read and tested. If
- a checksum is not in its correct place an error
- message will be displayed. Unless the `Quiet' switch
- is used a text file attached to the `Zoom' data file
- in question will be displayed as well.
-
- Example: `Zoom check ram:doodle'
-
- Text .......... `Zoom' can attach a text file to an archive file which
- will be displayed while/before data decompression. It
- will be read and compressed before the actual disk
- compression takes place.
-
- Start ......... The track number to start compressing at. This
- argument is optional and does not need to be entered.
- By default the starting track is zero (= 0).
-
- Example: `Zoom df0: to ram:dodo start 17 end 22'
-
- End ........... The number of the last track to compress. Note that
- you cannot ask for a starting track and omit the
- ending track (and the other way round). Both
- arguments must be used.
-
- Crypt ......... Files created by `Zoom' may be encrypted with a
- special password. The same password (Note: it is
- case sensitive) will be required to decompress the
- output file.
-
- Example: `Zoom df0: to ram:doodle crypt Secret'
-
- Cleardata ..... This switch may reduce the size of the output file
- produced by compression. Under the `old' filing
- system a data block contains the number of bytes which
- are actually occupied by data. The rest of the data
- block usually contains random data. If this switch is
- active the unused portion of the data block will be
- set to zero. Note: due to the different data block
- format this switch has no effect if used on a disk
- formatted by the fast filing system.
-
- Clearblocks ... Not all blocks of a disk may be actually occupied by
- data. `Zoom' uses the disk Bitmap to determine which
- blocks to read and to compress. By default the Bitmap
- is ignored. This switch will cause `Zoom' to skip
- unused blocks. Note: this feature will be disabled
- if the disk to be compressed is not a valid AmigaDOS
- disk with a properly initialized root/boot block and a
- valid Bitmap flag. Also important: this switch has
- no effect if a set of tracks is to be compressed
- instead of the default 0..79.
-
- Verify ........ Each write access to disk will be verified if this
- switch is active. The actual data verification will
- be handled by the blitter, so it won't slow down the
- decompression process too much.
-
- SecLabels ..... `Zoom' will automatically compress sector label
- information along with each track it reads if the disk
- to be compressed is not a standard AmigaDOS format
- disk or the `Clear Unused Blocks' switch has been
- disabled.
- In order to restore the sector label information
- during compression, the destination disk has to be
- formatted. `Zoom' will format the disk for you if the
- `Format Sector Labels' switch is active. To save much
- time, you could turn this switch off and format the
- disk to write to before submitting it to `Zoom'.
-
- Quiet ......... If this switch is in effect, `Zoom' will not display
- text files attached to data files during
- decompression.
-
- NoPrompt ...... By default `Zoom' will prompt the user to insert the
- source/destination disk to be used for
- compression/decompression. If the `NoPrompt' switch
- is in effect, `Zoom' will not wait for the user to
- press return, compression/decompression will
- immediately.
-
- Selftest ...... This shell option was added to help you to verify if
- your `Zoom' program has been infected by a virus.
- `Zoom' will examine its internal hunk structure and
- complain if a hunk is not in its standard size or
- place. These are conditions which can, but need not
- indicate link virus infection. While this technique
- does not entirely prevent the creation of trojan
- horse-versions of `Zoom' or that an extremely `clever'
- virus infects `Zoom',it will probably catch all `dumb'
- link viruses which put their virus code in front of
- the first hunk or behind the last hunk of a program.
-
- ====================== `Zoom' Workbench usage ========================
- ======================================================================
- If called from Workbench (or from Shell without any arguments) a
- window will pop up under the mouse pointer containing the following
- gadgets:
-
- Select File ........... Select the name of the file to be
- compressed/decompressed. It will be put into
- the string gadget to the right of this button.
-
- Select Drive .......... Select the the drive to read/write the data to
- be compressed/decompressed from/to. This
- button will cycle through all filing systems
- which match the typical size and track
- definitions of the builtin 3.5" disk drive.
- The name of the filing system will be put into
- the string gadget to the right of this button.
-
- Enter Password ........ Will put up a requester in which the password
- to be used for data compression/decompression
- can be entered.
- The program will refer to this password
- when decompressing encrypted files and will
- prompt for a new password if the password does
- not match the encryption key.
- If enabled (e.g. the `Encrypt Output File'
- switch is active) the program will use this
- password for output file encryption.
-
- Select Text File ...... Select the text file to be prepended to all
- output files, note: in order to use this
- feature, the `Include Text File' switch must
- be active.
-
- Start Compression ..... Click this button to start data compression,
- click it again to stop the process.
-
- Start Decompression ... Click this button to start data decompression
- click it again to stop the process.
-
- Start File Check ...... Will read and examine the current `Zoom'
- output file to detect file defects.
-
- Start File View ....... will read the current `Zoom' output file and
- display the text file attached to it (if any).
-
- From Track To Track ... The starting and ending tracks to compress,
- note that this feature has to be selected
- explicitely.
-
- Clear Unused Data ..... Unused data in standard file system blocks
- will be set to zero if this feature is
- enabled.
-
- Clear Unused Blocks ... Unused blocks will be skipped if this switch
- is in effect. Note: cannot be mixed with
- `from track to track'.
-
- Verify Write .......... Enables write verification while data files
- are decompressed. This switch has no effect
- during data compression.
-
- Include Text File ..... If enabled, `Zoom' will prepend a text file to
- be specified with the `Select Text File'
- button to each output file it produces.
-
- Encrypt Output File ... To have the output files `Zoom' produces
- encrypted with a password turn this switch on
- and enter an access key using the `Enter
- Password' button.
-
- Format Sector Labels .. `Zoom' will automatically compress sector
- label information along with each track it
- reads if the disk to be compressed is not a
- standard AmigaDOS format disk or the `Clear
- Unused Blocks' switch has been disabled.
- In order to restore the sector label
- information during compression, the
- destination disk has to be formatted. `Zoom'
- will format the disk for you if the `Format
- Sector Labels' switch is active. To save much
- time, you could turn this switch off and
- format the disk to write to before submitting
- it to `Zoom'.
-
- The display on the right hand side of the `Zoom' window contains
- the following elements:
-
- Free Disk Space ....... The space left on the destination drive.
-
- Available Memory ...... System memory currently available.
-
- File Size ............. The size of the compressed data file.
-
- Track Size ............ Size of the last compressed/decompressed
- track(s). Usually two values will appear
- here: the first one denotes the size of the
- buffer after pre-compression, the second value
- indicates the final size after Lh-compression.
-
- Compression Ratio ..... This display denotes the amount of data saved
- during compression. Note: this value refers
- to the entire output file.
-
- Current Track ......... Current track counter.
-
- Elapsed Time .......... Time elapsed during data compression or
- decompression.
-
- Status ................ The action currently executed.
-
- If an output file does not fit on the destination disk, compression
- wil be terminated. The starting and ending tracks will be adjusted
- accordingly to allow the user to continue to compress the disk where
- the first compression run stopped.
- The `name' of the file to be decompressed may be a wildcard
- expression. `Zoom' will try to locate and decompress all files which
- match the pattern (note: only the Intuition interface supports this
- feature).
- Multiple selection is supported as well: to decompress a row of
- `Zoom' output files, hold down the shift-key, click the icons of files
- you wish to decompress, then double-click the `Zoom' icon. Note:
- `Zoom' will use the default options to decompress the files, the
- online options can only be changed after all files have been
- processed!
-
- ================ The `ZOOMOPTS' environment variable =================
- ======================================================================
- The current settings displayed in the Intuition interface are saved in
- a default environment variable which is read again when `Zoom' is
- called again. This variable is set both in Manx/ARP and in Workbench
- 1.3 format. The following template is supported:
-
- File/K,Drive/K,Start/K,End/K,TextFile/K,ClearData/S,ClearBlocks/S,
- Verify/S,IncludeText/S,Encrypt/S,SecLabels/S,NoIcons/S
-
- File .......... The default string to appear in the `File name'
- gadget.
-
- Drive ......... The string to appear in the `Drive' gadget.
-
- Start ......... The first track to start data compression with.
-
- End ........... The last track to compress.
-
- TextFile ...... The name of the text file to be attached to each
- output file produced.
-
- ClearData ..... Whether unused block data is to be zeroed or not.
-
- ClearBlocks ... Whether unused blocks are to be skipped or not.
-
- Verify ........ Whether write verification is enabled or not.
-
- IncludeText ... Set this flag if you want `Zoom' to include text files
- with each output file it produces.
-
- Encrypt ....... Set this flag if you want `Zoom' to encrypt each
- output file it produces.
-
- SecLabels ..... Set this flag if you want `Zoom' to format a disk
- before decompressing a file which contains sector
- label information to it.
-
- NoIcons ....... Set this flag if you don't want `Zoom' to create icons
- for each output file.
-
- A sample `ZOOMOPTS' value is:
- `FILE RAM:Blank.zom DRIVE DF0: CLEARDATA CLEARBLOCKS'
-
- `Zoom' will prefer to set/examine the the `ZOOMOPTS' environment
- variable in the AmigaDOS 1.3 standard. If this is not possible `Zoom'
- will set/examine the Manx/ARP standard environment variable instead.
-
- ========================== Technical notes ===========================
- ======================================================================
- `Zoom' needs approximateley 240K bytes of memory to perform its jobs.
- Make sure that enough space is available, or `Zoom' will complain.
- Note that disabling write verification will save about 10 KBytes of
- chip memory.
- The Lh data compression/decompression routines are related to LhArc
- and PKZip. Unlike common data compression/decompression routines such
- as employed by PowerPacker or Imploder, the performance of Lh cannot
- be downgraded by adjusting the data sequence search depth. This means
- that Lh will always compress trying to achieve the best results with
- the maximum effort.
- The byte-run compression/decompression code will fit entirely into
- the instruction caches of the MC68020/68030/68040 processors, which
- means that both compression and decompression time will go almost
- unnoticed.
-
- ======================= How fast `Zoom' works ========================
- ======================================================================
- I suppose you are shocked by the amount of memory required for data
- compression / decompression. Well, as it turns out I traded speed for
- memory. I tested `Zoom' (compressing a disk) against DMS 1.02
- (running in medium mode), LhWarp 1.4 and Warp 1.2a with the following
- results:
-
- Workbench1.3D:
-
- Tool | Output file | Time
- -------+--------------+--------------
- Warp | 496990 bytes | 11:49 minutes
- LhWarp | 399889 bytes | 16:39 minutes
- DMS | 480952 bytes | 11:00 minutes
- Zoom | 383230 bytes | 6:15 minutes
-
- ============================== Credits ===============================
- ======================================================================
- Credits go to Ralf Thanner who kept nagging until I finally started to
- rewrite `Zoom', who also collected a list of most useful features you
- can now find implemented in `Zoom' and who also organized the code
- contributions without which `Zoom' would lack a great part of
- functionality, to Henning Leise who contributed the excellent new
- precompression code, to Georg Hörmann who donated his fine bootblock
- virus recognition code, to Erik Løvendahl Sørensen for maintaining the
- Amiga virus library, to Martin Berndt, who discovered the last errors
- before `Zoom' went for release, to Arp programmers for the Arp 1.3
- package without which `Zoom' would have been much more difficult to
- implement and last but not least to all the beta testers.
-
- ================= Author's request and Gift-Ware fee =================
- ======================================================================
- `Zoom' is released as Gift-Ware. If you like the program and use it
- frequently, send a gift of any kind which you think will do as a
- payment for the program to the author:
-
- Olaf Barthel
- Brabeckstrasse 35
- D-3000 Hannover 71
-
- Federal Republic of Germany
-
- If an error shows up, do not hesitate to contact me as soon as
- possible. My `real world' adress is given above, the following are my
- EMail addresses:
-
- Z-Netz: O.BARTHEL@A-Link-H
- Usenet: o.barthel@a-link-h.zer.sub.org
- cbmvax.commodore.com!cbmehq!sourcery!olsen
-
- The entire `Zoom' package may be noncommercially redistributed,
- provided that the package is always distributed in its complete form.
- A small copy fee for media costs is okay but any kind of commercial
- distribution is strictly forbidden!
- Comments and suggestions how to improve this program are generally
- appreciated!
-
- ============ Revision history (most recent change first) =============
- ======================================================================
- 5.4 Previous releases did not seem to like system fonts taller
- than 11 pixels (fixed), the window layout now reflects
- non-newlook and monochrome screens when opened, the program
- now treats simple checksum errors on data blocks in a much
- more tolerant way; instead of aborting the entire
- decompression process, it will give the user a chance to skip
- to the next data block or to abort the decompression. A small
- bug in the pop-up requester code could cause system crashes
- when running under control of Kickstart 1.2 and 1.3 (fixed).
- This release incorporates the new bootblock virus detection
- code from Georg Hörmann's `VirusZ' tool package.
-