@DATABASE xDM Documentation
@AUTHOR Adam Chapman
@(c) © 1995 Adam Chapman
@$VER: v1.0 (6.4.95)
@WIDTH 78
@INDEX Main
@WORDWRAP

@NODE Main "xDM - The eXtended Disk Masher"
@REMARK This node is the main contents list
                           @{fg shadow}@{u}                       @{uu}@{fg text}
                           @{fg fill}@{u}                       @{uu}@{fg text}

                                     @{fg shine}xDM
                          @{fg shine}The eXtended Disk Masher
                                 Version 1.0

                             © 1995 Adam Chapman
                           @{u}@{fg fill}                       @{uu}@{fg text}
                           @{u}@{fg shadow}                       @{uu}@{fg text}


       A PROGRAM IN THE 'MINI TOOLS' RANGE OF SOFTWARE BY ADAM CHAPMAN

  This software is freeware although the copyright remains with the author.
   If you wish to make any modifications to it, please contact the author.


@{u}Contents:@{uu}

@{"Introduction" link Introduction}             -   An introduction to xDM
@{"System Requirements" link SysReq}      -   What do you need to run xDM?
@{"Overview" link Overview}                 -   An overview of the xDM system
@{"Installation" link Installation}             -   How to install xDM
@{"Usage" link Usage}                    -   Using xDM
@{"Directory Utilities" link DirUtils}      -   Linking xDM to a Directory Utility
@{"Speed Tests" link Speed}              -   Just how quick @{b}is@{ub} xDM?
@{"Revision History" link History}         -   What happened between versions?
@{"Thanks and Salutations" link Thanks}   -   Cheers lads!
@{"Contacting the Author" link Contact}    -   Contact me!
@ENDNODE

@NODE Introduction
@REMARK This is the introduction piece to xDM
@{u}Introduction:@{uu}

Fed up with the size of the files that DMS produces?  You know it's possible
to compress with more efficiency than DMS - but how do you?

You need xDM - The eXtended Disk Masher!
@ENDNODE

@NODE SysReq "System Requirements"
@REMARK This is the minimum system requirements for xDM
@{u}System Requirements:@{uu}

@{fg shine}°@{fg text} Any Amiga running Kickstart/Workbench v3.0 or above)

@{fg shine}°@{fg text} LZX by Data Compression Technologies


LZX should be available from any fine BBS such as the author's own
(described at the end of this document) or from a software library.
@ENDNODE

@NODE Overview
@REMARK This is an overview of what xDM can do
@{u}Overview:@{uu}

There has always been a need for people to archive whole disks for
distribution over the phone lines.  The problem arises when you have a
non-AmigaDOS standard disk (for example, a lot of demos).

Originally a program called Warp was written and used (mainly in the hacker
world) for converting these kind of disks into a single file which could then
be sent via a modem.  Although Warp achieved it's aims, it often produced
files larger than the total sum of the parts on disk!

