You are not logged in -
nap
CSDb User Forums
Forums
>
C64 Coding
>
FLI explained, please...
2009-05-03
20:40
Dragnet
Registered: Nov 2006
Posts: 16
FLI explained, please...
Hola,
I'm looking for an easy-understandable-for-a-novice description, preferably with a *documented* example to go along with it, of how FLI actually works, including a description of how the colordata is stored (so i'll know how to manipulate it). My C64 skills are very novice/rusty indeed, so the more documentation, the better...
I have already been searching this forum and the C64 codebase for the sorts, but found what seems like a trillion different FLI formats (FLI, AFLI, XFLI, IFLI, MUFLI, etc) with different resolutions... But, I'm merely thinking of "normal fli" (if there is such a thing) capable of handling a width of 40 chars (and at least a height of 10 chars), no sprites involved, and 16 colours per char, running as part of the normal IRQ. Make sense?
Furthermore, a reference to a drawing-program that can save in the explained format, or at least in a format that can be converted into it, would be very nice!
That's not much to ask for, is it? :)
Any help will be greatly appreciated...!
Regards /Dragnet
... 40 posts hidden. Click
here
to view all posts....
2009-05-06
18:43
Frantic
Registered: Mar 2003
Posts: 1648
"Singlecolor" is for cp-mongos. It is called hires!
2009-05-06
18:52
Krill
Registered: Apr 2002
Posts: 2980
Ok, and while we're at choosing some sane names for C64 stuff, let's fight weirdo terms like flexible line distance, flexible pixel position, IFFL (sorry, too lazy to look up what that crud means), crunching, etc.pp. :D
2009-05-06
19:12
Dragnet
Registered: Nov 2006
Posts: 16
Quote:
in singlecolor you have more than 1 color+the background. thats only true for one char cell. if on irc we would chat about coding, and you would say "singlecolor" I would surely ask back "you mean hires?". but if I would say "hires chars" or "hires bitmap" you wouldnt need to ask back what do I mean. :)
anyway use it if you like it. :)
btw still dont get what do you mean with "VIC only allows Hires together with SingleColor" ? that shows how confusing and misleading is this term. There's Hires and Multicolor, Singlecolor is confusing. You use 2 terms on the same thing in one sentence and claim one of them is prequisite of the other...
Surprise, surprise - I'm still confused.
I understand the terms listed above, e.g. hires vs. multicoler, bitmap vs chars, but do not understand how hires goes together with FLI!? And I still have no clue as to what ECM is, but nevermind...
Anyways, if I read Grahams FLI code correctly from codebase64 (see link somewhere above), colours stored in $d800 are fixed, set on init. Does this (per char) correspond to the background colour or the individual colour per char? Point is, if its the individual colour per char, then how can the FLI technique offer more colours per char, eventhough we split per rasterline? Hence, it must be what is referred to as the background colour of the char, and additional colour ram (for hires bitmap, must be what corresponds to $4000 in Grahams example code) is what constitutes individual char colours. Ergo, this means that hires FLI gives you a total of 1+8 colours per char (plus $d020 value), allowing for two colours per rasterline per char, where one of the two is always the same for the entire char!? Is this correct, or did I just make an arse of myself as usual...? :)
Also, my initial question concerning the colour ram was actually more on how the colour ram is laid out in memory (not the fixed $d800 colours) for "normal" FLI (lores multicolour!). Say, if the colourram starts at $4000, then what is the memory location of the colour ram for the first line in the first char (ok, $4000 I guess for that one... hehe), for the 2nd line in the first char, etc, then for the first line in the second char, etc. Point is, the exact locations must naturally be known to manipulate the colours of a given char. I know this information can probably be deduced from the values stored in $d011 and $d018 in Grahams example, but damn if I know how...
Regards /Dragnet
2009-05-06
19:29
JackAsser
Registered: Jun 2002
Posts: 2014
Quote:
Surprise, surprise - I'm still confused.
I understand the terms listed above, e.g. hires vs. multicoler, bitmap vs chars, but do not understand how hires goes together with FLI!? And I still have no clue as to what ECM is, but nevermind...
Anyways, if I read Grahams FLI code correctly from codebase64 (see link somewhere above), colours stored in $d800 are fixed, set on init. Does this (per char) correspond to the background colour or the individual colour per char? Point is, if its the individual colour per char, then how can the FLI technique offer more colours per char, eventhough we split per rasterline? Hence, it must be what is referred to as the background colour of the char, and additional colour ram (for hires bitmap, must be what corresponds to $4000 in Grahams example code) is what constitutes individual char colours. Ergo, this means that hires FLI gives you a total of 1+8 colours per char (plus $d020 value), allowing for two colours per rasterline per char, where one of the two is always the same for the entire char!? Is this correct, or did I just make an arse of myself as usual...? :)
Also, my initial question concerning the colour ram was actually more on how the colour ram is laid out in memory (not the fixed $d800 colours) for "normal" FLI (lores multicolour!). Say, if the colourram starts at $4000, then what is the memory location of the colour ram for the first line in the first char (ok, $4000 I guess for that one... hehe), for the 2nd line in the first char, etc, then for the first line in the second char, etc. Point is, the exact locations must naturally be known to manipulate the colours of a given char. I know this information can probably be deduced from the values stored in $d011 and $d018 in Grahams example, but damn if I know how...
Regards /Dragnet
Hires FLI, more known as AFLI gives you two unique colors per char and raster line.
Normal FLI gives you one common background color. the $d800 colors per char. and two extra unique colors per char and raster line.
FLI simply fetches new color data from screen memory each rasterline. So the memory layout is simple, each color-screen corresponds to the current raster line within a char. Other than that the screens are access like normal.
screen-index: y & 7
screen-pos: (x/8)+(y/8)*40
0<=x<=319 0<=y<=199
2009-05-06
20:21
Oswald
Registered: Apr 2002
Posts: 5094
ok, FLI explained:
make sure you understand how multicolor/hires bitmaps works:
http://codebase64.org/doku.php?id=base:built_in_screen_modes
multicolor fli:
same as multicolor bitmap, except:
you change the location of the screen memory on every rasterline. using 8 screen memory to have a unique scr mem for each 8 lines of each chars.
hires fli:
same as hires bitmap, except:
see above.
naturally $d021 and & d800 doesnt come to play in here. (see the hires bitmap on the link again if you dont get this)
2009-05-06
20:28
MagerValp
Registered: Dec 2001
Posts: 1078
Quote:
Ok, and while we're at choosing some sane names for C64 stuff, let's fight weirdo terms like flexible line distance, flexible pixel position, IFFL (sorry, too lazy to look up what that crud means), crunching, etc.pp. :D
Flexible Line Distance makes perfect sense, IMHO. FPP not so much, and IFFL doesn't even really mean anything :)
2009-05-06
20:29
Dragnet
Registered: Nov 2006
Posts: 16
Hola,
I get it... Finally... :)
What got me confused, I guess, was that I had forgotten that the screen can reside in numerous memory locations, e.g. $0400 or $4000, which makes the concept of FLI a bit hard to grasp concerning memory layout. Hence, the memory location (layout) *is* the screen colour data, not some arbitrary format stored to the screen...
Thanks for all the replies...!
Regards /Dragnet
2009-05-06
22:08
Skate
Registered: Jul 2003
Posts: 494
About naming the graphic modes, why don't we give animal names to graphic modes? We wouldn't have any problems by choosing names like hires/single color/almost square (makes sense actually ;)) gfx mode. I vote on Kangaroo and Koala :D
Koala
Kangaroo
Koala Char
Kangaroo Char
<write any Australian animal name here for ECM> Char
Case is closed...
2009-05-07
00:01
Ksubi
Account closed
Registered: Nov 2007
Posts: 87
ECM=Echidna Character Mode :)
2009-05-07
08:50
Jetboy
Registered: Jul 2006
Posts: 337
Quote:
Flexible Line Distance makes perfect sense, IMHO. FPP not so much, and IFFL doesn't even really mean anything :)
IFFL means Interleaved File Fast Loader
Previous
-
1
|
2
|
3
| 4 |
5
-
Next
Refresh
Subscribe to this thread:
You need to be logged in to post in the forum.
Search the forum:
Search
All forums
C64 Coding
C64 Composing
C64 Pixeling
C64 Productions
CSDb Bug Reports
CSDb Development
CSDb Discussions
CSDb Entries
CSDb Feedback
CSDb Info
CSDb moderators
CSDb Questions
Messages to moderators
Requests
for
in
Writer & text
Text
Writer
All times are CET.
Search CSDb
All
Releases
Groups
Sceners
Events
BBS
SIDs
-------
Forum
Comments
Advanced
Users Online
Smasher/F4CG
TheRyk/MYD!
Laddh
Acidchild/Padua
Holy Moses/Role
zscs
Mike
rambo/Therapy/ Resou..
LKP/CFN
𝘁𝗡𝗚/FairLight
grasstust/Hoaxers
Steve/Laser, Zenith,..
Paulko64
Deev/Onslaught
Guests online: 123
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
Censor Design
(9.3)
5
Triad
(9.3)
Top Original Suppliers
1
Derbyshire Ram
(9.7)
2
Fungus
(9.3)
3
Black Beard
(9.2)
4
Baracuda
(9.2)
5
hedning
(9.1)
Home
-
Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.046 sec.