| |
Flavioweb
Registered: Nov 2011 Posts: 463 |
FLD/FPP question.
I know how to delay char line visualization using FLD. I'm trying to do the same for every raster line. I tought to use something like FPP playing with D011 on cycle 58 and before 14 but i can't figure out if is possible to show gfx/char data during delay.
Can someone help me?
There is a way to stop vic updating internal gfx pointers at X rasterline, then delay the visualization to Y line and testart painting even if RC <> 7? |
|
| |
Fungus
Registered: Sep 2002 Posts: 686 |
The normal way to do FPD (flexible pixel distance) which looks like per line FLD, is to use FPP to do it. You just need to arrange the data for the graphics so that the first character in the set is the blank one, and the first character line is also filled with that blank character. You can then display any slice of your graphics, as well as having an empty one you can display to create the FPD effect. |
| |
Ksubi Account closed
Registered: Nov 2007 Posts: 87 |
Flavioweb: codebase has some nice examples by HCL:
http://codebase64.org/doku.php?id=base:introduction_to_vertical..
|
| |
HCL
Registered: Feb 2003 Posts: 728 |
So.. i guess you got your answer? It's not possible to *just do* FLD every line instead of every 8:th. If it was, i guess noone would ever have come up with the every 8:th line version :). It's FPD that you need, or FPP. Just choose your gfx mode :). |
| |
Flavioweb
Registered: Nov 2011 Posts: 463 |
Yep HCL you catch the point!
I asked about "FLD" just to "give the idea" but i thought to use FPP/FPD.
Reading VIC article i realized the point is to play with $d011 in the first phase of cycle 58 of a line and probably do something else before cycle 14 of next line...
But, even if i can see the "idle gfx" during delay, i can't u derstand if i can "break" the visualization from a line to another or i'm just obtaining some delays without the possibility to show a "line of gfx" after each delay...
I done just a few experiment in char mode but i'm start to think to use gfx pages to better understand what i'm doing...
For now i have only a screen delayed some lines down, with an area with some delayed "lines" that show only bgcolor and "idle pattern" from char $ff (or $3fff) without gfx...
If it's possible to do... i'm missing something but don't know what... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
what helped me a lot to understand this kind of things.... make a stable raster, add a routine that lets you delay by arbitrary number of cycles (both can be found on codebase, i guess) and then play around with storing values to d011 and shifting the timing forth and back. compare the results with whats written in the vic article. at some point everything will be very logical and solve itself =P |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
I've always used the technique Groepaz describes as well. That way it's pretty easy to do most d011-tricks without even knowing at which cycle things are happening, or why the VIC behaves like it does. What really matters is how many cycles you use between each d011-incrementation.
Using all 63 cycles lets you do FLD or linecrunch/char stretching, which is the same trick just with different gfx modes. Using 23 cycles with 40 cycles free lets you do FLI. Using between 23 and 63 cycles gives you FLI with a varying bug size. Using less than 23 cycles gives you stretched FLI.
And then you just need to combine these tricks with each other as well as storing to other VIC registers to do FPP, FPD, techtech, etc. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Also, sprite FPP is not to be underestimated. There are up to 16 ($d018) * 3.5 ($dd00) = 56 unique lines to combine arbitrarily, plus you can extend the effect to the borders.
Of course, char-based FPP gives you a lot more lines to play with (128 * 3.5 = 448, double the amount for hires using the EBCM trick, memory size and layout issues notwithstanding).
|
| |
HCL
Registered: Feb 2003 Posts: 728 |
@Krill: Just to be picky.. You get 16*8=128 lines in the clean banks and 12*6=72 it the others -> 400 lines theoretical maximum. Make more demos, and you don't forget stuff like that ;). |
| |
Flavioweb
Registered: Nov 2011 Posts: 463 |
I see the "sprites fpp" in "time machine" demo, uses borders to show gfx with same kind of fx i try to understand but done with "normal" bitmaps...
So i need to start from FLI then play around with timings and D011.
Now things starts to be interesting...
(^ム^) |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quote: @Krill: Just to be picky.. You get 16*8=128 lines in the clean banks and 12*6=72 it the others -> 400 lines theoretical maximum. Make more demos, and you don't forget stuff like that ;).
Yeah okay, i made the mistake of assuming that'd be covered with the 3.5 instead of 4, but i overlooked that you lose not only charset data, but also screen data.
I actually have a (semi-)FPP-based part somewhere in the pipeline, really should get it out some day. :) |
... 23 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 | 4 - Next |