Later on, a program called DMS (The Disk Masher) was developed.  Originally a
commercial concern, it was quickly adopted by the Amiga community as the
@{i}de-facto@{ui} standard for archiving whole disks.  In it's latest
incarnation, it has been renamed to Device MaSher (it's still DMS) and ParCon
software have taken over it's development.  It is, however, still unstable at
times and the compression engine is not quite up to what it could be.


All of which kind of leaves a hole in the market!  Enter xDM.


xDM uses the most advanced compression engine on the market at this moment -
LZX by Data Compression Technologies in order to 'mash' it's output - the
rest is handled by a freeware device handler.  It's all gelled together with
a simple GUI created in AmigaDOS.
@ENDNODE

@NODE Installation
@REMARK These are the instructions for installing xDM correctly
@{u}Installing xDM:@{uu}

To install xDM on your system, simply copy the following files to the
following places:

@{u}@{b}C:@{ub}@{uu}

xDM_GUI

This is the main DOS script itself

xDM_CLI

This is the script for use from the CLI or a directory utility

@{u}@{b}L:@{ub}@{uu}

RawDisk-Handler

This is the disk handler that allows xDM to read tracks directly from a disk

@{u}@{b}ENVARC:@{ub}@{uu}

xdm

This is an environment variable that tells xDM where to store it's temporary
files (in order that people with a small amount of RAM can store them on disk
to reduce memory overheads).

If this variable does not exist in your assigned ENV: directory (normally
RAM:ENV) then xDM will attempt to copy it over from your assigned ENVARC:
directory (normally SYS:Prefs/Env-Archive).  If this fails then xDM will
assume a directory of T: so be careful!  Of course, if you don't mind this
then you may delete the xdm variable from your ENVARC: directory.
@ENDNODE

@NODE Usage
@REMARK This bit covers the usage of xDM
@{u}Using xDM:@{uu}

There are 2 versions of xDM.  One is designed to be used from Workbench
(hereafter referred to as xDM-GUI) and the other from the CLI/Shell
(xDM-CLI).

xDM-GUI can be run from a CLI/Shell, Workbench icon or from the "Execute a
Command" option on the Workbench.  It is designed to be used via it's GUI
on the Workbench.

xDM-CLI can be run from a CLI/Shell or from the "Execute a Command" option on
the Workbench.  With a little skill it could also be linked to buttons in
a directory utility such as Directory Opus.


There is a different @{i}modus operandi@{ui} for the different versions.

@{"xDM GUI" link 1.GUI}
@{"xDM CLI" link 1.CLI}
@ENDNODE

@NODE 1.CLI "Using xDM CLI"
@REMARK This bit covers the use of xDM CLI
@{u}Using xDM CLI:@{uu}

The command template for xDM CLI is as follows:

ACTION/A,DRIVE/A,ARCHIVE/A


All 3 parameters are required for any operation to occur.  They work as
follows:


ACTION/A	This option determines the mode xDM works in.  Possible
		options are:

		A	-	Archive (Compress) a disk
		X	-	eXtract (Decompress) a disk


DRIVE/A		This option sets which drive to use for (de)compressing.
		Possible options are as supported by AmigaDOS:

		DF0:	-	(De)Compress to drive DF0:
		DF1:	-	(De)Compress to drive DF1:
		DF2:	-	(De)Compress to drive DF2:


ARCHIVE/A	This option means slightly different things for either
		Compress or Decompress mode.

		In Compress mode, whatever filename you enter here will
		become the destination file that the image of the disk is
		written to.

		In Decompress mode, whatever filename you enter here will
		be taken as being the source file (the archive you wish to
		decompress).
@ENDNODE

@NODE 1.GUI "Using xDM GUI"
@REMARK This bit covers the use of xDM GUI
@{u}Using xDM GUI:@{uu}

When started, xDM will present you with a 3 button requester.  The options
and their effects are:

@{"Decompress" link 1.Decompress}
@{"Compress" link 1.Compress}
@{"QUIT" link x.Quit}
@ENDNODE

@NODE History "Revision History"
@{u}Revision History:@{uu}

@{fg shine}Version 1.0:@{fg text}
	Original launch.

	@{fg fill}°@{fg text} Works fine - no problems during beta testing.
@ENDNODE

@NODE Thanks "Thanks and Salutations"
@{u}Thanks and Salutations:@{uu}

@{fg shine}Thank-You's go out to...@{fg text}

	Alan Merritt	   - For being such a wonderful human being
	Russell Patterson  - For slagging off every program I write ;)
	Ian Wilson	   - For being the beta tester from hell!
	Keyf Alexander     - For sussing how to use xPresser eventually :-)
	Calum Metcalfe	   - For being a drunk, overaged uni student

@{fg shine}Salutations go out to...@{fg text}
	Everyone at Commodore who has ever had anything to do with AmigaDOS
	Mark Smiddy for being my DOS Guru
@ENDNODE

@NODE Contact "Contacting the Author"
@{u}Contacting The Author:@{uu}

@{i}Postal Service:@{ui}

Adam Chapman (xDM),
17, Duchess Grove
Wavendon Gate,
Milton Keynes.
MK7 7DG

@{i}BBS:@{ui}

                    The Concrete Cow BBS - (01908) 584961
                     All speeds to 28k8, v.34 supported
@ENDNODE

@NODE 1.Decompress "SELECTION - Decompress"
@REMARK This is what happens when you select Decompress
Selecting this will bring up a 5 choice requester.  Via this requester you
can select which drive you wish to decompress to (@{"DF0:, DF1:, DF2: or DF3:" link 2.Decompress})
or you may @{"Quit" link x.Quit} from xDM.
@ENDNODE

