Memory-Corrupting Pong
5 days ago
- #NAND-computer
- #programming-art
- #memory-corruption
- The author explores memory corruption art by modifying the memory allocator in their NAND computer to allocate memory on the screen instead of the heap.
- NAND is a 16-bit computer emulated on the web, featuring a custom CPU architecture, virtual machine, programming language, compiler, and IDE.
- The modification allows programs to overwrite screen memory, leading to visually interesting corruption effects without crashing, due to NAND's lack of memory protection.
- Examples include a 'Hello World!' program overwriting heap memory data and a Pong game with corrupted memory leading to unpredictable behavior like teleporting balls and self-restarting programs.
- The author shares several videos showcasing different memory offsets, each producing unique visual and behavioral outcomes in the Pong game.
- Readers are invited to experiment with the corrupted Pong program on NAND's website, with instructions on how to reproduce specific results.