Real HW sprites

Think Commodore 64,
Think 8 h/w sprites,
Think Raster timing tricks,
See 256 h/w sprites!

Think PC
Think (possibly!) 1 h/w sprite
See mouse pointer, wow…

Did any PC GFX card manufac. ever put in hefty h/w sprite support?
i.e >3000! like the sega Saturn and numerous other consoles

Is there a portable solution to, maybe getting 8+ out of the
possbile 1 h/w ‘mouse’ piointer?
If some cards support 8 or so, is it worth making use of them?
(maybe just for simple stats displays with little overhead)

Or, as they say, would that be a complete waste of time, and
it’s best left for low-end machines where you really need to
squeeze?

Wayne

Think Commodore 64,

I do, from time to time :slight_smile:

Did any PC GFX card manufac. ever put in hefty h/w sprite support?
i.e >3000! like the sega Saturn and numerous other consoles

Not as far as I know. Common PC hardware is inferior to consoles in that
regard. Usually PC games can partly compensate for that by using its
much faster cpu and (if possible) hardware-assisted block copy. Thus you
don’t get the effects of sprites floating in layers above and below the
frame buffer, but can simulate it to some extents.

Some PC hardware seems to have (limited) overlay support, and workstations
often do.

Is there a portable solution to, maybe getting 8+ out of the
possbile 1 h/w ‘mouse’ piointer?

Portable? No. Maybe not even unportable. And it’s just 2-colour anyway.

If some cards support 8 or so, is it worth making use of them?
(maybe just for simple stats displays with little overhead)

I strongly doubt it.

Or, as they say, would that be a complete waste of time, and
it’s best left for low-end machines where you really need to
squeeze?

Alas, yes. Many of the capabilities of consoles would save a good number
of cycles even in modern PCs (especially multi-layer tiled hardware
and hardware scrolling by using vertical/horisontal offsets), but there
are ways around it

Did any PC GFX card manufac. ever put in hefty h/w sprite support?
i.e >3000! like the sega Saturn and numerous other consoles
Not as far as I know. Common PC hardware is inferior to consoles in that
regard. Usually PC games can partly compensate for that by using its
much faster cpu and (if possible) hardware-assisted block copy. Thus you
don’t get the effects of sprites floating in layers above and below the
frame buffer, but can simulate it to some extents.

The famed Mode X (a family of multi-page, unchained VGA graphics modes,
most commonly 320x240x256 with 4 framebuffer pages) probably came the
closest. No, they didn’t have hardware sprite support, but most games
really only needed two of the four video pages for page flipping. The rest
could be used for large quantities of sprites. Dword-aligned copies
between areas of video memory could be done very quickly (4 bytes at a
time) by abusing the VGA’s latches. Non-aligned copies were slow.

The two drawbacks that come to mind are a) transparency (could be
accomplished with various clever hacks), and b) the dword alignment
requirement (it effectively meant that you had to store four copies of the
sprite in memory (each possible alignment), or simply restrict your
sprites to motion of 4 pixels at a time along the X axis).

A bit of probably useless trivia, but Mode X was fun to hack. I’m sure
many others have similar memories. Programs would start as Turbo Pascal
code, then eventually get mostly rewritten to inline assembly…

-John

The two drawbacks that come to mind are a) transparency (could be
accomplished with various clever hacks), and b) the dword alignment
requirement (it effectively meant that you had to store four copies of the
sprite in memory (each possible alignment), or simply restrict your
sprites to motion of 4 pixels at a time along the X axis).
4 pixels? Pah! On the ST we had to store 16 pre-shifted images for
each sprite:)

MartinOn Sat, 12 Aug 2000, John Reeves Hall wrote:

Bother, said Pooh, as Kai Opaka gripped his earlobe.

4 pixels? Pah! On the ST we had to store 16 pre-shifted images for
each sprite:)

Wow, that’s lame.

But on the Atari 8-bit, sprites were eight pixels wide (1=opaque, 0=see-thru)
and the screen size in height (over 100 pixels or 200 pixels depending on
the sprite mode you’re in).

To move a sprite up and down meant recopying it’s bytes further up or
down in memory. :slight_smile:

-bill!

But on the Atari 8-bit, sprites were eight pixels wide (1=opaque, 0=see-thru)
and the screen size in height (over 100 pixels or 200 pixels depending on
the sprite mode you’re in).

To move a sprite up and down meant recopying it’s bytes further up or
down in memory. :slight_smile:

Hardware sprites? Luxury. The Speccy had no such thing, and the
video memory was organised in a convoluted “three venetian blinds” way.
Blitting the sprites was easy compared to the contortions required to
avoid the colour clash when one object came too close to another.
You obviously had a sheltered childhood. :slight_smile:

William Kendrick writes:

4 pixels? Pah! On the ST we had to store 16 pre-shifted images for
each sprite:)

Wow, that’s lame.

But on the Atari 8-bit, sprites were eight pixels wide (1=opaque, 0=see-thru)
and the screen size in height (over 100 pixels or 200 pixels depending on
the sprite mode you’re in).

To move a sprite up and down meant recopying it’s bytes further up or
down in memory. :slight_smile:

-bill!

The trick of course is to get a meaningful looking image from a sprite
8 pixels wide of a single color!

I was always envious of the C64 at that time (I had an Atari) which
had a more reasonable 24 bit wide sprite of 3 colors each iirc.–
Prasanth Kumar
@Prasanth_A_Kumar

“Prasanth A. Kumar” wrote

I was always envious of the C64 at that time (I had an Atari) which
had a more reasonable 24 bit wide sprite of 3 colors each iirc.

heh, don’t so easily forget. using a 3 color sprite limited you
to half the horizontal resolution. therefore, one usually had to use
3 independent sprites, each representing its own color for something
that looked good.

The trick of course is to get a meaningful looking image from a sprite
8 pixels wide of a single color!
Oh and how well they did! I can remember fearlessly fighting dragons or
gaining entrance to the “Black Castle”. Me, one yellow square in a world
of Adventure!

MartinOn 13 Aug 2000, Prasanth A. Kumar wrote:

Bother, I just can’t seem to sell any marijuana anymore sid Pooh to Eore

Pete Shinners wrote:

“Prasanth A. Kumar” wrote

I was always envious of the C64 at that time (I had an Atari) which
had a more reasonable 24 bit wide sprite of 3 colors each iirc.

heh, don’t so easily forget. using a 3 color sprite limited you
to half the horizontal resolution. therefore, one usually had to use
3 independent sprites, each representing its own color for something
that looked good.

…Not to mention raster interupts and hand assembling machine code to
get it all to work at some reasonable speed. Those were the days…

Bye - Joel.