English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 04 April 2021, 11:32   #81
pink^abyss
Registered User
 
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 408
Quote:
Originally Posted by girv View Post
Great thread, I love this sort of information





Does this mean you queue all blits then, at the correct raster, you busy loop through the queue blit->wait->blit->wait->blit->... ?


Do you loop checking VPOS for the right line to start the queue or use an interrupt?

I'm loop checking VPOS. No interrupts.

Then everything gets blitted.

When starting a blit i turn priority off, because i gather data for next blit and calc clipping. Then i turn prority on and wait for blitter finish. So i can overlap my cpu setup time with the idle blitter cycles. And as i blit only same sized blits one after another, i can leave many blitters regs untouched (once they have been initialized).
pink^abyss is offline  
Old 04 April 2021, 11:49   #82
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
a lot of games use busy blitter loops but don't set BPLPRI while they're waiting... Isn't that a waste of time and shouldn't it be fixed with no effort ? Unless it could mess up with interrupt code running (music...)
jotd is offline  
Old 04 April 2021, 12:40   #83
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
Great, efficient use of the blitter by pink.

I wonder how many games from the 80s and 90s came anywhere close to being this efficient. On the one hand the tools we have now to check things like DMA slot allocation were only a dream back then, but stuff like setting the priority bit and batching up same sized blits was well known, at least in the scene.

I think back then it was hard to get this kind of info or discuss ideas with people. There were BBS and some diskmags, or maybe you could go to a party and try to talk to some people. A lot of my knowledge came from reverse engineering demos and games, and I wasn't that good at it...
zero is offline  
Old 04 April 2021, 14:52   #84
pink^abyss
Registered User
 
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 408
Quote:
Originally Posted by zero View Post
Great, efficient use of the blitter by pink.

I wonder how many games from the 80s and 90s came anywhere close to being this efficient. On the one hand the tools we have now to check things like DMA slot allocation were only a dream back then, but stuff like setting the priority bit and batching up same sized blits was well known, at least in the scene.

I think back then it was hard to get this kind of info or discuss ideas with people. There were BBS and some diskmags, or maybe you could go to a party and try to talk to some people. A lot of my knowledge came from reverse engineering demos and games, and I wasn't that good at it...

Same for me. When we did our Amiga demos in the 90ties it was a lot of guess work with little real knowledge. We had mostly no idea of DMA cycles Now i just hit the profile button in Bartmans plugin and see where those cycles go..
pink^abyss is offline  
Old 06 April 2021, 06:30   #85
FSizzle
Registered User
 
Join Date: Nov 2017
Location: Los Angeles
Posts: 49
Quote:
Originally Posted by jotd View Post
a lot of games use busy blitter loops but don't set BPLPRI while they're waiting... Isn't that a waste of time and shouldn't it be fixed with no effort ?
Setting BLTPRI can make overall execution slower in various scenarios, depending on how instructions are scheduled and how they compete with DMA.

Since code execution naturally has cycles that don't access the bus, interleaving code and blitter bus access can often be preferable.

Finally, enabling/disabling the flag itself also adds additional cycles.

In the end, you have to profile and see where it makes sense to enable BLTPRI, if at all.
FSizzle 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
Tinyus Open Beta Released (OCS Gradius port) pink^abyss News 213 11 May 2023 01:50
Tinyus - An arcade quality Amiga OCS port of Gradius/Nemesis pink^abyss News 103 12 May 2021 04:58
Tech AMIGA magazine thinlega request.Apps 9 19 February 2021 17:26
Trackmo tech paraj Coders. Asm / Hardware 4 30 March 2017 20:57
AmigaWorld Tech Journal Shadowfire AMR news 7 26 April 2009 19:14

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 16:03.

Top

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