English Amiga Board


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

 
 
Thread Tools
Old 26 September 2021, 12:43   #1
Markowitch
Registered User
 
Join Date: Jan 2019
Location: Malmö / Sweden
Posts: 10
Blitter line draw BLTADAT

I'm trying to draw multiple lines using only one line draw - and it's not working. I hope some of you can help. Btw. I'm using WinUAE.

I'm setting BLTADAT to 0x8888 which should draw one line as four parallel lines. However, the output is not as I expect.

Instead of seeing four parallel lines I see lines interrupted by a saw-tooth pattern. Here shown using the simple minterm D=A (0xf0) in BLTCON0 bits 0-7.

Click image for larger version

Name:	muli-line.png
Views:	138
Size:	967 Bytes
ID:	73324

I also tried another minterm D=!A (0x0f) so that I paint everything but the line.

Click image for larger version

Name:	multi-line2.png
Views:	106
Size:	1.3 KB
ID:	73325

This last image reveals the areas that are blitted during the line draw. It sure looks like the blitter never can draw four parallel lines, because that would require the blit areas to be different.

And if that's true, then what's the point of setting BLTADAT to anything else than 0x8000?

EDIT: Standard Amiga 500 1.3 kickstart using WinUAE.

Last edited by Markowitch; 26 September 2021 at 14:12.
Markowitch is offline  
Old 26 September 2021, 16:03   #2
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by Markowitch View Post
And if that's true, then what's the point of setting BLTADAT to anything else than 0x8000?
There is none. Just set it to the requested value and the blitter will draw a line. That it needs this particular setting is documented, and everything else is "implementation defined", i.e. causes side effects due the inner working of the blitter.



Apparently, and UAE seems to emulate this properly, it is a state-dependent right-shift, which sounds quite plausible.


Quote:
Originally Posted by Markowitch View Post
EDIT: Standard Amiga 500 1.3 kickstart using WinUAE.
This is hardware, not kickstart related. Don't bang the hardware, please.
Thomas Richter is offline  
Old 26 September 2021, 16:21   #3
Rotareneg
Registered User
 
Rotareneg's Avatar
 
Join Date: Sep 2017
Location: Kansas, USA
Posts: 324
Quote:
Originally Posted by Thomas Richter View Post
Don't bang the hardware, please.
Yeah, you might break compatibility with that new chipset Commodore is coming out with real soon....
Rotareneg is offline  
Old 26 September 2021, 16:25   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
Result is like that because blitter is always word based, even in line mode. Linedraw mode is basically a hack.

(And do keep banging the hardware unless you want to do something serious and boring )
Toni Wilen is online now  
Old 26 September 2021, 19:16   #5
Markowitch
Registered User
 
Join Date: Jan 2019
Location: Malmö / Sweden
Posts: 10
Thanks for the replies - much appreciated.
Markowitch 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 line consistency Jobbo Coders. Asm / Hardware 7 04 December 2020 19:59
Blitter line drawing: nothing happens Crank Coders. General 21 25 April 2018 21:43
Blitter poly-line draw & filling - the 100th Herpes Coders. Asm / Hardware 12 14 May 2014 01:34
Clipping line for blitter fill leonard Coders. Asm / Hardware 12 27 April 2013 12:03
Line mode blitter absence Coders. General 4 25 September 2009 20:50

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 10:04.

Top

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