Provided by: xscreensaver-data-extra_5.34-2ubuntu1_amd64 bug


       munch - munching squares


       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]


       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

       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.


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

               Draw classic munching squares only.

               Draw "mismunch" only.

       -random Do one or the other.

       -fps    Display the current frame rate and CPU load.


       DISPLAY to get the default host and display number.

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


       X(1), xscreensaver(1),


       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

               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.


       Copyright 1997 Tim Showalter.
       Copyright 2004 Steven Hazel.
       Copyright 1992-2008 Jamie Zawinski.

       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.