Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
munch(6)		      XScreenSaver manual		      munch(6)

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

       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 usecs
	       The delay between steps of the animation, in microseconds.  De-
	       fault: 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.   De-
	       fault: 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	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 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, pro-
       vided that the above copyright notice appear in	all  copies  and  that
       both  that  copyright  notice and this permission notice	appear in sup-
       porting documentation.  No representations are made about the suitabil-
       ity  of	this software for any purpose.	It is provided "as is" without
       express or implied warranty.

X Version 11		      5.44 (20-Mar-2020)		      munch(6)


Want to link to this manual page? Use this URL:

home | help