English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 05 August 2017, 22:50   #2101
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,307
I could try, but that's not straightforward. OK
jotd is offline  
Old 06 August 2017, 08:30   #2102
buzzybee
Registered User
 
Join Date: Oct 2015
Location: Landsberg / Germany
Posts: 526
I´m curious regarding bobs on interleaved bitmaps: Is there a way to blit interleaved bitmaps without having to use "big" cookie cuts, did I understand this right? If yes, could someone explain how this is supposed to work and what is meant by "smart usage of modulus"?
buzzybee is offline  
Old 06 August 2017, 11:08   #2103
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by buzzybee View Post
I´m curious regarding bobs on interleaved bitmaps: Is there a way to blit interleaved bitmaps without having to use "big" cookie cuts, did I understand this right? If yes, could someone explain how this is supposed to work and what is meant by "smart usage of modulus"?
You can blit one interleaved plane at a time using an interleaved modulo for the source/dest and non interleaved modulo for the mask.

I do this in a game I'm writing. The benefit it you can still do single multiplane blits when you don't need a mask, like tile rendering or backplane restores.
alpine9000 is offline  
Old 06 August 2017, 13:54   #2104
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by alpine9000 View Post
You can blit one interleaved plane at a time using an interleaved modulo for the source/dest and non interleaved modulo for the mask.

I do this in a game I'm writing. The benefit it you can still do single multiplane blits when you don't need a mask, like tile rendering or backplane restores.
For cookie cut, ther is no so much that you can do
sandruzzo is offline  
Old 06 August 2017, 23:09   #2105
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by sandruzzo View Post
For cookie cut, ther is no so much that you can do
It works with cookie cut
alpine9000 is offline  
Old 07 August 2017, 02:28   #2106
buzzybee
Registered User
 
Join Date: Oct 2015
Location: Landsberg / Germany
Posts: 526
@alpine9000: So that´s a conventional "blit one bitplane per go" technique, applied to a interleaved bitplane setup right? I wonder if there is some kind of smart and fast technique to combine interleaved bitplane source and non-interleaved cookie cut when blitting to all bitplanes :-)
buzzybee is offline  
Old 07 August 2017, 03:13   #2107
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by buzzybee View Post
@alpine9000: So that´s a conventional "blit one bitplane per go" technique, applied to a interleaved bitplane setup right? I wonder if there is some kind of smart and fast technique to combine interleaved bitplane source and non-interleaved cookie cut when blitting to all bitplanes :-)
That's right. I don't know of a smart way to do it.
alpine9000 is offline  
Old 07 August 2017, 03:42   #2108
Trachu
Registered User
 
Join Date: Dec 2015
Location: Poland
Posts: 189
Here are my 2 cents regarding DMA optimisations to free more DMA slots. I have taken the current DMA activity screenshot and placed there 4 raster positions which could be further optimised.

a) At the very top you set via copper a lot of settings. Are they all necessary?There is even unnecessary sprite activation????

b) After you revert from top status screen to game area you again use a lot of copper. I think some of them are unnecessary (explanation below) and one of them changes resolution from 256 to 240px(maybe if you enable hardware scroll regioster you need to set resolution 16px higher, in our case 272???).
I would also look for BUG responsible for white sky here.

c) The display dma is too close to sprite DMA. In this way DMA is both consumed by display and copper. No Wonder you thought about limiting sprite resolution, however there is another way. If you could move dsiplay window to the right with this register you would have more free interleaved DMA slots between Pink sprite DMA and blue display DMA.
http://amigadev.elowar.com/read/ADCD.../node0071.html

d) Here again you use a lot of unnecessary DMA slot for copper. I guess you set the new palette for down status panel. Here what i would suggest to join this panel with the top. In this way you could resign from one copper raster line.
More saving can be done if youmove both joined status panel to the below, then you can remove the while cooper line at position b).
Cooper activity at Position d) can be removed if we will unify first 16 colour registers for both game and status.

Optimal solution would be to set the whole palette for the game at the very top and only use copper for sprites inside the game area and change to UNIFIED status screen below. Also use DIWSRT register.
If you still want smaller sprite background i can go to 82 lines removing the clouds and distant trees below the mountain.
Attached Thumbnails
Click image for larger version

