Contents of the PYRO.DOC file
PYRO - A Simulated Pyrotechnics Display
(c) 1987 K.G. Shields
Program PYRO utilises the power of an IBM AT compatible and the colour graphics
capability of an EGA display to produce a realistic simulation of a
Pyrotechnics (fireworks) display.
An AT compatible (preferably running at 8 Mhz)
An EGA compatible display card
A colour display
PYRO has been tested on a variety of machines running at 8 and 10 Mhz.
Although optimised to give the best effect on an 8 Mhz machine, it still gives
quite acceptable results on the faster processors. (For a good display on very
fast machines the program may be modified by inserting a suitable delay in the
innermost loop of the move_points function.) When running at the correct
speed, one complete Pyrotechnics show will take about four minutes to execute.
Most PC and XT compatibles are not fast enough to give a realistic display,
however future plans for PYRO include a simplified version that will run on a
PC/XT and be capable of driving a CGA display.
Method of Use
Like a real fireworks display, PYRO is really meant to be viewed in the dark.
For the most realistic effect, first darken the room as much as possible and
cover or turn off any LEDs or pilot lights on the computer and keyboard. If
darkening the room is too difficult PYRO will still give a convincing display
by normal room lighting, but I recommend viewing it in the dark at least once
to experience the full impact.
Put the PYRO disk in your A drive and make A: the default drive. To execute
PYRO to produce one complete Pyrotechnics presentation, enter
at the DOS prompt. Alternatively, the program may be made to run continuously
instead. To terminate the show immediately at any time hit the escape key. For
a more graceful exit press any other key and the program will stop after
completing all currently active sequences.
The program is written in Turbo C and compiles using default options. To
achieve the required speed, the EGA registers and memory are accessed directly.
In general, PYRO works by generating points and allowing them to continue in
motion under the effect of simulated gravity. The attributes of a point
include position, velocity, size, colour, lifetime, and rate of fade at the end
of its life. Most attributes are generated randomly for each point, but the
various effects are achieved mainly by manipulating the limits within which
each attribute may lie.
There are five different effects currently programmed:
Spurt Produces intermittent eruptions of coloured sparks which fill
the sky then fall gently to earth
Flare A continuous stream of sparks emitted at high speed which fade
quickly before they begin to fall
Burst A starburst of brightly coloured points complete with sound
Rocket A skyrocket which leaves behind a diffuse trail. Most end in a
starburst but for realism a percentage of 'fizzlers' simply fade
away to nothing.
Roman Candle A large fiery ball shoots skyward, leaving a short, quickly
fading trail. The ball explodes in a large burst that sometimes
seems to fill the entire sky.
Files on the PYRO Disk
PYRO.C The complete source code of the program written in Turbo C
PYRO.EXE The program in executable form
PYRO.DOC This file, the documentation of PYRO
PYROLAB.PCX 'Paintbrush' file to produce a colourful floppy disc label, if
you have the means to print it.
This initial version of PYRO was produced as an entry in the 'Your Computer'
Microsoft Computer Program Art Exhibition and in this context it is complete.
However when time permits I still intend to develop the concept further.
Likely future enhancements include
. Inclusion of more effects. (Catherine wheels are next - my wife insists!)
. Ability to automatically sense processor speed and adjust delay loops to
compensate if necessary.
. A simplified version which will be able to use a CGA display and will run at
sufficient speed on a PC or XT.
. Addition of a suitable title screen.
. Ability to read a script file so that you can customise your own display.
Please direct any comments, enquiries or suggestions to
Kelvin G. Shields,
21 Sirocco Street,
(07) 376 8383 (A/H)
Unless the written permission of the author is obtained beforehand, program
PYRO may not be sold for any sum in excess of the normally accepted charges for
copying and distributing public domain software, nor may it be used in any
other manner for direct commercial gain, nor may the whole or any part of it be
incorporated into any other item of computer software.