16 bytes de x86 convierten lluvia de Matrix en sonido
Un código de 16 bytes en ensamblaje x86 puede generar una lluvia de Matrix y sonido. Este código fue presentado en la Outline Demoparty en mayo de 2026 en Ommen, Países Bajos.
El código utiliza la memoria de video como espacio de cálculo para dibujar un fractal de Sierpinski infinito y, al mismo tiempo, interpreta la geometría como datos de audio. El código comienza con una interrupción BIOS estándar que establece un modo de texto de 40x25. Luego, las instrucciones posteriores apuntan al segmento de datos a la dirección de memoria física del búfer de texto VGA/CGA.
“El código utiliza la memoria de video como espacio de cálculo para dibujar un fractal de Sierpinski infinito y, al mismo tiempo, interpreta la geometría como datos de audio”
El código utiliza un algoritmo de suma de prefijos aditivos para generar el fractal. Este algoritmo se basa en una progresión matemática que se apoya en un entorno predecible. La memoria debe estar inicializada con un patrón uniforme de datos para que el algoritmo funcione correctamente. En este caso, la memoria se inicializa con un espacio en blanco y un atributo de color uniforme.
El código también utiliza la operación XOR para aislar los planos de bits y generar un patrón de toggle entre 0x00 y 0x02. Este patrón se corresponde con la Regla 60 de los autómatas celulares elementales de Stephen Wolfram. La salida del código se envía al altavoz interno del PC a través del puerto 61h, lo que produce un sonido que se corresponde con la geometría del fractal.
La creación de este código es un ejemplo de la exploración de la densidad algorítmica en un entorno de programación extremadamente limitado. El desafío de lograr algo interesante con solo 16 bytes de código es un reto técnico que pone a prueba la creatividad y la habilidad del programador. En este caso, el resultado es un código que no solo genera una imagen visual interesante, sino que también produce un sonido que se corresponde con la geometría del fractal.