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 > FLD/FPP question.
2013-03-18 07:59
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?
 
... 23 posts hidden. Click here to view all posts....
 
2013-03-19 12:08
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...
2013-03-19 17:34
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
2013-03-19 19:18
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.
2013-03-20 07:21
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).
2013-03-20 07:36
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 ;).
2013-03-20 07:51
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...
(^ム^)
2013-03-20 08:13
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. :)
2013-03-20 09:50
Oswald

Registered: Apr 2002
Posts: 5094
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 ;).

dont you get 256 unique lines in sprite fpp? arrange sprites by incrementing Y coord -> stretch sprites -> each sprite displays a different line of the same sprite gfx -> 256 different sprite gfx thus lines possible -> profit. then if you add to each sprite's y coord 8, you get another 256 possibility, and we're still in the same vic bank. 672 different lines possible, but maximum only 256 is freely selectable during one frame.

you are only limited by d018 if you want to save the cycles needed to rewrite sprite gfx pointers. :P :) I guess there's just about enough time to rewrite all 8 sprites, if you selfmod the raster code from the outside.
2013-03-20 12:16
HCL

Registered: Feb 2003
Posts: 728
@Oswald: Correct, but i was talking about FPP in char mode :).

@Flavioweb: Doing FPD on a normal bitmap pic is not easy at all, assuming you are talking about bitmap as using more colors than 3+bg.. like in The Bubble Tale / Crest.
2013-03-20 12:32
Oswald

Registered: Apr 2002
Posts: 5094
Quote: @Oswald: Correct, but i was talking about FPP in char mode :).

@Flavioweb: Doing FPD on a normal bitmap pic is not easy at all, assuming you are talking about bitmap as using more colors than 3+bg.. like in The Bubble Tale / Crest.


while we're at it hows it done?:)
Previous - 1 | 2 | 3 | 4 - 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
Acidchild/Padua
macx
Scrap/Genesis Project
Guests online: 89
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 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (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 Organizers
1 Burglar  (9.9)
2 Sixx  (9.8)
3 hedning  (9.7)
4 Irata  (9.7)
5 Tim  (9.7)

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