Overview Features Instructions Performance Forum Downloads Products Reseller Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
VISIT APOLLO IRC CHANNEL



All TopicsNewsPerformanceGamesDemosApolloVampireCoffinReleasesLogin
Running Games and Apps.

SAGA Spritespage  1 2 

Gunnar von Boehn
(Apollo Team Member)
Posts 4183
06 Jul 2019 12:47


SAGA has some new Sprite features.

SAGA support all SPRITE modes of AGA.

These are:
8 Sprites channels
FMODE=00    => 16pix * 4color
FMODE=01/10 => 32pix * 4color
FMODE=11    => 64pix * 4color

SAGA supports in addition
32pix with 16 color each.

This means SAGA can show 16 color sprites without need to spend 2 of them in attache mode.

SAGA Sprites can be normally re-used.
SAGA Sprites can be re-started with Copper.

New Feature is SAGA sprite have own 256 color regs.
This means Sprite can share Screen colors - or select their own palette.



Vojin Vidanovic

Posts 1428
06 Jul 2019 14:25


Nice way of preserving compatibility and improving it. So since Gold3/v4 saga is:
- improved blitter, copper, sprites while having aga compatibility
-16-bit chip and ahi sound
- fast rtg via DIGITAL-VIDEO
- 4-12mb chip adressing, DDR rast ram mapped as chip
- large HDD, sd card boot, USB support From early boot

Plus 080 CPU and full apollo FPU

There Is nothing to dislike



Kamelito Loveless

Posts 57
07 Jul 2019 09:19


How many sprites without multiplexing? Still 8?
What is the difference between re-started and re-used?


Gunnar von Boehn
(Apollo Team Member)
Posts 4183
07 Jul 2019 09:39


Kamelito Loveless wrote:

How many sprites without multiplexing? Still 8?
  What is the difference between re-started and re-used?

Yes, SAGA has (today) still 8 Sprite channels.

* With Sprite-Scan-Doubling each Sprite is shown twice on Screen.
  This is a cool feature to create a playfield with Sprites
  - Like the background in the game FLINK
* With Copper sprites can be re-started in the same row
* A Sprite-channel can show several sprites on different vertical positions.
  - You know this from whole Starfields done with a single Sprite-Channel

New feature is that each Sprite can pick its own pallette.
So even on a vertical re-uses of the channel the sprite can pick for this element which palette to use.

This makes sprite colors a lot more flexible now.


Gunnar von Boehn
(Apollo Team Member)
Posts 4183
07 Jul 2019 13:38


Here is one example of supersprites.
 
256 color background +
Sprites with 256 Sprite colors on top

The sprites are "colored" bars.



Philippe Flype
(Apollo Team Member)
Posts 257
07 Jul 2019 14:39


I tested this feature,
hence the given screenshot for gunnar.

- Background is 256 colors
- 8 sprites on screen
- Each sprite is 32 pixels width
- Each sprite is 16 colors depth
- Each sprite have its own palette
- Palette independant from the background one
- Sprites can be re-used, as shown on left of the pic.

Source code of that example :

EXTERNAL LINK 

Screenshot from safer host :

EXTERNAL LINK


Samuel Crow

Posts 353
07 Jul 2019 14:44


Cool addition!  Doing the math, 16 colors × 8 sprites is 128 colors.  Is there some kind of bank select for using the other 128 colors?


Philippe Flype
(Apollo Team Member)
Posts 257
07 Jul 2019 14:50


Hi. Well, 8 banks * 16 colors is indeed 128 colors. What Biggun probably meant is that re-using some sprites offers somehow the feeling it can have more than 128. Well anyway....


Gunnar von Boehn
(Apollo Team Member)
Posts 4183
07 Jul 2019 15:04


Samuel Crow wrote:

Cool addition!  Doing the math, 16 colors × 8 sprites is 128 colors.  Is there some kind of bank select for using the other 128 colors?

Did you see the very left bar?
This is 1 Sprite, which changes the colors and position several times.
You can pick the palette in the sprite data now.


Samuel Crow

Posts 353
07 Jul 2019 15:33


Excellent!


Philippe Flype
(Apollo Team Member)
Posts 257
07 Jul 2019 16:23


I've update the code, with documentation / comments.

See link :

EXTERNAL LINK 

EXTERNAL LINK


A1200 Coder

Posts 45
07 Jul 2019 18:04


Yeaaah, sprites. The idea with each sprite having its own color palette is a good idea, and comes with almost no additional cost in hardware. This is how it was done in Neo Geo too.

