21 July 2018, 22:39 | #1 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
AGA Display Configuration?
Hi All,
I've been reading up on the capabilities of the AGA chip set and I wondered if I could get feedback on how well the config below would work. Basically I'm looking at Rygar, and the problem of getting all those colours the game has and the parallax play-field working as efficiently as possible. I've read the 64 pixel wide sprites in AGA has "limitations" but I can't see the devil in the detail of what this is? Could I setup a scrolling background playfield made up of 8 * 64x224 pixel sprites all aligned next to each other allowing 16 independent colours for background scrolling and 32 colours/5BP or 64 colours/6BP foreground scrolling again with independent colours? Setting up Dual Playfield mode just won't allow the colours the game needs for it to be done justice, but before I delve into coding are there any show stoppers with the above idea? Geezer |
21 July 2018, 23:52 | #2 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,411
|
Hmm, I haven't really looked into AGA capabilities properly, but as I understand it, the limitations of the 64 pixel sprites are as follows:
On the other hand, AGA does support repeating sprites horizontally after 256 pixels automatically (without copper instructions per scanline) by setting a single register and offers selectable sprite colour banks. |
22 July 2018, 11:01 | #3 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
Quote:
Problems arise if you need to scroll the video through BPLCON1. Take for example a normal screen of 320 pixels with DDFSTRT=0x38 that allows the use of all 8 sprites. If you want to fine scroll with OCS 1x fetch (then one 16bit word at a time) there are two possibilities to prevent the screen shift from being visible: - shrunk the screen 16px to the left and usually by symmetry also 16px to the right (for a total of 288 pixels visible); - set the DMA fetch early by setting DDFSTRT=0x030, but this way subtracts DMA channels available to the sprites (specifically the 7 and a half 6 in OCS, only 7 in ECS and AGA). [in fact there is a little trick to keep the 6 on OCS intact, but this is another matter] The exact same applies in AGA, but in this case you can also fetch 32bit or 64bit at a time (2x/4x respectively) using a single DMA slot (good!) But this involves a shift window of 32 (64 respectively) pixels with BPLCON1 and an anticipated DDFSTRT to compensate for the first visible pixel on screen (that can be even 64px later).. Retake the standard 320px screen: if you want fine scroll so you need DDFSTRT=0x28 in 2x fetch mode and DDFSTRT=0x18 in 4x fetch, with loss of sprites 5-7 in 2x case and sprites 1-7 in the 4x case! You can make intermediate choices but you have to compromise Last edited by ross; 22 July 2018 at 11:18. Reason: formatting |
|
22 July 2018, 11:31 | #4 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
Do i get 8 16 colour 64 pixel sprites or only 4 with the attach bit set?
|
22 July 2018, 12:11 | #5 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
|
22 July 2018, 17:05 | #6 | |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
|
|
22 July 2018, 19:24 | #7 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
Use DDFSTRT=$34.
But you should take care of the wrong BPLCON1 shift values that are "aligned" with default DDFSTRT lowres value. In other word: the shift 0 position is no more the shift 0 value. So experiment a bit |
22 July 2018, 20:26 | #8 | |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Ah! That's the delay which reactivates the missing Sprite6 DMA slot? And scrolling still works?
I didn't expect that such an odd value does even work in LoRes. Quote:
Very interesting. Never heard of that trick before! |
|
22 July 2018, 22:19 | #9 | ||
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
Quote:
Quote:
Logically you need the right DIW values and you loss 8pixels to the left. I think the best use for this video mode is a centered 304 pixels wide display. (a little better than the 288px with DDFSTRT=0x38 for scroll) |
||
04 August 2018, 09:02 | #10 |
Registered User
Join Date: Sep 2015
Location: Germany
Posts: 258
|
Wow, a trick I've never heard before. If I've got some time, I will experiment a little bit with it. Sounds really interesting. Thanks for sharing your knowledge, ross.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
What do you think about this display configuration ? | 21stcentury | support.WinUAE | 4 | 23 May 2017 13:32 |
EoB 2 AGA correct configuration | Predseda | support.WinUAE | 4 | 02 April 2017 21:18 |
Shadow Fighter AGA Configuration | bllpla | support.Games | 4 | 06 January 2010 22:57 |
AGA Configuration... | DamienD | support.WinUAE | 14 | 08 September 2005 19:26 |
AGA display | Dela | support.WinUAE | 4 | 06 October 2002 21:59 |
|
|