Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Running Games and Apps.

SAGA Coding Tricks 2

Gunnar von Boehn
(Apollo Team Member)
Posts 6197
28 Apr 2020 16:02


AMIGA has 8 Hardware DMA Sprites channels.
  The hardware sprites are very easy to use.
  The AMIGA DMA will display them only the coordinates need be set.
 
  The Amiga Hardware does even automatically check the collision of the sprites. This is very handy for writing a game.
  There is only one limitation the Collision Check is summed up to report collisions of pairs.
  Its not easy to see which sprite did the actual collistion.
 
  SAGA provides a lot more clarity now.
 
  New register
 
 
  DFF230  CLXDAT0
          Bit 7 Collision of Sprite0 with Sprite7
          Bit 6 Collision of Sprite0 with Sprite6
          Bit 5 Collision of Sprite0 with Sprite5
          Bit 4 Collision of Sprite0 with Sprite4
          Bit 3 Collision of Sprite0 with Sprite3
          Bit 2 Collision of Sprite0 with Sprite2
          Bit 1 Collision of Sprite0 with Sprite1
          Bit 0 Collision of Sprite0 with Sprite0
 
  DFF232  CLXDAT1
          Bit 7 Collision of Sprite1 with Sprite7
          Bit 6 Collision of Sprite1 with Sprite6
          Bit 5 Collision of Sprite1 with Sprite5
          Bit 4 Collision of Sprite1 with Sprite4
          Bit 3 Collision of Sprite1 with Sprite3
          Bit 2 Collision of Sprite1 with Sprite2
          Bit 1 Collision of Sprite1 with Sprite1
          Bit 0 Collision of Sprite1 with Sprite0
 
  DFF234  CLXDAT2
          Bit 7 Collision of Sprite2 with Sprite7
          Bit 6 Collision of Sprite2 with Sprite6
          Bit 5 Collision of Sprite2 with Sprite5
          Bit 4 Collision of Sprite2 with Sprite4
          Bit 3 Collision of Sprite2 with Sprite3
          Bit 2 Collision of Sprite2 with Sprite2
          Bit 1 Collision of Sprite2 with Sprite1
          Bit 0 Collision of Sprite2 with Sprite0
 
  DFF236  CLXDAT3
          Bit 7 Collision of Sprite3 with Sprite7
          Bit 6 Collision of Sprite3 with Sprite6
          Bit 5 Collision of Sprite3 with Sprite5
          Bit 4 Collision of Sprite3 with Sprite4
          Bit 3 Collision of Sprite3 with Sprite3
          Bit 2 Collision of Sprite3 with Sprite2
          Bit 1 Collision of Sprite3 with Sprite1
          Bit 0 Collision of Sprite3 with Sprite0
 

 
  These new register make game coding even easier.


Paul H

Posts 13
28 Apr 2020 17:47


That's nice. I'm working on finishing an A500 game at the moment and this was a bit of a pain. In the end I had to re-order the sprites and implement additional software coordinate checks.


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
29 Apr 2020 00:14


Paul H wrote:

That's nice. I'm working on finishing an A500 game at the moment and this was a bit of a pain. In the end I had to re-order the sprites and implement additional software coordinate checks.

This sounds interesting.
I think it great if people still write stuff for AMIGA
Can you tell more about your game?



Paul H

Posts 13
29 Apr 2020 07:52


Sure, it's an Operation Wolf type game written in 100% assembler. It's got 6 unique levels and has a simultaneous two player mode. It runs on a 1MB Amiga with OCS. We gave up on it ~25 years ago when we couldn't find a publisher, but recently decided to finish it off and release it. All being well it should be available in a couple of months, as we are tweaking the game currently and adding some 2020 additions.

posts 4