home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d502
/
trackdos.lha
/
TrackDOS
/
TrackDOS.doc
< prev
next >
Wrap
Text File
|
1991-06-27
|
12KB
|
319 lines
TRACKDOS V1.08 by Nic Wilson
----------------------------
This program is copyright Nic Wilson Software and MAY NOT be freely
distributed without the written permission of Nic Wilson Software.
It may not be used for any commercial construction or transferral
of data without written permission of Nic Wilson Software.
To obtain permission write to the address at the end of this file.
TrackDos is a program that allows easy transfer of data between the
three main areas on an Amiga. DOS, Memory and trackdisk.device.
DOS means the data contained within a file, Memory means the data
contained anywhere within the memory map and trackdisk.device means
data stored on a disk not accessable with DOS (eg. bootblocks special
loader disks etc.). The transfer of data between these three areas
is not normally easy or convenient. TrackDos was written to overcome
this.
Once the program loads you will see a credits window and a prompt to
click the mouse button. This will take you to the main menu, which is
a set of eight gadgets as shown below.
Trackdisk to DOS
DOS to Trackdisk
Memory to DOS
Memory to Trackdisk
DOS to Memory
Trackdisk to Memory
Format Tracks
String Search
PROGRAM SUMMARY
---------------
The above are the main functions of TrackDos. When any one of the gadgets
is clicked on, another window will open for that particular function and
will prompt via string gadgets for inputs. At the bottom of each window
you will notice two gadgets 'OK' and 'EXIT'. The 'OK' gadget
will attempt to perform the function and 'EXIT' will return to the main
menu.
There is one exception to the above, that is, in the Format Tracks
function there is an extra gadget labeled 'INIT' this gadget performs
a quick format the same as the DOS 1.3 'QUICK' parameter of the format
command. This will of course blank any disk and all files will be lost.
The INIT gadget only looks for the device and ignores the start and end
track string gadgets. If a disk is accidentally 'INITted' then the
diskdoctor command will rectify this as the INIT function only rewrites
the Root block and the Bootblock of a disk to make it appear blank.
Errors or prompts will be shown in the rectangular box at the
extreme bottom of each window. Once the function has been performed the
program will stay within that function incase another is required. If not
then 'EXIT' can be clicked. Every function only supports disk data in
the normal range of sectors 0 to 1759 or tracks 0 to 79. Any attempt to
read or write outside this area will generate an error message. This was
done as tests have shown that reading or writing to tracks 80 to 83 is
only a rumour and no proof has been seen to support the conclusion that
this is at all possible. This will be changed if conclusive evidence to
the contrary is supplied to me.
FORMAT FOR INPUT OF PARAMETERS
------------------------------
All numerical inputs can be given in decimal or hexadecimal.
If you supply in hexadecimal then the number must be preceded
by a dollar sign. This format is the same for those paramters
that have other prefixes(ie. '#' and '+'). Numbers can be input
as binary by preceding with a percent (%) but I do not forsee
this being used a great deal. This was included as my ASCtoInt
macro just happens to do it anyway.
INPUT EXAMPLES
--------------
To input the offset 1024 in decimal -----> 1024
To input the offset 2c00 in hex -----> $2C00
To input 40 (decimal) cylinders -----> #40
To input A (hex) cylinders -----> #$a
To input 2 (binary) cylinders -----> #%10
To input root block offset (decimal) -----> #880
To input root block offset (hex) -----> #$370
To input a length of 5000 (decmal) -----> 5000
To input a length of ABCD (hex) -----> $ABCD
To input desintation address $20000 -----> $20000
To input a destination as a length -----> +$200
To input a start cylinder of 10 -----> 10
To input drive zero as a device -----> DF0:
To input drive one as a device -----> df1:
To input an example path/file -----> DH0:c/name
NOTE: The above examples show upper case characters, but
either upper or lower or both is allowed.
WRITING BOOTBLOCKS
------------------
Any data written to the first two sectors of a disk will
be automatically checksumed, and in this current version
this cannot be disabled.
WRITE ERROR HANDLING
--------------------
When any of the trackdisk.device write functions encounter a
hard error on the destination disk, the offending areas will
be formatted, one attempt to rewrite the data will be performed.
Failure or any other trackdisk error will cause the particular
function to be aborted and a trackdisk error message displayed.
INPUT PARAMETERS
----------------
Below is an explanation of all parameters used by the different
functions. Each function will use some of the following parameters.
offset Byte sized offset to start the read from. This offset must
be block aligned else an error message will be generated.
The offset is the same as would normally be placed in the
IO_OFFSET field of an IO_REQUEST block to perform a CMD_READ
or CMD_WRITE through trackdisk.device. This field can also
be entered as a block number instead of an offset if so
desired. To enter as a block the number must be preceded
with a hash sign (#).
Note that the prefix for hex or decimal still applies
as shown in the examples. Once the 'OK' gadget has been
clicked the block number in the string gadget will be
replaced with the calculated byte sized offset for your
reference. If this field is set to -1 then the offset will
be zero and full disk of 1760 blocks will be used.
length Byte sized length to read/write. Must be increments of 512
and the minimum allowed is 1 sector. If a number is supplied
incorrectly is will be rounded up to the nearest sector. If
this length parameter is in a trackdisk reading function,
(ie. Trackdisk to DOS or Trackdisk to memory) it can be input
as a cylinder length (ie. number of cylinders to read) by
inserting a prefix character hash (#) before the cylinder
value. When the 'OK' gadget is clicked the string gadget
will be replaced with the calculated byte sized length for
your reference.
path/file Path and filename. Data will be read from, or written to
this place and name. It can be any valid path and name that
you can normally use in CLI.
device The device that the data is to be read from or written to.
This device must be a floppy device from DF0 - DF3,
and entered as the full device string (eg. DF0:). Full
error checking for invalid or illegal devices is performed,
so it will not accidentally try to write to your hard disk.
buffoff Byte sized value into the file to start the write from.
This allows you to skip over an amount at the beginning of
a file and only write out the remainder. Very useful for
skipping over the file header of an executable file.
source address Memory address to start the write from. This area can
be Fast memory or Chip memory. This source address is
inclusive.
end address Last memory address to write. This end memory address
is inclusive. This parameter can be input as a length
instead of a destination address by inserting a prefix
character plus(+), before the length. the length of
course can still be in decimal or hex as long as the
format is followed as shown in the examples. When the 'OK'
gadget is clicked the string gadget will be changed to
display the calculated end address for your reference.
preferred area Your preferred area that you would like the data
placed. If this is left blank the area will be
chosen for you and the result address will be
displayed in the box at the bottom of the window.
If your preferred area is not available then an
error msg will be generated and displayed in the
same box. This memory area will only remain allocated
while the program is running and will be freed up when
you exit the program completely. Trackdos when loaded
will spawn its own process and return the command line
for you so you can launch another program to examine or
modify the memory without needing another CLI window open.
start track This parameter is only found in Format Tracks. It
is the starting track for the format. Note that this
does not mean cylinder. Amiga drives have a total
of 160 tracks, starting at 0 and ending at 159.
(eg.Cylinder zero holds tracks 0 and 1, cylinder one
holds tracks 2 and 3 and so on). This track parameter
is inclusive to the format
end track As above except that this is the last track to format.
This track is inclusive to the format. Maximum number
for this parameter is of course 159.
FUNCTIONS
---------
Trackdisk to DOS
----------------
FUNCTION Transfer data from disk sectors to a file.
PARAMETERS offset, length, path/file, device.
DOS to Trackdisk
----------------
FUNCTION Transfer data from a file to disk sectors.
PARAMETERS offset, buffoff, length, path/file, device
Memory to DOS
-------------
FUNCTION Transfer data from memory to a file.
PARAMETERS source address, end address, path/file
Memory to Trackdisk
-------------------
FUNCTION Transfer data from memory to disk sectors
PARAMETERS source address, end address, offset, device
DOS to Memory
-------------
FUNCTION Transfer data from a file to memory
PARAMETERS length, preferred area, path/file
Trackdisk to Memory
-------------------
FUNCTION Transfer data from disk sectors to memory
PARAMETERS offset, length, preferred area, device
Format Tracks
-------------
FUNCTION To format one or more tracks and optionally
initialise the disk. Note that if a disk
is initialised then the disk will be blanked
and any DOS files that were on the disk
will disappear. To format a single track
put the same number in start and end tracks.
(ie. to format track 90 put that number in
both start and end). The disk will NOT BE
initialised via the 'OK' gadget. If you
require the disk to be initialised then the
'INIT' gadget must be clicked after the
formatting has finished.
PARAMETERS start track, end track, device
INIT This gadget will initialise or quick format
a disk in the drive specified by the device
string gadget. The disk of course must be
already formatted.
String Search
-------------
FUNCTION To search for a particular string in memory.
Many users have requested this function so
that they can easily find a lost document in
memory and then save it to a file using one
of the other functions. When OK is clicked
the string will be searched for and if found
the Start string will be updated to start at
the next address after the find, so that if
the one it found is not the correct one you
can just click OK again to continue the search.
This allows you to write down every possibility
and save a range of memory locations.
PARAMETERS start address, end address, string
Any questions, bugs, suggestion or spare money,
send or write to
Nic Wilson
Nic Wilson Software
138d South Street
Toowoomba Queensland 4350
ph (076) 358522 work & fax
(076) 358539 home