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 > How does linecrunch work ?
2003-02-17 11:49
Majikeyric

Registered: Sep 2002
Posts: 83
How does linecrunch work ?

Hi everybody !!!!

Can someone explain or point me to a web site where I could find information about linecrunch ???
I think it allows to scroll bitmaps but I don't know how ???

thanks.
 
... 23 posts hidden. Click here to view all posts....
 
2013-10-26 15:43
ChristopherJam

Registered: Aug 2004
Posts: 1424
Never mind, got it working now :D
2022-06-15 08:58
Raistlin

Registered: Mar 2007
Posts: 771
I'm starting to code my first linecruncher (!) .. and hitting some snags. I can only get it to scroll 0-14px (!) instead of the 0-15px that I of course want...

Across 16 frames, I'm doing these D011 writes (VSYNC, HSYNC):-

Frame0: V01, H15 (D011 = $30) and V48, H09 (D011 = $31)
Frame1: V01, H15 (D011 = $31) and V49, H09 (D011 = $32)
...
Frame6: V01, H15 (D011 = $36) and V54, H09 (D011 = $37)
Frame7: V01, H15 (D011 = $37) and V54, H09 (D011 = $30)
Frame8: V01, H15 (D011 = $30)
Frame9: V01, H15 (D011 = $31)
..
Frame15: V01, H15 (D011 = $37)

These are the only $d011 writes that I do...

Frame7 and Frame8 end up the same .. so it seems that I have something out of step somehow - both frame 7 and 8 of course have a final $d011 value of $30... so I assume I'm doing -something- wrong here..?

Any help/advice at all would be great............
2022-06-15 10:40
Raistlin

Registered: Mar 2007
Posts: 771
One more small note with what I'm trying to do here ... I'm -hoping- that I can do 0-15px linecrunch-based scrolling without losing any of the vertical height of the screen .. ie. retaining all 24chars (192px).
2022-06-15 11:06
Krill

Registered: Apr 2002
Posts: 3098
Still not quite sure what you want to achieve, tbh. :)

Linecrunching does not lose you any char rows, but the wrapping point (screen offset $03ff->0 mid-row) and shifted screen contents below that become a bit cumbersome to handle.

One crunched char row equals upscrolling by 7 rasterlines, and you'd normally combine linecrunching with FLD (empty lines filled with $3fff idle pattern) for pixel-wise hardware Y-scrolling.
2022-06-15 12:00
Raistlin

Registered: Mar 2007
Posts: 771
Ahhh, thanks Krill! That was the last piece of the puzzle - and explains why I could only get 0-14px working instead of 0-15px (0-7px coming from the smooth scroll of D011 plus 0px or 7px depending on whether I crunched a line).

I have it working in my test function now... tomorrow I'll see whether I can get it working in a more useful way :-)
2022-06-15 12:37
Krill

Registered: Apr 2002
Posts: 3098
Glad i could help!

So the missing piece of the puzzle was that you'd set YSCROLL again after the crunched line, so you'd have 0..7 pixels of scroll-range above plus another 0..7 pixels of scroll-range below the crunched rows?
Or that you'd need to crunch 3 char rows (not just 2) in order to scroll up by 15 pixels? =)
2025-01-14 09:52
Digger

Registered: Mar 2005
Posts: 448
2025 and finally I am getting my head around to deepen my understanding of $d011 trickery.

So, is it possible to shorten all char lines to be 7 pixels high?
But WITHOUT charline duplication?

I want to force a badline every 7 rasterlines, and make VIC to read the new charline there. Possible? How?
2025-01-14 11:13
Krill

Registered: Apr 2002
Posts: 3098
Shortening a char row to 7 (or fewer) rasterlines will prevent the row pointer from advancing to the next 40 chars.

You can still feed new char data by switching screen base via $D018/$DD00 prior to triggering the next badline.

The screen memory layout will be somewhat funky, with 40 chars at N*$0400 scattered all over the memory space.

$D800 colours will remain the same, though, unless you overwrite them between the occurance of two badlines.
2025-01-14 13:16
Digger

Registered: Mar 2005
Posts: 448
Yeah, I know this mode and that's exactly what I do NOT want.
So no way to force advance the row pointer earlier?
2025-01-14 21:25
chatGPZ

Registered: Dec 2001
Posts: 11523
its called FLI :)
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
Shake
Rhythm/G★P
The Human Co../Maste..
Scrap/Genesis Project
eryngi
iAN CooG/HVSC
Guests online: 132
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Wonderland XIV  (9.5)
9 Uncensored  (9.5)
10 Comaland 100%  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Grey  (9.5)
9 Dawnfall V1.1  (9.5)
10 Rainbow Connection  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Performers  (9.3)
5 Censor Design  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Acidchild  (9.7)
4 Cash  (9.6)
5 Violator  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.043 sec.