home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
disk
/
copy_utils
/
diskmate
/
dm41.lha
/
DM.doc
< prev
next >
Wrap
Text File
|
1994-01-14
|
26KB
|
671 lines
## 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.
DiskMate Help
DiskMateV4.0 ©93
(Final Version)
*------------ ---------------- --------------*
|\/| __ __ _
| | / ) /(__ / A3000/25Mtz
..| |AL /--\ / ___)/_ 6Meg/105Hd
DownUnder | malh@thedoc.wnet | Amiga/Next
DevelopMent | Malcolm Harvey | +65 75 726746
*------------ ---------------- --------------*
WhatIsIt
Requirments
History
Controls
Recognition
Author
DiskMate/WhatIsIt
*---- 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) -*
Diskmate/Requirments
* 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.
*---------------------*
DiskMate/History
*--- 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)
*----------------------*
Diskmate/Controls
*---- 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.
Programmers/Helpers/Thankz
*----------------*
* 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...:-)
*----------------*
Authors/Notes
*--------------------------------*
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
*-----------------------------------------------*