                _     ___   _   _
            /\ \ \   \   \ \ \_\ \    /\             
           /  \ \ \   \  _\ \   _ \  /  \                     Version
          / __ \ \ \__ \ \   \ \ \ \/ __ \               1.25
         /_/  \_\ \___\ \_\   \_\ \_\/  \_\             
         __________________________________           

               The Screensaver that even saves your Keyboard
                            LEDs from burn-in!

                    by Marc Warne of Alpha Programming

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

                       This program is 5 SHAREWARE
     You may use it for a trial period of 14 days. When that time is up,
    you must either register it or delete all copies of it which you own.

             To register, see the 'How to Register' section.

================================ [introduction] ===============================

What is it?


    AlphaSave is a screensaver, which is supplied with many ready-made programs
in it. It is called AlphaSave because it is written by Marc Warne of Alpha
Programming, and because I couldn't think of any other names!

Included resources


    !AlphaSave incuding !SaveConf - The screensaver and configuration program
    ProgHelp directory            - Information on programming screensavers
    AlphaSave StrongHelp manual   - StrongHelp manual

What is screensaving?


On some monitors, if the screen is left with the same picture on it for too
long, that picture may become burnt into the monitor, which will look very
horrible. The monitor may even need to be replaced.

This is solved by two ways. When nothing has happened (i.e. the mouse hasn't
moved and no keys have been pressed), the monitor could either turn off/go into
standby mode, or an image which is constantly moving could be displayed. This
should stop burn-in.

If you want an example, take a look at the LCD PC, upstairs in Milton Keynes
Library! ;-)

How do you use it?


To Run:
    You double-click on the !AlphaSave icon. After 2 minutes of nobody
pressing a key or moving/clicking on the mouse, the screen will blank and a
random screensaver will be loaded.

 - or a configured time

To Quit:
    You have to go to the taskmanager icon (either an Acorn symbol or an A),
and then click on it or press menu and then click on task display to open a
window. Near the top of it, there will be 'AlphaSave x.xx' written. Press
menu, go over to task and select 'Quit' to quit it.

    AlphaSave supports TaskInfo, so there is not always a need to load up
SaveConf to configure AlphaSave. TaskInfo is a utility written by Jonathan
Brady <taskinfo@sliced.demon.co.uk>. It allows for extra menu items to be
adde to the Taskmanager meun. AlphaSave allows screensaving to be turned on
or off without using SaveConf via this method. TaskInfo 1.06 is required, and
it can be downloaded from http://www.sliced.demon.co.uk/acorn/

What are the installed screensavers?


!AlphaS

  A screensaver with scrolling stars with the Alpha Progamming logo moving
  across the screen in different directions. You can configure the speed and
  whether or not you want the horizontal starfield.

  If you wish to change the sprite used, change the !AlphaS.Sprites file, and
  also change the WimpSlot in !AlphaS.!Run so it is about 32K larger than the
  size of the sprite.

!AUSaver

  A fairly simple screensaver which shows how good Acorn User is.
  (Subtle hint - let me put it in the magazine!! ;-) )

!Command

  This 'screensaver' allows you to perform a star command instead of letting a
  normal screensaver operate. If the command is not multitasking, operations in
  the desktop will be paused.

  If the command will be handled by the WIMP, Wimp_StartTask will be called, so
  all errors will not affect AlphaSave. If the command will be handled by the
  screensaver, OS_CLI will be called. If there is error checking, then if an
  error occurs, the screensaver will quit.

  The type of window used is viewed when the command is run.

!Galaxy

  This screensaver displays an effect which seems like a galaxy simulation. The
  minimum speed can be set. The 'tolerance' is the maximum speed above the
  minimum speed the screensaver can run at.

!Mirror

  A screensaver which makes your monitor seem as if it is going upside down,
  sideways, inside out etc. You can configure what text you wish to appear.

!MoveDesk

  This screensaver scrolls the desktop either up or down in a repeating
  pattern. The 'Slow down' option should only be used if the screensaver runs
  too fast. It will slow down the entire desktop.

