Hardware Heritage
The sine scroller is the quintessential demoscene communication tool. By distorting text along a periodic wave, coders turned simple "greetings" into a dynamic display of technical skill. Whether achieved through hardware register manipulation or CPU-intensive pixel blitting, it remains a hallmark of retro visual culture.
Amiga Copper
Amiga scrollers were buttery smooth. By using the Copper to change the horizontal scroll register ($DFF005) on every scanline, coders could wobble the entire screen with 0% CPU cost.
PC Software
Early PC VGA hardware lacked per-line hardware scrolling. Programmers had to manually "blit" (copy) vertical slices of the font to the screen at different offsets, a CPU-intensive task.
Modern UVs
The shader distorts the texture coordinate lookup in the fragment shader. Adding sin(x) to the y coordinate effectively "bends" the text per-pixel.
Sine Scroller
The classic way to deliver greetings to the scene.
Legacy M68k ASM
; Wobble Screen per-line LOOP: WAIT V=d0, H=0 MOVE sinTable(d0), $DFF005 ; Scroll X ADDQ #1, d0 CMP #200, d0 BNE LOOP
Modern GLSL
void main() {
vec2 uv = gl_FragCoord.xy / res;
// Offset Y lookup based on X
uv.y += sin(uv.x * 4.0 + time) * 0.2;
vec4 color = texture(textTex, uv);
gl_FragColor = color;
}