Provided by: xscreensaver-data-extra_6.08+dfsg1-1ubuntu3_amd64 bug

NAME

       munch - munching squares

SYNOPSIS

       munch  [--display  host:display.screen]  [--foreground  color]  [--background  color] [--window] [--root]
       [--window-id number][--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.

       --window-id number
               Draw on the specified 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.

       XSCREENSAVER_WINDOW
               The window ID to use with --root.

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.

SEE ALSO

       X(1), xscreensaver(1),
       https://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html

COPYRIGHT

       Copyright © 1997 Tim Show alter.
       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.