!Puzzle

  A screensaver which turns your screen into a sliding block puzzle. You can
  configure the speed of the blocks, the size and the gap inbetween each block.

!Rain

  A screensaver which makes the screen drip downwards, like paint being washed
  off by rain. You can configure whether you want 'AlphaSave x.xx' texts on the
  screen and whether you want the speed of the rain to remain constant or a
  random number.

!SlideSave

  This screensaver displays JPEGs in certain directories. Display time is in
  seconds. 'Hide Drawing Space' allows for different sized JPEGs to be used
  without parts of the old JPEG remaining on screen. Recurse makes the
  screensaver search in all sub-directories within both main directories for
  more JPEGs. The amount of memory taken up by this screensaver is defined in
  its !Run file. This does not need to be greater than the size of the largest
  JPEG.

!Slippery

  I don't know how to describe this screensaver, but in the Acorn User is was
  from, it had the title, 'Slippery Skidmarks'. The intensities of red, gree
  and blue are the colours used when the screensaver first operates. A value of
  -1 makes the screensaver choose a random value for the particular colour.

!Starfield

  This screensaver displays a first-person view of a scrolling starfield. The
  higher the number of stars, the slower the screen-saver will become.

!Worms

  A screensaver which makes wormy-type-things bounce around the screen.

 If you make your own ones, please send them to me with permission to
distribute them and if they are good enough, you will get your screensaver
bundled with the next version of !AlphaSave.

=========================== [configuring alphasave] ===========================

!SaveConf


!SaveConf is the configuration utility included with AlphaSave. In order to
run it press both 'Alt' keys together. AlphaSave must be loaded for this to
happen. The alternative method is double-clicking !AlphaSave.!SaveConf.

The configuration utility serves two purposes. Firstly, it lets you fully
configure AlphaSave (including all the screensavers), and secondly, it allows
you to produce data files which are needed if you wish to create your own
screensavers.

SaveConf Main Window


Once SaveConf is loaded, the first window to me opened is the Main
Configuration window. This allows for simple options to be set, including the
time before a screensaver starts, and how the screensavers should be ordered.

Time Delay

  The use of this is quite simple. A screensaver will only be activated if
  there has been a certain period of time when the mouse has not moved and no
  keys have been pressed. This is defined by the Time Delay.

Random/Ordered

  If 'Random' is selected, when it is time for a screensaver to run, random
  screensaver will be chosen. If 'Ordered' is chosen, screensavers will be
  run in order.

On/Off

  This is the darker button to the bottom-left of the window. If this is set
  to 'On', screensavers will, as normal, be run when a period of inactivity
  has elapsed. If you set this to 'Off', screensaving will temporarily be
  suspended. This option is *not* saved.

Save

  This saves the current options. AlphaSave immediatly reloads the options file
  so it keeps up to date.

Load

  This loads the previous options. This is useful if you made a mistake in
  setting your options.

Screensavers/Options

  These buttons open other windows which allow you to configure other aspects
  of AlphaSave. 'Screensavers' edits the current screensaver options, while
  'Options' edits extra utilities.

SaveConf Screensaver Choices


The screensaver choices window is opened up either by clicking on the
'Screensavers' icon in the main window, or by clicking adjust on the SaveConf
icon bar icon.

Screensaver name

  This is the filename of the current screensaver. Its full filename is 
  <AlphaSave$Dir>.ScrSavers.[filename].

Install

  This opens a window allowing you to add new screensavers to AlphaSave. To
  install a new screensaver, drag the screensaver to the icon. You can allow
  click on 'Install all in directory', which will install all screensavers in
  <AlphaSave$Dir>.ScrSavers (the standard screensaver directory). If the
  screensaver already exists, it will be updated, and not installed twice.

Delete

  Clicking on this will open a confirmation box asking whether you are sure.
  The first question is 'Are you sure you wish to delete this screensaver?'.
  If you click on yes, it will be removed from the list of screensavers, but
  *not* removed from disc, so you can reinstall it if you wish. The next
  question is 'Do you wish to delete the screensaver from disc?'. Clicking
  yes will permanently remove the screensaver.

