Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > 3rd Line FLI
2018-10-24 11:14
Cruzer

Registered: Dec 2001
Posts: 1048
3rd Line FLI

Is it possible without getting either linecrunch or FLD for each new character line?
2018-10-24 11:37
Krill

Registered: Apr 2002
Posts: 2980
Quoting Cruzer
Is 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.
2018-10-24 11:52
Cruzer

Registered: Dec 2001
Posts: 1048
Quoting Krill
Not sure if i understand, but you want to have new colours (or chars) for every 3rd rasterline?
Correct.

Quoting Krill
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.
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.
2018-10-24 11:59
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).
2018-10-24 12:34
Oswald

Registered: Apr 2002
Posts: 5094
maybe you do the fli on bad line too ?
2018-10-24 12:53
Krill

Registered: Apr 2002
Posts: 2980
Quoting Oswald
maybe 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".
2018-10-24 15:31
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)
2018-10-24 15:48
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).
2018-10-24 16:59
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.
2018-10-24 17:07
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. :)
2018-10-24 17:36
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Devia/Ancients
rambo/Therapy/ Resou..
Flashback
katon/Lepsi De
LightSide
Martin Piper
Alakran_64
Matt
Hein
Guests online: 113
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.071 sec.