home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
616.lha
/
ASwarmII_v1.1
/
ASwarm.doc.pp
/
ASwarm.doc
Wrap
Text File
|
1992-03-01
|
19KB
|
513 lines
ASwarm II V1.1 - Manual
NAME
SYS:WBStartup/ASwarm
SYNOPSIS
ASwarm CX_POPKEY=<Hot Key>
CX_POPUP=<YES | NO>
TIMEOUT=<1 - 3600>
CLIENTTIMEOUT=<1 - 60>
DISPLAY=<Display Type>
WASPS=<1 - 10>
BEES=<1 - 500>
CYCLE=<YES | NO>
AIM=<YES | NO>
SPEED=<1 -4>
DESCRIPTION
Screenblanker with high security, does not burn in the graphic
into the screen. Is funny to watch. Runs only under Release 2.0
of Workbench.
SOURCE
The source code is included, it can be compiled with SAC/S 5.10a or
with Dice V2.06.37 (registered version only) (or newer).
COPYRIGHT
ASwarm is free to be spread on public-domain and shareware disks, as
long as they are sold for a reasonable charge that is less than $6 or
DM 8,-. For use in commercial products the permission of the author is
required.
ASwarm may be copied and distributed via electronic networks such
as the Internet, also it may be moved on anonymous ftp-servers,
mail-boxes or BBS's.
AUTHOR & SUPPORT
Markus Illenseer # Graphic routines
Große Kurfürstenstraße 1 # Documentation
D-4800 Bielefeld 1 # Dice Support
Germany
INTERNET: markus@techfak.uni-bielefeld.de
ZERBERUS: markus%techfak.uni-bielefeld.de@uucp.zer
IRC: ill
Matthias Scheler # Server-Client modell
Alter Milchhof 10 # Source
D-4400 Münster # SAS/C Support
Germany
INTERNET: tron@uni-paderborn.de
ZERBERUS: tron%uni-paderborn.de@uucp.zer
IRC: Tron
SUPPORT FTP ADDRESS:
ftp.uni-paderborn.de (131.234.2.32) anonymous access.
Please first refer to 'KNOWN PROBLEMS' below, before you contact
us for a Bug-report, any comment is welcomed.
CHANGES
For those who already know ASwarm II V1.0 just the changing points.
ASwarm II V1.1 has these new features:
AIM - Mode added. Now the bees search for the nearest Wasp.
CYCLE - Colorcycling of the bees can be disabled now.
SPEED - 5 Speed modi added.
WASPS formerly SWARMS, both Tool Types are accepted.
There are no Swarms in the AIM mode and the Number of bees
is been divided to the wasps.
BEES - Now contains the COMPLETE Number of Bees.
HOT KEY - If wrong, ASwarm shows that as '<NONE>' in the Edit-Window.
Speed improvement. New Gfx-Routines. Proper Messagehandling.
Smaller Code. New Docs.
PURPOSE & THEORY
ASwarm is a screenblanker. The graphic during blanking phase is based
upon Jeff Buterworth's 'XSwarm' for X11-Windows.
A screenblankers goal should be to blank (disable) the screenoutput
and to prevent burning in pixels or ghosted pictures on the Monitor.
As it is boring just to disable the screen, and as the Amiga can
handle multitasking, we could also draw some funny stuff while blanking
the screen. Only problem is that, when we draw something, we must take
care that our drawing doesn't itself burns into the monitor.
This usually happens, when the screenblanker has not enough time
to draw, so the graphics rest on the same place. When the
screenblanker has not enough Cpu-time, it's because there is another
cpu-greedy programm, such as a raytracer or C-compiler.
Well, as the screenblanker isn't important for the user, we found
a way to manage both cases: Screenblanker has Cpu-Time or not.
When he has Cpu-Time, the blanker draws the funny graphics, when
he hasn't, the screenblanker-draw routine is disabled and the screen is
really blanked (black) until he gains back Cpu-Time.
This is done with a simple server-client modell. The server runs
with a normal priority, but just has a WaitPort()-loop (No real
Cpu-use !) to detect the time-out and to detect the amount of Cpu-time.
The client is started when the server reached the TIMEOUT, the client
runs with a low priority. When the server reached the CLIENTTIMEOUT and
remarks that the client wasn't able to draw anything, then the screen
is really blanked.
There was a discussion on comp.sys.amiga.misc for Screenblankers,
at all, i found that ASwarm completely fits on the demanded Features
and Requirements.
VERSION
To prevent a Version War, we renamed ASwarm to ASwarm II .
There are some other versions of ASwarm or Swarm available, such
as ASwarm as IPC-Port-Blanker for DMouse, written by
Markus Illenseer (written in KickPascal, available with Source
on demand), or Swarm by Nescum (sorry, dunno his real name), with
assembler subroutines for the drawing, unfortunately not with the
multiple-swarm option, and not based on the original routines.
As ASwarm can be compiled with DICE _and_ (or) SAS/C, you can
detect the Version with: (CLI) Version ASwarm full
It will show you the used compiler. Default is SAC/S.
Also the size of the binary should differ:
13176 Bytes for the DICE version.
10808 Bytes for the SAS/C version.
STARTING
ASwarm is a COMMODITY, therefore it _only_ runs under WB Release
2.0 (V37.175) and higher. A Commodity is normally started in the
WBStartup-drawer. So it will be automatically started on the WB-start
(LoadWB, usually in the startup-sequence).
So, just copy ASwarm and ASwarm.info to SYS:WBStartup.
To get ASwarm started without rebooting now, double-click the icon.
If the Tool Types aren't yet changed, a window shows up.
This is the 'Edit-window' of ASwarm.
Now click on the Gadget 'Hide' or the 'Close-Gadget' to close
the window.
ASwarm is now started. After 60 seconds the screen will be
blanked, of course only when the user doesn't touch the keyboard or
the mouse.
You can start ASwarm from the CLI or another Shell.
For example you can start ASwarm in the S:User-Startup:
RUN >NIL: <NIL: ASwarm CX_POPUP=NO
The arguments for CLI-Start are exactly the same as the Tool Types
for the WB-start.
ARGUMENTS
As every good Commodity, ASwarm supports Tool Type entries.
Click the ASwarm.info and press Right-Amiga and i to change or
add a Tool Type entry.
In the Tool Type list there is (per default) entered:
CX_POPUP=YES # Show up the window when starting
DONOTWAIT # Tell WB to not wait on a return
STARTPRI=-120 # low priority for starting
These Tool Types are the normal way to give arguments for Commodities
and pure WB-programms.
Please refer also to your AmigaDOS Manual (Section Workbench Programms
especially chapter The WBStartup Drawer) to get an idea of the Tool
Types entries.
TOOL TYPES
DONOTWAIT When started from WBStartup, let
WB know that it doesn't have to wait
for ASwarm.
STARTPRI=-120 When started from WBStartup, this
is the starting prioritiy of ASwarm.
CX_POPKEY=<Hot Key> Please see below for the Hotkeys.
The hotkey opens the Edit-Window
of ASwarm.
CX_POPUP=<YES | NO> When ASwarm is started, the Edit-
Window may show up when set to
'YES' or any (!) other String
than 'NO'.
TIMEOUT=<1 - 3600> This is the timeout counter in
seconds. During this time NO input
from the user must recognize in order
to start the blanker. Usual time is
about 60 secs.
CLIENTTIMEOUT=<1 - 6> After this time, the server
disables the screen, he has then
remarked that the client can't draw
anything due of Cpu-time. Usual
time is about 5 secs.
DISPLAY=<Display Type> Please see below for the Display Types.
Here you can change the size of the
screen on which ASwarms draws.
WASPS=<1 - 10> The number of drawn Wasps.
BEES=<1 - 500> The number of bees.
AIM=<YES | NO> Search-the-nearest-Wasp mode enabeld.
SPEED=<1 - 4> Slow down ASwarm. 4 is maximum speed.
CYLCE=<YES | NO> Disable the Colorcycling of the bees.
HOT KEYS:
Refer to your AmigaDOS Manual (Section The Extras Programs,
The Commodities Drawer) to get a valid list of the available hot
keys, the following may obsolete on a new "commodities.library"
version.
SYPNOSIS: [<qualifier> [<qualifier>...]] <key>
Qualifier keywords (Press and hold one or more qualifier)
alt either Alt key
ralt right Alt key
lalt left Alt key
shift either Shift key
rshift right Shift key
lshift left Shift key
capslock Caps Lock key
rcommand right Amiga key
lcommand left Amiga key
control Control key
numericpad Enables the use of a key on the numeric keypad
rbutton Click (and hold) the right mouse button
midbutton Click (and hold) the middle mouse button
(only avail for mice with a connected third button!)
leftbutton Click (and hold) the left mouse button
newprefs Preferences changed
diskremoved Disk removed
diskinserted Disk inserted
Keys (to be pressed and released, only ONE Key can be chosen)
a .. z, 0 .. 9, etc. Normal keys
f1 .. f10 Function keys
up, down, left, right Cursor keys
help Help key
del Delete key
return Return key
enter Enter key
(MUST be combined with 'numericpad'!)
backspace Backspace key
esc Escape key
space Space key
comma Comma key
upstroke Upstroke key
Examples
lalt ralt return
rcommand f10
alt x
lalt numericpad enter
NOTE: Choose your hotkeys CAREFULLY, because Commodities have a high
priority in the input events chain (i.e. will override existing
definitions). Also some hotkeys don't make sense or do collide
with other tools or functions of the WB.
NOTE: The Workbench screen will be moved to front before starting the tool
via HotKey.
NOTE: When a combination of qualifiers and keys is illegal, ASwarm
will start, but the Hot Key won't work.
Example for illegal combinations:
lalt a b # Two keys specified
control rcommand lcommand # trivial :-)
lbutton # No key specified
EDIT WINDOW
When the CX_POPUP is set to 'YES' and ASwarm is being started or when
the hot key was pressed, a window shows up on the Workbench.
Normally, the workbench is moved to the front.
We've tested ASwarm's Edit Window under many circumstances,
please give us a short note when you have a problem with it.
You will see some Gadgets and a Scroll-List. In the Titlebar of
the window you'll see the hot key definition (may not complete).
The values inside the Text-Gadgets are via default set to the
supplied Arguments in the Tool Types or CLI-Parameters.
On a wrong Enter, the value will be reset to the old value.
TIMER: The specified value for the timeout of the
blanker. After this time (in seconds) the ASwarm
shows up. Value may between 1 and 3600.
CLIENT TIMEOUT: The time the server gives to the client for not
being able to draw anything, then the screen will
be blanked really to prevent burn-ins.
WASPS: The number of the flying Wasps.
BEES: The number of the bees.
HIDE: (click or press 'h') Hide the window. All then new
entered values will be stored and acivated on the
next blank.
BLANK: (click or press 'b') Blank immediately. All then
new entered values will be stored and activated.
QUIT: (click or press 'q')
DISPLAY MODE: (Please refer to the notes below!) Choose a
desired Mode for the Display during blank-time.
Use the scroll-bar to show up other available
modes. This depends on the used system.
AIM: Checkbox. If checker is shown, the aim-mode is enabled.
SPEED: Enter value between 1 and 4. 4 is maximum speed.
CYCLE: Disable the colorcycling for the bees.
COMMODITIES EXCHANGE
With the Exchange Tool, you can temporarly stop ASwarm with
DISABLE, restart it with ENABLE, remove ASwarm with KILL (as would do
a Quit in the Edit-Window), SHOW up the Edit-Window, and HIDE the
Edit-Window.
The Exchange Tool is a comfort way to remove or dis/enable
ASwarm.
Please refer to the AmigaDOS Manual (Section AmigaDOS Reference
and Workbench Programms) for further docs on Exchange Tool.
DISPLAY MODES:
Please, please, please have care here !!!! We are NOT responsible
for ANY user-error. The given list depends on the used System.
All newer Amigas, such as A500+ , A3000 do have the ECS Denise
for extended Screen Modes (Not all Amiga's with Kick 2.0 on ROM
do have a ECS Denise..). Of course you can start the desired
Modes, but not all modes are available on all MONITORS !
Please do refer to your Manual of the Monitor and to the AmigaDOS
Manual (Section Workbench Programms, AddMonitor) for more
informations.
Why ? Simply because you can DESTROY your Monitor!
Here is a list of the (normally given) ECS Display Modes:
NTSC:Lores
NTSC:Hires # Tron's preferred Mode
NTSC:SuperHires
NTSC:Lores-Interlaced
NTSC:Hires-Interlaced
NTSC:SuperHires-Interlaced
PAL:Lores
PAL:Hires
PAL:SuperHires # Ill's preferred Mode
PAL:Lores-Interlaced
PAL:Hires-Interlaced
PAL:SuperHires-Interlaced
VGA-ExtraLores # -
VGA-ExtraLores-Interlaced #
VGA-Lores #
VGA-Lores-Interlaced # Multiscan Monitor needed
Productivity #
Productivity-Interlaced # -
A2024_10Hz #
A2024_15Hz # A2024 needed.
Other Modes are available, but not mentioned.
Overscan is used for all modes, adjust your Overscan-size with
the ScreenMode Preference Tool.
This list will only be avaible if the icon called "Mode_Names"
supplied with Workbench 2.0 is in the WBStartup directory of
your boot drive.
NOTE:
DON'T use VGA-Modes on a NON-Multisync or NON-VGA-Monitor
DON'T even test Modes if you aren't sure about your
Monitor-capacibilities.
As the original XSwarm runs on a X11-Workstation, and as those
ones have high graphics resolutions, I prefer SuperHires, as
this Mode comes near to them.
KNOWN PROBLEMS:
We do know of some problems and strange behaviours, some of them
aren't strange anymore, when you read this:
- Are your running ARQ 1.66 or below ?
(A replacement Tool for the system requestors).
Then you may try this:
Change the timeout to a low value, e.g. 5 secs, then type in
the CLI: wait 10 <RETURN> (do not wait for the prompt)
dir bafasel: <RETURN> (device blafasel: nonexisting)
ASwarm will blank as usual, but then ARQ pops up a requestor
ON the ASwarm-Screen !! You can't close the Screen until you
click on 'Abort'. And ASwarm can't blank the screen either
anymore ! (It's ScreenClose() Command waits for the succesfull
return...)
This is a BUG in ARQ ! It's dangerous in some cases. It may
burn in the requestor... (Martin Laubach, author of ARQ is
being contacted.. and promised to add a switch in a new version)
- You are running a C-Compiler or a raytracer. ASwarm goes
blank, but doesn't show any swarm, and during disk-access ASwarm
comes up for a while.
This is not a Bug, this is the FEATURE of ASwarm !! This is
the way ASwarm blanks when high Cpu-use happens on the startup.
And during disk-access the Cpu-time is usually less, so ASwarm
may find time to draw something.
- Collision with other Blankers. Well, in fact you can run as
many Blankers as you want. Such as DMouse, Spliner, FracBlanc.
ASwarm does always try to move it's screen to front, when it
detects to be behind some other screens.
- When a disk is inserted, ASwarm closes the screen (dis-blanks).
This is normal. Disk-replacement is detected as an input
Event. As all input events shall disable the Blanker this one
should, too.
- The window doesn't open if the hotkey is pressed. Perhaps you
have supplied a wrong hotkey description. Use Exchange to open
the window if the windowtitle is like "HotKey=<NONE>" it is the
hotkey description.
- ASwarm shows up the window though the Tool Type CX_POPUP is
set to 'NO'. This happens when ASwarm is started twice.
(Double-click (or call from CLI) = start, another double-click
(or call from CLI) opens the window)
- ASwarm is damn slow. Huh .. sorry :-) The Authors have fast
machines.. Try to reduce the swarm-size (BEES) and the amount
of swarms. Or use another, less big screen.
- ASwarm makes noice when it blanks the screen. This may happen
when a Display Mode is choosen, which is not of the size of
the since then activ screen. Nothing dangerous.
- ASwarm makes flickers on the Monitor when it blanks the Screen.
This happen when ASwarm blanks on a PAL-Screen, but the since
then or then active Screen is or was NTSC. (Or vice versa)
The Monitor needs a bit time to synchronize again. Nothing
dangerous.
- There is a 70Hz hack. This hack has problems with the productivity
Environment. No Bug of ASwarm.
CREDITS:
Jeff Butterworth for his xswarm routine available for
X11-Workstations as a xlock mode or a stand-alone program.
Matt Dillon for Dice. So we could make ASwarm be compilable in
the most common low-cost C-Compiler. (Only registered version)
Ah, yes. Greetings to Stefan Becker! :-)
SAS/C group for well done work. As yet the SAS version of ASwarm
is faster and shorter...
Maybe we should try to give support for other C-Compiler, I'll
try Maxon C++ (yet in Beta-State) ..
IRC-guys in Oulu to make world-wide communication easy and to be
able to chat about programmings ideas. (And Schlamm-Bugs :-)
Roger 'Budda' Westlund, who told me about 70Hz Problem.
Willi 'Amico' Raeckers, always sitting on my nervs, asking for a new
version.
Jörg 'Skull' Bublath, having the idea for the Aim-Mode.
Markus 'Corwin' Stipp, for helping us with DICE.
AUGUP, Amiga Group of Uni Paderborn, for their testings.
(ASwarm wasn't very long in Beta-state)
Fred Fish, Mr. Public Domain, hope you like this enough to place
it onto one of your new 'Fishes'. Permission herebye given.
(Grmbl.. We're on FF590 and i still have no streamer device :^)
Commodore Amiga group for this great system. Hope to see some
great new stuff this year ! (I'm already collecting my bucks..)
Dire Straits for the background music :-)
FINAL
Ever seen 'After Dark' ?
Combine several screenblankers on the SAME screen (Warp, Spliner,
ASwarm on the same screen :-) Change the graphic routine and the
so given blanker via random or time-table.
We want to work on this... I have MANY ideas for screenblankers.
Oh yes, there is already 'Shadowmaster', but don't like it.