Screensaver menu

  This is the menu which is opened by clicking on the menu icon to the right
  of the 'Screensaver' label. You can either choose a new screensaver to edit,
  or copy the current one. Copying will involve a new screensaver to be created
  and automaticially installed. This is useful if you want a variety of options
  to be used on the same screensaver. The copy can always be deleted later if
  required.

  Another menu may be opened by pressing the menu button on the mouse over the
  Screensaver Choices window. 'Demo' loads up the screensaver, 'Universal'
  makes all internal screensaver names to have <AlphaSave$Dir>.ScrSavers.!Saver
  instead of something along the lines of
  ADFS::HardDisc4.$.Programs.!AlphaSave.ScrSavers.!Saver. This is useful if
  you are going to use AlphaSave somewhere else. The final item is 'OpenDir'.
  This opens the directory where all the screensavers are kept.

Name

  This is the full name of the current screensaver

Author

  This displays the name(s) of the author(s).

Next/Previous screensaver

  This moves over to the next or previous screensaver in the list of
  screensavers. Clicking adjust over these icons does the opposite to what it
  normally does.

More

  This just opens up a further window with extra information on the selected
  screensaver. 'WIMP Program' means that the screen- saver will multi-task
  other things to happen in the background when it is in use. 'Single Task'
  means that the screensaver is obsolete, and will not multi-task.

                                     ----

Parameters

  These are the configurable options for the current screensaver. They change
  for each different screensaver. The standard options are detailed above.

Active

  If this is not set, the screensaver will not be used when it is time for a
  screensaver to be loaded.

Set Password

  This allows you to set a password which must be entered every time the
  screensaver quits. If you forget the password, note that I cannot tell you
  what the password was, so make sure that you do not forget it! See the
  section below on passwords for more information

Demo

  This allows you to see what the screensaver looks like with your configure
   options. Note that the pointer may be shown. This should not happen when the
   screensaver is loaded by AlphaSave. The screensaver will load after three
   seconds from clicking the Demo icon. This is so the mouse is still before
   the demo starts. To quit the screensaver, press a key or move the mouse, or
   if it is a command screensaver, press escape.

                                     ----

Load Help

  This will load up interactive help. Currently, it only supports !Help and
  !BubbleHelp, although I have been unable to test this.

On/Off

  This is the darker button to the bottom-left of the window. If this is set
  to 'On', screensavers will, as normal, be run when a period of inactivity has
  elapsed. If you set this to 'Off', screensaving will temporarily be
  suspended. This option is *not* saved.

Close

  This merely closes the Screensaver Choices window.

Save

  This saves the current options. AlphaSave immediatly reloads the options file
  so it keeps up to date.

Load

  This loads the previous options. This is useful if you made a mistake in
  setting your options.

SaveConf Extra Options


The extra options window can be opened up by clicking on 'Options' from the
main configuration window.

Banner

  The banner is the window which pops up when AlphaSave loads. If the tick box
  is not selected, the banner will not appear. You can configure how many
  seconds you wish the banner to appear for. This option is not configurable
  in the Shareware version.

WIMP Poll

  If this is set to the default '3' for example, then every 3/100ths of a
  second (33 times a second), AlphaSave will scan for whether the mouse has
  moved, a mouse button pressed or a keypress. If either of these has happened,
  the screensaver 'counter' will be reset.

  The higher the value of the WIMP poll, the less accurate AlphaSave will be,
  but also the faster the rest of the desktop will be. The lower the value, the
  more accurate AlphaSave will be, but also the slower the rest of the desktop
  will be.

                                     ----

Power Saving Options:

Spin-down Hard Drive

  If this is selected, when the screensaver operates, ADFS hard drives 4 and 5
  (if you have them) will be spun down. 'Spinning down' is when the hard drive
  powers down and stops spinning.

  Note: This can be very dangerous, and possibly cause damage to your hard
  drive(s). It is not recommened for use, unless you are using a hard drive
  which was designed to be spun down, eg. many 2.5" drives.

