home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 2: Collection B / 17Bit_Collection_B.iso / files / 2175.dms / in.adf / ASwarm3 / ASwarm3.doc < prev    next >
Encoding:
Text File  |  1992-07-09  |  17.2 KB  |  492 lines

  1. ASwarm III Manual
  2.  
  3.  
  4. NAME 
  5. ----    
  6.     SYS:WBStartup/ASwarm3
  7.  
  8. SYNOPSIS
  9. --------
  10.     ASwarm3    CX_POPKEY=<HotKey>
  11.         CX_POPUP=<YES | NO>
  12.         BLANKKEY=<HotKey>
  13.         TIMEOUT=<1 - 3600>
  14.         CLIENTTIMEOUT=<1 - 60>
  15.         DISPLAY=<Display Type>
  16.         WASPS=<1 - 20>
  17.         BEES=<1 - 100>
  18.         SPEED=<1 - 5>
  19.         TIGHTNESS=<1 - 11>
  20.  
  21. DESCRIPTION
  22. -----------
  23.     ASwarm is a screen blanker with two levels of protection, the first of
  24.     which is an animation of bees chasing wasps, hence "swarm".  The second
  25.     level of protection will erase this animation if it cannot be displayed
  26.     at a reasonable rate in order to prevent the animation itself from
  27.     burning into the screen.
  28.  
  29. SOURCE
  30. ------
  31.     The source code is included, and can be compiled with SAS/C 5.10a or
  32.     with a registered copy of DICE V2.06.37.
  33.  
  34. COPYING PRIVELIGES
  35. ------------------
  36.     ASwarm is free to be spread on public-domain and shareware disks, as
  37.     long as they are sold for labor and diskette cost only - the software
  38.     itself may not be sold.
  39.  
  40.     For use in commercial products, the permission of the author is
  41.     required.
  42.  
  43.     ASwarm may be copied and distributed via electronic networks such
  44.     as the Internet.  It may also be placed on anonymous FTP servers,
  45.     mailboxes or bulletin board systems.
  46.  
  47. SUPPORT
  48. -------
  49.         Jake "Wulf" Rose                        # Version III
  50.         INTERNET: jaker@csugrad.cs.vt.edu 
  51.  
  52.     Markus Illenseer            # DICE
  53.     Gro_e Kurf|rstenstra_e 1
  54.     D-4800 Bielefeld 1
  55.     Germany
  56.     INTERNET: markus@techfak.uni-bielefeld.de
  57.     IRC: ill
  58.  
  59.     Matthias Scheler            # Server-client model info
  60.     Alter Milchhof 10
  61.     D-4400 M|nster
  62.     Germany
  63.     INTERNET: tron@uni-paderborn.de
  64.     IRC: Tron
  65.  
  66.     Please refer to "COMMON PROBLEMS" before you contact anyone for a bug
  67.     report.  Of course, any comments are appreciated.
  68.  
  69. PURPOSE AND THEORY
  70. ------------------
  71.     ASwarm is a screenblanker.  The animation during blanking phase is 
  72.     loosely based upon Jeff Buterworth's "xswarm" for the X11 Windowing
  73.     System.
  74.  
  75.     A screen blanker's goal should be to blank (disable) the screen output
  76.     in order to prevent burning images into the monitor's phosphor. 
  77.  
  78.     As it is boring just to disable the screen, and as the Amiga can
  79.     handle multitasking, we are able to animate objects on the screen for
  80.     entertainment, or simply as a reminder that the monitor is on.  The
  81.     problem with doing this is, of course, that the animations displayed
  82.     could also burn-in the monitor.
  83.  
  84.     This could happen when the screenblanker doesn't have enough time
  85.     to draw and the graphics rest in the same place for long periods of
  86.         time.  When the screen blanker doesn't have enough CPU time, it's 
  87.         because there is a CPU-intensive program, such as a ray-tracer or 
  88.     C-compiler, running.
  89.  
  90.     As the screenblanker isn't as important to the user as the monitor,
  91.     the blanker draws the graphics only when it has CPU time.  When
  92.     it doesn't, the screenblanker's draw routine is disabled and the
  93.     screen is literally blanked (black) until it regains CPU time.
  94.  
  95.     This is done with a simple server-client model. The server runs
  96.     with a normal priority, but just has a WaitPort()-loop (No real
  97.     CPU-use) to detect the time-out and to detect the amount of CPU time.
  98.     The client is started when the server reaches the TIMEOUT.  The client
  99.     runs with a low priority. When the server reaches the CLIENTTIMEOUT and
  100.     finds that the client wasn't able to draw anything, the screen
  101.     is blacked out.
  102.  
  103.     In order to reduce the amount of CPU time that the screenblanker
  104.     itself uses, accuracy in the display was sacrificed by only using
  105.     integer mathematics.  The difference in the animation itself is not
  106.     particularly noticeable.
  107.  
  108. VERSION
  109. -------
  110.     To prevent a version war, the originators renamed "ASwarm" "ASwarm
  111.         II".  There are some other versions of xswarm available for the Amiga,
  112.     such as ASwarm, the IPC-Port-Blanker for DMouse, and Swarm. 
  113.  
  114.         To further prevent the version war, I've renamed "ASwarm II"
  115.         "ASwarm III".  There are too many changes to list here, but the most
  116.     important are that the swarm movement routines were rewritten so that
  117.     there are no defined swarms - instead, there are a number of bees and
  118.     a number of wasps, and they form their own swarms naturally - and that
  119.     the user interface on the option panel was significantly improved.
  120.     I've also rewritten much of this manual to reflect the changes that
  121.     I have made as well as to correct mistakes that existed in the original
  122.     document (primarily grammatical and spelling errors, but there were
  123.     also some technical errors and some important information was left out).
  124.  
  125.     As ASwarm can be compiled with either DICE or SAS/C, you can
  126.     detect the Version with "version ASwarm FULL" from the CLI. It will
  127.     show you the compiler used.  The default is SAS/C.
  128.  
  129. STARTING
  130. --------
  131.     ASwarm is a Commodity, therefore it only runs under WB Release
  132.     2.0 (V37.175) and higher. A commodity is normally started in the
  133.     WBStartup drawer so that it will load automatically upon boot-up.
  134.     Just copy ASwarm3 and ASwarm3.info to SYS:WBStartup (or drag its
  135.     icon to the WBStartup drawer).
  136.  
  137.     To get ASwarm started without rebooting, double-click on its icon.
  138.     If the Tool Types aren't yet changed, a window is displayed.
  139.     This is the "option panel" of ASwarm.
  140.  
  141.         ASwarm is now started. After 60 seconds of keyboard, mouse, and other
  142.     input device inactivity, the screen will be blanked.
  143.  
  144.     You can start ASwarm from the CLI or another shell.
  145.  
  146.     For example you can start ASwarm in the S:User-Startup file:
  147.  
  148.         RUN >NIL: <NIL: ASwarm3 CX_POPUP=NO
  149.  
  150.     The arguments for CLI-Start are exactly the same as the ToolTypes
  151.     for the    WB-start.
  152.  
  153. ARGUMENTS
  154. ---------
  155.     As does every good Commodity, ASwarm supports Tool Type entries.
  156.     Click on the ASwarm icon and press Right-Amiga and i to change or
  157.     add a ToolType entry.
  158.  
  159.     In the ToolType list there is (per default) entered:
  160.  
  161.         DONOTWAIT        # Tell WB to not wait on a return
  162.         CX_POPUP=YES        # Display the window when starting
  163.         STARTPRI=-120        # low priority for starting
  164.  
  165.     These ToolTypes are the normal way to give arguments for Commodities
  166.     and pure WB-programs.
  167.  
  168.     Please refer to your AmigaDOS Manual (Section Workbench Programs
  169.     especially chapter The WBStartup Drawer) to get an idea of how
  170.     the ToolType entries work.
  171.  
  172.         TOOL TYPES:
  173.         DONOTWAIT        When started from WBStartup, this lets
  174.                     WB know that it shouldn't wait for 
  175.                     ASwarm to finish (ASwarm keeps running).
  176.  
  177.         STARTPRI=-120        When started from WBStartup, this
  178.                     is the starting prioritiy of ASwarm.
  179.  
  180.         CX_POPKEY=<HotKey>    Please see below for HotKey definitions.
  181.                     CX_POPKEY's HotKey combination opens 
  182.                     the option panel of ASwarm.
  183.  
  184.         CX_POPUP=<YES | NO>    When ASwarm is started, the option
  185.                     panel may be displayed when set to
  186.                     "YES" or *any* other String than "NO".
  187.  
  188.         BLANKKEY=<HotKey>    Please see below for HotKey definitions.
  189.                     BLANKKEY's HotKey combination instantly
  190.                     blanks the screen at any time.
  191.  
  192.         TIMEOUT=<1 - 3600>    This sets the amount of time over which
  193.                     no input events may occur in order for
  194.                     the screen to blank.
  195.  
  196.         CLIENTTIMEOUT=<1 - 6>   This sets the amount of time during
  197.                     which the animation is frozen that will
  198.                     cause the screen to be blacked out.
  199.  
  200.         DISPLAY=<Display Type>    Please see below for the display types.
  201.  
  202.         WASPS=<1 - 20>        The number of wasps (leaders).
  203.  
  204.         BEES=<1 - 100>        The number of bees (followers).
  205.  
  206.                 SPEED=<1-5>        The speed (5 is fastest) of the display
  207.  
  208.         TIGHTNESS=<1 - 11>    The closeness with which the bees
  209.                     chase the wasps.
  210.  
  211.   NOTE: ToolTypes are case-sensitive, so make sure your capitalization
  212.     matches that shown above.
  213.  
  214. HOT KEYS
  215. --------
  216.     Refer to your AmigaDOS Manual ("The Extras Programs/The Commodities
  217.     Drawer") to get a valid list of the available hot keys, the following 
  218.     may be obsolete with a new Commodities.library version:
  219.  
  220.     SYNOPSIS:  [<qualifier> [<qualifier>...]] <key>
  221.  
  222.         Qualifier keywords (Press and hold one or more qualifier)
  223.  
  224.         alt           either Alt key
  225.         ralt          right Alt key
  226.         lalt          left Alt key
  227.         shift         either Shift key
  228.         rshift        right Shift key
  229.         lshift        left Shift key
  230.         capslock      Caps Lock key
  231.         rcommand      right Amiga key
  232.         lcommand      left Amiga key
  233.         control       Control key
  234.         numericpad    Enables the use of a key on the numeric keypad
  235.         rbutton       Click (and hold) the right mouse button
  236.         midbutton     Click (and hold) the middle mouse button
  237.                       (only avail for mice with a connected third button!)
  238.         leftbutton    Click (and hold) the left mouse button
  239.         newprefs      Preferences changed
  240.         diskremoved   Disk removed
  241.         diskinserted  Disk inserted
  242.  
  243.  
  244.         Keys (to be pressed and released, only ONE Key can be chosen)
  245.  
  246.         a .. z, 0 .. 9, etc.   Normal keys
  247.         f1 .. f10              Function keys
  248.         up, down, left, right  Cursor keys
  249.         help                   Help key
  250.         del                    Delete key
  251.         return                 Return key
  252.         enter                  Enter key
  253.                     (MUST be combined with 'numericpad'!)
  254.         backspace              Backspace key
  255.         esc                    Escape key
  256.         space                  Space key
  257.         comma                  Comma key
  258.         upstroke               Upstroke key
  259.  
  260.  
  261.         Examples
  262.  
  263.         lalt ralt enter
  264.         ramiga f10
  265.         alt x
  266.         lalt numericpad enter
  267.  
  268.    NOTE: Choose your hotkeys carefully.  Commodities have a high
  269.      priority in the input events chain and will override existing
  270.      definitions.  Some hotkeys also don't make sense or will collide
  271.      with other tools or functions.
  272.  
  273.    NOTE: The workbench screen will be moved to front when the options panel
  274.      is brought up with the HotKey.
  275.  
  276.    NOTE: When a combination of qualifiers and keys is illegal, ASwarm
  277.      will NOT start (and will NOT display an error-code).
  278.      Example for illegal combinations:
  279.         lalt a b            # Two keys specified
  280.         leftbutton             # No key specified
  281.         control lcommand rcommand    # Reboots the system (oops!)
  282.  
  283.  
  284. EDIT WINDOW
  285. -----------
  286.     When CX_POPUP is set to "YES" and ASwarm is being started, or when
  287.     the HotKey was pressed, the option panel is displayed on the Workbench.
  288.  
  289.     You will see some gadgets and a scrollable list of display modes.
  290.  
  291.     TIMER:        The value for the timeout of the blanker. After this 
  292.             time (in seconds) the blanker will display the swarm.
  293.             TIMER may have a value between between 1 and 3600.
  294.  
  295.     CLIENT TIMEOUT:    The time the server gives to the client for not
  296.             being able to draw anything, after which the screen
  297.             will be blacked out to prevent burn-ins.
  298.  
  299.     TIGHTNESS:    The proximity of the bees to the wasps being chased.
  300.             (the higher the tightness, the closer they chase)
  301.  
  302.     SPEED:        The timeslice to use in calculating the new positions
  303.             of the wasps and bees.  It does not actually affect
  304.             display performance.
  305.  
  306.     WASPS:        The number of wasps (leaders).
  307.  
  308.     BEES:        The number of bees (followers).
  309.  
  310.     HIDE:        (click or press 'h') Hide the window.  ASwarm will
  311.             continue to run and retain the current settings.
  312.  
  313.     BLANK:        (click or press 'b') Blank immediately. All then
  314.             new entered values will be stored and activated.
  315.  
  316.     QUIT:        (click or press 'q') Quit.  ASwarm will be removed
  317.             from memory, losing any changes which you haven't
  318.             added to the tool types.
  319.  
  320.     DISPLAY MODE:    (Please refer to the notes below!) Choose a
  321.             desired Mode for the Display during blank-time.
  322.             Use the scroll-bar to display other available
  323.             modes. This depends on the used system.
  324.  
  325. COMMODITIES EXCHANGE
  326. --------------------
  327.     With the Exchange tool, you can temporarly disable or permanently kill
  328.     ASwarm and other commodities.
  329.  
  330.     Please refer to the AmigaDOS Manual (Section AmigaDOS Reference
  331.     and Workbench Programs) for further information on Exchange.
  332.  
  333. DISPLAY MODES
  334. -------------
  335.     Please have care here!  We are *not* responsible for *any* user errors.
  336.     The given list depends on the system used.
  337.  
  338.     All newer Amigas, such as A500+ and A3000 have the ECS Denise
  339.     for extended Screen Modes (Not all Amigas with Kick 2.0 on ROM
  340.     have a ECS Denise.).  Of course, you can start the desired
  341.     Modes, but not all modes are available on all monitors!
  342.  
  343.     Please refer to the manual of your monitor and to the AmigaDOS
  344.     manual (Section Workbench Programs, AddMonitor) for more
  345.     information.
  346.  
  347.     Why?  Simply because you can *destroy* your Monitor!
  348.  
  349.     The following are the standard display modes:
  350.  
  351.     NTSC or Multiscanning display required
  352.     --------------------------------------
  353.         NTSC:Lores
  354.         NTSC:Hires
  355.         NTSC:SuperHires
  356.         NTSC:Lores-Interlaced
  357.         NTSC:Hires-Interlaced
  358.         NTSC:SuperHires-Interlaced
  359.  
  360.     PAL or Multiscanning display required
  361.     -------------------------------------
  362.         PAL:Lores
  363.         PAL:Hires
  364.         PAL:SuperHires
  365.         PAL:Lores-Interlaced
  366.         PAL:Hires-Interlaced
  367.         PAL:SuperHires-Interlaced
  368.  
  369.     Multiscanning display required
  370.     -------------------------------
  371.         VGA-ExtraLores
  372.         VGA-ExtraLores-Interlaced
  373.         VGA-Lores
  374.         VGA-Lores-Interlaced
  375.         Productivity
  376.         Productivity-Interlaced
  377.  
  378.     A2024 or multiscanning display required
  379.     ---------------------------------------
  380.         A2024_10Hz
  381.         A2024_15Hz
  382.  
  383.     Overscan is used in all modes.  You can adjust your overscan-size
  384.     with the ScreenMode preference tool.
  385.  
  386.   NOTE:    Do not use VGA modes on a non-multiscanning or non-VGA-Monitor
  387.     Do not even test modes if you aren't sure about your monitor's
  388.     capabilities.
  389.  
  390.   NOTE: Productivity mode will provide the smoothest animation of any of the
  391.     modes, as it is high-resolution and non-interlaced.
  392.  
  393. COMMON PROBLEMS
  394. ---------------
  395.     -  ASwarm does not run if Workbench wasn't started because it needs
  396.        the Mode Names to be installed. This normally done by an Icon
  397.        called "Mode_Names" placed in the WBStartup directory.
  398.        You will have to setup these manually with "BindMonitor" if you
  399.        don't use the Workbench.
  400.  
  401.     -  If you're running ARQ 1.6 or below, try the following: 
  402.  
  403.        Change the timeout to a low value (eg 5 seconds), then type in
  404.        the CLI: wait 10 <RETURN>      (do not wait for the prompt)
  405.                 dir bafasel: <RETURN> (device blafasel: nonexisting)
  406.  
  407.        ASwarm will blank as usual, but then ARQ pops up a requestor
  408.        ON the ASwarm-Screen!  You can't close the Screen until you click
  409.        on "Abort", and ASwarm can't blank the screen anymore, either!
  410.        (Its CloseScreen() Command waits for the succesful return...)
  411.  
  412.        This is a bug in ARQ!  It's dangerous in some cases, and may
  413.        burn the image of the requestor into the display.  Martin Laubach,
  414.        the author of ARQ, is being contacted.
  415.  
  416.     -  You are running a C-Compiler or a raytracer.  ASwarm goes
  417.        blank and doesn't show the swarm, but during disk access the
  418.        swarm comes up for a while.
  419.  
  420.        This is not a bug, this is a feature of ASwarm!  This is
  421.        the way ASwarm blanks when the system is under high CPU load.
  422.        Since CPU usage during disk access is generally low, it may start
  423.        the animation again during these times.
  424.  
  425.     -  Collision with other Blankers.  You may run as many blankers as you
  426.        want, such as Dmouse, Spliner, and FracBlanc.  ASwarm always tries
  427.        to move its screen to front when it detects that it's behind another.
  428.  
  429.     -  When a disk is inserted, ASwarm "unblanks".  This is normal. 
  430.        Disk-replacement is detected as an input event. As all input events
  431.        disable the blanker, this one does as well.
  432.  
  433.     -  ASwarm doesn't start, though it's been placed in WBStartup.
  434.        There are two reasons why this might happen.  First, make sure that
  435.        ASwarm's STARTPRI ToolType value is negative.  This is to insure
  436.        that the Workbench runs ASwarm after having run Mode_Names, which
  437.        has no STARTPRI ToolType and therefore defaults to 0.
  438.  
  439.        Another possibility is that an illegal combination of hot keys was
  440.        used.  Enter new ones with the CX_POPKEY and BLANKKEY ToolTypes, and
  441.        be sure to test them.
  442.  
  443.     -  ASwarm displays the window though the Tool Type CX_POPUP is
  444.        set to 'NO'. This happens when ASwarm is started when it's already
  445.        running.
  446.  
  447.     -  ASwarm makes a noise when it blanks the screen. This may happen
  448.            when a display mode is chosen for the blanker that is different
  449.        from the one currently on-screen.  It's perfectly normal and is
  450.        no danger.
  451.  
  452.     -  ASwarm makes flickers on the monitor when it blanks the screen.
  453.        This happen when ASwarm blanks to a PAL screen, but the screen it
  454.        cleared was NTSC (or vice-versa). The monitor needs a bit of time
  455.        to synchronize.  Again, nothing dangerous.
  456.  
  457. MY CREDITS
  458. ----------
  459.     Markus Illenseer and Matthias Scheler for not only porting a most
  460.     excellent program to AmigaDOS and doing a nice job of it, but
  461.     also for giving me the source code to muck with.  Thanks a lot!
  462.  
  463.     Chris Fury, Paul Miller and others for beta-testing ASwarm III.
  464.  
  465.     ARUS, The Amiga User Group at Virginia Tech, for 2.0 support.
  466.  
  467.     Windex window-washing liquid, for having such a funny name that happens
  468.     to also abbreviate "Wasp Index".
  469.  
  470.     Douglas Adams, for the Hitchhiker's Guide.  I would have been lost
  471.     without it (some would argue that I'm lost anyway).
  472.  
  473. THEIR CREDITS (syntax edited, semantics intact)
  474. -------------
  475.     Jeff Buterworth for his xswarm routine available for X11.
  476.  
  477.     Matt Dillon for Dice. So we could make ASwarm be compilable with
  478.     the most common low-cost C-Compiler.
  479.  
  480.     SAS-C group for well done work. As yet the SAS version of ASwarm
  481.     is faster and shorter...
  482.  
  483.     IRC-guys in Oulu to make world-wide communication easy and to be
  484.     able to chat about programmings ideas. (...and schlamm bugs!)
  485.  
  486.     AUGUP, Amiga Group of Uni Paderborn, for their beta-testings.
  487.  
  488.     Commodore Amiga group for this great system. Hope to see some
  489.     great new stuff this year!
  490.  
  491.     Dire Straits for the background music.
  492.