Admin | Edit

Mmrnmhrm - Linux 256 bytes

My first 100% x86 assembly tiny program. (with Zeta and Crimson)

Was quite a ride to fit this one in 256 bytes.

First version was in C but i couldn't fit it in 256 bytes (was close though !) so i decided to go full assembly.

Since it is some kind of feedback effect i had to use another way to setup the framebuffer using pwrite64 so that reading the framebuffer content was fast.

It was fairly difficult to fit everything, the biggest issue i had was how to generate the initial buffer content (seed for the automaton) since it was some arcs made up by the minsky circle algorithm. My article on tiny bit-field renderer which was written after the release is directly related to this issue of fitting plenty lines / chars in tiny space.

The end result is okay although very abstract, it was more of a POC of trying to fit my feedback + automata stuff, it is way nicer at 1024x768 because there is less repetition on the sides, this was the original target resolution i was looking for... but i like the ability of such tiny program to produce such graphics at the default resolution of my monitors so...

Even if this seem very abstract there is little details in there that was chosen on purpose such as the little heart patterns around the square structures which directly relate to the party it was released on (Lovebyte 2022), something that was probably overlooked if you just look at the bigger picture.

Note : The algorithm is very similar to the diffusion algorithm (solving Poisson equation) but with on purpose quirks (and usage of bitwise operators) which produce the highly glitchy structures.

1024x768 version

back to topLicence Creative Commons