Turn keyboard lights off

  This will turn off the three LEDs on the keyboard. This takes priority over
  the flashing keyboard lights.

Spindown CD ROM drive

  This will spindown CDFS::0 (the first CD ROM drive if you have one fitted).
  This will also stop a CD from playing.

Screen Power Saving

  This enabled the screen to be switched off by AlphaSave. Please see the
  'Power Saving' section for more information.


                                     ----

Sleep/No-sleep Corners

  These can be configured by using the pop-up menu. If the mouse is over a
  Sleep Corner (eg. the top-left of the screen), the screensaver will be
  activated after 2 seconds. If the mouse is over a No-sleep Corner, the
  screensaver will not be activated at all.

Keyboard Lights

  If they are enabled, they will cause the keyboard LEDs to flash in a
  sequence. This looks best if all three LEDs are together on the keyboard.

  The combinations are:

      Num Lock, Scroll Lock:
      Num Lock & Scroll lock, None:
      Num Lock, Caps Lock, Scroll Lock
      Num, Caps, Scroll, Caps, Num:

Configuration Passwords

  This sets the password which will be needed when SaveConf is loaded. No
  options will be able to be configured if the password is not known. The
  password must be entered twice, in case a button is pressed accidently. If
  you forget your password, note that I cannot find it out for you.

Passwords


There are two different types of passwords that can be set.
These are described below:

Configuration Passwords

  If a configuration password is set, when SaveConf is loaded, a window will
  open prompting you for the password. If this is not known, none of the
  options will be able to be configured.

  This password is set by going to the Extra Options window and clicking on
  'Set Password'. To unset the password, click on 'Unset Password' and enter
  your old password.

Screensaver Passwords

  If a screensaver password is set, a password window will open once a
  screensaver has been activated and the mouse moved afterwards. If the wrong
  password is entered, or '' is pressed, the screensaver will re-activate.

  This password is set by going to the Screensaver Options window and clicking
  on 'Set Password'. To unset the password, click on 'Set Password', enter your
  old password and press enter for the new passwords.

Important Notice

  If you do forget your password, note that I cannot be held responsible for
  any loss, and I can also *not* tell you what the password is, even if you are
  a registered user. The only reason I cannot tell you the password is due to
  possible fraud in obtaining the password.


=============================== [miscellaneous] ===============================

Upgrading the Main Program


Upgrades can usually be downloaded from the Alpha Programming WWW Site, or if
you are a registered AlphaSave user, they can be sent to you via e-mail.

If you are registered, but not on the Internet, upgrades can be sent to you by
post either by sending a SSAE with a disc, or a 1 coin.

If you receive/download an upgrade archive, all that needs to be done is for
you open it and drag the contents over !AlphaSave. It should then be upgraded.

Under *no* circumstances should you delete your key file. You cannot be sent a
new one, due to possible piracy frauds.

Frequently Asked Questions


Will AlphaSave run from a read-only location?

  Yes, but saving the configuration or powersaving the monitor cannot be done.

I've just made a rather nifty screensaver. How can I get people to get it?

  You can send it to me (e-mail or snail mail), and if I think it's good
  enough, I'll put it in future AlphaSave releases for all to download.

I saw some of those screensavers in *Info once

  Yes. I've had permission from the Daves at *Info to put them in. Thank you
  very much to all the authors of the original programs.

Where can it be used?


    This program can be used on any 32-bit Acorn Archimedes or RISC PC. I'm
not sure whether it will work on RISC OS 2, but I see a few reasons why it
should not.

+-------------+--------+-------+--------------------------------------------+
| OS  Version | Tested | Works | Comments                                   |
+-------------+--------+-------+--------------------------------------------+
|RISC OS 2    |       |      | Will not work due to all the extra RISC OS |
|             |        |       | 3 utilities used.                          |
|RISC OS 3    |       |   ?   | Probably. Recommended to upgrade to 3.11.  |
|RISC OS 3.1x |       |      | Will work faultlessly! :-)                 |
|RISC OS 3.5  |       |   ?   | Letterbox modes. Will work well otherwise  |
|RISC OS 3.6  |       |      | Letterbox modes. Will work well otherwise  |
|RISC OS 3.7  |       |      | Letterbox modes. Will work well otherwise  |
+-------------+--------+-------+--------------------------------------------+

