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

FreeBSD Manual Pages

  
 
  

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

NAME
       munch - munching	squares

SYNOPSIS
       munch  [--display  host:display.screen]	[--foreground  color] [--back-
       ground color] [--window]	[--root] [--window-id  number][--mono]	[--in-
       stall]  [--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.  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.

       --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	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 in-
       teresting 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 (C) 1997 Tim Show alter.
       Copyright (C) 2004 Steven Hazel.
       Copyright (C) 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		      6.09 (07-Jun-2024)		      munch(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=munch&sektion=6&manpath=FreeBSD+Ports+14.3.quarterly>

home | help