home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 607.lha / ASwarmII_v1.0 / ASwarm.doc.pp / ASwarm.doc
Encoding:
Text File  |  1992-01-25  |  16.6 KB  |  471 lines

  1.         ASwarm II V1.0 - Manual
  2.  
  3.  
  4. NAME
  5.     SYS:WBStartup/ASwarm
  6.  
  7. SYNOPSIS
  8.     ASwarm    CX_POPKEY=<Hot Key>
  9.         CX_POPUP=<YES | NO>
  10.         TIMEOUT=<1 - 3600>
  11.         CLIENTTIMEOUT=<1 - 60>
  12.         DISPLAY=<Display Type>
  13.         SWARMS=<1 - 10>
  14.         BEES=<1 - 100>
  15.  
  16. DESCRIPTION
  17.  
  18.     Screenblanker with high security, does not burn in the graphic
  19.     into the screen. Is funny to watch. Runs only under Release 2.0
  20.     of Workbench.
  21.  
  22. SOURCE
  23.     The source code is included, it can be compiled with SAS/C 5.10a or
  24.     with Dice V2.06.37 (registered version only) (or newer).
  25.  
  26. TODO
  27.     Further testing on many different Amiga systems and many
  28.     configurations.
  29.  
  30. COPYRIGHT
  31.     ASwarm is free to be spread on public-domain and shareware disks, as
  32.     long as they are sold for a reasonable charge that is less than $6 or
  33.     DM 8,-. For use in commercial products the permission of the author is
  34.     required.
  35.     ASwarm may be copied and distributed via electronic networks such
  36.     as the Internet, also it may be moved on anonymous ftp-servers,
  37.     mail-boxes or BBS's.
  38.  
  39. AUTHOR & SUPPORT
  40.     Markus Illenseer            # Graphic routines
  41.     Große Kurfürstenstraße 1        # Documentation
  42.     D-4800 Bielefeld 1            # Dice Support
  43.     Germany
  44.     INTERNET: markus@techfak.uni-bielefeld.de
  45.     IRC: ill
  46.  
  47.     Matthias Scheler            # Server-Client modell
  48.     Alter Milchhof 10            # Source
  49.     D-4400 Münster                # SAS/C Support
  50.     Germany
  51.     INTERNET: tron@uni-paderborn.de
  52.     IRC: Tron
  53.  
  54.     SUPPORT FTP ADDRESS:
  55.     ftp.uni-paderborn.de (131.234.2.32) anonymous access.
  56.  
  57.     Please first refer to 'KNOWN PROBLEMS' below, before you contact
  58.     us for a Bug-report, any comment is welcomed.
  59.  
  60. PURPOSE & THEORY
  61.     ASwarm is a screenblanker. The graphic during blanking phase is based
  62.     upon Jeff Buterworth's 'xswarm' for X11-Windows.
  63.  
  64.     A screenblankers goal should be to blank (disable) the screenoutput
  65.     and to prevent burning in pixels or ghosted pictures on    the Monitor.
  66.  
  67.     As it is boring just to disable the screen, and as the Amiga can
  68.     handle multitasking, we could also draw some funny stuff while blanking
  69.     the screen. Only problem is that, when we draw something, we must take
  70.     care that our drawing doesn't itself burns into the monitor.
  71.  
  72.     This usually happens, when the screenblanker has not enough time
  73.     to draw, so the graphics rest on the same place. When the
  74.     screenblanker has not enough Cpu-time, it's because there is another
  75.     cpu-greedy programm, such as a raytracer or C-compiler.
  76.  
  77.     Well, as the screenblanker isn't important for the user, we found
  78.     a way to manage both cases: Screenblanker has Cpu-Time or not.
  79.     When he has Cpu-Time, the blanker draws the funny graphics, when
  80.     he hasn't, the screenblanker-draw routine is disabled and the screen is
  81.     really blanked (black) until he gains back Cpu-Time.
  82.  
  83.     This is done with a simple server-client modell. The server runs
  84.     with a normal priority, but just has a WaitPort()-loop (No real
  85.     Cpu-use !) to detect the time-out and to detect the amount of Cpu-time.
  86.     The client is started when the server reached the TIMEOUT, the client
  87.     runs with a low priority. When the server reached the CLIENTTIMEOUT and
  88.     remarks that the client wasn't able to draw anything, then the screen
  89.     is really blanked.
  90.  
  91. VERSION
  92.     To prevent a Version War, we renamed ASwarm to ASwarm II .
  93.     There are some other versions of ASwarm or Swarm available, such
  94.     as ASwarm as IPC-Port-Blanker for DMouse, written by
  95.     Markus Illenseer (written in KickPascal, available with Source
  96.     on demand), or Swarm by Nescum (sorry, dunno his real name), with
  97.     assembler subroutines for the drawing, unfortunately not with the
  98.     multiple-swarm option, and not based on the original routines.
  99.  
  100.     As ASwarm can be compiled with DICE _and_ (or) SAS/C, you can
  101.     detect the Version with: (CLI) Version ASwarm FULL
  102.     It will show you the used compiler. Default is SAS/C.
  103.     Also the size of the binary should differ:
  104.         11960 Bytes for the DICE version.
  105.         9860  Bytes for the SAS-C version.
  106.  
  107. STARTING
  108.     ASwarm is a Commodity, therefore it _only_ runs under WB Release
  109.     2.0 (V37.175) and higher. A Commodity is normally started in the
  110.     WBStartup-drawer. So it will be automatically started on the WB-start
  111.     (loadwb, usually in the startup-sequence).
  112.     So, just copy ASwarm and ASwarm.info to SYS:WBStartup.
  113.  
  114.     To get ASwarm started without rebooting now, double-click the icon.
  115.     If the Tool Types aren't yet changed, a window shows up.
  116.     This is the 'Edit-window' of ASwarm.
  117.  
  118.     Now click on the Gadget 'Hide' or the 'Close-Gadget' to close
  119.     the window.
  120.  
  121.         ASwarm is now started. After 60 seconds the screen will be
  122.     blanked, of course only when the user doesn't touch the keyboard or
  123.     the mouse.
  124.  
  125.     You can start ASwarm from the CLI or another Shell.
  126.     For example you can start ASwarm in the S:User-Startup:
  127.         RUN >NIL: <NIL: ASwarm CX_POPUP=NO
  128.  
  129.     The arguments for CLI-Start are exactly the same as the Tool Types
  130.     for the    WB-start.
  131.  
  132. ARGUMENTS
  133.     As every good Commodity, ASwarm supports Tool Type entries.
  134.     Click the ASwarm.info and press Right-Amiga and i to change or
  135.     add a Tool Type entry.
  136.  
  137.     In the Tool Type list there is (per default) entered:
  138.  
  139.         DONOTWAIT        # Tell WB to not wait on a return
  140.         CX_POPUP=YES        # Show up the window when starting
  141.         STARTPRI=-120        # low priority for starting
  142.  
  143.     These Tool Types are the normal way to give arguments for Commodities
  144.     and pure WB-programms.
  145.     Please refer also to your AmigaDOS Manual (Section Workbench Programms
  146.     especially chapter The WBStartup Drawer) to get an idea of the Tool
  147.     Types entries.
  148.  
  149.         TOOL TYPES:
  150.         DONOTWAIT        When started from WBStartup, let
  151.                     WB know that it doesn't have to wait
  152.                     for ASwarm.
  153.  
  154.         STARTPRI=-120        When started from WBStartup, this
  155.                     is the starting prioritiy of ASwarm.
  156.  
  157.         CX_POPKEY=<Hotkey>    Please see below for the Hotkeys.
  158.                     The hotkey opens the Edit-Window
  159.                     of ASwarm.
  160.  
  161.         CX_POPUP=<YES | NO>    When ASwarm is started, the Edit-
  162.                     Window may show up when set to
  163.                     'YES' or any (!) other String
  164.                     than 'NO'.
  165.  
  166.         TIMEOUT=<1 - 3600>    This is the timeout counter in
  167.                     seconds. During this time NO input
  168.                     from the user must recognize in order
  169.                     to start the blanker. Usual time is
  170.                     about 60 secs.
  171.  
  172.         CLIENTTIMEOUT=<1 - 6>   After this time, the server
  173.                     disables the screen, he has then
  174.                     remarked that the client can't draw
  175.                     anything due of Cpu-time. Usual
  176.                     time is about 5 secs.
  177.  
  178.         DISPLAY=<Display Type>    Please see below for the Display Types.
  179.                     Here you can change the size of the
  180.                     screen on which ASwarms draws.
  181.  
  182.         SWARMS=<1 - 10>        The number of drawn swarms.
  183.  
  184.         BEES=<1 - 100>        The number of bees of each swarm.
  185.  
  186.     NOTE:
  187.         Please remark that the Tool Types are case-sensitive.
  188.  
  189.  
  190.  
  191. HOT KEYS
  192.     Refer to your AmigaDOS Manual (Section The Extras Programs,
  193.     The Commodities Drawer) to get a valid list of the available hot
  194.     keys, the following may obsolete on a new Commodities.library
  195.     version.
  196.  
  197.  
  198.     SYPNOSIS:  [<qualifier> [<qualifier>...]] <key>
  199.  
  200.         Qualifier keywords (Press and hold one or more qualifier)
  201.  
  202.         alt           either Alt key
  203.         ralt          right Alt key
  204.         lalt          left Alt key
  205.         shift         either Shift key
  206.         rshift        right Shift key
  207.         lshift        left Shift key
  208.         capslock      Caps Lock key
  209.         rcommand      right Amiga key
  210.         lcommand      left Amiga key
  211.         control       Control key
  212.         numericpad    Enables the use of a key on the numeric keypad
  213.         rbutton       Click (and hold) the right mouse button
  214.         midbutton     Click (and hold) the middle mouse button
  215.                       (only avail for mice with a connected third button!)
  216.         leftbutton    Click (and hold) the left mouse button
  217.         newprefs      Preferences changed
  218.         diskremoved   Disk removed
  219.         diskinserted  Disk inserted
  220.  
  221.  
  222.         Keys (to be pressed and released, only ONE Key can be chosen)
  223.  
  224.         a .. z, 0 .. 9, etc.   Normal keys
  225.         f1 .. f10              Function keys
  226.         up, down, left, right  Cursor keys
  227.         help                   Help key
  228.         del                    Delete key
  229.         return                 Return key
  230.         enter                  Enter key
  231.                     (MUST be combined with 'numericpad'!)
  232.         backspace              Backspace key
  233.         esc                    Escape key
  234.         space                  Space key
  235.         comma                  Comma key
  236.         upstroke               Upstroke key
  237.  
  238.  
  239.         Examples
  240.  
  241.         lalt ralt enter
  242.         ramiga f10
  243.         alt x
  244.         lalt numericpad enter
  245.  
  246.  
  247.    NOTE: Choose your hotkeys CAREFULLY, because Commodities have a high
  248.      priority in the input events chain (i.e. will override existing
  249.      definitions). Also some hotkeys don't make sense or do collide
  250.      with other tools or functions of the WB.
  251.  
  252.    NOTE: The Workbench screen will be moved to front before starting the tool
  253.      via HotKey.
  254.  
  255.    NOTE: When a combination of qualifiers and keys is illegal, ASwarm
  256.      will NOT start (and will NOT show up an error-code).
  257.      Example for illegal combinations:
  258.         lalt a b            # Two keys specified
  259.         control rcommand lcommand    # trivial :-)
  260.         leftbutton             # No key specified
  261.  
  262.  
  263. EDIT WINDOW
  264.     When the CX_POPUP is set to 'YES' and ASwarm is being started or when
  265.     the hot key was pressed, a window shows up on the Workbench.
  266.     Normally, the workbench is moved to the front.
  267.  
  268.     We've tested ASwarm's Edit Window under many circumstances,
  269.     please give us a short note when you have a problem with it.
  270.  
  271.     You will see some Gadgets and a Scroll-List. In the Titlebar of
  272.     the window you'll see the hot key definition (may not complete).
  273.  
  274.     The values inside the Text-Gadgets are via default set to the
  275.     supplied Arguments in the Tool Types or CLI-Parameters.
  276.     On a wrong Enter, the value will be reset to the old value.
  277.  
  278.     TIMER:        The speciefied value for the timeout of the
  279.             blanker. After this time (in seconds) the ASwarm
  280.             shows up. Value may between 1 and 3600.
  281.  
  282.     CLIENT TIMEOUT:    The time the server gives to the client for not
  283.             being able to draw anything, then the screen will
  284.             be blanked really to prevent burn-ins.
  285.  
  286.     SWARMS:        The number of the flying swarms.
  287.  
  288.     BEES PER SWARM:    The number of the bees of each swarm.
  289.  
  290.     HIDE:        (click or press 'h') Hide the window. All then new
  291.             entered values will be stored and acivated on the
  292.             next blank.
  293.  
  294.     BLANK:        (click or press 'b') Blank immediately. All then
  295.             new entered values will be stored and activated.
  296.  
  297.     QUIT:        (click or press 'q')
  298.  
  299.     DISPLAY MODE:    (Please refer to the notes below!) Choose a
  300.             desired Mode for the Display during blank-time.
  301.             Use the scroll-bar to show up other available
  302.             modes. This depends on the used system.
  303.  
  304. COMMODITIES EXCHANGE
  305.     With the Exchange Tool, you can temporarly stop ASwarm with
  306.     DISABLE, restart it with ENABLE, remove ASwarm with KILL (as would do
  307.     a Quit in the Edit-Window), SHOW up the Edit-Window, and HIDE the
  308.     Edit-Window.
  309.  
  310.     The Exchange Tool is a comfort way to remove or dis/enable
  311.     ASwarm.
  312.  
  313.     Please refer to the AmigaDOS Manual (Section AmigaDOS Reference
  314.     and Workbench Programms) for further docs on Exhange Tool.
  315.  
  316.  
  317.  
  318. DISPLAY MODES
  319.     Please, please, please have care here !!!! We are NOT responsible
  320.     for ANY user-error. The given list depends on the used System.
  321.     All newer Amigas, such as A500+ , A3000 do have the ECS Denise
  322.     for extended Screen Modes (Not all Amiga's with Kick 2.0 on ROM
  323.     do have a ECS Denise..). Of course you can start the desired
  324.     Modes, but not all modes are available on all MONITORS !
  325.     Please do refer to your Manual of the Monitor and to the AmigaDOS
  326.     Manual (Section Workbench Programms, AddMonitor) for more
  327.     informations.
  328.  
  329.     Why ? Simply because you can DESTROY your Monitor!
  330.  
  331.         Here is a list of the (normally given) ECS Display Modes:
  332.  
  333.         NTSC:Lores
  334.         NTSC:Hires
  335.         NTSC:SuperHires
  336.         NTSC:Lores-Interlaced
  337.         NTSC:Hires-Interlaced
  338.         NTSC:SuperHires-Interlaced
  339.         PAL:Lores
  340.         PAL:Hires
  341.         PAL:SuperHires            # My preferred Mode
  342.         PAL:Lores-Interlaced
  343.         PAL:Hires-Interlaced
  344.         PAL:SuperHires-Interlaced
  345.         VGA-ExtraLores                  # -
  346.         VGA-ExtraLores-Interlaced    #
  347.         VGA-Lores                       #
  348.         VGA-Lores-Interlaced            #   Multiscan Monitor needed
  349.         Productivity                    #
  350.         Productivity-Interlaced         # -
  351.         A2024_10Hz                      #
  352.         A2024_15Hz                      #   A2024 needed.
  353.  
  354.     Overscan is used for all modes, adjust your Overscan-size with
  355.     the ScreenMode Preference Tool.
  356.  
  357.     NOTE:
  358.          DON'T use VGA-Modes on a NON-Multisync or NON-VGA-Monitor
  359.          DON'T even test Modes if you aren't sure about your
  360.          Monitor-capacibilities.
  361.  
  362.     As the original XSwarm runs on a X11-Workstation, and as those
  363.     ones have high graphics resolutions, I prefer Superhires, as
  364.     this Mode comes    near to them.
  365.  
  366. KNOWN PROBLEMS
  367.     We do know of some problems and strange behaviours, some of them
  368.     aren't strange anymore, when you read this:
  369.  
  370.     -  ASwarm does not run if Workbench wasn't started because it needs
  371.        the Mode Names to be installed. This normally done by an Icon
  372.        called "Mode_Names" placed in the WBStartup directory.
  373.        You will have to setup these manually with "BindMonitor" if you
  374.        don't use the Workbench.
  375.  
  376.     -  Are your running ARQ 1.66 or below ?
  377.        (A replacement Tool for the system requestors).
  378.        Then you may try this:
  379.  
  380.        Change the timeout to a low value, e.g. 5 secs, then type in
  381.        the CLI: wait 10 <RETURN>      (do not wait for the prompt)
  382.                 dir bafasel: <RETURN> (device blafasel: nonexisting)
  383.  
  384.        ASwarm will blank as usual, but then ARQ pops up a requestor
  385.        ON the ASwarm-Screen !! You can't close the Screen until you
  386.        click on 'Abort'. And ASwarm can't blank the screen either
  387.        anymore ! (It's CloseScreen() Command waits for the succesfull
  388.        return...)
  389.  
  390.        This is a BUG in ARQ ! It's dangerous in some cases. It may
  391.        burn in the requestor... (Martin Laubach, author of ARQ is
  392.        being contacted..)
  393.  
  394.     -  You are running a C-Compiler or a raytracer. ASwarm goes
  395.        blank, but doesn't show any swarm, and during disk-access ASwarm
  396.        comes up for a while.
  397.  
  398.        This is not a Bug, this is the FEATURE of ASwarm !! This is
  399.        the way ASwarm blanks when high Cpu-use happens on the startup.
  400.        And during disk-access the Cpu-time is usually less, so ASwarm
  401.        may find time to draw something.
  402.  
  403.     -  Collision with other Blankers. Well, in fact you can run as
  404.        many Blankers as you want. Such as Dmouse, Spliner, FracBlanc.
  405.            ASwarm does always try to move it's screen to front, when it
  406.        detects to be behind some other screens.
  407.  
  408.     -  When a disk is inserted, ASwarm closes the screen (dis-blanks).
  409.        This is normal. Disk-replacement is detected as an input
  410.        Event. As all input events shall disable the Blanker this one
  411.        should, too.
  412.  
  413.     -  ASwarm doesn't start, though it's been placed in WBStartup.
  414.        Well, this happens when a wrong combination of hot keys was
  415.        used. Please try to enter a new one. Test the hot key !
  416.  
  417.     -  ASwarm shows up the window though the Tool Type CX_POPUP is
  418.        set to 'NO'. This happens when ASwarm is started twice.
  419.        (Double-click (or call from CLI) = start, another double-click
  420.         (or call from CLI) opens the window)
  421.  
  422.     -  ASwarm is damn slow. Huh .. sorry :-) The Authors have fast
  423.        machines.. Try to reduce the swarm-size (BEES) and the amount
  424.        of swarms. Or use another, less big screen.
  425.  
  426.     -  ASwarm makes noice when it blanks the screen. This may happen
  427.            when a Display Mode is choosen, which is not of the size of
  428.        the since then active screen. Nothing dangerous.
  429.  
  430.     -  ASwarm makes flickers on the Monitor when it blanks the Screen.
  431.        This happen when ASwarm blanks on a PAL-Screen, but the since
  432.        then or then active Screen is or was NTSC. (Or vice versa)
  433.        The Monitor needs a bit time to synchronize again. Nothing
  434.        dangerous.
  435.  
  436. CREDITS:
  437.     Jeff Buterworth for his xswarm routine available for
  438.     X11-Workstations as a xlock mode or a stand-alone program.
  439.  
  440.     Matt Dillon for Dice. So we could make ASwarm be compilable in
  441.     the most common low-cost C-Compiler. (Only registered version)
  442.     Ah, yes. Greetings to Stefan Becker! :-)
  443.  
  444.     SAS-C group for well done work. As yet the SAS version of ASwarm
  445.     is faster and shorter...
  446.  
  447.     Maybe we should try to give support for other C-Compiler, i'll
  448.     try C++ (yet in Beta-State) ..
  449.  
  450.     IRC-guys in Oulu to make world-wide communication easy and to be
  451.     able to chat about programmings ideas. (And Schlamm-Bugs :-)
  452.  
  453.     AUGUP, Amiga Group of Uni Paderborn, for their testings.
  454.     (ASwarm wasn't very long in Beta-state)
  455.  
  456.     Fred Fish, Mr. Public Domain, hope you like this enough to place
  457.     it onto one of your new 'Fishes'. Permission herebye given.
  458.     (Grmbl.. We're on FF580 and i still have no streamer device :^)
  459.  
  460.     Commodore Amiga group for this great system. Hope to see some
  461.     great new stuff this year ! (I'm already collecting my bucks..)
  462.  
  463.     Dire Straits for the background music :-)
  464.  
  465. FINAL
  466.     Ever seen 'After Dark' ?
  467.     Combine several screenblankers on the SAME screen (Warp, Spliner,
  468.     ASwarm on the same screen :-) Change the graphic routine and the
  469.     so given blanker via random or time-table.
  470.     We want to work on this... I have MANY ideas for screenblankers.
  471.