home *** CD-ROM | disk | FTP | other *** search
-
- TCOPY -- copies tracks from one disk to another
-
- (C) Copyright Eddy Carroll 1990. Freely distributable.
-
-
- INTRODUCTION
-
- One of the nicer additions that came with Workbench 1.3 was RAD:, the
- recoverable ram disk. A handy feature of RAD: is that it can be made to
- look like a floppy disk, and you can then copy an entire disk into it
- in one go -- much quicker than copying files in seperately.
-
- Unfortunately, you need to have an 880K RAD: to do this; since I only
- have a 2 Meg Amiga, I can't really afford to lose that much memory.
- Thus, Tcopy was born.
-
- Tcopy is essentially a DiskCopy command which will copy a specified
- range of tracks (actually cylinders, but most people seem to prefer to
- call them tracks) from one disk to another. Using Tcopy, you can store
- a complete "dump" of RAD: on your startup disk, and then copy it back
- into RAD: very rapidly. For example, it takes about 15 seconds to load
- up my 275K RAD (as opposed to around 45 seconds when the files were
- being copied in one at a time). This is a loading speed of around
- 18K/second. So much for the Amiga's "slow" floppy drives :-)
-
- To help speed up your startup times even more, Tcopy can automatically
- mount RAD: (for all you purists who don't think this sort of thing
- belongs in a track copier, tcopy can be readily compiled without the
- RAD: handling). If you have just done a reset and RAD: was already in
- memory, then Tcopy won't bother reloading it unless you specifically
- ask it to.
-
-
- USAGE
-
- The command template for Tcopy looks like this:
-
- tcopy <options> <from> <to> <start> <end> <newstart>
-
- The <options> are all to do with RAD: and if you don't specify any
- of them, Tcopy won't try to mount it. This allows you to use Tcopy for
- copying tracks between two normal devices (such as DF0: and DF1:)
- without having RAD: confusing things. I'll discuss the valid options
- in a little while.
-
- <from> and <to> give the source and destination devices respectively
- that Tcopy is to use. These devices can be different sizes, but they
- must both have the same track size (i.e. same number of blocks/track
- and number of surfaces).
-
- <start> specifies the track to start copying from, <end> specifies
- the track to copy up to (and including), and <newstart> specifies
- the track to start copying to on the destination device.
-
- For example, supposing you wanted to use Tcopy to copy a disk from
- drive 0 to drive 1. You could type
-
- tcopy DF0: DF1: 0 79 0
-
- meaning "copy tracks 0 to 79 on DF0: to track 0 upwards on DF1:".
- It should be pointed out however that Tcopy doesn't make a particularly
- good disk copier, because:
-
- - It requires that the destination disk already be formatted
- - It doesn't verify the data was written properly
- - It is about twice as slow as DiskCopy when writing to floppy
- - It doesn't update the root block on the destination disk, so
- AmigaDOS will see two disks that look identical, and will go
- a little bit crazy trying to sort it out.
-
- Hence, it's probably best to keep Tcopy for loading RAD:, and for
- copying the odd single track around when needed.
-
-
- OPTIONS
-
- Now onto the options which are supported for mounting RAD: Any
- or all of these options may appear; options which are ommitted get
- the default values indicated in brackets. Remember that Tcopy will only
- mount RAD: automatically if at least one of the options is specified.
- Also, you should have ramdrive.device in your DEVS: directory.
-
- -v<name> (RAMB0)
- Sets the volume name of the mounted device to <name>. This is the
- name that appears under the disk icon on Workbench.
-
- -n<name> (RAD)
- Sets the AmigaDOS device name of the mounted device to <name>. This
- is the "real" name, which cannot be altered once set.
-
- -e<txt>
- Outputs <txt> to the screen. This is useful if you want to display
- a message while the copying takes place. If the message contains
- any spaces, you will need to surround the entire option with
- quotation marks. For example, you might use something like this:
-
- "-eNow copying startup disk to RAD:"
-
- -a
- Normally, Tcopy will only actually do the diskcopy into RAD: if it
- finds RAD: has no files after it has been mounted (i.e. it is a
- cold startup, rather than a reset). The rest of the time, it will
- mount RAD: and then quit immediately.
-
- You may occasionally want to override this behaviour. Specifying -a
- will tell Tcopy to always copy the disk into RAD: even when it
- doesn't think its necessary. This could be useful if you have
- several different startup disks, each containing a different set
- of files to load into RAD: (one for programming, one for TeX etc.)
-
- -t# (10)
- Sets the number of tracks that RAD: will have, and therefore the
- amount of memory it will take up. Each track occupies about 11K
- of memory. In general, you will want to customise this to suit
- your system rather than leaving it at the default.
-
- -p# (-1)
- Sets the boot priority for RAD:. This is only useful to Kikstart 1.3
- users who can boot from RAD: (you 1.2 users don't know what you're
- missing!) The default of -1 means that the Amiga will first try to
- boot from a floppy disk in drive 0 and if that fails, will then boot
- from RAD. If you set this value to 127, the Amiga will always
- boot from RAD: regardless of what's in drive 0.
-
- You are unlikely to ever need to use the following options, but they
- are included for the adventurous to play with. They give you control
- over several of the fields that normally appear in the mountlist.
- Don't mess with them unless you know what you are doing!
-
- -d<name> (ramdrive.device)
- Sets the name of the underlying exec device associated with the
- AmigaDos device.
-
- -f# (0)
- Sets the flags to specify when calling OpenDevice().
-
- -m# (1)
- Specifies the type of memory to use; the default is Public Memory
- which is basically any memory that happens to be free.
-
-
- CREATING A STARTUP DISK
-
- So, now that you know what Tcopy can do, lets get down to essentials.
- Namely, how to put together a disk that boots up as quickly as possible.
-
- My system consists of an A1000 with 1.3 Kikstart, 2 Megs of RAM, and
- a C Ltd. hard drive (no autoboot). My RAD: is 275K, and contains
- a fairly stripped down Workbench -- essentially just enough to
- get the hard drive up and running, and to install my favourite
- resident utilities (Dmouse, Conman, BlitzFonts and Snap).
-
- My startup disk looks like this:
-
- Directory of HD_Boot:
- c
- devs
- l
- libs
- s
- Tracks1-25
-
- Directory of HD_Boot:c
- RemRad
- Tcopy
-
- Directory of HD_Boot:devs
- ramdrive.device
- system-configuration
-
- Directory of HD_Boot:s
- startup-sequence
-
- If you are paying attention, you may have noticed the file Tracks55-79
- above. This is a special file created by the Tfile program which
- accompanies Tcopy, and to AmigaDos, it looks as if it occupies
- tracks 55 to 79 of the disk. This means that I can store my copy of
- RAD: on these tracks, without having to worry about AmigaDos trying
- to overwrite it if I go to save a new file on the disk.
-
- My startup-sequence looks like this:
-
- c:tcopy -t25 -vRAD "-eBooting up 275K RAD..." df0: rad: 1 25 0
- rad:c/cd rad:
- rad:c/defdisk rad:
- rad:c/execute rad:s/startup-sequence
-
- The first command is the only one that gets loaded in from disk. It
- mounts a RAD: with 25 tracks (275K), changes the volume name to RAD:
- instead of RAMB0: (which I don't like at all), prints a brief message
- and then copies tracks 1 to 25 of the startup disk to RAD:. I have
- arranged that RAD: contains enough commands to allow the bootup to
- be carried on from there.
-
- The next command changes the current directory to RAD: (mainly because
- the execute command lower down will create a temporary file in the
- current disk, and I want it to do this in RAD: instead of on my
- write-protected boot disk!) After this, DefDisk does all the necessary
- assigns to make RAD: look like the bootup disk (so that I can remove
- the real bootup disk for good, and AmigaDos won't ever ask me to
- insert it again). DefDisk is a really nice little P.D. program which is
- well worth hunting down.
-
- The final step is to execute the real startup-sequence located in RAD:.
- This is the same startup-sequence that will get executed when I reset
- in future (since I am booting from RAD:).
-
- If I accidentally reset with my boot disk in DF0:, no harm is done;
- Tcopy will see that RAD: is already loaded and exit immediately,
-
- If I had Kikstart 1.2 instead of 1.3, the only change I would have to
- make would be booting from my startup disk each time I reset rather
- than from RAD:. This would still be very fast, since Tcopy will only
- copy the disk into RAD: the first time I bootup.
-
- I actually created the startup disk as follows. First of all, I
- mounted RAD: manually, and filled it with all the goodies I wanted.
- Then I formatted a blank disk, and ran Tfile on it to create the
- dummy file Tracks1-25 so that those tracks would remain free to store
- the copy of RAD: on. The command I used was:
-
- tfile DF0:Tracks1-25 1 25
-
- Then I copied RAD: to the disk with Tcopy:
-
- tcopy RAD: DF0: 0 24 1
-
- Finally, I created the minimal bootdisk listed earlier by copying over
- all the files and directories needed.
-
- The result? It takes just under 25 seconds from a cold reset to load
- mount and fill the 275K RAD:, and pass control to its startup-sequence.
- While it's not as nice as booting off a hard drive, it makes booting
- from floppy a great deal more bearable!
-
-
- RELEASE HISTORY
-
- V1.0
- First release, January 1990. No known bugs, but this will
- probably change in the future...
-
-
- AUTHOR
-
- Please direct any praise, criticism, general suggestions or
- large sums of money to:
-
- Eddy Carroll
- ecarroll@vax1.tcd.ie (Trinity College, Dublin, Ireland)
-