9/21/93

NOTICE:

  This code was created by Troy Barlow, and is placed in the Public Domain.

DISCLAIMER:
 
  Use this code at your own risk. I will not be held responsible for 
anything that may go wrong!
  You may do whatever you like with this code, and executable! If you make
it better, please send me a copy!

ABOUT:

  I created this program to experiment with simple sprites on a AGA machine.
In fact, this program will only run on a AGA machine (or better, I hope)!
What it does is create a large (64 * 64 pixel) 16 color sprite. This
sprite is moved about the screen, and is kept within a box using hardware
collision detection to check for sprite collisions with a color until you
click the mouse or change views. 
  You will notice that the sprite flickers. This is because I wait for TOF
before I move the sprite in each direction. The reason I do this is because
the hardware only resets custom.clxdat once during each display (at TOF). 
There has to be a better way to do this! There must be some other way to
cause clxdat to get set multiple times during each display! If you know how
this can be done, PLEASE show me/tell me via E-MAIL! I would like to be
able to create screens, using certain colors to keep sprites within screen
boundries that I draw! 
  I tried using VSprites under 3.0 with no luck. It seems impossible to get
large multi-color VSprites! And, even using 16 (err, they seem to be a 
minimum of 32 now) pixel wide VSprites, they are just too slow, and I
don't think you can detect background color collisions. I think you could
set up multiple GEL lists, with different boundries though! However, I want
to avoid hard coding some boundries... Color detection seems to be the way
to go! Any help out there? I'm going NUTS! Any ideas? I'm listening!

  There is some error checking, but by no means is it complete (this is
just a hack)! And, this code will only compile under SAS, unless you change
a few things!

Troy Barlow

Compuserve: 75416,3364
  
