## Note this prgtext uses amigaguide for reading.
## This is kept in your utilities drawer of your bootdrive.
## You also need the amiga.library in your libs drawer.

[7mDiskMate Help[0m



			      DiskMateV4.0 ©93
			      (Final  Version)


	      *------------   ----------------  --------------*
		  |\/|          __    __   _
		  |  |	       /  ) /(__  /	 A3000/25Mtz
		..|  |AL      /--\ / ___)/_      6Meg/105Hd
		
	        DownUnder   | malh@thedoc.wnet | Amiga/Next
	        DevelopMent | Malcolm Harvey   | +65 75 726746
	      *------------   ----------------  --------------*


		


        [3m WhatIsIt    [0m
        [3m Requirments [0m
        [3m History     [0m
        [3m Controls    [0m
        [3m Recognition [0m                             [3m Author      [0m



[7mDiskMate/WhatIsIt[0m


 

			*---- DiskMate V4.0 ---------*


		        * Multitasking

                        * Multi drive Diskcopier Dos/NonDos

                        * Multi drive Disk formatter

                        * Multi drive Disk eraser

                        * Disk Installer

                        * Floppy disk Checker
		
			* Floppy disk Cruncher (DMS)

			*--- The Final Version ------*
			*			     *
			*  Apart from any Bugs that  *
			*  anyone may find or quirks *
			*  that need fixing....:-)   *
   			*                            *
			*----------------------------*
		   
			
			*- DMS ©(SDS DiskSmasherUS) -*
			*- ASL ©(CBM Commodore  US) -*			



[7mDiskmate/Requirments[0m



                   * Programmed For O/S V2.0x/3.0x Beyond. *


			    *------ NOTE: --------*


		   Currently tested running on an Amiga
		   500/600/2000/3000/1200/4000. 
	
                   WARNING:Do not use nofastmem when using the
                   prg as this removes/shifts mem etc, which
                   is absolutly deadly with this type of prg.
			   

		   NOTE ABOUT LOADING:When loading the prg
		   do not close the window which you loaded
		   the prg from until you see the main copy
		   window. Because it uses that window for
		   its error requesters etc when loading.
		    
		   LASTLY:As this prg is PublicDomain and
		   as such i cannot accept any responsibility
		   for prg errors/faults/corruption that 
		   may happen by using this prg. Although I
		   have tried to test its functions Fully. 


			    *---------------------*




[7mDiskMate/History[0m



			*--- Diskmate History ---*


	 		* Version 1.01..*

			* Version 2.0...* (These versions never Released)
					  (Or never really ment to be..!)

		        * Version 2.0d..*

                        * Did not write time and date upon formatting.

                        * Could not write anymore than one dest device
                          when doing a ram to dest copy.

                        * Playing with the gadgets while operating
                          prog caused disterous resaults.

                        * Chkdisk Required 1meg Ram Buffer.

                        * Name string Showed all extra bytes

                        * Did not rcognize different disks if Formatted.


                        * Version 2.0e..*

                        * Fixed time/date routine.

                        * Added A Src Ram Drive Gadget.
			
                        * Implemented Multiple Dest from a Src Ram drive.

                        * Fixed Chkdsk Buffer uses internal buffer now.

                        * Fixed name String, Only prints Real length.

                        * Added Install Drive Gadget.

                        * Knows different Disks Dates now if Formatted.


                        * Version 2.1..*

                        * Implemented Multipass RamCopy.
                        
                        * Ghosts Gadgets Now When in Operation


                        * Version 3.0..*

                        * Added Copying to DiskFile and Back.
                        
                        * Added Copying to RadDrive and Back.

                        * Added Retry Gadget for Copy Errors Etc.

                        * Added Speech Routines.

                        * Added 880k/1.76m Disksize Formats


                        * Version 3.01..*

                        * Added Trk Direction for floppydrives

                        * Implemented built in help now

		        * Fixed Retry Bug 

			* Fixed Inhibit Drive Bug

			* Fixed Verify Error Bug
			
			* Prg Properly AutoCentres On Boot now

			* Uses WB Beep Function now for Errors

			* Implemented Multidrive Format

			* Fixed memory Allocation Checking

			* Added del function

			* Added dir function


		        * Version 3.2..*

			* Added options ofs/ffs in Install function

			* Added ofs/ffs format option gadget  		

			* Added shell window gadget

			* Implemented Copying To/From Any Virtual Disk Device

			* Fixed Asl Bug now keeps path/filename immediatly

		        * Added pattern gadget to asl requester which now
			  looks for ext .dm which is attached to all files
			  copied to hard disk etc using the file option

			* Fixed Stop Gadget (Dosn't Stop now for no Reason)		


		 	* Version 4.0..*

		        * Fixed Asl Crashing (Wont hang up now)
		
		        * Now writes Boot/Root Blocks Properly

			* Vdisk Unit String now works properly to 99
			  You can also use 04 or 4 for example 4 etc now.

		        * Implemented Dos+ Copying Mode 
			  
 			* Added Viewing of Boot/Root Block hex/ascii		

		        * Added Iconify Gadget

		        * Implemented Crunch Routine (Uses DMS ©SDS Software)

			*----------------------*

									                        

[7mDiskmate/Controls[0m


			
		        *---- Prg Controls V4.0 ----*




? Gadget:               * ?=help: Well this is the builtin help. Click on
			  for help and click off again to quit. You can
			  also get this by pressing the help key.

Direction Gadget:       * F/B=Direction. This gadget will let you toggle the
			  trk direction of the floppydrives either forward
			  or backward. This also works with rad.
 
Dir Gadget:             * DIR=Directory. This will bring up the Asl Requester
                          which will let you have a look at a Directory of any
                          device connected to you system. 

Del Gadget:		* DEL=Delete. This will bring up the Asl Requester
			  which will let you delete a file on any device
			  connected to your system.

S Gadget:               * S=Stop. This gadget will let you escape from any
                          drive accessing function in the program.
                          Note: Although this happens almost
                          instantly, at times you may have to hold
                          it down for a sec, this is due mainly
                          to the fact that it could be accessing
                          a disk therefore you could have to wait
                          till that disk whether reading or writing
                          is finished before it gets the message
                          to stop. For the techies>> The Main reason
                          for this is that it would take quite a
                          substantial amount of work to make it
                          interrupt driven, ie: using Sendio).

OFS/FFS Gadget: 	* OFS/FFS=Format Type. This gadget will select
			  the format type when using tthe auto option
			  in the erase routine or when clicking format
			  to format a disk.

ShellWindow:		* ShellWindow=NewShell. This gadget will open
			  up a newshell window.	

Magnify:		* MagnifyBB=ViewBlock. This gadget will view
		          the root/boot block of any src disk selected.
		          The arrows in the viewing window will toggle
		          the viewing between the upper/lower two sectors.

I Gadget:               * I=Install An AmigaDos BootBlock
                          on the Selected Src Drive. You Can Select either
			  ofs(old file system) ffs(fast file system) format. 

C Gadget:               * C=Check. This Gadget is used to Check a disk in
                          any of the Src Drives. 

SP Gadget:              * SP=Speech. If this gadget it set on, it will
                          speak any requester/name msg that will appear.        
                          (Note..If Translator.lib or Narrator.device was
			  notfound the SP Gadget will be Ghosted.

ID Gadget:              * ID-Inhibit-Drive. In default mode this is set
                          off which will mean when an operation is started
                          eg: Diskcopy/Erase(kill) Etc, you will notice that a 
                          busy icon will appear on the WorkBench Screen for
                          each Drive that is in use. And when that particular
                          operation is complete, the busy icon will disappear
                          and the disk(s) name(s) will appear again. If the
                          ID Gadget is selected all drives in the system will
                          go busy as described above untill deselected again.
                          This gives you the option of having/not having the
                          drives read each time you put a disk in a drives(s).

			* Note: For some reason even though the above works
			  the drives still may wait a few secs before they
			  recognize/read/write a disk with the drives busy.
		          Its probably just something i am not aware of yet.                         
			  I should have this fixed by version 4.0 though:-).


A Gadget:               * A=About. Well here I am.

N Gadget:               * N=Name. This Gadget will show you the name of the
                          Selected Src Disk in the Status Window.
                          (Note. With certain disks either Erased or 
                          NonDos, you will get the name NonDos.. Instead.

StatusWindow:           * As the name implies, will show all msgs here
                          whether DiskCoping/Formatting or whatever.

SrcDstGadgets:          * These are The Gadgets in 2 columns on the far right
                          of the program which deal with which particular
                          mode you are using either Erasing/DiskCopy.

                          When you Load the program Default, all the
                          FloppyDrive(s) that you have in your system
                          will either show up as usable/not ghosted or
                          they will be set to ghost mode (unasable).
                          They are fairly straightforward to use.
                          For example to use the diskcopy mode, just
                          select a src gadget and one or several
                          destination gadgets and that's it. If you want
                          To use the Single pass ram copy as well you
                          can select the Ram destination Gadget as well.
                          It will check to see if you have the memory
                          for the ram buffer to copy to first, and if not
                          it will give you a "not enough" requester. Else
                          if the Buffer is big enough, when you select
                          go it will copy to a ram buffer as well.

                          Note: The ram gadgets src/dest will be ghosted
                          or enabled depending on the available memory.
                          If you don't have the available memory for a
                          whole disk to copy to in one read, the ram
                          gadgets will be ghosted and you will go into
                          the multipass disk/ram copy. On the other
                          hand if you did have the memory the ram gadgets
                          will be enabled and this will copy the src to
                          the ram buffer in one read. If the copier goes
                          into the multipass mode, follow the approiate
                          requesters to swap disks etc when required.
                          Warning..If you have selected more than one dest
                          disk, ie df1/df2 etc, Do not remove them until
                          the message ok comes up in the status window,
                          telling you that the copying is completed, else
                          they will not be complete copies.

                          If the prg reads the whole disk in on one pass,
                          when and if the trk guage reaches across to
                          160 trks, all the other selected dest drives
                          (if you were doing multiple dest of course) would
                          be finished on the first pass - you would
                          then remove from there apropriate drive(s).

                          Now that you have read the src into ram, from
                          now on, if you want a copy of the image in ram
                          All you do is select src ram, then pick which
                          drive from the dest drives 0/1/2/3 you would
                          like that ram image written back too.

                          Once this is done it will write the Ram buffer
                          back to the disk(s) you have selected. The image
                          in ram will always stay there, until you do
                          another copy into ram again.

Vdisk:                    If this src/destination gadget is selected the
                          program will use your Virtual drive the same as a
                          floppy drive would above. Note: The prg can 
			  only work with virtual disk devices of low density
			  or (880k) size AmigaFormat.

VdiskGaget:		* Vdisk=Virtual Disk Drive. This Gadget will allow
			  you to select a virtual drive eg: rad/fms/vdo etc
			  for use just like a normal floppy-drive. 

			  Note: As these devices may never be 100% reliable
			  although they usually work ok, use these devices
			  with care. If you do use a vdisk these can prove
			  to be a very fast copy way of copying multiple
			  disks. What to enter in vdisk window when opened.

			  VdiskName: RAD:/FF0:/VDO: ETC
			  Vdiskdev:  ramdrive.device fms.device etc
			  vdiskunit: 0/1/2 etc for that particular dev above.			    


File:                     If this dest gadget is selected the program will
                          bring up the Asl Requester which will after entering
                          a filename in the filename box wil then allow
                          you to write a copy either a low/high density disk
                          to a file which can be anywhere on your system's
                          devices, eg: Harddrives/floppies or whatever.
                          Depending on what size you have selected 880/1.76,
                          the file will be either 901120/1802240 bytes in 
                          length. And on the other hand if you select file
                          src, then a requester will pop up in which you can
                          select a file to write back to your destination
                          disks. WARNING:Make sure that you have the right
                          size disk in the drive for that particular drive
                          format, 880/1.76, Or else you will end up with a 
                          disk with only half the data and the wrong sec size.
                          As a 800k writes 11*512 sec per trk, and a 1.76
                          write 22*512 sec per trk, So make sure its right!!.

                          Also if you tried to copy from a high-density file/
                          disk src to a vdisk drive this would not be allowed,
                          because the vdisk is only 880(1meg) in size. And the
                          same goes for the Ramdrive. When the prg loads it
                          will now check to see if it can get a 2meg buffer
                          for the 1.76 disks. If it cannot it will get either
                          the 1meg or 512k buffer instead. So if it could only
                          get a 1meg/512k buffer you would not be able to copy
                          a 1.76 disk to that buffer because it would be to 
                          small. (I really only wrote copying to ram with the
                          High-Density disks for the users with Heaps of Ram,
                          that is why i dident bother with the multipass High
                          -Density to Ram Copy).

Low/High:                 As Stated above this is the Disk format size 
                          selection gadget. Either 880(1meg)/1.76(2meg) Disks.
                          Note: At the moment it wil only format to
			  AmigaDos Format.
                                                  

                          If Erase(Kill) Mode is selected, all you do is
                          select any Src drive(s) to erase and Select Go.
                          This function or operation will completly wipe
                          your floppy disk(s) like new. Note to make it
                          usuable with AmigDos see AutoGadget Below.


Dos/Dos+:		* If the Dos Mode is Selected when copying for 
		          example the prg will verify that the Src disk
			  Read ok and that the dest wrote ok.
			  If the Dos+ Mode is Selected it will verify
		          that the src read ok and that the dest wrote
		          ok and then it will read the dest again and then
		          compare the dest data with the src data and 
			  make sure they are the same.
		          

CrunchSwitchGadget:     * On/Off=FileCrunch on/off. If off and you select
			  a dest file gadget and you are in the diskcopy
			  mode the prg will copy the src disk selected to    
			  a file on any device etc. In the off position
			  the file will be either low(901120) or -
			  high(1802240) Bytes in Length. If the switch is
			  in the on position, the prg will use the DMS or
		          (DiskSmasher Prg) in you sys:c Directory...The
			  cli Version Turbo-Genericv1.11. It will then
			  crunch the src disk to the file selected using
			  the options in the Crunchoptions gadget. Note:
			  if you have any other dest gadget selected other
			  than the file gadget and you are using the on
			  crunch option eg:(DMS Crunch) the Src disk will
			  be read and packed first then the other drives
			  will then be written too. So wait untill all
			  drives are stopped and completed before you
			  remove the floppy(s) or else you will definatly
		          get some errors. 
  
			  If reading from a crunched file you can only 
			  select one dest floppy/vdisk device. As presently
			  i could not write a routine that would work to
			  my requirments successfully apart from some very
			  messy code so i opted for one disk read/write
			  to/from a dms file. If someone wants this to have
			  multiple dests from a src dms file i would 
			  probably implement this sometime.

			  
CrunchGadget:           * CrunchGadget=(PRG/DMS(Crunch)Options.
			  If this gadget is clicked, it will open up a 
			  window which will allow you to change options
			  that are used in the prg, either to do with the
			  crunch (Specifically DMS) or the main prg itself.
			  The DMS options are (NONE/HEAVY1/HEAVY2/BEST)
			  crunch mode. Warning:Do not use Dms At all unless
			  you have at least 1meg> of Ram: free after loading
			  diskmate. Or else If you do and you dont have the
			  ram you will find that it will pak but will 
			  probably or not write anything at all.
			  (This is because DiskMate allocates buffers etc
			  and if it gets the full 2meg(1802240) for a high
			  density drive and you only have a 2meg machine
			  well you wouldent have enough ram for dms to
			  work properly.So Only use Dms If you have heaps
			  of memory.)
  
			  You can also see the action of the dms working
			  with the text option on. This will cause it too
			  come up with a window which you can see the dms
			  output in.
		          NOTE: To know what the cmode options mean above
		          see the appropriate DMS documentation for their
			  usage.		


AutoGadget:             * This Gadget is used in conjunction with the erase
			  (kill) function to let or enable you to format
                          a disk when it has finished the erasing. Eg:
                          To achieve this select erase mode, Set the Auto
			  Gadget down or selected, select any Src Drive(s)
			  to erase and then Select go. When the erase pass
		          is complete, it will automatically format the src
			  drives selected.


VerGadget:              * This gadget can be enabled on any mode. If you
                          doing an erase(kill) it will check that the data
			  got written ok. Or if you were using the DiskCopy
                          mode, it will check both the reading of a src
                          disk or and any dest drives as its copying.

                          If You have the verify Selected you will get
                          a blue bar under the trk bar if that sec(s) is
                          ok, else if it had some error it will appear
                          in grey. (NOTE: The Colours in the Program
                          may vary depending on what colours you have
                          set for your workbench colours.

RetryGadget:            * This gadget will only have any affect if the 
                          verify gadget has been enabled or set on. If
                          it has then, if an error has been found the
                          disk with the error will go back and try and 
                          read the trk/sec again, according to how many
                          times that you have set the value next to the
                          retry at. Using the up/down gadgets you can set
                          this to a value from 0-9 retries.
  

TrkGauge:               * This displays where the disk has got up to.
                          The Trk bar shows up in white and extends across.
                          And as above the verify if set shows up below.


FmtGadget:              * This gadget will if selected format a disk
                          in any src drive. When you select this Gadget
                          a requester will come up with the option of
                          either 1) Quick or 2) Complete format mode.
                          if 1 is selected it will just format the Boot
                          Block and Root Block. If 2 is picked it will
                          format the disk(s) completely. Note: the quick
                          option is only recommended for a disk that
                          you know is ok before hand. As it does not
                          write to any other sectors than the r/bb..
                          (DO NOT USE IT FOR STORING VALUABLE DATA TO).
                          or you may risk losing it. You have been warned.
                          And also as above, the disksize Gadgets apply.
                          So you can do either 800/1.76 disk format.
			
                          Note.If the autogadget is selected when you
                          selected fmt it will disreguard the autooption.
			  And also the ofs/ffs gadget will set which
			  type of format the disk will have when formatted
			  if using auto or just clicking format directly.

DiskFormats:              If you have selected either diskcopy or c(check)
                          Gadget(s) and you see that the disk access stop
                          unusually early, this is because of a Track-
                          Disk Device error, Probably a disk format
                          unknown error, which will cause it to stop.

Stopping:               * Apart from pressing the stop gadget to stop
                          some disk access, you can just remove a disk
                          from any drive. I put this option in as
                          you never know who might fool with your
                          computer when you're in the next room! Although
                          I wouldn't recommend you do the above at all!!.


Quit:                   * To quit select the Close Box.
			  Note: You can also use the Q or Esc Key.

HelpKey:                * Brings up the Info.


[7mProgrammers/Helpers/Thankz[0m



			*----------------*

	* Progammers Two people i want to thank are RayDuck and His Mate
		     Daryl Bartlett. For all Thier help with programming
		     and Infomation over the years. And another programmer
		     who is probably the most amazing on the planet lord
		     knows where he is though, none other than Kyle Hodgets.
		     And three other guys, Tom Gubler Andrew Wright and
		     Jason Bullin, for all their help with code and ideas
		     to programming in general.

 	* Helpers/thankz
		     All Beta testing By Michael Harvey.
		     Raylph Downs for his Suggestions.
 
		     And Last Mareeca Duck And Judy Miners...:-)
		      
	             		     

			*----------------*




[7mAuthors/Notes[0m


		*--------------------------------*

			  DiskMate v4.0

			©1993 Malcolm Harvey

		       
	        Programmed 100% Assembly Language

		Programming/Graphics .. Malcolm Harvey
		


Prg:    * This prg has taken over 2000 hrs in Development
	  time to make.  
			   	
	* Amiga.......Amiga3000.
		      6meg ram.
		      105m QHD.

	* Assembler...Devpac. 
	  Debuggers...Monam.
		      Metascope.
	* Editor......Cygnas.

	* Graphix.....Dpaintiv.
		      Pixmate.
		      Powerwindows.
		      
		      
	  

Bugs:   * HopeFully Now None

	* If you do find any please send them to me
	  via my address below. Happy Computing.

Address:  4/39 Duet Drive
	  Mermaid Waters          
	  GoldCoast 4218
	  Qld  Australia	

	  *-----------------------------------------------*
