Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user maak ! (Registered 2024-04-18) You are not logged in - nap
CSDb User Forums


Forums > CSDb Discussions > Sprites over FLI
2008-10-23 02:50
Kickback

Registered: Apr 2004
Posts: 97
Sprites over FLI

Yes I'm pretty sure this has been asked a couple of times already. But for the record, how many sprites can I display per FLI line?

Also how many can I display per FLI line with sideborders open? I know there is some talks about every other line, so is it possible to open everyline?

And last but not least is it possible to add more then one color to the 3 chars you loose on each side? I know in Deus Ex Machine it had (looked) more then one color on the sides there?

Yup 1 question turns in to 3, well that the Kickback way LOL!

Thanks
James
2008-10-23 05:43
Radiant

Registered: Sep 2004
Posts: 639
AFAIK six sprites over FLI is the maximum, by utilizing a trick invented by Ninja/The Dreams.

Covering up the FLI bug is generally (always?) done using sprites. I don't know which specific picture in Deus Ex Machina you're referring to, but chances are sprites are involved. You can change the colour of a normal FLI (not AFLI to my knowledge) bug area, but only on a per-scanline basis.
2008-10-23 06:42
HCL

Registered: Feb 2003
Posts: 716
How many sprites per FLI-line? 8. The only problem there is that the sprites will steal some cycles, thus moving the FLI-bug further to the right -> shrinking the FLI-area.

How many sprites per FLI-line with open sideborder? 0. It's not even possible to open the sideborder with 0 sprites if you want every-line-fli.

Colors on the 3 chars you loose.. well, first you don't loose chars on each side, only on the left. Then just use your imagination. Look at Crest demos and possibly Royal Arte 100% (last part on first disk).
2008-10-23 07:06
Cruzer

Registered: Dec 2001
Posts: 1048
Colors you can use in the FLI bug is $ff for screen colors, plus the background (d021) color, plus the d800-color, which depends on which opcodes you use for the displayer, i.e. if you switch from lda/sta to ldx/stx or lyd/sty, you'll get different colors. This is caused by something with opcode bytes on the bus getting mixed up with the d800-colors or some shit. :)
2008-10-23 14:26
Kickback

Registered: Apr 2004
Posts: 97
Nice! I got some of the best replying, thanx guys!

@radiantx: nice music and graphics!
This trick how does it work? If anyone can explain it to me?
Does it work like splits or something?
The picture I was talking about was the title page with the beer lady in the water? I know that the side border stuff there is every other line, that was one reason I asked about every line?

@HCL:What is the bare min that you can use where the FLI pic won't shrink from what it normally is? Yes I know this is a stupid question, because like you said the sprites steal cycles. What I did was even up the sides (lost 3 chars on the left so I did the same on the right). So going with that how many sprites would suck up that much timing (3 chars on the right).

And that Royal Arte! Dude thats one of my favorite demos, good graphics, good music, great presentation! What is the graphics program that you use? I am still stuck on DPAINT for the PC or Pro Motion. That front page is regular multicolor-hires right? (with the paint brush and all?)

@cruzer: Dude just like my man above, great products!
Ok so depending on how many sprites I put a line the bug moves over more and more. Can I change the color of this bug per char or its only per line? Also I am a little confused on $d800 color? Are you saying what ever is left in lda or sta is used as that color? So if I do lda (just some number #$02) on that fli line the bug chars will be red?

Also where is your demo :-)
2008-10-24 10:15
HCL

Registered: Feb 2003
Posts: 716
Like Radiantx said, 6 sprites is the current record with no more than the *normal* FLI-bug.

Oh, the gfx in Royal Arte?.. I used FacePainter and GunPaint(and emulator) at that time, but i was (obviously) cheating alot by having a .gif in another window beside. :P. The title gfx however was made by Valsary, very skilled plxxeler.. You ask him about his technique :).
2010-03-22 21:03
Digger

Registered: Mar 2005
Posts: 421
Following the discussion, I am trying to place as much as possible (6, 7 or 8) hires Y-stretched sprites over hires FLI...
Extended "FLI bug" is fine as long as the available screen width equals total sprites width...
So, basically, I need to set $d011, $d018 and change $d017 in less than 23 cycles (2 clock cycles are lost for each sprite).

What's the best way to do it? Unrolled FLI loop?

I am back to C64 coding after about 13 years and it all feels a bit rusty... ;-)
2010-03-22 21:29
Oswald

Registered: Apr 2002
Posts: 5017
of course unrolled is always the best way :) you are forgetting that sprites do cycles aswell, on a line where the VIC loads screen ram (bad line) + 8 sprites you have 0 or 1 cycles left iirc.

about hiding the fli bug: simply fill those chars in the bitmap with 0, then you will get the background color there.
2010-03-22 21:55
algorithm

Registered: May 2002
Posts: 702
I think the 6 sprites per FLI has more restrictions in comparison to the 5 sprites per FLI (initially debuted by crossbow i believe) which enables whole overlay/underlay with different definitions in each sprite

2010-03-22 22:02
Copyfault

Registered: Dec 2001
Posts: 466
Interesting thread...

