dnnddidiej 20 minutes ago

I thought this was going to convert a matrix rain into sound but it does visual and sound. Amazing. And it is almost like a decent track, music is going round in my head now.

Is this a program or a secret key that unlocks a beast? Not sure!

simonjgreen 45 minutes ago

Quite incredible. This comment is larger.

wanoir 15 minutes ago

Very cool! Was super surprised the sound actually sounded coherent, versus something like static or noise. Was it unexpected for you too or do you think there could be property of the computation that would suggest it?

  • HellMood 11 minutes ago

    It was and is still super unepxected! i created a lot of "noise" or "CA" sound intros but this one stands out. The specific spice here is how memory is initialized on "clear screen" and whats "before" and "after" the actual visible memory. The "pure" sound is also lovely (i can carefully set everything with a few more bytes to make it sound the same on all systems) but this spicy difference i still to have fully understand makes it sound even better imho =)

mati365 1 hour ago

It must be magic. I don't believe it's possible in such short snippet of code.

  • HellMood 36 minutes ago

    It kind of still is! The pure sound shouldnt even sound like that, so i have to still dig around memory configurations and initalizations (graphics card wise) to 100% explain why it sounds a tad different than it should.

Retr0id 2 hours ago

How does the sierpinski fractal relate to the rain effect?

  • HellMood 42 minutes ago

    TLDR: Each time step, another sierpinski triangle line is a) played on the speaker b) drawn to the screen with stepsize of 56. You can sense the motion, but not really see it, since it's 8192 "pixels wide" but one line of chars is just 80 bytes. One a much much much bigger screen, you could see the triangle. Or, if you dont "skip pixels" and draw it all at once, you would see it as well. In fact, i did a version at the very the same party that does that, but the specific sound gets lost on that one

    https://www.pouet.net/prod.php?which=106206 https://www.youtube.com/watch?v=OVk-iP93ZEs

HellMood 7 hours ago

"wake up! 16b" (Outline Demoparty, May 2026, Ommen, NL) is a 16-byte MS-DOS production that uses video memory to calculate a Sierpinski fractal and play it as audio.

Video: https://youtu.be/MvycyU-kLjg | Pouet: https://www.pouet.net/prod.php?which=106210

The 16-Byte Code:

  int 10h          ; Init Video Mode 0
  mov bh, 0xb8     ; Setup VRAM segment
  mov ds, bx
  L: lodsb         ; Load [SI] to AL, inc SI
  sub si, 57       ; Move pointer backward
  xor [si], al     ; Cellular Automaton
  out 61h, al      ; PC Speaker output
  jmp short L      ; Infinite loop

1. The Canvas: `int 10h` primes the 40x25 text grid uniformly with ASCII 0x20 and color 0x07. This stable, uniform void is necessary to prevent the cellular automaton from shattering into static.

2. The Fractal (Rule 60): If this loop used `add`, it would create a binomial prefix sum:

   A^(p)[k] = 2 \* C(k+p, p-1) mod 256

But substituting `add` with `xor` discards the arithmetic carry, isolating the bit-planes. This turns the math into a pure cellular automaton mapping to Wolfram's Rule 60:

   Cell^(p)[k] = Cell^(p-1)[k] XOR Cell^(p)[k-1]

Visualizing Bit 1 propagation over 5 passes (X = set):

  P1: X X X X X X X X
  P2: . X . X . X . X
  P3: X . . X X . . X
  P4: . . . X . . . X
  P5: X X X . . . . X
  P6: . X . . . . . X
  P7: X . . . . . . X

3. The Audio: Port `61h` uses Bit 1 to physically move the PC speaker cone. The Sierpinski geometry acts directly as a square-wave audio instruction: alternating bits (like P2) yield high frequencies, while sparse rows (P4) create rhythmic rests.

4. The -56 Byte Step: The pointer's net movement is -56 bytes per loop. - Visuals: On an 80-byte wide grid, this offset shears the fractal diagonally into 10 evenly spaced, ascending vertical pillars. - Audio: 56 does not divide the 64KB segment evenly, requiring 8,192 steps (7 full wraps) to complete a cycle. Doubling the macro-cycle halves the fundamental frequency, dropping the audio exactly one octave.

5. Hardware Quirks: The theoretical math expects zeroed memory, but the XOR operation violently collides with the BIOS's 0x20/0x07 initialization. This mutates the pure triangles into a cascade of pseudo-random ASCII glyphs. Because it relies entirely on raw RAM states, the visual and auditory output is highly sensitive to the specific machine or emulator, turning a simple mathematical quirk into a unique audiovisual fingerprint.

  • kbmr 1 hour ago

    Well done! What were you exploring that seeded this in your mind?

    • HellMood 38 minutes ago

      Actually a) polymorphic asm instructions, like "add [bx+si],al" which is 0x0000 b) jumping into middle of instructions to save bytes and reuse opcodes

      In hundreds of tiny experiments, this one stuck out, just by the sound of it. When i unfolded what's left and removed "the rest" i had a hard time to grasp what's really going on. i myself didnt expect that the explanation would go this deep for just these few bytes xD

  • msephton 51 minutes ago

    Beautiful work, as always! Great to see