+-------------+--------+-------+--------------------------------------------+
+ ARM Version | Tested | Works | Comments                                   |
+-------------+--------+-------+--------------------------------------------+
|   ARM 2     |       |      | Will work                                  |
|   ARM 250   |       |      | Will work                                  |
|   ARM 3     |       |   ?   | Should work at a good frames/sec           |
|   ARM 600   |       |   ?   | Letterbox modes. Should work smoothly      |
|   ARM 610   |       |   ?   | Letterbox modes. Should work smoothly      |
|   ARM 710   |       |      | Letterbox modes. Works very smoothly :-)   |
| Strong ARM  |       |      | Works perfectly! :-)                       |
| Future Vers |       |   ?   | Should work. The faster the processor, the |
|             |        |       | smoother the program will run              |
+-------------+--------+-------+--------------------------------------------+

The frames/sec means frames per second. The higher this number is, the
smoother the program will run.

I always load this in my boot sequence. It works just as well, and it should!

Bugs


If monitor power-saving is on, just gently tapping a key on the keyboard will
return the screen to its normal state, but AlphaSave may blank the screen
again. The key must be held down for a second or two.

When keyboard lights are flashing, pressing Num Lock, Caps Lock or Scroll Lock
will stop the screensaver, but will not change the caps/num/scroll lock status.

History


  0.00 (??-???-1996) : This was the home programming stage.
  1.00 (10-Apr-1996) : # This is the first distributed version.
                       Features include:
           Two screen savers: 1) Funnny Bunny Software
                              2) Scrolling Alpha Programming logo
           Configurable time
           Programmable
  1.05 (13-Aug-1996) : # Second distribution.
                       Additional features:
           New 'Mirror' screensaver
           New 'Rain' screensaver
           Easy to use configuration/creation program
           Does *Blanktime 0
           Bugs got sent to bug heaven

  1.06 (8-Dec-1996)  : # Third distribution
                           StrongARM Compatable
                           Worms screensaver added
                           Upgradable

  1.07 (8-Feb-1997)  : # Fourth distribution
                           Now has its own message block, so automatic
                            updating of AlphaSave is possible
                           Registration keys introduced
                           Desktop usage dramaticially decreased (up to 95%!)

  1.10 (12-Apr-1997) : # Fifth distribution
                           Multitasking screensavers!
                           Fixed automatic AlphaSave updating
                           Written technical docs
                           Desktop usage increased slightly to enhance
                            screensaving

  1.15 (11-Jun-1997) : # Sixth distribution
                           Enable/Disable screensaver
                           Banner + Banner configuration
                           WIMP Poll configuration
                           Much less bugs
                           More ScreenSaver utilities (eg. version)
                           Better !AlphaS screensaver using own sprite pool
                           Code optimised with less floats and more integers
                           Totally enhanced the AlphaSave WIMP Message System

  1.25 (5-Aug-1998)  : # Seventh distribution
                           Enhanced articulation
                           Compatable with the NetStation (untested)
                           Enhanced shutdown sequence
                           Screensaver Installer/Remover
                           Screensaver selector
                           Online help
                           Hard drive spin-down
                           CD ROM spindown
                           Keyboard LEDs off
                           Keyboard LEDs 'flashy mode'
                           Password protection (configuration)
                           Password protection (screensavers)
                           Power saving modes
                           Sleep corners
                           No-Sleep corners
                           Full reload of config message
                           Icon creator with all options
                           Supports TaskInfo
                           Copying of screensaver
                           Screensaver parameters
                           Improvements for all screensavers:
                            - Configurable
                            - Improved error detection
                            - Turn pointer off
                            - Updated icon sprites
                           Extra screensavers:
                            - Command
                            - MoveDesk
                            - SlideSave
                            - Galaxy
                            - Slippery
                            - Starfield
                           Enhanced !Help launcher
                           'Are you sure?'s implemented
                           URL launcher
                           Pointer turns off when screensaving
                           Will work on read-only media
                           Demo delay of three seconds
                           WIMP message for 'Can't run screensaver'
                           Improved demo screensaver
                           StrongHelp file

  # - Distributed