Name:	ryggar DMA optimisations.png
Views:	213
Size:	9.7 KB
ID:	54063  

Last edited by Trachu; 07 August 2017 at 04:35.
Trachu is offline  
Old 07 August 2017, 08:51   #2109
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by alpine9000 View Post
That's right. I don't know of a smart way to do it.
Yes you can, but allways 6 blitting are needed: 1 coockie-cut, and 1 for make an hall in the others planes
sandruzzo is offline  
Old 07 August 2017, 08:53   #2110
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by Trachu View Post
Here are my 2 cents regarding DMA optimisations to free more DMA slots. I have taken the current DMA activity screenshot and placed there 4 raster positions which could be further optimised.

a) At the very top you set via copper a lot of settings. Are they all necessary?There is even unnecessary sprite activation????

b) After you revert from top status screen to game area you again use a lot of copper. I think some of them are unnecessary (explanation below) and one of them changes resolution from 256 to 240px(maybe if you enable hardware scroll regioster you need to set resolution 16px higher, in our case 272???).
I would also look for BUG responsible for white sky here.

c) The display dma is too close to sprite DMA. In this way DMA is both consumed by display and copper. No Wonder you thought about limiting sprite resolution, however there is another way. If you could move dsiplay window to the right with this register you would have more free interleaved DMA slots between Pink sprite DMA and blue display DMA.
http://amigadev.elowar.com/read/ADCD.../node0071.html

d) Here again you use a lot of unnecessary DMA slot for copper. I guess you set the new palette for down status panel. Here what i would suggest to join this panel with the top. In this way you could resign from one copper raster line.
More saving can be done if youmove both joined status panel to the below, then you can remove the while cooper line at position b).
Cooper activity at Position d) can be removed if we will unify first 16 colour registers for both game and status.

Optimal solution would be to set the whole palette for the game at the very top and only use copper for sprites inside the game area and change to UNIFIED status screen below. Also use DIWSRT register.
If you still want smaller sprite background i can go to 82 lines removing the clouds and distant trees below the mountain.
For scrolling you need 32 more pixel not 16. I Did a lot of test about turning on off upper and lower panel, even turning off the whole parallax. We have to few cicles anyway.

I can try to do standar coockie cut for enemies, but only 4 planes, and the others 2 we'll be small coockie cutt what will spare 2 cicles per word per bobs.
sandruzzo is offline  
Old 07 August 2017, 10:55   #2111
Trachu
Registered User
 
Join Date: Dec 2015
Location: Poland
Posts: 189
Quote:
Originally Posted by sandruzzo View Post
For scrolling you need 32 more pixel not 16. I Did a lot of test about turning on off upper and lower panel, even turning off the whole parallax. We have to few cicles anyway.

I can try to do standar coockie cut for enemies, but only 4 planes, and the others 2 we'll be small coockie cutt what will spare 2 cicles per word per bobs.
Actually you still have 240px wide screen activated and from what i know you need only 16px more DMA fetches which you clearly have on DMA screen.

http://amigadev.elowar.com/read/ADCD.../node012B.html

"If you want to scroll a playfield , one extra data word per line must be fetched from the memory."

Maybe you are thinking about memory allocation, but i am talking about DMA only.
Generally your copperlist need to be optimised, but what we gain here will be used by 256px resolution. We need both your cookie cut and this.

Last edited by Trachu; 07 August 2017 at 11:10.
Trachu is offline  
Old 07 August 2017, 11:01   #2112
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by Trachu View Post
Actually you still have 240px wide screen activated and from what i know you need only 16px more DMA fetches which you clearly have on DMA screen.Maybe you are thinking about memory allocation, but i am talking about DMA only.
Generally your copperlist need to be optimised and we probaby need both.
Copper list is at the minimum. What bite a lot are sprites and DMA bitplanes..
sandruzzo is offline  
Old 07 August 2017, 11:32   #2113
Trachu
Registered User
 
