home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 2 / DATAFILE_PDCD2.iso / utilities3 / _yass2 / !Yass2 / !Help next >
Text File  |  1993-05-15  |  16KB  |  369 lines

  1.  
  2.  ______________________________________________________________________________
  3. |                                        |                                     |
  4. | YY  YY                          2222   |   © Copyright 1993, Ian Palmer.     |
  5. | YY  YY                         22  22  |                                     |
  6. | YY  YY  aaaa    sssss   sssss      22  |   All rights reserved.              |
  7. |  YYYY      aa  ss      ss         22   |—————————————————————————————————————|
  8. |   YY    aaaaa   ssss    ssss     22    | "We must have done something wrong."|
  9. |   YY   aa  aa      ss      ss   22     | "Oook."                             |
  10. |   YY    aaaaa  sssss   sssss   222222  | "Maybe He is out."                  |
  11. |                                        | "Or busy..."                        |
  12. |________________________________________| "Do you think we could give up and  |
  13. |     __          _                      |  go back to bed?"                   |
  14. | by  / _   _    /_) _   / _ _   _       | WHO ARE WE WAITING FOR EXACTLY?     |
  15. |   _/_(_|_| )  /   (_|_(_| ) )_|/_|~    |      -- "Eric" by Terry Pratchett   |
  16. |________________________________________|_____________________________________|
  17.  
  18.  
  19. Introduction
  20. ------------
  21.  
  22. Yass 2 is 'Yet Another Screen Saver' designed especially for the users of
  23. Risc-OS 3 (version 3.10 or later). But hold on a mo... Risc-OS 3 users don't
  24. need another screen saver, they have the wonderful ScreenBlanker module.
  25.  
  26. Well that's just it, the ScreenBlanker module does it's job, but it is rather
  27. dull, to put it mildly. Yass 2 has been designed, not to replace the
  28. ScreenBlanker module, but to augment it.
  29.  
  30. What Yass 2 offers is an alternative to the ScreenBlanker module whilst using
  31. the desktop, but allows the module to work normally when you are outside the
  32. desktop. Yass 2's alternative is a programmable screen saver which not only
  33. allows you to write your own screen saver displays, but also allows you to have
  34. a selection of screen savers which it will swap between randomly, making sure
  35. that your screen saver does not become dull.
  36.  
  37. Most screen saver programs available for the Arc have one, or more, of the
  38. following problems :
  39.  
  40.   • They don't allow other tasks to operate whilst the screen is blanked
  41.     (ie. they don't multitask).
  42.  
  43.   • They don't work outside the desktop.
  44.  
  45.   • They have one or two rather dull displays, or even worse just blank the
  46.     screen.
  47.  
  48.   • If programmable, they tend to only allow one selected display at a time,
  49.     meaning that when you want a change, you have to make the change yourself.
  50.  
  51.   • They don't handle ALL keys (inc. shift, ctrl, etc.)
  52.  
  53.   • Some can be fairly large programs.
  54.  
  55. When using Yass 2 fully, you don't suffer any of the above problems.
  56.  
  57.  
  58. How to use Yass 2
  59. -----------------
  60.  
  61. When you run Yass 2 for the first time you will probably need to set it up for
  62. your own preferences. With Yass 2 loaded, press SELECT over it's iconbar icon.
  63. This will bring up the Yass SetUp window.
  64.  
  65. This window allows you to set the following :
  66.  
  67.   • The Yass 2 (Desk Top) blanking time
  68.  
  69.   • The non desktop (Standard) blanking time
  70.  
  71.   • The 'Sleep' corner
  72.  
  73.   • The 'No Sleep' corner
  74.  
  75. If you have disabled (killed) the ScreenBlanker module then you will be unable
  76. to set the second option. The two blanking times can be altered by using the up
  77. and down arrows, the time can be set in steps of 30 seconds. Either can be
  78. switched off by setting the time to zero (displayed as 'Off'). Holding down
  79. SHIFT when altering the saver times makes the time step in 1 second units,
  80. thus allowing complete control down to the second.
  81.  
  82. The 'Sleep' corner is a corner of the screen where if the mouse pointer is
  83. moved the screen saver is started instantly (Desktop only). The 'No Sleep'
  84. corner is a corner where the screen saver will never start up (Desktop only).
  85. Either can be set by clicking over the icon for the corner you require (the
  86. current corner is indicated by the raised icon). Pressing SELECT over a corner
  87. will make that corner the selected corner, pressing ADJUST over any of the
  88. corners will make no corner selected).
  89.  
  90. Once you have selected your blanking times and corner options, you can now
  91. select which screen savers you want Yass 2 to use. This is done by bringing up
  92. the main menu, and then the 'Savers' submenu. This menu lists all the screen
  93. saver modules known to Yass 2. Those with ticks show the currently selected
  94. modules. Holding down SHIFT and selecting one of the savers will make that
  95. saver the only selected saver (ie. will tick that saver and un-tick all the
  96. others).
  97.  
  98. If only 1 saver module is ticked, that saver will always be used. If none are
  99. ticked then the default saver is used (blank screen). If more than one is
  100. selected then one will be picked at random, that saver will run for a certain
  101. amount of time, and then another one of the selected savers will be picked, and
  102. so on.
  103.  
  104. Once you have selected the savers you want to use, go back to the main menu,
  105. and bring up the 'Status' submenu. Clicking on the 'Save' entry in this menu
  106. will save you selections.
  107.  
  108.  
  109. The Screen Saver in action
  110. --------------------------
  111.  
  112. When the desired length of keyboard and mouse inactivity has taken place, one
  113. of the selected screen savers will be started. This will run for a period of
  114. time (set by the screen saver itself) and then another of the selected savers
  115. will be started to take over. This ensures that the screen saver doesn't become
  116. too boring.
  117.  
  118. During screen saving other desktop applications will still multi-task, and thus
  119. the speed of the action of the screen saver will depend upon the number of
  120. applications running.
  121.  
  122. As soon as you move the mouse, press a mouse button, press any key on the
  123. keyboard or if a window is opened on the screen, the screen saver will stop and
  124. return the desktop to normal.
  125.  
  126. When running non multi-tasking applications the built in screen saver module
  127. will take over screen saving as normal.
  128.  
  129. Yass 2 tries to make as little impact on the desktop as it can. When the
  130. screen saver is not active, Yass 2 checks the keyboard and mouse once a second.
  131. When running a screen saver, Yass 2 automatically adjusts the amount of
  132. CPU time it takes according to the general load of the computer, the higher
  133. the load the lower the demands Yass 2 makes (but your display will tend to
  134. grind, but you can't have anything).
  135.  
  136. You can force Yass 2 to always use small chunks of CPU time when running a
  137. screen saver by selecting the 'Slow' option on the status menu. This will
  138. force Yass2 to run the saver modules VERY slowly.
  139.  
  140.  
  141. Creating your own screen saver modules
  142. --------------------------------------
  143.  
  144. Creating your own display modules for the screen saver is very simple. Anyone
  145. with a fairly good grasp of Basic can do it, and no knowlege of Wimp
  146. programming is required.
  147.  
  148. All you need to do is create your own Basic program containing three functions.
  149. These functions will be called by Yass 2 when necessary. The three functions
  150. handle initialisation, running the saver, and tidying up.
  151.  
  152. First you need to pick a name for your saver module (the filename). In the
  153. description below we are creating a saver module called 'Test' which will draw
  154. random lines on the screen.
  155.  
  156.  
  157. - Initialisation
  158.  
  159. During initialization you should do the following :
  160.  
  161.   Clear the screen (calling PROCclearscreen(-1) )
  162.   Initialize your variables, and claim any memory you need.
  163.  
  164. Try to use as many LOCAL variables as tou can, and prefix your globals with
  165. your modules name (eg. test_x%).
  166. The initialization function should be given the name of your module followed by
  167. '_start', for example 'FNtest_start' (note the 'test' is all in lower case).
  168.  
  169. Claiming memory should NOT use the DIM command. Instead you should call a
  170. special function called FNmalloc which takes the number of bytes you require as
  171. it's parameter, for esample "test_b% = FNmalloc(128)" will make test_b% point
  172. to a block of memory 128 bytes long. FNmalloc returns zero if memory is not
  173. available (very unlikely, but you should handle this situation (see below)).
  174.  
  175. The initialization function should return 0 if it managed to initialize
  176. correcly. If it could not initialize correctly it should first deallocate any
  177.