Future Improvements


                           Spindown configuration
                           Speakers off option
                           Implement Drag directory onto writable icons
                           Sleep corner extras:
                            - Time delay
                            - Proximity (near corners)
                           Configurable 'Alt-Alt' routine
                           Support TaskInfo
                           Configurable 'Demo' delay
                           Module to kill screensavers when the mouse is moved
                           More screensavers
                           Library files

Credits


       Thanks go to many of the people on comp.sys.acorn.programmer.
     Without their help, the production of this would be a lot harder.

          Marc Warne - All Programming/Graphics
        David Gamble - For the !Worms screensaver
      Robert Pfeifer - Original idea for !Mirror
              JJ '95 - Original idea for !Puzzle
       David Andrews - MenuMod - the best menu creationprogram!
           Alan Cook - For in-depth beta testing
     Stuart Halliday - StrongARM testing
         Guttorm Vik - For the *GREAT* FreeWare !StrongHelp
     Matthes Bullock - For ideas and programming help
          David Hart - The idea for the 'Alt-Alt' sequence
          David Dade - For finding out about the 'A4' bug
        William Lahr - 'Alt Detection' and looking up 'Shutdown' in the PRMs
      Glenn Richards - Help with Read-Only-FS Detection
        Andrew Flegg - Help with 'Alt Detection'
           Sam Smith - Help with 'Alt Detection'
      Andi Armstrong - Help with 'Alt Detection'
      Richard Wilson - Help with !Help messages
        Andrew Miles - Help with !Help messages
         Miles Sabin - Help with launching !Help/!BubbleHelp
         Matt Browne - Help with launching !Help/!BubbleHelp
        Andrew Miles - WIMP Window Resizing
     David McCormack - WIMP Window Resizing
      
How to Register


    The benefits of registering:

                     Can get updates from the web site
                No date limit on when you have to delete it
      In the info/banner window, it will say 'Registered to: <Your Name>'
             If somebody finds it, they will know that it's yours

       Please send a cheque or cash worth 5 or 20 Netherlands guilders
                 Please make cheques payable to 'Marc Warne'.

                                 Marc Warne

                               9 Sandal Court,
                             Shenley Church End,
                                Milton Keynes,
                                   Bucks,
                                  MK5  6HB

              ...or if you just want to e-mail him, see below...

    If you do not live in England/Wales/Mainland Scotland, please either
   send a Self Stamped Addressed Envelope or your e-mail address in order
                             to obtain the key.

Alpha Programming World Wide Web Site


    Visit the Alpha Programming WWW Site!!

             WWW: http://www.alpha-programming.co.uk/

          e-mail: marc@indivisibilities.com - for Marc Warne
                  info@alpha-programming.co.uk - for Alpha related stuff

    The site looks nice and features all Alpha Programming information. You can
download Acorn/PC/Psion stuff off of it. It is also the home of I'm Bored
(extreamly funny thingies). Visit it!

    If you don't have Internet access, you can download most of our programs
from PD libraries such as A.P.D.L. Alternatively, you can send 1 to Alpha
Programming to get most Alpha programs.

Updates


    When you have registered, you can receive updates of the program by
either sending 1 and no disc, 50p with a disc or a S.S.A.E. with a disc. The
latest version will then be sent to you. DO NOT delete your registration key,
as another is not provided with the update.

Disclaimer


This software is provided "as is"; Neither Marc Warne nor Alpha Programming
make any warranty, express or implied, of the merchantability of this software
or its fitness for any particular purpose. In no circumstances shall Marc Warne
be liable for any damage, loss of profits (!), profits (!!), brain damage from
reading this !Help file, or using the program. This unregistered version MAY be
distributed to people, as long as NONE of the files are changed or deleted,
and the options as they were. If you do not either register it within 14
days or delete !AlphaSave and all programs inside it, you are actually
breaking the law.
