
DFC
[0m
/*
 *   This program will not prompt you to insert the disks if it doesn't
 *   need to, so have the correct disks in the correct drives before
 *   hitting the `Go' gadget!
 *
 *   This is dfc, a disk copying and formatting utility written by Radical
 *   Eye Software.  This program is in the public domain; anyone can do
 *   anything they want with it.  This software is made available on an as-is
 *   basis; don't come to me if you destroy your entire fish disk library
 *   with it!  Of course, it was tested rather extensively before it was
 *   released . . .
 *
 *   This code was written with Manx 3.4b on February 8, 1988.
 *
 *   dfc is meant to replace both format and diskcopy, and be smaller than
 *   either.  It is meant to work exactly the same as either, depending on
 *   the command line arguments you give it.  In addition, it has several
 *   additional options, such as buffering of a disk for a quick additional
 *   copy, the ability to toggle verify mode on and off, and the ability to
 *   write to multiple disks at the same time.  It also has a nice Intuition
 *   interface.  It will not replace the `DiskCopy' or `Format' options from
 *   the workbench, however; these have to work with the Workbench startup
 *   message, which this program does not.
 *
 *   This program can be invoked with no command line options.  In this case,
 *   it defaults to a diskcopy from df0: to df1: with verify on and buffering
 *   on.  All keyword options can be preceded by a dash, for you Unix lovers
 *   out there, and can be abbreviated to one character.  The following
 *   parameters are accepted:
 *
 *   f[rom] disk       Use `disk' as the source drive.  The format for disk
 *                     is completely free; only the numerals in the argument
 *                     are looked at.
 *   t[o] disks        Use `disks' as the destination drives.  Again, the
 *                     format is unspecified.
 *   v[erify]          Verify all writes (default).
 *   nov[erify]        Turn off the verify mode.
 *   b[uffer]          Use extra buffer memory.  If your system has enough
 *                     memory, an entire disk will be cached in RAM.
 *                     Otherwise, almost all of the system memory will be
 *                     used.
 *   nob[uffer]        Do not buffer; use minimum memory.  (Default.)
 *   n[ame] diskname   Format the destination disk with name `diskname'.
 *                     Otherwise a diskcopy is assumed.
 *   d[...]            A drive argument.  Might not have a d; simple numbers
 *                     work as well.  The first occurance of such an argument
 *                     sets the source and destination fields; a subsequent
 *                     occurance only sets the destination.
 *
 *   Thus,
 *      dfc df0: name "Foo bar baz"
 *   formats drive df0: and names the resultant disk "Foo bar baz".
 *      dfc df0: df1:
 *   diskcopies from df0: to df1:.
 *      dfc -nov 0 123
 *   diskcopies from drive 0 to drives 1, 2, and 3, with verify turned off.
 *      dfc from df0: to df0:,df1:,df2:,df3:
 *   diskcopies from drive df0: to all four drives.
 *      dfc name Foo
 *   formats drive df1 with the name "Foo".
 *
 *   Once the program opens its window up, you will have a bunch of gadgets.
 *   The left-most column of gadgets is the source selection; here you can
 *   choose either format, or one of the four drives.  The next column is
 *   the destination column; choose any combination of the four drives by
 *   clicking on the gadgets.  Lines will be drawn between these two columns
 *   indicating the current selections.  If a drive is not available, no line
 *   will be drawn to it.
 *
 *   The topmost gadget is the name gadget.  This is used to set the name of
 *   your disk while formatting.
 *
 *   The `Go' gadget starts the program up; you had better have the disks in
 *   the drives when you hit this gadget!  The `Again' gadget makes another
 *   copy of the last disk, if buffering is on and enough buffers were
 *   allocated for an entire disk.  This gadget requires all destination
 *   disks to be in their drives already.
 *
 *   The `Retry' gadget tells the system to retry after a disk error.  The
 *   `Quit' gadget tells the system to abort an operation; you can hit this
 *   at an error, which aborts the current operation; you can hit this during
 *   a copy or format operation, which does the same; or you can hit this
 *   with the drives inactive, which exits the program.
 *
 *   The `Verify' gadget turns the verify mode on and off.  The `Buffer'
 *   gadget turns buffering on and off.
 *
 *   All of these gadgets have keyboard shortcuts which are simply the first
 *   letter of the gadget name.  The source gadgets can be selected with the
 *   digits `0', `1', `2', or `3'; the destination gadgets with the shifted
 *   versions of these keys (')', `!', `@', and `#'.)  The carriage return
 *   key is a synonym for `Go', for added diskcopy and format compatibility.
 *
 *   Enjoy this program!  Please send any bug reports to Tomas Rokicki,
 *   Box 2081, Stanford, CA  94309.
 */



*****************************************************************************
ViewBoot v1.01 -- (c)1988 by Late Night Hacks       2 MAR 1988
[0m
About ViewBoot
------------------------------------------------------------------------------

This program provides a convienient way of examining the boot block of
a disk to determine the presence of a 'virus'.  The program presently
checks for the existance of the AEK, SCA, LSD, and Byte Bandit viruses.  If
the virus check itself is defeated, the program still allows you to view
the boot block of a disk in an ascii format to check for character strings
that may alert you to the presence of a virus.

ViewBoot may be called from either the CLI or the Workbench environment.  When
the program is first called, it will examine the disk in DF0 and then present
the contents of the boot block to the screen.  You may then choose other
drives present on the system to examine by way of an Intuition type
menu.

After ViewBoot has scanned a disk and found a virus, it will display a
requester alerting you of it's find and state which virus it is.  When a virus
is found, ViewBoot allows you the option to erase it then or you can
continue checking disks and delete it later.

ViewBoot also allows you to check your memory for the presence of a virus, and
if not able to find any of the viruses mentioned above, it allows you
to have a peek at the memory where the above viruses are found (0x7ec00 -
0x7f000) just to be sure.  As it does after reading a disk, ViewBoot will
display the memory in ascii format so you can check for character strings that
may alert you to the fact that a virus has made itself a nice warm home in
your computer's memory.

Using ViewBoot
------------------------------------------------------------------------------

If you are in the CLI environment, just type VIEWBOOT and pretty soon you'll
see a wierd looking screen and you can go about scanning your disks for nasty
little viruses.  If you want to use ViewBoot in the WorkBench, you must first
rename the file 'ViewBoot.inf' to 'ViewBoot.info'.  Once you have renamed the
file and gone into WorkBench, double click on the icon that looks like a
Jump Boot and you'll be presented with the wierd looking screen at which time
you may do the same as the non-lazy person does from the CLI (just kidding Vern).


ViewBoot Menu Options
------------------------------------------------------------------------------

View Boot Block of - |df0:| Right Amiga-0
             |df1:| Right Amiga-1
                     |df2:| Right Amiga-2
                     |df3:| Right Amiga-3

This option is for viewing the boot block of the specified drive.

Install - |Install df0:|
      |Install df1:|
      |Install df2:|
      |Install df3:|

This option will delete the virus and perform an INSTALL on the disk in the
drive specified.  I would suggest against using this on disks where some
form of copy protection is placed in the boot block.  The disk is probably
useless if it has a virus on it anyway so your best bet would be to send
it back to the software house that put the program out.

Memory - |Virus Check| Right Amiga-C
     |View Memory| Right Amiga-V

These two options allow you to check your memory for a virus.  'Virus Check'
will search for any of the above mentioned viruses and if one is found, it
will display a requester telling you of it's find.  If one is not found,
it will tell you that also and recommend you do a visual search just in
case.

'View Memory' will display in ascii format the memory location of the
virus.  If you see nothing but a bunch of ................'s you can be
pretty sure that one has not found it's way into your computer.  Well, at
least not at that location...  If a virus is found, I would suggest
powering down the system and restarting with a fresh WorkBench disk (assuming
you still have one).

Quit - Right Amiga-Q

Exit back to the real world?
------------------------------------------------------------------------------

When viewing your disks, some character strings to keep an eye out for
are:

"Virus by  Byte Bandit" (Byte Bandit Virus) - Sector 0
"Something wonderful has happened" (SCA Virus)  - Sector 1
"Another future of programming" and "Spread by Micro-Master" (AEK Virus) - Sector 1

I've not seen the LSD virus yet, but a couple of people have told me
that the program picks it right up anyway.

Thats about it for now so I will end this by stating that this program is
placed in the public domain by the author (me, Brian Meadows) and may be
distributed freely to all but it is not to be sold.

If you have any comments or bug reports,  I can be reached at the numbers
listed below.

Brian Meadows
(205)854-2356 - Voice
     or
(205)854-6407 - Vikki Highfield's Magnolia BBS (300/1200/2400 bps) 24 Hours a day.


