i never had a working c64, but i did what you're describing on the c64 on the ti-99/4a, and it's pretty similar to how vga text modes and the nintendo work as well. it was an important technique when 64k was a lot of ram and cpus were slow enough that you couldn't rewrite the whole framebuffer every frame (much less generate the video waveform on the fly in software). nowadays it just saves you five lines of code
for (int y = 0; y < fb.size.y; y++) {
ypix *p = yp_line(fb, y);
for (int x = 0; x < fb.size.x; x++) {
char sc = stipple[(y % 4) * 8 + (x % 4) * 2];
p[x] = (sc == '.' ? 0 : -1);
}
}
a modern equivalent might be fragment shaders like https://www.shadertoy.com/view/XtcBWH, which i made six years ago; like the stipple pattern we started out this thread with, it simulates the appearance of woven cloth or basketry
i never had a working c64, but i did what you're describing on the c64 on the ti-99/4a, and it's pretty similar to how vga text modes and the nintendo work as well. it was an important technique when 64k was a lot of ram and cpus were slow enough that you couldn't rewrite the whole framebuffer every frame (much less generate the video waveform on the fly in software). nowadays it just saves you five lines of code
a modern equivalent might be fragment shaders like https://www.shadertoy.com/view/XtcBWH, which i made six years ago; like the stipple pattern we started out this thread with, it simulates the appearance of woven cloth or basketry