Linecrunch
Squeezing eight pixel rows into one
A C64 trick that crushes character lines down to a single pixel row, pulling the screen upward. Unlike FLD it can move bitmap graphics — and it first appeared not in a demo but in a cracktro.
Linecrunch pulls the C64 screen upward by crushing character lines out of existence:
Linecrunch is a VIC-tweak that allows you to move the entire screen upwards, by (as the name suggests) “crunching” 8-pixel char-lines down to a single pixel-line.
Why bother, when FLD is easier
Because FLD cannot move a bitmap. Linecrunch can:
The biggest advantage of this trick is the ability to move bitmap graphics, since [it] contains ~9 times the data of a char screen.
The price is timing. Where FLD tolerates being updated “only every ~6:th rasterline”, linecrunch “requires fairly exact timing since the tweak has to be triggered during a short period of the raster line”, repeated “at the same position each raster line”.
What it leaves behind
Two artefacts, documented as expected behaviour rather than as faults:
- A seven-pixel band of
$3fffpattern below the crunched area — avoidable by writing$d011on the way out, or convertible into smooth scrolling instead. - Repeated graphics in the crunched region. “There are no badlines, so no new char info is being fetched.” In bitmap mode the graphics crunch correctly but “the color info (which is represented by the chars) is being corrupt”.
It started on a cracktro
⚠ The first recorded use is not a demo. It is The Omega Man / Teeside Cracking Service’s intro on Game Over, released 22 July 1987 — a cracktro, the screen that plays before a pirated game.
A year later it was combined with VSP in Exilon/MDT/Horizon’s Bonanza to move the screen on both axes, the pairing formalised as AGSP.
How to spot it
AGSP’s documentation offers a field guide:
The top five and a bit lines are “wasted” by the line crunch. If you see any demos with the top few lines blanked out and the screen below is moving at a fast rate then you can probably guess it is using a similar method.
See also
- VSP — the horizontal half
- FLD — easier, coarser, character-only
- Stable raster