RasterCore
Ready to execute

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;
}