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

  
 
  

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

NAME
     munch - munching squares

SYNOPSIS
     munch  [--display	host:display.screen]  [--foreground color] [--background
     color] [--window] [--root] [--window-id number][--mono] [--install]  [--vi-
     sual  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.	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  re-
	     sources 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  inter-
     esting 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, provided  that
     the  above  copyright  notice appear in all copies and that both that copy-
     right 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.

X Version 11		       6.15 (30-Mar-2026)			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+15.1.quarterly>

home | help