[comp.binaries.ibm.pc.d] v04i069: explod, a fireworks display

kaldis@topaz.rutgers.edu (Theodore A. Kaldis) (07/22/89)

In article <8341@bsu-cs.bsu.edu> dlo@ugly.cs.ubc.ca (dennis lo) writes:

> This is EXPLOD 1.0, a simple but fast fireworks program supporting CGA
> and Hercules graphics.  It has not been tested with EGA or VGA.  Source
> for Datalight C/MASM is included.

I recompiled with MSC and MASM.  I got the following compile warning:

   EXPLOD.C(238) : warning C4056: overflow in constant arithmetic

and a number of link errors like this:

   @Microsoft (R) Overlay Linker  Version 3.61
   Copyright (C) Microsoft Corp 1983-1987.  All rights reserved.

   EXPLOD.OBJ(EXPLOD.C) : error L2002: fixup overflow at 02A5 in segment _TEXT
    pos: 8EA Record type: 9C
    target external '_gr_frplot'
   [...]

   There were 13 errors detected

but the resultant executable nevertheless seems to run (even though it
is slightly longer than the one supplied in the archive.  It would be
nice if someone could rewrite the code for EGA and include more
colors.  (I would, but I don't have the time.)

> The program apparently goes as fast as it can.  On a 16 Mhz machine
> with HGC I found the display racing far ahead of my perception.  Slow
> down your machine if necessary to make the display go at a comfortable
> pace.  The fireworks repeat endlessly (until you hit ESC).

You can apparently slow it down by entering a numerical argument on
the command line (which creates more "explosions" and thus fills the
screen more).  The following is the screen that initially appears
before the graphics start, but on a fast machine, it goes by so fast
you hardly even see it, let alone have time to read it.  It would be a
good idea to pause after this message is displayed with a "strike any
key to continue" routine.

EXPLOD 1.0          by Dennis Lo  89/06/24
Usage: explod [video card] [# explosions]
       [video card] = 'c' for CGA or 'h' for Hercules.
                      Default is auto-detect, but EGA/VGA users
                      must specify 'c' or 'h'.
       [# explosions] = # of simultaneous explosions.
                        Default is 8 for CGA and 10 for HGC.
                        For a 4.77 Mhz XT, try 5.
                        For a 8 Mhz XT, try 10.
Examples:
       explod           (for 8MHz XT with CGA or HGC card)
       explod 5         (for 4.77MHz XT with CGA or HGC card)
       explod c         (for 8MHz XT with EGA, CGA mode)
       explod h         (for 8MHz XT with EGA, HGC mode)
       explod h 25      (for 8MHz AT with HGC card)
       explod 15        (for 8MHz 80186 XT with CGA or HGC

Setting up, please wait...
-- 
              Theodore A. Kaldis                      |  "Perhaps we may
              +-+-+-+-+-+-+-+-+-                      |   frighten away
      email:  kaldis@topaz.rutgers.edu                |   the ghost of so
       UUCP:  {...}!rutgers!topaz.rutgers.edu!kaldis  |   many years ago
 U.S. Snail:  P.O. Box #1212, Woodbridge, NJ  07095   |   with a little
 ex-Ma Bell:  (201) 283-4855  (voice)                 |   illumination . . ."