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


Forums > C64 Coding > 4x4 FLI questions..
2023-10-13 07:51
ws

Registered: Apr 2012
Posts: 229
4x4 FLI questions..

So, Onslaught Design uses a gfx mode which I have never consciously observed before, and i was amazed that it actually seems to be all characters, no bitmap, no sprites.

So, do i get this right: like this you can get any of 16 colours next to eachother in a 4x4 pix matrix with only 2x 1k (minus the fli bug gap) ? Or are there neighbouring restrictions, too?

Question2: is there a crossplatform converter for this already, like PNG or BMP to 4x4 Charmode FLI?

Question3: can you point me at a plasma that uses this mode?

Thanks!
2023-10-13 08:04
ws

Registered: Apr 2012
Posts: 229
Oh no. I just understood it actually DOES use bitmap. My bad. Nevermind!
2023-10-13 10:20
chatGPZ

Registered: Dec 2001
Posts: 11147
There must be converters too (it's trivial) - look for "Zoom4" (or "Zoom8", which is the same but with 8x8 blocks)
2023-10-13 11:32
Oswald

Registered: Apr 2002
Posts: 5028
zoom4 and zoom8 are really stupid naming, wtf is zoomed ? nothing.
2023-10-13 11:36
chatGPZ

Registered: Dec 2001
Posts: 11147
Stupid terms in the scene? No way :)
2023-10-14 18:13
DKT

Registered: Aug 2004
Posts: 96
zoom the pixels in any gfx editor 4 times and you will figure out why it's called zoom4 ;)
2023-10-15 22:39
Krill

Registered: Apr 2002
Posts: 2854
Quoting ws
So, So, do i get this right: like this you can get any of 16 colours next to eachother in a 4x4 pix matrix with only 2x 1k (minus the fli bug gap) ? Or are there neighbouring restrictions, too?
Quoting ws
Oh no. I just understood it actually DOES use bitmap. My bad. Nevermind!
Yes, bitmap mode is required to set two independent colours per 8 pixels wide tile.

To minimise memory usage, you could use the repeated-badline technique rather than extra DMA by FLI.

This would limit the bitmap portion to the first 320 bitmap bytes, but spread out the colour map all over RAM in chunks of 40 bytes.

Interrupt overhead is higher (need an interrupt every 4 rather than 8 rasterlines), but there is no FLI bug and thus full width.
2023-10-16 09:32
Oswald

Registered: Apr 2002
Posts: 5028
Recently I was wondering if repeating first line of bitmap 4x4 is possible, thanks for the answer :) hadnt had a use case yet tho.
2023-10-16 12:11
chatGPZ

Registered: Dec 2001
Posts: 11147
The way it scatters the VRAM over memory is a bit... annoying :)
2023-10-16 13:10
HCL

Registered: Feb 2003
Posts: 717
Yes, the memory usage is very fragmented.. but the interrupt-overhead is probably *not* higher, like Krill suggests, perhaps even lower.. Since there is no FLI-bug involved, the interrupt is not timing critical, and you can also trigger two badlines within the same interrupt..
2023-10-16 14:41
Copyfault

Registered: Dec 2001
Posts: 467
Well, initially I wanted to post something very close to what Krill wrote, but then I decided to refrain from it, mainly due to that awful memory scattering already mentioned.

And cheering in to HCL's post: the approach even allows for getting along without any IRQ at all - code interleaving is your friend ;)
2023-10-16 14:47
chatGPZ

Registered: Dec 2001
Posts: 11147
and that's where "annoying" turns into "plain ugly" :)
2023-10-16 15:16
ws

Registered: Apr 2012
Posts: 229
that reminds me of a question in another thread, if there would be any desirable additional feature for the VICII, and yes, that would def be a switchable/banked color ram. but since it is hard-wired, that will remain an eternal desire.
2023-10-16 16:01
ChristopherJam

Registered: Aug 2004
Posts: 1381
<c128> Heyyyy, I've got two color RAMs!
2023-10-16 16:40
ChristopherJam

