munch(1)

munch1

Munching squares screen hack

Usage

munch [-display host:display.screen] [-foreground color] [-background color] [-window] [-root] [-mono] [-install] [-visual visual] [-delay seconds] [-xor] [-noxor] [-shift] [-noshift] [-logminwidth minimum width]

Overview

The munch program preforms the munching squares hack until killed. It picks square size, position, and gravity randomly; configurable options are listed below.

The munching squares hack cosists of drawing Y = X XOR T for a range of X and T over and over until all the possible combinations of X and T have come up. It was reportedly discovered by Jackson Wright in 1962 and took 5 instructions of PDP-6 code.

Options

munch accepts the following options:

-window

Draw on a newly-created window. This is the default.

-root

Draw on the root window.

-mono

If on a color display, pretend we're on a monochrome display.

-install

Install a private colormap for the window.

-visual visual

Specify which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.

-delay seconds

How long to wait before starting over. Default 5 seconds.

-xor

Use the XOR drawing function. (Default.)

-no-xor

Don't use the XOR drawing function.

-shift

Start drawing the square at weird starting points. (Default.)

-no-shift

Don't shift and start drawing the square at weird starting points.

-logminwidth minimum-width

The logarithm (base 2) of the minimum with of a square (must be a power of 2, or some parts of the square aren't.)

Environment

DISPLAY

to get the default host and display number.

XENVIRONMENT

to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

Releases

4 releases since Debian 2.0 (Hamm); the text changed 1 time.

  1. 2.0–2.1
  2. 2.2–3.0

History

Quoted from HAKMEM, for historical interest. As that document says, "Unless otherwise stated, all computer programs are in PDP-6/10 assembly language."

ITEM 146: MUNCHING SQUARES

Another simple display program. It is thought that this was discovered by Jackson Wright on the RLE PDP-1 circa 1962.

    DATAI 2
    ADDB 1,2
    ROTC 2,-22
    XOR 1,2
    JRST .-4

2=X, 3=Y. Try things like 1001002 in data switches. This also does interesting things with operations other than XOR, and rotations other than -22. (Try IOR; AND; TSC; FADR; FDV(!); ROT -14, -9, -20, ...)

ITEM 147 (Schroeppel):

Munching squares is just views of the graph Y = X XOR T for consecutive values of T = time.

ITEM 148 (Cohen, Beeler):

A modification to munching squares which reveals them in frozen states through opening and closing curtains: insert FADR 2,1 before the XOR. Try data switches =

    4000,,4    1000,,2002    2000,,4    0,,1002

(Notation: <left half>,,<right half>)

Also try the FADR after the XOR, switches = 1001,,1.

Author

Tim Showalter <[email protected]>, 17-Jun-97, based on what's in the Jargon File and stealing stuff from existing xscreensaver modules.

From xscreensaver 3.34-3 in Debian 3.0 (Woody). Parsed by carta from the page's man source.