Skip to content
Techniques & Technology

Tech-tech

Making a logo wave a line at a time

The C64 effect where a logo ripples horizontally, each raster line offset along a sine. Documented by Pasi 'Albert' Ojala, and later rebuilt on FLI by Compyx/Focus after a 25-year gap.

commodore-64graphicsrastervic-iidemoscenecharacter-graphics1991–present

Tech-tech — also called a wave — offsets each raster line of a logo along a sine, so the image ripples horizontally without being redrawn.

Why one register is not enough

The x-scroll register buys eight pixels:

Since $d016 only allows us to scroll 8 pixels, we need a way to scroll more. We can achieve that using multiple videoram banks (screens). For pixels 0-7 we use a screen with the logo at its left-most position. For each 8 pixels extra, we put the logo one column to the right from the previous position in a new videoram bank.

Coarse and fine offsets then come from different places. For a 21-pixel shift you set $d016 to 5 and $d018 to $40 — remainder in one register, whole columns in the other.

Two routes to the same effect

Pasi ‘Albert’ Ojala’s version, in “Demo Corner” in C= Hacking 7, builds the offsets out of character sets. Compyx/Focus published an FLI-based one instead, and was explicit that it was an addition rather than a correction:

I wrote this code as part of an attempt to regain my old VIC-trickery skills, it’s been about 25 years since I did a tech-tech. As such, the code may not be up to today’s standards. I just published it here since there was no article on tech-tech’s using $d011/FLI.

Richard Bayliss’s logo swing is the same family — “many classic C64 intros or demos in the demo scene in the 1980’s and early 1990’s” used it — driven from the same $D016 smooth-scroll mechanism, but reading logo data (“the MATRIX”) rather than a scroll text.

Its write-up incidentally records the tooling the scene built around a single effect: Charwandler by Johnnie Walker to convert a hires picture into logo format, the SHAKE IT logo swing converter by Paramount to pre-shape the matrix, and Bonzai’s sinus calculator for the table.

See also

Not yet fact-checked. This entry was drafted by an AI and nobody has verified it. The dates, figures and technical details may be wrong. Use it to find your bearings, then confirm anything that matters against a primary source.