@Kickback: are you still around here at CSDB? As your base country is US, it might be that you want to do NTSC coding. Here possibilites are a bit different to PAL, e.g. Ninja's 6 Sprites over FLI should become 7 Sprites over FLI in NTSC world, even without any change of his routine! Unfortunatly "FLI plus SB sprites" is also not possible on NTSC machines as those two additional VIC cycles occur after the critical cycle needed for opening the SB.

Please note that this Deus ex Machina-all border pic with this water girl is _not_ FLI but "just" plain Multicolour plus the already mentioned additional sprites in SB and LB.

@Digger: the 23 cycles only apply when doing a plain FLI without sprites. With sprites, less cycles per line are available until a $d011-write-access has to be done in order to evoke an FLI line. Writing to $d011 at a later cycles makes the FLI bug wider (8 pixel per cycle that $d011 is written to after cycle 14 of that particular line). If you want to use sprites without x-expansion, this gives

8 sprites x 24 pixel/sprite = 192 pixel (using 8 sprites)

In order to evoke an FLI line, you have to change $d011 and $d018 per line. Using a clever routine like "Xbow's 5 Sprite over FLI" or "Ninja's 6 Sprites over FLI" you'll have 10 cycles that are needed for proper $d011/$d018-access. With 8 active sprites, this leads to a $d011-write-access at cycle 20, 6 cycles after cycle 14. Thus, the total FLI bug will be

6 cycles x 8 pixels/cycle + 24 pixels standard FLI BUG = 72 pixels

large. As

192 pixel + 72 pixel = 264 pixel < 320 pixel,

you can have FLI plus 8 sprites over it without problems but the usable area must not begin before pixel no.72 in every rasterline.

Such a mode has been greatly used by Dane; be sure to check his "Digital Magic"-Demo and his X-FLI mode (here he also tweaks sprite colours, but this is another cup of tea).


Hope this clears it up a little...

CF
2010-03-23 05:42
Mace

Registered: May 2002
Posts: 1799
Quoting Copyfault
Please note that this Deus ex Machina-all border pic with this water girl is _not_ FLI but "just" plain Multicolour plus the already mentioned additional sprites in SB and LB.
...plus interlace ;-)
2010-03-24 22:07
Digger

Registered: Mar 2005
Posts: 421
@Copyfault

Thanks a lot for pointing me at the right direction, somehow totally missed X-FLI and that's exactly what I am after! :) I have contacted Dane to get the routine explained.

The reason for it is that I've got an idea for yet another graphics mode, you'll get to know if first if I succeed :)
2019-02-08 21:19
Digger

Registered: Mar 2005
Posts: 421
Resurrecting the thread – can anyone point to Ninja's 6 sprites over FLI timer-based routine? It is "opensourced" AFAIR, or? :D
2019-02-08 21:40
Oswald

Registered: Apr 2002
Posts: 5017
you can fin it in darwin / dreams
2019-02-08 21:44
chatGPZ

Registered: Dec 2001
Posts: 11101
The "source" of the important part is in the appendix of No More Secrets V0.93

There's no politically correct term for 'fucking idiot'.
2019-02-08 22:57
Digger

Registered: Mar 2005
Posts: 421
Quote: The "source" of the important part is in the appendix of No More Secrets V0.93

There's no politically correct term for 'fucking idiot'.


Thanks! Darwin is epic. There's was also another demo with 6 multiplexed sprites over FLI, Bruce Lee pic with trees over it, or?
2019-02-09 09:56
ChristopherJam

Registered: Aug 2004
Posts: 1370
I keep forgetting that Ninja's method involves using RMW instructions/cycle stealing to get more than 8 cycles per line.
2019-02-09 10:47
Copyfault

Registered: Dec 2001
Posts: 466
This uber-beautiful routine alone should give Ninja a Top10 rank in the coder's chart. Wondering if it will ever be "optimized"...

A good opportunity to remind everyone of the UFLIMAX-hype that was going on 10+ years (ahhh, time runs) back:
impossibility level 1 * Try to make 6 Sprites over FLI in *every* rasterline over the full screen range (full width & 200 lines)
impossibility level 2 * The level 1 task *interlaced*

@Digger: I only know this one picture in Darwin with 6 Sprites over full-width FLI. If(!) there's another I'd really like to see it. Do you remember who made it? I'm pretty sure it's not by Ninja.
2019-02-09 21:09
Digger

Registered: Mar 2005
Posts: 421
@CF: I thought about Still Ready (https://youtu.be/yg0CUKh-dgQ?t=123) or Cauldron 101% +++, but actually it's chunky FLI and the sign/trees are not even sprites (but $d800 bits).
2019-02-10 14:43
WVL

Registered: Mar 2002
Posts: 885
I only got to 121 lines fully covered If I remember correctly..
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
Hok/Remember
Core/VPN
Guests online: 78
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 Wafer Demo  (9.5)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Onscreen 5k  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Diskmag Editors
1 Jazzcat  (9.4)
2 Magic  (9.4)
3 hedning  (9.2)
4 Newscopy  (9.1)
5 Elwix  (9.1)

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