munch



XScreenSaver(1)                                                XScreenSaver(1)




NAME

       munch - munching squares screen hack


SYNOPSIS

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


DESCRIPTION

       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.


SEE ALSO

       X(1),   xscreensaver(1),  http://www.inwap.com/pdp10/hbaker/hakmem/hak-
       mem.html, http://www.comedia.com/Hot/jargon_3.0/JARGON_M/MUNCHSQR.HTML


HISTORY

       Quoted from HAKMEM, for historical interest.  As  that  document  says,
       "Unless  otherwise stated, all computer programs are in PDP-6/10 assem-
       bly 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.


COPYRIGHT

       Copyright  ©  1997  by Tim Showalter.  Permission to use, copy, modify,
       distribute, and sell this software and its documentation for  any  pur-
       pose  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 repre-
       sentations are made about the suitability of this software for any pur-
       pose.  It is provided "as is" without express or implied warranty.


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.



X Version 11                       17-Jun-97                   XScreenSaver(1)

Man(1) output converted with man2html