| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
3rd Line FLI
Is it possible without getting either linecrunch or FLD for each new character line? |
|
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting CruzerIs it possible without getting either linecrunch or FLD for each new character line? Not sure if i understand, but you want to have new colours (or chars) for every 3rd rasterline?
Pretty sure that's possible. But i have a hunch you just want to have a regular badline (no timing-exact $d011 manipulation required) whenever one of those "FLI lines" coincides with the badline (0th rasterline) of a new char row. |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Quoting KrillNot sure if i understand, but you want to have new colours (or chars) for every 3rd rasterline? Correct.
Quoting Krilli have a hunch you just want to have a regular badline (no timing-exact $d011 manipulation required) whenever one of those "FLI lines" coincides with the badline (0th rasterline) of a new char row. That's the least of my concerns. I have just experimented with doing timing-exact $d011 manipulation on every 3rd line, and this resulted in linecrunch for every char. So you first have a char row that's 8 pixels tall, then one that's 1 pixel tall, and so on.
Then I tried setting the d011 value that caused the linecrunch earlier, and that changed the linecrunch to FLD.
So ideally I would like 8 pixel high char rows with no gaps. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
But you just have to set a $d011 value such that (($d011 & $07 ) == ($d012 & $07)) is true, in other words, that the lowmost 3 bits of $d011 and $d012 are equal. Then make sure that this happens in the correct cycle (such that the first 3 chars of a char row show the FLI bug). |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
maybe you do the fli on bad line too ? |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Oswaldmaybe you do the fli on bad line too ? This is why i said, "But i have a hunch you just want to have a regular badline (no timing-exact $d011 manipulation required) whenever one of those "FLI lines" coincides with the badline (0th rasterline) of a new char row."
However, in order not to get into FLD territory, you have to make sure that you never leave a char row and go into idle mode ($3fff et al.) - but this should really not happen if you set $d011 every 3 rasterlines to match the lowmost 3 bits of $d012.
Oh, and of course with setting it to the next badline (after FLI has been triggered) whenever that one would be the next "FLI line". |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
This is most definitely possible. Just make sure you reset $d011 after you've done the FLI otherwise you will in practice shorten the character line or cause FLD. Just like when you do f.e. 4x4 FLI by triggering evert 8th line in between normal bad lines. If you would forget to reset $d011 there you would create gaps and crunches.
(See LFT's eminent timing PDF) |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Yes, that "resetting" is setting $d011 so that the next badline is the next "FLI" line, which must be done whenever the current FLI line is rasterline 5 of a char row (next "FLI" line at rasterline 0 of next char row). |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
All of the above, but IIRC you can also avoid the "normal" badlines by only setting d011 to match raster just after the DMA would have completed (it's kind of like a very late FLI line)
This way you only lose 40 cycles to DMA on 8 lines out of 24, instead of 10 lines out of 24, and also only do the fetches you actually want. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Yes, that's extending the FLI bug area to more than 3 chars if you need the cycles and don't mind a smaller effect area. :) |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Yes, you can extend it all the way to 43, and just inherit whatever screen values were there from the previous line.
I just can't remember how that prevents VIC-II from dropping into idle mode at the end of line 7 - I guess that only happens if the badline condition is false?
VIC Artikel or LFT's timing chart would elucidate I'm sure. |
... 20 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 - Next |