munch man page

munch — munching squares

Synopsis

munch [-display host:display.screen] [-foreground color] [-background color] [-window] [-root] [-mono] [-install] [-visual visual] [-delay usecs] [-xor] [-noxor]  [-clear number] [-simul number] [-classic | -mismunch | -random] [-fps]

Description

The munch program performs the munching squares hack.  It picks square size, position, and gravity randomly.  It also displays a creatively broken misimplementation of the classic algorithm.

The munching squares hack consists 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 usecs

The delay between steps of the animation, in microseconds.  Default: 2500.

-xor

Use the XOR drawing function.  This is the default.

-no-xor

Don't use the XOR drawing function.

-clear number

Number of squares to misdraw before clearing the display.  Default: 65.

-simul number

Number of squares to misdraw simultaneously.  Default: 5.

-classic

Draw classic munching squares only.

-mismunch

Draw "mismunch" only.

-random

Do one or the other.

-fps

Display the current frame rate and CPU load.

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.

See Also

X(1), xscreensaver(1),

History

HAKMEM: MIT AI Memo 239, Feb. 29, 1972.

Beeler, M., Gosper, R.W., and Schroeppel, R.

"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.

Info

5.36-4.fc26 (10-Feb-2017) X Version 11 XScreenSaver manual