Art of creating very small computer programs which are usually 256 bytes or less in size. (also less common : 512 bytes) The size of these tiny programs is measured by their total size in opcode bytes and are usually presented as an executable binary.
Those programs usually come with many technical tricks and are mostly written in assembly language for a specifically chosen target platform.
Some programs below are programmed with C language and run under Linux with a 32 bits framebuffer setup (fbdev), small amount of assembly is only used for platform dependent setup such as Linux ELF header and framebuffer setup to obtain a minimal drawing framework.
Some programs run on the TIC-80 fantasy computer / virtual machine, those programs (written in JS or LUA) can be ported easily and may be smaller on other systems, a 128 bytes TIC-80 program may be 64 bytes on x86 platform when they use few library functions.
Some programs are 100% x86 assembly, those started as C programs which were shrinked down with handwritten assembly. Some are M68K or SH4 assembly.
Some programs are ARM2 assembly, they were made for RISC OS and works on modern hardware supported by RISC OS (Raspberry PI etc.) but also works on 1987 Acorn hardware !
Most programs for modern platforms produce high resolution images, some are animated in real-time.
Note: The size include OS metadata and platform dependent code to write to the display, Linux programs below are in fact much smaller (about 50 to 70 bytes smaller) if all the OS metadata is ignored.
Here is a representation of all my programs as extended Cistercian numerals, detailed version with programs in order and vertical stave instead of a dot. (extended to base 16, one glyph represent a 16-bit value, quadrants represent a Nibble, a whole 4-bit range is shown at the bottom, code for the generator can be found here)
Iterated Function System fractals composited together with symmetry. My first codegolfing program which demonstrated that my engraving-like IFS fractals can be reduced down to a small program. It was released at inérciaDemoparty 2020.
Use fixed-point arithmetic, draw with saturated arithmetics using SSE2 instructions and use RDRAND instruction. Binary size is 426 bytes of x86 code.
links: youtube github pouet party code (no OS metadata) image
Released in december at Inércia 2023, started in early 2023 from some star polygon algorithm with thickness.
Theme is a tribute to black metal.
LUA code packed with pakettic.
Integer circle algorithm. My first 256 bytes procedural graphics intro which just show some background stars and vertical bars. Did not have time to do more. It was released at Lovebyte 2021.
It only use integers and simple arithmetic operations but does not draw with saturated arithmetics thus the image accumulate noise.
Integer circle algorithm with symmetry and saturated arithmetic. Improved version. This show some kind of Mandelbrot like fractal shadow at the center. It was released at Revision demoparty 2021.
It only use integers and simple arithmetic operations (add, sub, AND, shift), SIMD instructions for saturated arithmetic.
Integer circle algorithm with symmetry and saturated arithmetic. A variation of Flagship. The symmetry create some kind of face (animal ?) at the center. It was released at Outline Online demoparty 2021.
It only use integers and simple arithmetic operations (add, sub, AND, shift), SIMD instructions for saturated arithmetic.
Integer circle algorithm and saturated arithmetic. The many improvements from previous intros allowed more colors variation. It show abstract lines with blurry background. It was released at Outline Online demoparty 2021.
It only use integers and simple arithmetic operations (add, sub, AND, shift), SIMD instructions for saturated arithmetic.
Integer circle algorithm. The many improvements in size from the previous intros allowed more colors variation. It show some kind of Apollonian gasket fractal patterns. It was released at Shadow demoparty 2021.
It only use integers and simple arithmetic operations (add, sub, AND, shift), SIMD instructions for saturated arithmetic.
Blend of feedback and automata. My first procedural graphics with handwritten x86 assembly, it use SSE2 and AVX2 instructions. 51 bytes of ELF headers and 205 bytes of code. It was released at Lovebyte demoparty 2022.
Main seed shape (arcs) is made with the integer circle algorithm, it use SIMD instructions for saturated arithmetic.
Result of playing with harmonic oscillators which produce some kind of autonomous pixels art with euler spiral patterns. It was released at Flash party 2021.
Has simple sound. The code is JavaScript (which use special functions provided by the TIC-80 such as 'poke' and 'cls'). Both binary and code is 256 bytes.
Procedural graphics for CAFePARTY 2022.
Packed with tic-tool.
Combination of ellipse / circle / pix calls. Lua code.
Procedural graphics for LOVEBYTE 2023.
Packed with pakettic.
Layered minsky circle algorithm. Lua code.
Procedural graphics for LOVEBYTE 2023.
Packed with pakettic.
Layered ellipses, mostly. Lua code.
Handwritten x86 assembly, use the stack heavily and AVX/AVX2 instructions. It was released at Outline 2023.
AVX2 instruction vpsravd is used to shift parameters in batch. 51 bytes of ELF headers and 205 bytes of code.
3 layers HAKMEM 149 based algorithm.
links: youtube pouet extra (2 layers)
Handwritten ARM2 assembly, compatible with 1987 hardware up to modern ones. It was released at @party 2023.
Real-time Moiré pattern effect. Archimedes version is slightly different for speed.
HAKMEM 149 based algorithm for the animation and circles.
links: pouet youtube (RPI Zero) youtube (Archimedes)
Handwritten ARM2 assembly, compatible with 1987 hardware up to modern ones. It was released at Nova 2023.
Real-time Moiré pattern effect with precalc buffers.
HAKMEM 149 based algorithm for the animation.
Handwritten x86 assembly, all integers. It was released at LOVEBYTE 2024.
Mode 13h (VGA), 320x200 procedural graphics, may works with minor adaptation on 1982 CPU (80186+).
Isometric octree-like cube with drop shadow and wavy gradient.
Handwritten Motorola 68000 (1979) assembly. It was released at LOVEBYTE 2025.
Made for low-res but works on 1985 ST in any modes.
A real-time iterative way to draw a rotating cube by exploiting the square <> hexagon transition of the HAKMEM 149 algorithm.
Handwritten SH4 assembly, all integers. It was released at LOVEBYTE 2025.
640x480 procedural graphics, works on real hardware.
3x additive HAKMEM 149 algorithm. (sin/cos approximation)
Handwritten ARM2 assembly, all integers. It was released at LOVEBYTE 2025.
Real-time, require RICS PC+ (slow on Acorn Archimedes)
8 layers "Apollonian gasket" with parallax scrolling made with the HAKMEM 149 algorithm. (sin/cos approximation)
Integer circle algorithm. The many improvements in size from the previous intros allowed me to reach 128 bytes. It show some kind of cheese / craters fractal patterns. It was released at Outline Online demoparty 2021.
Integers and simple arithmetic operations but does not draw with saturated arithmetics thus the image accumulate noise.
Integer circle algorithm. Port of one of my procedural graphics sketch. Handwritten x86 assembly, 50 bytes of ELF headers and 72 bytes of graphics code. It was released at Lovebyte demoparty 2022.
Integers and simple arithmetic operations but does not draw with saturated arithmetics thus the image accumulate noise.
Integer Circle algorithm. One of the idea was to do sounds with structure and variations. It is simple enough to reach 64 byte (without sounds probably) on other platforms like DOS. It was released at Lovebyte Battlegrounds 2021.
The code is LUA and is 157 characters, final binary is 128b and was packed with pactic.
Handwritten SH4 assembly, all integers. It was released at LOVEBYTE 2025.
640x480 real-time intro, works on real hardware.
HAKMEM 149 algorithm with a background clear pass.
Handwritten ARM2 assembly, all integers. It was released at LOVEBYTE 2025.
320x256 256 colors (mode 13) procedural graphics.
HAKMEM 149 algorithm showing a stylized logarithmic spiral with the default palette.
XOR / logical patterns. Handwritten x86 assembly, Technically not a 64 bytes but the party didn't count the OS metadata. The binary is 50 bytes of ELF headers and 64 bytes of graphics code. The first iteration was greyscale and patterns focused, this one was chosen because it remind me of the sea. It was released at Lovebyte demoparty 2021.
Integers and simple arithmetic operations.
Handwritten ARM2 assembly, all integers. It was released at LOVEBYTE 2025.
320x256 256 colors (mode 13) real-time.
Works similarly to Dreamelt without the screen clear pass, it use a fixed screen address so require different binaries for different models / HW.
Handwritten x86 assembly. It was released at LOVEBYTE 2025.
Mode 13h (VGA), 320x200 real-time.
HAKMEM 149 algorithm spiced up with single byte instructions and XOR "compositing".
12/03/2025