English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Coders. Asm / Hardware (http://eab.abime.net/forumdisplay.php?f=112)
-   -   AGA Interlaced Hardware Sprites (http://eab.abime.net/showthread.php?t=101819)

mcgeezer 18 April 2020 23:41

AGA Interlaced Hardware Sprites
 
Is there any way to interlace hardware sprites on AGA?

I have an interlaced display (Super Sprint) and have changed from bobs to hardware sprites only to discover ofcourse that the hardware sprites cannot actually increase the Y resolution from 200.

If not I'll have to use Bobs.

Really pissed off with this as I only found out about it after I did all the work and wrongly assumed that Hires and Super Hires would have a depth greater than 200.

Probably has something to do with compatibility and stupid NTSC standard FFS!!!!!

Geezer

ross 18 April 2020 23:57

Hi Graeme, you can interlace sprites exactly like bitplanes.

Just change pointers for odd and even sprite lines in copper list in a video field basis.

DanScott 18 April 2020 23:57

Probably better off using bobs, so you can mask them against the tunnels etc..

mcgeezer 19 April 2020 00:02

Quote:

Originally Posted by DanScott (Post 1393129)
Probably better off using bobs, so you can mask them against the tunnels etc..

Dual Playfield Dan.

mcgeezer 19 April 2020 00:03

Quote:

Originally Posted by ross (Post 1393128)
Hi Graeme, you can interlace sprites exactly like bitplanes.

Just change pointers for odd and even sprite lines in copper list in a video field basis.

My hw sprites are attached though - 16 colours?

ross 19 April 2020 00:05

sprite:
1111111
2222222
3333333
4444444
5555555
6666666
7777777
8888888

field1:
POS|CTL
1111111
3333333
5555555
7777777
0000000

field2:
POS|CTL
2222222
4444444
6666666
8888888
0000000

You have to split data for your sprites in memory (there is no modulo..)

mcgeezer 19 April 2020 00:09

Quote:

Originally Posted by ross (Post 1393133)
sprite:
1111111
2222222
3333333
4444444
5555555
6666666
7777777
8888888

field1:
POS|CTL
1111111
3333333
5555555
7777777
0000000

field2:
POS|CTL
2222222
4444444
6666666
8888888
0000000

You have to split data for your sprites in memory (there is no modulo..)

Thanks Ross - I'll try this tomorrow, I would need to adjust my Interleave to HW Sprite routine and I'm tired tonight.

Really appreciate everyone's help with this one.

I'll do a video tomorrow showing what it looks like.

Graeme

mcgeezer 19 April 2020 13:01

Pretty sure I got this working Ross.

See in the video.

https://youtu.be/EYtck9eeOuA

Adjusted the CWAIT to $13 but that caused the sprites not to show... had to move them to $15 to get them to work (only using SPR0+1).

Thanks for your help
Graeme

ross 19 April 2020 13:49

It works :)

On NTSC you need to setup sprite pointers before line $14 ($19 for PAL).
So I need an exe to check why works with >=$15 (this way you are a frame later ..)

mcgeezer 19 April 2020 13:52

Quote:

Originally Posted by ross (Post 1393233)
It works :)

On NTSC you need to setup sprite pointers before line $14 ($19 for PAL).
So I need an exe to check why works with >=$15 (this way you are a frame later ..)

Ahhh! Before the line... I'm setting them up after.

ross 19 April 2020 19:25

Now I know why it works, everything is ok :great


All times are GMT +2. The time now is 22:57.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.

Page generated in 0.04358 seconds with 11 queries