English Amiga Board


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

 
 
Thread Tools
Old 19 April 2021, 16:02   #1
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 387
Blitter D channel and fill questions.

I've been poking around at some demos as I try to put together my own blitter fill pass for some polygons.


Some of what I've seen has been surprising.


Firstly I've seen many cases for fills and lines where BLTCON0 is setup with A or C enabled but no D channel enabled, yet the blit seems to work as expected.


I would have assumed you need the D channel enabled for any kind of output to make it to ram. Am I missing something or is the blitter just not very fussy and assumes that D is enabled if some of the others channels are on.


The other thing I've seen is fill pass blits where both EFE and IFE are turned on. I think the result is just the same as EFE only. But does anyone know if I'm missing something here, is there some special behavior when both are turned on?


While I'm at it the HRM seems to detail a bit labeled DOFF in BLTCON1 but doesn't specify what it is or how to use it, anyone know about that?
Jobbo is online now  
Old 19 April 2021, 17:15   #2
a/b
Registered User
 
Join Date: Jun 2016
Location: europe
Posts: 1,039
DOFF is ECS/AGA. It disables output to channel D. This, I suppose, could be seen as D is always used, regardless of BLTCON0 bits, unless you use DOFF (for backward compatibility with OCS).
Never experimented too much with invalid/weird bit combos, so can't comment on the rest (I was always more concerned about getting it right/compatible).
a/b is offline  
Old 19 April 2021, 19:02   #3
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
http://eab.abime.net/showthread.php?t=104887 explains line mode special cases.

EFE and IFE both set equals EFE and there are no differences between EFE+IFE and EFE only.

DOFF means blitter works normally but when blitter does D write, outputs are not enabled (I have no idea what was the use case, perhaps it simply helps chip testing?)
Toni Wilen is offline  
Old 19 April 2021, 20:43   #4
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 387
Thanks. I was mostly concerned that I was missing something important or passing up some extra performance. But seems some demos are either sloppy or purposefully misleading.
Jobbo is online now  
Old 19 April 2021, 21:01   #5
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,215
Quote:
Originally Posted by Toni Wilen View Post
DOFF means blitter works normally but when blitter does D write, outputs are not enabled (I have no idea what was the use case, perhaps it simply helps chip testing?)

The use case is comparing data. Even if the output is disabled, the blitter sets the BZERO bit in DMACON if the result of all blit operations are zero. Thus, you can compare two patterns, or check for collisions without a drawing operation.
Thomas Richter is offline  
Old 19 April 2021, 21:14   #6
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 387
Quote:
Originally Posted by Thomas Richter View Post
The use case is comparing data. Even if the output is disabled, the blitter sets the BZERO bit in DMACON if the result of all blit operations are zero. Thus, you can compare two patterns, or check for collisions without a drawing operation.

I wonder why disabling D wasn't made so it would already achieve this.
Jobbo is online now  
Old 19 April 2021, 21:42   #7
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Quote:
Originally Posted by Thomas Richter View Post
The use case is comparing data. Even if the output is disabled, the blitter sets the BZERO bit in DMACON if the result of all blit operations are zero. Thus, you can compare two patterns, or check for collisions without a drawing operation.
DOFF != BLTCON0 D bit! DOFF is in BLTCON1 and is ECS/AGA only which only disables blitter output. EDIT: D DMA cycle is still executed and whatever was buffered in previous cycle gets written to memory!
Toni Wilen 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
Blitter fill, nothing happens? deimos Coders. General 23 15 October 2019 14:41
Blitter Vertical Fill 71M Coders. Asm / Hardware 34 16 November 2017 22:31
Blitter fill problem mekhall Coders. Asm / Hardware 7 20 June 2016 00:04
Blitter fill timing leonard Coders. Asm / Hardware 42 01 September 2014 11:00
Clipping line for blitter fill leonard Coders. Asm / Hardware 12 27 April 2013 12:03

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 23:43.

Top

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