| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
FLI Bug
I came across the following situation:
Set the VIC to character mode and multicolor.
Now generate a badline every rasterline and changing $d018 so that the VIC fetches data from a new screen (Video Matrix Base Address) every rasterline...
In this situation the FLI bug only completely appears when the last eight bytes of the charset (the last char in the charset) are filled with $ff.
So, when you fill those bytes with $00, you won't see the FLI bug and the background color is shown.
And no need to mask the bug with sprites anymore!
Even if you draw a smiley in the last char, the FLI bug shows only those smileys!
Now, my questions...
1. Are my findings correct? Or is there more to it?
2. (How) Can this be done in bitmap mode?
I've only tested this on Vice and CCS, it may differ on a real C64 |
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
* Char mode (single color):
Graphics from the $ff char.
Bg-color from $d021
Fg-color from the value of the op-code following the $d011 write.
* Char mode (multi color):
Graphics from the $ff char.
Bg-color from $d021
$d8xx color from the value of the next op-code
Other two MC-colors are normal.
* Bitmap (single color):
Normal bitmap graphics
Colors from $ff == gray+gray
* Bitmap (multi color):
Normal bitmap graphics
Bg-color from $d021
$d8xx color from the value of the next op-code
screen colors from $ff == gray+gray
(I THINK!) :D
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
@MRT: Your findings seem correct to me. If you wanna hide the bug in bitmap mode, w/o using sprites you can just clear all pixels in the bug area if it's multicolor mode. In single color mode the bug will always be light gray, so a popular way of disguising this is to make the border and "background color" of the FLI gfx light gray too. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
fli bug = vic reads #$ff from screen ram. |
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
Maybe a little off topic, but I've encountered another curious thing with the same setup.
I see some sort of character display at rasterline $32. Now the first badline occurs on $33 and I can't seem to manipulate the $32 line. But, when I clear the first line of all the characters in the first screen bank (no matter if the first bank is displayed), the rasterline $32 disapears.
Now, to be clearer... The displayed chars on $32 ARE NOT the same as the characters of the first screen bank. I don't know what is displayed there, but it only displays one of the multicolors and the character color.
What's this?
|
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
Quote: fli bug = vic reads #$ff from screen ram.
And "next opcode" from color RAM. |
| |
Monte Carlos
Registered: Jun 2004 Posts: 359 |
It sounds, that your starting your fli one line too late.
Check, if you really can do 200 lines fli and not only 198 or 199. You can see it, if theres no fli switches in the last 3 lines or so.
Did you open the borders for fliing ?
Monte
|
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
Nope, no open borders...
And yes, I'm doing 200 lines
:-S
And I'm starting fli on line $33, but even before $33 I update $d018 with the right value... |
| |
WVL
Registered: Mar 2002 Posts: 902 |
Quote: Nope, no open borders...
And yes, I'm doing 200 lines
:-S
And I'm starting fli on line $33, but even before $33 I update $d018 with the right value...
You can't do 200 lines if you're starting at rasterline $33.. you have to open the borders and start at line $30 if you want to have 200 lines...
This is because badlines are limited to $30-$f7.. |
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
Sorry... must be stoned again... ;-)
Yes Monte Carlos & WVL...
You're both right. Thanx. I was starting one line too late. Curious though, because I was starting on line $33 when the bug appeared, but now I'm starting on $32 and the bug is gone. BUT, the amount of lines displayed seem to be the same as before... 8-S
|
| |
Viktor Account closed
Registered: Apr 2002 Posts: 78 |
Have somebody ever tried the fli and the multi char mode together?
Will it cause something interesting? A new format or something another? |
| |
Jetboy
Registered: Jul 2006 Posts: 337 |
It's there since forever - "DisplayList" like effects are done like that.
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
displaylist like effects are not using fli, instead they stretch the very same line forever and change d018 each line to display different gfx.
fli and multi chars together wont really give you anything that couldnt be done easyer using another trick. (see above) |
| |
Viktor Account closed
Registered: Apr 2002 Posts: 78 |
Thanks Oswald.
Viktor |
| |
Jetboy
Registered: Jul 2006 Posts: 337 |
Quote: displaylist like effects are not using fli, instead they stretch the very same line forever and change d018 each line to display different gfx.
fli and multi chars together wont really give you anything that couldnt be done easyer using another trick. (see above)
But that's almost exactly the same as FLI.
First charline in fli is stretched, while bitmap stays unstretched, and changed every line.
In Displaylist-like effects, first char line is stretched and changed every line.
It's not that big difference I would say. Only small difference in cycling.
BTW. how to get rid of the garbage after displaying fli, when you have border color other than black? |