***************************************************************************
                                                                                                       VERSION 2.30   SHAREWARE

                    Bomb Shelter by Gandalf the Grey

                           1993 SOLAR FLARE

              Thanks to Joris Roling for the help viewer

***************************************************************************
READ THIS BIT IF NOTHING ELSE!!
***************************************************************************

Two important points :
======================
1)
First Shelter mucks around with disc access so be careful when using it.
See later stuff about the DiscOp patch
2)
Due to the nature of this program it is possible that crashes may occur from
time to time.  Please save your work regularly when using it (as you should
anyway).  Please report the circumstances of any crashes to me.

Those for whom reading the instructions is against their principles may now
stop...

***************************************************************************
Note for autoboot:
***************************************************************************

IF nescessary you may alter the file !shelter.!boot by putting 

Run <Obey$Dir>.!Run 

as the last line.  The application will then boot as soon as it's
directory is 'opened' by the desktop filer.

***************************************************************************
ADFS PATCH                                                              
***************************************************************************

If you select the 'ADFS DiscOp' option from the menu then it will take the
ROM copy of ADFS, put it in RAM and patch it.  This will mean that any data
in the workspace will be lost so:-

only select this option when
1) no adfs filing operations are in progress and
2) there are no files open.

NOTE When this option is on formatting and verifying will not work, nor
will certain copy protected commercial games.

If it crashes your computer, I apologise in advance.  Please send me
details of your system so I can either alter it so it works or grey out the
option so you can't select it.  I have tested it on RISC 2 and 3.11.

***************************************************************************
OVERVIEW
***************************************************************************

Shelter was designed to stop unauthorised access to the disc by viruses and
programs which are not functioning properly.  It comprises two parts, a
WIMP front end and a module.

Load the program up and click over the icon.  A menu will come up with three
sections (two dotted lines seperate these).  The bottom section shows
whether the module is on or off.  Select Shelter on to use the write protect
and Shelter off to remove it.

The top sections consists of : Info which will show the program information
window when selected.  Operations which displays the window (as does 
clicking on the icon.)  Save choices which saves the choices (surprise)
that you have made.   
           
***************************************************************************
TECHNICAL                                                               
***************************************************************************

The module claims several vectors.  Any calls to these vectors are directed
first to the module.  Any write operations will be queried.  A short
description of the impending operation is given from internal tables and
the user's confirmation is requested.  If the user allows the operation
then the program passes the call on to the next claimant of the vector (by
transferring the value in R14 to the program counter).  If the user doesn't
want the operation to proceed the program skips the rest of the vector chain
by loading the PC with an address the operating system has set up on the
stack.  Many operations are included, mostly those which write to the disc,
but also any which write to the battery backed RAM.

Technical information is available on request but I must have your name,
address and (preferably) a good reason why I should give it to you.
(Writing a virus to get around the program is NOT a valid reason)
         
***************************************************************************
OPERATIONS WINDOW                                                        
***************************************************************************

Any of the 9 operations may have one of the radio icons (the diamond shaped
ones) selected.

N - No action - The operation will be carried out as if Shelter is not
                there.
I - Ignore    - No warning will be given & the operation will NOT be done.
                Take care with this - if your floppy drive suddenly doesn't
                work then try switching this off.
E - Error     - An error box appears with details of the operation but with
                no OK option so the action will not be performed.
Q - Query     - An error box appears with details of the operation with OK
                and cancel boxes.  OK allows the operation to go ahead and
                cancel stops it.     

Delete a file : This will query a delete operation on a file or directory
Rename a file : This will query a rename operation on a file or directory
Create a file : This will query an operation causing an empty file to be 
                created
Copy a file   : This will query a copy operation which makes use of
                FS_Control.  The RISC OS 3 Desktop doesn't but uses
                load & save commands instead.
Save a file   : Queries save operations including BASIC programs & Desktop
                copying.
Alter a file's read/write status :
                Queries *ACCESS, change load address and similar operations.