Registered: Aug 2004
Posts: 1381
Of course, if you don't want to do quite so much fragmenting but still would prefer not to spend an entire 8000 bytes on repeated $f0, you can mix and match the techniques a little.

Just use FLI to allow the character pointer to advance to a new row every half a dozen pixel rows or thereabouts (eg every 20 or 24 raster lines), then you can drop your bitmap size down to a touch over 3k, and fit all the screens you need in the same bank.

You'll need a few sprites here and there to patch over the FLI bug if you want a full 80x50 display area, but most of the rows will be full width already.

(thinking out loud here, e&oe)
2023-10-16 19:10
ws

Registered: Apr 2012
Posts: 229
@Christopherjam: oh, most interesting, didn't know that! But can it be "exploited" like switching it on a rasterline back and forth? Damn i never even shallow-dived into C128 although i had (and again have) one. Such a shame.
2023-10-16 20:17
mankeli

Registered: Oct 2010
Posts: 110
Quote: that reminds me of a question in another thread, if there would be any desirable additional feature for the VICII, and yes, that would def be a switchable/banked color ram. but since it is hard-wired, that will remain an eternal desire.

Axis had a routine in Incoherent Nightmare (iirc) that had color ram split into two pages :)
2023-10-16 22:47
chatGPZ

Registered: Dec 2001
Posts: 11147
The greetings part in CL13 does this as well.
2023-10-17 07:43
ChristopherJam

Registered: Aug 2004
Posts: 1381
@ws: so far as I'm aware the color RAM values are fetched at the same time as the character indices, just like on c64, so you wouldn't be able to switch mid line as the video chip is stealing all the cycles at that point. But you can still choose each raster independently if you force them all to be badlines.
2023-10-17 20:16
Digger

Registered: Mar 2005
Posts: 422
These discussions usually result in HCL, Cruzer or Krill inventing a new (G)FX mode =)
Like that plasma in The Elder Scrollers using 4x3 wide pixel blocks.
2023-10-17 20:35
HCL

Registered: Feb 2003
Posts: 717
I'm not quite sure what you guys mean in the latest few posts.. splitting color RAM.. Couldn't find that in Incoherent Nightmare or ComaLight 13, perhaps i didn't look enough :).

Splitting color RAM was dedicated a whole chapter in Edge of Disgrace.. 3-4 parts in a row! At least that's what i call splitting color RAM..
2023-10-17 21:51
Digger

Registered: Mar 2005
Posts: 422
Quote: I'm not quite sure what you guys mean in the latest few posts.. splitting color RAM.. Couldn't find that in Incoherent Nightmare or ComaLight 13, perhaps i didn't look enough :).

Splitting color RAM was dedicated a whole chapter in Edge of Disgrace.. 3-4 parts in a row! At least that's what i call splitting color RAM..


@HCL: You mean HCB? And HCB-like plasmas?
2023-10-17 22:42
chatGPZ

Registered: Dec 2001
Posts: 11147
I was referring to double height "chars", allowing to double buffer color ram. Which i think is what mankeli implied :)
2023-10-18 01:03
mankeli

Registered: Oct 2010
Posts: 110
Quote: I was referring to double height "chars", allowing to double buffer color ram. Which i think is what mankeli implied :)

Yeah, that's what i meant. :) Didn't know the cl13 greetspart uses that too! It's not visible at all.
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
Linus/MSL
megasoftargentina
hedning/G★P
DonChaos
iAN CooG/HVSC
syntaxerror
iceout/Avatar/HF
theK/ATL
Guests online: 92
Top Demos
1 Next Level  (9.8)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 No Bounds  (9.6)
9 Bromance  (9.5)
10 Wonderland XII  (9.5)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 It's More Fun to Com..  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Booze Design  (9.3)
3 Censor Design  (9.3)
4 Crest  (9.3)
5 Performers  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.8)
4 Acidchild  (9.7)
5 Starlight  (9.6)

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