[stella] The Demo Image Series #12

Subject: [stella] The Demo Image Series #12
From: "Andrew Davie" <atari2600@xxxxxxxxxxxxx>
Date: Sat, 1 Mar 2003 22:25:55 +1100
Moving right along, the attached demo is the first to combine colour
background graphics with colour sprites.  The background is at the top of
the screen, and shows some hills, a sun and cloud.  OK, not the most
original graphics, but at least shows the system in action.
In addition, you will see two Marios - animating independently.  The
interesting thing here is that the Marios are different colours - but use
the same graphics in ROM.  That's kind of a follow-on on what Eckhard
reported;  in this case I am switching Red and Green for display of the 2nd
Mario and he does pretty much look like Luigi.  This solves a problem I have
with Fu Kung! in differentiating the players, yet using the same graphics in
ROM for each.  I'll just vary the colours used for the red, green, blue -
and voila!  Unfortunately (sorry, Eckhard) this is a NTSC-only demo.  It's a
bit of a hack internally, and I didn't get to update the colours for the PAL
version.
As with many things in this world, one builds on the effort of those who has
come before, and ideas flow from other ideas.  I started with Eckhard's
sprite system (thanks once again) which while limited in capability (42
lines deep, single page per frame) it did give a wonderful basis for further
development.  Eckhard's system originally appeared years ago as the "big
two" demo.  I rewrote and refined his system to cope with unlimited depth
sprites, and added matrix-based packing/sprite reuse.  A diversion (colour
bitmaps challenge in AtariAge) saw me develop the sytem to display colour
through alternate-frame display of red, green, blue components of images -
and I managed to produce the first 'full-colour' sprite graphics (after a
brief, bizarre experiment with 5 grey-shades (see SamFox from 9 Feb).  I
might note, the basic idea of combining colours over time was implemented in
Qb with the 'Chronocolor (TM)' system, but it did not interleave
red/green/blue, but instead two colours of choice, giving three colours
total.  Following some further discussions and refinements, the new
(Chronocolour (TM)) system was changed from displaying colours on alternate
*frames* to displaying colours on alternate *lines*, and the data in the
source graphics was interleaved.  This took a major bit of fiddling with
utilities and timing - but in the end the result is pretty cool.
Now, comparing it to the original system intended for Fu Kung! (that is, the
monochrome, flickering big-sprite system - see, for example, the binary
posted 7/Feb) one finds that the colour system is a big improvement - for
one, it's in colour :)  but also, the flicker is much less noticeable and
annoying.
This demo shows a composite of all the experimentation of recent weeks -
Interleaved Chronocolour (TM) background and sprites, and also colour-usage
changing (colour spoofing) to get different visuals from the one set of ROM
graphics.
The attached 'hills.jpg' file is a snapshot off my monitor, taken with a
cheap digital camera.
Cheers
A

PS: I have a few bugs (involving positioning of the sprites) preventing me
releasing the source code - but once I get that in-hand, and have a
presentable 4K version of the Interleaved Chronocolour (TM) system in
action - I'll be happy to release the code to the [stella] community for
comment.

Attachment: hillsluigi.zip
Description: Zip compressed data

Attachment: hills.jpg
Description: Binary data

Current Thread