.if n .sp 1
.if t .sp .5
..
-.TH XScreenSaver 1 "17-Jun-97" "X Version 11"
+.TH XScreenSaver 1 "29-Aug-2008" "X Version 11"
.SH NAME
-munch - munching squares screen hack
+munch - munching squares
.SH SYNOPSIS
.B munch
[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP]
[\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP] [\-xor] [\-noxor] [\-shift]
-[\-noshift] [\-logminwidth \fIminimum width\fP]
+[\-visual \fIvisual\fP] [\-delay \fIusecs\fP] [\-xor] [\-noxor]
+[\-clear \fInumber\fP] [\-simul \fInumber\fP]
+[\-classic | \-mismunch | \-random]
+[\-fps]
.SH DESCRIPTION
The
.I munch
-program performs the munching squares hack until killed. It picks square
-size, position, and gravity randomly; configurable options are listed
-below.
-.PP
+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
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.
.TP 8
-.B \-delay \fImicroseconds\fP
-How long to wait before starting over. Default 5000.
+.B \-delay \fIusecs\fP
+The delay between steps of the animation, in microseconds. Default: 2500.
.TP 8
.B \-xor
-Use the XOR drawing function. (Default.)
+Use the XOR drawing function. This is the default.
.TP 8
.B \-no\-xor
Don't use the XOR drawing function.
.TP 8
-.B \-shift
-Start drawing the square at weird starting points. (Default.)
+.B \-clear \fInumber\fP
+Number of squares to misdraw before clearing the display. Default: 65.
+.TP 8
+.B \-simul \fInumber\fP
+Number of squares to misdraw simultaneously. Default: 5.
+.TP 8
+.B \-classic
+Draw classic munching squares only.
+.TP 8
+.B \-mismunch
+Draw "mismunch" only.
.TP 8
-.B \-no\-shift
-Don't shift and start drawing the square at weird starting points.
+.B \-random
+Do one or the other.
.TP 8
-.B \-logminwidth \fIminimum\-width\fP
-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.)
+.B \-fps
+Display the current frame rate and CPU load.
.SH ENVIRONMENT
.PP
.TP 8
.SH SEE ALSO
.BR X (1),
.BR xscreensaver (1),
-.BR http://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html,
-.BR http://www.comedia.com/Hot/jargon_3.0/JARGON_M/MUNCHSQR.HTML
+.RS 0
+.BR http://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html
.SH HISTORY
-Quoted from HAKMEM, for historical interest. As that document says, "Unless
-otherwise stated, all computer programs are in PDP-6/10 assembly language."
-.TP 8
+HAKMEM: MIT AI Memo 239, Feb. 29, 1972.
+.RS 8
+Beeler, M., Gosper, R.W., and Schroeppel, R.
+
+"Unless otherwise stated, all computer programs are in PDP-6/10
+assembly language."
+.TP 4
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.
XOR 1,2
JRST .-4
.EE
-.RS 8
+.RS 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, ...)
.RE
-.TP 8
+.TP 4
ITEM 147 (Schroeppel):
+
Munching squares is just views of the graph Y = X XOR T for consecutive
values of T = time.
-.TP 8
+.TP 4
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 =
.EX
4000,,4 1000,,2002 2000,,4 0,,1002
.EE
-.RS 8
+.RS 4
(Notation: <left half>,,<right half>)
-
+.RS 0
Also try the FADR after the XOR, switches = 1001,,1.
.SH COPYRIGHT
-Copyright \(co 1997 by Tim Showalter. Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation. No representations are made about the
-suitability of this software for any purpose. It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Tim Showalter <tjs@andrew.cmu.edu>, 17-Jun-97, based on what's in the
-Jargon File and stealing stuff from existing xscreensaver modules.
+Copyright 1997 Tim Showalter.
+.RS 0
+Copyright 2004 Steven Hazel.
+.RS 0
+Copyright 1992-2008 Jamie Zawinski.
+.PP
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation. No representations are made about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.