Join Date: Dec 2015
Location: Poland
Posts: 189
Quote:
Originally Posted by sandruzzo View Post
Copper list is at the minimum. What bite a lot are sprites and DMA bitplanes..
with your current screen setting I believe you, but by reallocating status screen we can save enough to set 256px wide.
You are right bobs are taking a lot, but what about shrinking dragon to 32x32?
Trachu is offline  
Old 07 August 2017, 11:34   #2114
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by Trachu View Post
with your current screen setting I believe you, but by reallocating status screen we can save enough to set 256px wide.
You are right bobs are taking a lot, but what about shrinking dragon to 32x32?
Good Idea, but I was think about having one dragon made by sprites. Now I want to try to limit at 4 planes enemies and rygar, and see if it'll fly.

Each enemies can have its' own 4 planes as we need!
sandruzzo is offline  
Old 07 August 2017, 18:55   #2115
NorthWay
Registered User
 
Join Date: May 2013
Location: Grimstad / Norway
Posts: 848
Are you changing all the colours down the screen? There is no need to use the copper to set the palette unless you keep modifying them.
About the only thing needed in a copperlist is setting bitplane pointers IIRC. Plus things that change ofc.
NorthWay is offline  
Old 07 August 2017, 19:58   #2116
Trachu
Registered User
 
Join Date: Dec 2015
Location: Poland
Posts: 189
Quote:
Originally Posted by NorthWay View Post
Are you changing all the colours down the screen? There is no need to use the copper to set the palette unless you keep modifying them.
About the only thing needed in a copperlist is setting bitplane pointers IIRC. Plus things that change ofc.
CURRENTLY both panels on above and down use their own palette thats why the copper operates here. Of course all panels and game area can use unified palette, so the colours can be set once. Of course we wont save too many cycles that way but we are fighting here for every free dma slot so we could stay at EHB 50Hz with paralax.
Trachu is offline  
Old 07 August 2017, 20:22   #2117
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by Trachu View Post
CURRENTLY both panels on above and down use their own palette thats why the copper operates here. Of course all panels and game area can use unified palette, so the colours can be set once. Of course we wont save too many cycles that way but we are fighting here for every free dma slot so we could stay at EHB 50Hz with paralax.
Panels are now 3 planes only, not 4 like before. So I've freed a lot of dma slots.
sandruzzo is offline  
Old 10 August 2017, 09:39   #2118
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Added test version which use 4 planes for full coockie-cut and the others 2 will use less expensive ones. It's called Rygar2.adf


https://drive.google.com/file/d/0B03...ew?usp=sharing
sandruzzo is offline  
Old 10 August 2017, 14:00   #2119
Trachu
Registered User
 
Join Date: Dec 2015
Location: Poland
Posts: 189
Quote:
Originally Posted by sandruzzo View Post
Panels are now 3 planes only, not 4 like before. So I've freed a lot of dma slots.
Ok I have checked your current DMA activity.
It looks like you have freed slots which are not used because in the raster area of them only CPU is used so 4th bitplane slot is ALWAYS empty.
Sorry but You have degraded the quality without any gain. Yet you still have plenty of notused by anything DMA slots. I know it will be hard to utilise them all, but if you want extra speed search it here.

The best idea if you cant change your raster code execution is to move the top panel down. In this way the area of CPU activity will fit perfectly to 6 bitplane screen.
Attached Thumbnails
Click image for larger version

Name:	ryggar dma1.png
Views:	141
Size:	13.5 KB
ID:	54121   Click image for larger version

Name:	ryggardma2.png
Views:	139
Size:	14.0 KB
ID:	54122  

Last edited by Trachu; 10 August 2017 at 14:07.
Trachu is offline  
Old 10 August 2017, 14:13   #2120
Retro-Nerd
Missile Command Champion
 
Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 52
Posts: 12,453
Quote:
Added test version which use 4 planes for full coockie-cut and the others 2 will use less expensive ones. It's called Rygar2.adf
Still huge slowdowns if 2 dragons are on the screen, A500+ config.
Retro-Nerd is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
rygar? Prosonic support.Games 7 09 June 2013 14:18
two more that borrow heavily from Rygar & Black Tiger NfernalNfluence Nostalgia & memories 5 30 September 2012 18:57
SCIENCE 451-RYGAR: same disks mrodfr project.TOSEC (amiga only) 0 26 December 2006 15:38
Wordworth conversion vertigo support.Apps 5 09 December 2003 14:46

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:37.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.13267 seconds with 14 queries