Author |
Message |
kasie
Member |
I open a screen with PAL: 640x512x8bit mode. Then i open a window, of the same size on this screen. And for example , on TV or with TV-Card , i have black border, becouse i see only size of screen. All is ok. If i try to use it on Commodore C1084 (directly with RGB-cable to a1200) , then i have big white borders. Like somethink per 20 pixels from each side (left/right/up/down). It looks like a bit overscanned. Like not 640x512, but like 670 x 530. It's not problem at all, problem that i just want to set this white-overscaned-border to black color. I try to use SA_Colors32 with black_palette, but nothink. Maybe someone to know about it, and know how i can blacking this borders ? For first i think that i can fill just all screen by black color, but, my screen already filled, becouse i open screen of resolution which i have for picture. So, just dunno how i can change color for this border..
|
kasie
Member |
Solution was found (thank to jPV). First color of palette of current picture must be always by color, which color we font for border. If we want black color, first color of palette must be black, and so on. A bit strange, but works. But i am still in interest, someone said that here is some kind of 'bit', which can be set and it will be set overscanned border to black color, even, if first color of current palette are white. Some one to know about it ?
|
Toffeeman
Member |
Yeah the colour of the border has always been colour 0 on Amiga. On AGA I'm sure there is a bit you can set which will set the border to black regardless of what colour 0 is.
|
Kalms
Member |
I don't have the documentation handy, but the bit is usually called BORDERBLANK, BORDRBLANK, BORDERBLNK or something similar. You can set this bit via tags to OpenScreen().
|
dalton
Member |
if BORDERBLANK bit doesn't work you should try it on another machine because it really should. Scan doublers doesn't usually support it though. (many TBL get ugly borders when I watch them through scan doubler)
|
blakkhar
Member |
@dalton:
Do you know a solution for boarderblank and scandoubler? As a workaround a I`ve set color 0 to black on my WB (what is ugly) but many GUI`s use color 0. I didn`t found any boarderblanker that work with scandoubler (scanmagic internal here). If there exists a solution I could remove VisualPrefs what slow down a lot.
|
kasie
Member |
@Dalton
yep, i have scandoubler Micronic Scandy, and, yes, most of TBL demos have white border. But i think, it problem of doubler. Somethink kind of bad support of features and so on
|
winden
Member |
borderblank works by asking the electrom beams to switch off, which is rather different to leaving them on displaying a black color. the borderblank way is "blacker than black".
regarding doublers, remember that amigaAGA is (should be?) a hardware hacking platform so most strange hardware addons are going to ruin your experience
|
dalton
Member |
It should be possible to use a copperlist to create a qausi-borderblank if you set and reset color 0 at the edge of the display window each scanline. I have no idea how to do that in workbench though =/
|
kasie
Member |
I check this source, and found here: vctags: dc.l $80000005,1 ; Tags : (BORDERBLANK,TRUE)
i browse system includes on "$80000005", and, it's called like: VTAG_BORDERBLANK_SET. It's it ?
edit: yes, it is. it works.
|
Blueberry
Member |
Hmm, borderblank works fine with my Micronik SCANDEX scandoubler. Apparently not all scandoublers are bad. :)
|
kasie
Member |
BlueBerry, i have the same doubler, and for me demo from tbl called 'Little nell' alway have white border..
|
Todi
Member |
The scandoublers that doesnt work seems to be internal-snapon-scandoublers. Dont know why, maybe you can get the BORDERBLANK info out of Lisa/Alice chip. (Thats the two chip my scandoubler snaps on.)
|
doom
Member |
Border blanking is an ECS feature to be precise. In hardware coding you need to set the ECSENA bit in one of the BPLCON registers, otherwise the BORDERBLNK bit will be disregarded. Dunno if that relates to OpenScreen().
But there's about half a pixel column on the left edge of the display window that never gets blanked, so you might as well not use it ;)
As for scandoublers. Wow, that's weird. :)
|
winden
Member |
doom: the left edge column can be corrected by positioning a black 1px wide sprite over it :)
|
TheDarkCoder
Member |
@doom
AFAIK, the left edge bug was introduced with AGA. ECS does not have this problem. But I have no ECS machine on to check this fact.
:)
|
z5_
Member |
When i'm using a copperlist to control the background color, i get the background color outside the visible (320*200) area in winuae (it spans the entire width of the screen), something i also have with a lot of amiga prods on my scandoubler + amiga.
I thought borderblank would help me out here but it doesn't. So how does one manage to keep the bg color within the 320*200 visible screen area?
|
ZEROblue
Member |
That's exactly what the BRDRBLNK bit in bplcon3 does, but you must also set bit 0 of bplcon0 to 1 to enable border blanking ability, as well as other ECS and above features. Edit: seems scandoublers mess this up, but in UAE and on plain hardware this works exactly like it should.
|
z5_
Member |
Doesn't seem to make a difference. To resume: to not let the background color outside the visible screen area, one has to have:
- bit 0 of bplcon0 => 1 (= ECSENA or "ecs enable" bit)
- bit 5 of bplcon3 => 1 (= BRDRBLNK or "border blank" bit)
Is that all/correct?
|
ZEROblue
Member |
What does your code look like? Here's a small example to show the effect:
Edit: keep in mind you must have a display window set and bitplane DMA running.
move.w #$7fff, $dff09a
move.w #$7fff, $dff096
move.l #copper, $dff080
move.w d0, $dff088
move.l #bitplane, d0
move.w d0, copper+6
swap d0
move.w d0, copper+2
move.w #%1000001110000000, $dff096
jmp *
section chip, data_c
copper:
dc.l $00e00000, $00e20000
dc.l $008e2c81, $0090f4c1
dc.l $00920038, $009400d0
dc.l $01001001, $01020000
dc.l $01040000, $01060020
dc.w $0108, -40
dc.l $010c0000, $01fc0000
dc.l $6001ff00, $01800248
dc.l $7001ff00, $0180047c
dc.l $8001ff00, $01800248
dc.l $9001ff00, $01800000
dc.l -2
bitplane:
blk.b 40, 0
|
z5_
Member |
my display settings (320*200, 256 colors):
dc.w $0801,$fffe
dc.w fmode,$3
dc.w bplcon4,%0000000000000000
dc.w bplcon3,%0000000000100000
dc.w bplcon2,%0000001000000000
dc.w bplcon1,%0000000000000000
dc.w bplcon0,%0000001000010001
dc.w diwhigh,$2100
dc.w diwstrt,$4881
dc.w diwstop,$10c1
dc.w ddfstrt,$0038
dc.w ddfstop,$00d0
dc.w bpl1mod,-$8
dc.w bpl2mod,-$8
|
ZEROblue
Member |
Both mine and your code blank the border out fine when I try them. If they don't give the same result on your Amiga then I guess you have some hardware which is meddling in things, and I have no idea how to correct it.
One alternative is to replace color 0 with another spare color in all your screens.
|
z5_
Member |
Just as i was writing a reply to blueberry's post in another thread, the solution came to me. How can i be so daft :o) I was overwriting bplcon3 in my gradient copperlist so bit 5 was reset to 0. It now works :o)
|
blakkhar
Member |
Just got the info that Individual Computers its new "Flickerfixer" will have boderblank support.
|