1 | .de EX \"Begin example |
---|
2 | .ne 5 |
---|
3 | .if n .sp 1 |
---|
4 | .if t .sp .5 |
---|
5 | .nf |
---|
6 | .in +.5i |
---|
7 | .. |
---|
8 | .de EE |
---|
9 | .fi |
---|
10 | .in -.5i |
---|
11 | .if n .sp 1 |
---|
12 | .if t .sp .5 |
---|
13 | .. |
---|
14 | .TH XScreenSaver 1 "17-Jun-97" "X Version 11" |
---|
15 | .SH NAME |
---|
16 | munch - munching squares screen hack |
---|
17 | .SH SYNOPSIS |
---|
18 | .B munch |
---|
19 | [\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] |
---|
20 | [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] |
---|
21 | [\-visual \fIvisual\fP] [\-delay \fIseconds\fP] [\-xor] [\-noxor] [\-shift] |
---|
22 | [\-noshift] [\-logminwidth \fIminimum width\fP] |
---|
23 | .SH DESCRIPTION |
---|
24 | The |
---|
25 | .I munch |
---|
26 | program preforms the munching squares hack until killed. It picks square |
---|
27 | size, position, and gravity randomly; configurable options are listed |
---|
28 | below. |
---|
29 | .PP |
---|
30 | The munching squares hack cosists of drawing Y = X XOR T for a range of X |
---|
31 | and T over and over until all the possible combinations of X and T have |
---|
32 | come up. It was reportedly discovered by Jackson Wright in 1962 and took 5 |
---|
33 | instructions of PDP-6 code. |
---|
34 | .SH OPTIONS |
---|
35 | .I munch |
---|
36 | accepts the following options: |
---|
37 | .TP 8 |
---|
38 | .B \-window |
---|
39 | Draw on a newly-created window. This is the default. |
---|
40 | .TP 8 |
---|
41 | .B \-root |
---|
42 | Draw on the root window. |
---|
43 | .TP 8 |
---|
44 | .B \-mono |
---|
45 | If on a color display, pretend we're on a monochrome display. |
---|
46 | .TP 8 |
---|
47 | .B \-install |
---|
48 | Install a private colormap for the window. |
---|
49 | .TP 8 |
---|
50 | .B \-visual \fIvisual\fP |
---|
51 | Specify which visual to use. Legal values are the name of a visual class, |
---|
52 | or the id number (decimal or hex) of a specific visual. |
---|
53 | .TP 8 |
---|
54 | .B \-delay \fIseconds\fP |
---|
55 | How long to wait before starting over. Default 5 seconds. |
---|
56 | .TP 8 |
---|
57 | .B \-xor |
---|
58 | Use the XOR drawing function. (Default.) |
---|
59 | .TP 8 |
---|
60 | .B \-no\-xor |
---|
61 | Don't use the XOR drawing function. |
---|
62 | .TP 8 |
---|
63 | .B \-shift |
---|
64 | Start drawing the square at weird starting points. (Default.) |
---|
65 | .TP 8 |
---|
66 | .B \-no\-shift |
---|
67 | Don't shift and start drawing the square at weird starting points. |
---|
68 | .TP 8 |
---|
69 | .B \-logminwidth \fIminimum\-width\fP |
---|
70 | The logarithm (base 2) of the minimum with of a square (must be a power of |
---|
71 | 2, or some parts of the square aren't.) |
---|
72 | .SH ENVIRONMENT |
---|
73 | .PP |
---|
74 | .TP 8 |
---|
75 | .B DISPLAY |
---|
76 | to get the default host and display number. |
---|
77 | .TP 8 |
---|
78 | .B XENVIRONMENT |
---|
79 | to get the name of a resource file that overrides the global resources |
---|
80 | stored in the RESOURCE_MANAGER property. |
---|
81 | .SH SEE ALSO |
---|
82 | .BR X (1), |
---|
83 | .BR xscreensaver (1), |
---|
84 | .BR http://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html, |
---|
85 | .BR http://www.comedia.com/Hot/jargon_3.0/JARGON_M/MUNCHSQR.HTML |
---|
86 | .SH HISTORY |
---|
87 | Quoted from HAKMEM, for historical interest. As that document says, "Unless |
---|
88 | otherwise stated, all computer programs are in PDP-6/10 assembly language." |
---|
89 | .TP 8 |
---|
90 | ITEM 146: MUNCHING SQUARES |
---|
91 | Another simple display program. It is thought that this was discovered by |
---|
92 | Jackson Wright on the RLE PDP-1 circa 1962. |
---|
93 | |
---|
94 | .EX |
---|
95 | DATAI 2 |
---|
96 | ADDB 1,2 |
---|
97 | ROTC 2,-22 |
---|
98 | XOR 1,2 |
---|
99 | JRST .-4 |
---|
100 | .EE |
---|
101 | .RS 8 |
---|
102 | 2=X, 3=Y. Try things like 1001002 in data switches. This also does |
---|
103 | interesting things with operations other than XOR, and rotations other |
---|
104 | than -22. (Try IOR; AND; TSC; FADR; FDV(!); ROT -14, -9, -20, ...) |
---|
105 | .RE |
---|
106 | .TP 8 |
---|
107 | ITEM 147 (Schroeppel): |
---|
108 | Munching squares is just views of the graph Y = X XOR T for consecutive |
---|
109 | values of T = time. |
---|
110 | .TP 8 |
---|
111 | ITEM 148 (Cohen, Beeler): |
---|
112 | A modification to munching squares which reveals them in frozen states |
---|
113 | through opening and closing curtains: insert FADR 2,1 before the XOR. Try |
---|
114 | data switches = |
---|
115 | |
---|
116 | .EX |
---|
117 | 4000,,4 1000,,2002 2000,,4 0,,1002 |
---|
118 | .EE |
---|
119 | .RS 8 |
---|
120 | (Notation: <left half>,,<right half>) |
---|
121 | |
---|
122 | Also try the FADR after the XOR, switches = 1001,,1. |
---|
123 | .SH COPYRIGHT |
---|
124 | Copyright \(co 1997 by Tim Showalter. Permission to use, copy, modify, |
---|
125 | distribute, and sell this software and its documentation for any purpose is |
---|
126 | hereby granted without fee, provided that the above copyright notice appear |
---|
127 | in all copies and that both that copyright notice and this permission notice |
---|
128 | appear in supporting documentation. No representations are made about the |
---|
129 | suitability of this software for any purpose. It is provided "as is" without |
---|
130 | express or implied warranty. |
---|
131 | .SH AUTHOR |
---|
132 | Tim Showalter <tjs@andrew.cmu.edu>, 17-Jun-97, based on what's in the |
---|
133 | Jargon File and stealing stuff from existing xscreensaver modules. |
---|