But maybe more than 8 sprites is possible? Is there room in video signal for a doubling to 16 sprites for SAGA? Many have complained that 8 sprites is not enough for usual games, despite being possible to reuse in vertical direction.

The A500 sprites were also possible to reuse in x-direction, with one (and only one) sprite covering whole screen, but only in 1 color, as the copper had only time to change one sprite register. With AGA (32/64) pixel wide sprites this didn't work out any longer, as the copper was still 16 bit, so it couldn't transfer the required 32/64 bit of data in one go for the wider AGA sprites.

Maybe also FMODE could be improved in SAGA to 128/256 bit memory fetches, to support 128/256 pixel wide sprites. As a 64 pixel wide sprite will be rather small in a 1280 pixel wide resolution screen.


Gunnar von Boehn
(Apollo Team Member)
Posts 4183
07 Jul 2019 18:17


A1200 coder wrote:

Yeaaah, sprites. The idea with each sprite having its own color palette is a good idea, and comes with almost no additional cost in hardware. This is how it was done in Neo Geo too.

Yes this is like NEOGEO

A1200 coder wrote:

But maybe more than 8 sprites is possible?

In theory, yes.

A1200 coder wrote:

Is there room in video signal for a doubling to 16 sprites for SAGA? Many have complained that 8 sprites is not enough for usual games, despite being possible to reuse in vertical direction.

I agree it needs clever coding tricks.
 

We can talk about this.
If people raise their hand and offer to write demos/games using this - then we can agree and add the HW part.




Samuel Crow

Posts 353
07 Jul 2019 20:48


Gunnar von Boehn wrote:
A1200 coder wrote:
But maybe more than 8 sprites is possible?
In theory, yes.
A1200 coder wrote:
Is there room in video signal for a doubling to 16 sprites for SAGA? Many have complained that 8 sprites is not enough for usual games, despite being possible to reuse in vertical direction.
I agree it needs clever coding tricks.

We can talk about this.

If people raise their hand and offer to write demos/games using this - then we can agree and add the HW part.

My suggestion for this is to make new AROS drivers that are only minimally backward compatible.  I know of some code that can be used for this but am hesitant to volunteer myself because I'm working on another project to translate AmosPro source to C for use with Bebbo's GCC.  My project is having limited success developing on Linux but cross compilation will work if possible.

I can say this much for certain:  16 sprites or more will break backward compatibility with Graphics.library since the SimpleSprite allocation is stored in 8 bits on AmigaOS 3.x and earlier.


Gunnar von Boehn
(Apollo Team Member)
Posts 4183
08 Jul 2019 07:04


Only showing Sprites:
 
  The scrolling background Playfield is one SAGA Sprite:
  CLICK HERE


Peeri the Sunlight

Posts 33
08 Jul 2019 14:21


Nice!
 
  One suggestion, In C64 you could double sprite size in x and y.
  Could it be possible to bit improve it and make spretes scaleable.
 
  Add couple of registers, one for enable scalig.
  and then one per each sprite for scaling value.
 
  example:
  $dffnxx W  Sprite scaling enabled  (each bit for each sprite) maybe 8 high bits can be reserve.
  $dffnxy W  Sprite 1 scaling ( 8 low bit for x and 8 high bits for y) #$0101 means that sprite is shown in 16 pix width and height)
  ( dffxxx, w, sprite 1 scaled width 8 bit for x and 8 bit for y scaling)
 
  This would increase sprite possibilities quite a lot.


Saladriel Amrael

Posts 115
08 Jul 2019 15:45


Gunnar von Boehn wrote:

Only showing Sprites:
 
  The scrolling background Playfield is one SAGA Sprite:
  CLICK HERE 

I see a huge potential for cool Parallax scrolling effects here


Kamelito Loveless

Posts 57
08 Jul 2019 15:58


Nice, at one point someone will need to write documentation a bit like the HRM :)


Daniel Sevo

Posts 271
08 Jul 2019 20:48


Speaking of Sprite Scaling..(@Peeri the sunlight)  SEGA did some cool hardware in late 80s (Model X, Model Y and finally System32 to name a few) Really strong sprite scaling abilities. Just look at say Galaxy Force 2, RailChase (Model Y board) from 1988. Amiga was still pretty fresh then, but this tech was kicking everyones ass at the time.
  Its pretty incredible to look at what they were doing with sprites back then.
  I wonder how much the SAGA could be extended to deliver such capabilities as the Model Y arcade board had in 1988.


Philippe Flype
(Apollo Team Member)
Posts 257
08 Jul 2019 22:51


@Saladriel Amrael

"I see a huge potential for cool Parallax scrolling effects here"

Like that ?  :)

EXTERNAL LINK

posts 33page  1 2