Provided by: xscreensaver-data-extra_4.23-4ubuntu8_i386 bug


       munch - munching squares screen hack


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


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

       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

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

               Don’t shift and start drawing  the  square  at  weird  starting

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


       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),,


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

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


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