@NODE 2.Decompress "SELECTION - DFx:"
@REMARK This is what happens after you select a drive to decompress to
At this point, a file requester will appear.  Use this to navigate round your
system until you find the .xDM file you wish to Decompress onto your selected
drive.  When you find the file you want, click once and select Ok or
double-click in the normal fashion.

xDM will then call up LZX to decompress the disk image and then proceed to
write it back to whatever drive you selected as your destination.

Finally, xDM will inform you that it is complete, clean up after itself and
quit out.
@ENDNODE

@NODE 1.Compress "SELECTION - Compress"
@REMARK This is what happens when you select Compress
Selecting this will bring up a 5 choice requester.  Via this requester you
can select which drive you wish to compress (@{"DF0:, DF1:, DF2: or DF3:" link 2.Compress})
or you may @{"Quit" link x.Quit} from xDM.
@ENDNODE

@NODE 2.Compress "SELECTION - DFx:"
@REMARK This is what happens after you select a drive to compress
At this point, a file requester will appear.  Use this to navigate round your
system until you are in the device/directory you wish to place the resultant
.xDM image in.  When you are in the directory of your choice, simply enter a
name for the disk image - it should end in .xdm although that should be
appended by default.  Once complete, hit [Return] or click on Ok.

xDM will then create a disk image from the disk in the drive you selected.
After it has done this, it will call up LZX to compress the disk image and to
store it in the destination directory.

Finally, xDM will inform you that it is complete, clean up after itself and
quit out.
@ENDNODE

@NODE x.Quit "SELECTION - Quit"
@REMARK Show text for any quit option in xDM
Strangely enough, this selection will Quit xDM and return you to wherever you
launched xDM from.
@ENDNODE

@NODE DirUtils "Linking xDM to a Directory Utility"
@REMARK This tells the reader how to link xDM to something like DOpus
@{u}Linking xDM to Directory Opus@{uu}

Use xDM CLI.  Set up both a compress and decompress button.  Take the
following information and set the correct portions of DOpus Config up to
match.

@{i}Compression@{ui}

Name:   xDM Pack

Type:   AmigaDOS

Entry:  xDM A {RsPlease enter drive to pack} {RfPlease select output}

Flags:  OUTPUT WINDOW

Stack:  4096

Close
Delay:  -1


For this entry, simply click on the button.  In the string requester that
follows, type in DF0: DF1: or DF2: for the drive you wish to compress then
using the DOpus filerequester, enter the name of the archive you wish to
create (it should end in .xdm)


@{i}Decompression@{ui}

Name:   xDM Unpack

Type:   AmigaDOS

Entry:  xDM X {RsPlease enter drive to unpack to} {f}

Flags:  DO ALL FILES
	OUTPUT WINDOW

Stack:  4096

Close
Delay:  -1


For this entry, highlight the .xdm archive you wish to unpack then click on
this button.  Then simply enter the destination device (DF0: DF1: or DF2:) in
the string requester that follows
@ENDNODE

@NODE Speed "Speed Tests"
@REMARK This shows just how quick xDM is compared to something like DMS
@{u}Speed and Size Comparisons@{uu}

For just a quick example of what xDM can do for you, we will compare some
well known demo disks.  All testing was performed on an A1200 with 6mb of
FastRAM and a 68882 FPU running at 25MHz.

We will be testing:

9 Fingers by Spaceballs (Disk 1)

Jesus On E's by LSD (Disk 1)

VD Love by Fairlight (Disk 1)


		@{u}PACK TIME@{uu}			@{u}UNPACK TIME@{uu}	@{u}FILESIZE@{uu}

@{i}9 Fingers, Disk 1@{ui}

DMS:		1:44			1:51		819972
XDM:		1:40 (-4)		1:36 (-15)	811080 (-8892)

@{i}Jesus On E's, Disk 1@{ui}

DMS:		2:41			1:42		669986
XDM:		2:08 (-33)		1:34 (-8)	654952 (-15034)

@{i}VD Love, Disk 1@{ui}

DMS:		2:31			1:57		800360
XDM:		1:53 (-38)		1:37 (-20)	796122 (-4238)
@ENDNODE