Open a file with write access :
                Queries OS_Find, OPENUP, OPENOUT and similar.  ModuleVirus
                uses the first of these to spread itself.
SYS ADFS DiscOp :
                Totally removes SYS "ADFS_DiscOp" (&40240).  No query is
                given.  I suspect this may be used by some viruses to trash
                the first 32k of all discs.  It is also used by commercial
                games to stop them being copied so turn it off before you
                run a copy protected program.

***************************************************************************

PROTECT DOES NOT PROVIDE A FULL WRITE PROTECT.  SOME OPERATIONS WILL STILL
WORK EVEN WHEN THE MODULE IS ON.  (For example BPUT still works, but since
you can't open a file with write access without being queried it doesn't
matter too much.  Querying BPUT could give you hundreds or thousands of
error boxes to click on.)

I ACCEPT NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM USE OR MISUSE
OF THIS PROGRAM - but I will try and fix it if you tell me about the
problem.

***************************************************************************
History
***************************************************************************

V 0.xx  Development (loads of crashes at this stage)

V 1.00  Only claimed FileV.  Asked if the operation was to go ahead.
V 1.10  Claimed FSControlV as well.  First crashless version.
V 1.15  Displayed WIMP command window when printing a message.
V 1.16  Altered to claim vectors on start up and to release them
        when shutting down.
V 1.23  Claimed ByteV to check on CMOS RAM.  Yellow border added.
V 1.27  Info option added on menu.
V 1.28  Bug fix - the code used to try to release vectors on
        shutdown even if they had been released already.
V 1.40  Operations window added.
V 1.50  Two extra operations added (DiscOp & OSFind checking)
V.1.55  ADFS poke for DiscOp coded to work with different versions of ADFS
V 1.56  Several bugs in code removed (the code didn't re-enable interrupts)

V 2.00  Error box used instead of command window. (the version number was
        changed because this WAS going to be the shareware version.)
V 2.10  Icon on bar changes.  Menu structure altered.  Several good ideas
        that have failed to make it yet for one reason or another (the
        hotkey bit crashed so it's greyed out until I fix it.)   
V 2.20  Veto option added.  A few other minor things.
V 2.30  Complete redesign of operations window.  Rewrite of all the vector
        handling code so it's much neater & does more things (and it's about
        quarter of the length - not bad eh?)  Leave module resident option
        and SWI chunk allocated (&48400 - thanks Acorn).  Plus security
        features added.

***************************************************************************
CONTACT
***************************************************************************

You can contact me at :

     294 Cyncoed Road,
      Cyncoed,
       Cardiff,
        Wales.
         CF2 6RX

Solar Flare are looking for some graphics designers & musicians to help with
several games :
1) A Dune II - ish game (don't tell Krysalis I said that)
2) A shoot 'em up (a bit like Aggressor only you can go up and down as well)
3) Anything else you can suggest (except space invaders & breakout)

Send an example of your work if you can.
(We'd like some rock tracks from the musicians.)

If you don't get a reply then assume we've found someone already.

***************************************************************************
WHINGE
***************************************************************************

Thanks to the following for making good quality software available at a reasonable price (all prices are approximate) :

Hacker from Doggysoft (5)
SWIV from Buzz (10)
Aggressor (macho edition) from Matt Black (15)
StrongEd from Stallion software (30)

And no thanks to the following for their somewhat - dare I say it - VERY HIGH prices.  And before anyone writes in to complain I would like to say that it
won't do you any good so don't bother.

Games Wizard by someone or other  (30) - by some accounts not quite as good
as Hacker
Prime Solver (80) - come on, just what is it with you guys at Minerva ?

Putting prices this high encourages people to get pirate software - I'm not
condoning it, being a programmer myself - but there is no way I could afford
a lot of commercial packages that I would find useful (eg Acorn C, Assembler,
Pascal, etc. etc.)

 Thanks for listening...
                       Gandalf