aboutsummaryrefslogtreecommitdiff
path: root/doc/help/cyclone/bitxor~-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'doc/help/cyclone/bitxor~-help.pd')
-rw-r--r--doc/help/cyclone/bitxor~-help.pd494
1 files changed, 294 insertions, 200 deletions
diff --git a/doc/help/cyclone/bitxor~-help.pd b/doc/help/cyclone/bitxor~-help.pd
index b0d03bc..9cdc029 100644
--- a/doc/help/cyclone/bitxor~-help.pd
+++ b/doc/help/cyclone/bitxor~-help.pd
@@ -1,203 +1,297 @@
-#N canvas 1 88 662 547 10;
-#X text 252 509 see also:;
-#X text 28 9 Performs bitwise boolean operations on a floating point
-signal as bits or as an integer. Note that if you are converting the
-floats to ints and back that single precision floating point values
-only retain 24 bits of integer resolution. The floating point bits
-from left to right are <1 sign bit> <8 exponent bits> <23 mantissa
-bits>.;
-#X text 28 -18 Bitwise xor signal operator.;
-#X obj 69 388 clip~ -1 1;
-#X floatatom 382 288 0 0 0 0 - - -;
-#X msg 382 306 mode \$1;
-#X text 47 241 bitwise boolean operation on a signal and some bitmask
+#N canvas 526 80 571 528 10;
+#X obj 0 867 cnv 15 552 21 empty empty empty 20 12 0 14 -233017 -33289
+0;
+#X obj 1 522 cnv 3 550 3 empty empty inlets 8 12 0 13 -228856 -1 0
+;
+#N canvas 626 407 427 265 META 0;
+#X text 1 20 LICENSE SIBSD;
+#X text 1 113 LIBRARY cyclone;
+#X text 1 73 INLET_0 signal;
+#X text 1 93 OUTLET_0 signal;
+#X text 1 40 DESCRIPTION performs bitwise boolean operations on a floating
+point signal as bits or as a float.;
+#X text 1 0 KEYWORDS bitwise bit boolean signal xor or;
+#X text 0 131 VERSION 0.1-alpha57;
+#X text 0 149 AUTHOR Krzysztof Czaja;
+#X text 1 167 RELEASE_DATE 2002;
+#X text 2 186 WEBSITE http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html
+;
+#X text 2 218 HELP_PATCH_AUTHORS Christoph Kummerer. Revised by Jonathan
+Wilkes for Pd-extended 0.42 to conform to the PDDP template. Alex Cleveland
+updated this patch for Pd-l2ork version 2013.05.28. Fred Jan Kraan
+adapted the patch to pd-extended 2015-02-02;
+#X restore 499 869 pd META;
+#X obj 1 666 cnv 3 550 3 empty empty outlets 8 12 0 13 -228856 -1 0
+;
+#X obj 1 703 cnv 3 550 3 empty empty arguments 8 12 0 13 -228856 -1
+0;
+#N canvas 178 570 428 109 Related_objects 0;
+#X obj 0 0 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
+#X text 6 1 Related Objects;
+#X obj 32 34 bitand~;
+#X obj 32 58 bitor~;
+#X obj 32 81 bitnot~;
+#X restore 200 869 pd Related_objects;
+#X obj 85 676 cnv 17 3 17 empty empty 0 5 9 0 16 -228856 -162280 0
+;
+#X obj 0 0 cnv 15 553 42 empty empty bitxor~ 3 12 0 18 -204280 -1 0
+;
+#X text 112 675 signal;
+#X text 87 717 1) float;
+#X text 87 735 2) float;
+#X obj 43 389 clip~ -1 1;
+#X obj 42 239 list trim;
+#X obj 498 5 bitxor~;
+#X text 17 22 Performs bitwise boolean operations on a float signal.
+;
+#X text 26 51 Works on floating point signal as bits or as an integer:
+;
+#X text 61 211 bitwise boolean operation on signal and some bitmask
as bits;
-#X floatatom 503 286 0 0 0 0 - - -;
-#X floatatom 441 286 0 0 0 0 - - -;
-#X obj 503 306 sig~ 1;
-#X obj 441 306 sig~ 1;
-#X text 28 85 send bitmask;
-#X floatatom 102 411 0 0 0 0 - - -;
-#X obj 69 436 *~ 0.2;
-#X obj 231 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 446 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 433 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 420 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 407 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 394 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 381 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 368 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 355 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 342 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 329 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 316 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 303 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 290 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 277 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 264 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 251 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 238 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 225 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 212 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 199 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 186 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 173 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 160 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 147 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 134 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 121 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 108 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 95 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 82 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 69 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 56 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 43 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 30 182 pack bits 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0;
-#X floatatom 99 309 0 0 0 0 - - -;
-#X obj 69 470 dac~;
-#X obj 68 270 cycle~ 440;
-#X text 152 373 args: <mask> <mode>. both default to 0;
-#X text 463 158 <= set bitmask;
-#X text 361 264 bitwise boolean operation on signals as integers;
-#X text 92 293 use an integer as a bitmask;
-#X obj 441 330 bitxor~ 0 1;
-#X text 152 399 modes \; mode 0: treat both floating point signal inputs
-as raw 32 bit values \; mode 1: convert both floating point signal
-inputs to integers \; mode 2: treat left input as raw 32 bit value
-\, convert right input to integer \; mode 3: convert left input to
-integer \, treat right input as raw 32 bit value \;;
-#X obj 441 358 Snapshot~ 100;
-#X obj 443 381 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
--262144 -1 -1 0 256;
-#X obj 68 329 bitxor~;
-#N canvas 307 159 494 371 META 0;
-#X text 12 175 HELP_PATCH_AUTHORS Christoph Kummerer. Revised by Jonathan
-Wilkes for Pd-extended 0.42 to conform to the PDDP template.;
-#X text 12 145 WEBSITE http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html
+#X text 73 114 send bitmask;
+#X obj 272 115 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 490 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 476 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 462 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 448 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 434 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 420 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 406 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 392 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 378 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 364 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 350 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 336 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 322 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 308 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 294 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 280 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 266 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 252 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 238 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 224 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 210 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 196 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 182 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 168 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 154 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 140 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 126 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 112 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 98 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 84 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 70 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 56 157 tgl 15 0 \$0-bitchange empty empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 42 182 pack s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0;
+#X msg 42 117 bits;
+#X text 169 91 bitwise operation on a signal as bits;
+#X obj 42 328 cyclone/bitxor~;
+#X obj 43 476 output~;
+#X obj 86 537 cnv 17 3 75 empty empty 0 5 9 0 16 -228856 -162280 0
+;
+#X text 121 620 signal;
+#X obj 86 622 cnv 17 3 25 empty empty 1 5 9 0 16 -228856 -162280 0
+;
+#X text 122 634 float;
+#N canvas 709 657 430 304 view 0;
+#X obj 73 28 inlet~;
+#X obj 102 63 metro 100;
+#X obj 82 62 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X obj 73 93 tabwrite~ \$0-bitxor;
+#X obj 1 0 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
+#X obj 72 134 hsl 195 140 0 127 0 0 blank_outlet blank_inlet empty
+-2 -8 0 10 -262144 -262144 -262144 0 1;
+#X text 54 130 1;
+#X text 49 261 -1;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array \$0-bitxor 1024 float 0;
+#X coords 0 1 1023 -1 200 140 1;
+#X restore 69 134 graph;
+#X text 6 1 Graph viewer;
+#X text 28 278 The graph is placed in a sub-patch to prevent audio-dropouts
;
-#X text 12 45 DESCRIPTION bitwise xor signal operator;
-#X text 12 85 INLET_1 signal;
-#X text 12 65 INLET_0 signal bits;
-#X text 12 105 OUTLET_0 signal;
-#X text 12 25 LICENSE SIBSD;
-#X text 12 125 AUTHOR Krzysztof Czaja;
-#X text 12 5 KEYWORDS signal conversion max_compatible;
-#X restore 612 511 pd META;
-#X msg 30 108 bits;
-#X obj 30 220 list trim;
-#X connect 3 0 13 0;
-#X connect 4 0 5 0;
-#X connect 5 0 55 0;
-#X connect 7 0 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 55 1;
-#X connect 10 0 55 0;
-#X connect 12 0 13 1;
-#X connect 13 0 49 0;
-#X connect 13 0 49 1;
-#X connect 14 0 46 0;
-#X connect 14 0 45 0;
-#X connect 14 0 44 0;
-#X connect 14 0 43 0;
-#X connect 14 0 42 0;
-#X connect 14 0 41 0;
-#X connect 14 0 40 0;
-#X connect 14 0 39 0;
-#X connect 14 0 38 0;
-#X connect 14 0 37 0;
-#X connect 14 0 36 0;
-#X connect 14 0 35 0;
-#X connect 14 0 34 0;
-#X connect 14 0 33 0;
-#X connect 14 0 32 0;
-#X connect 14 0 31 0;
-#X connect 14 0 30 0;
-#X connect 14 0 29 0;
-#X connect 14 0 28 0;
-#X connect 14 0 27 0;
-#X connect 14 0 26 0;
-#X connect 14 0 25 0;
-#X connect 14 0 24 0;
-#X connect 14 0 23 0;
-#X connect 14 0 22 0;
-#X connect 14 0 21 0;
-#X connect 14 0 20 0;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X restore 114 436 pd view;
+#X text 111 415 click for graph;
+#X obj 56 266 cycle~ 220;
+#X obj 42 93 r \$0-bitchange;
+#X text 161 719 - mask: interpreted as integer. 0 is default \, -1
+is max.;
+#X text 215 736 left inlet;
+#X text 388 736 right inlet;
+#X text 187 754 0;
+#X text 187 767 1;
+#X text 187 780 2;
+#X text 187 794 3;
+#X text 162 735 - modes:;
+#X text 213 754 use signal/float as is;
+#X text 389 754 use signal/float as is;
+#X text 389 767 convert signal/float to int;
+#X text 389 781 convert signal/float to int;
+#X text 389 794 use signal/float as is;
+#X text 213 794 convert signal/float to int;
+#X text 213 767 convert signal/float to int;
+#X text 213 780 use signal/float as is;
+#N canvas 729 507 450 348 mask 0;
+#X obj 22 217 clip~ -1 1;
+#X obj 24 54 cyclone/cycle~ 220;
+#X obj 22 246 output~;
+#X msg 155 52 -1;
+#X msg 166 74 65535;
+#X msg 179 95 255;
+#X obj 1 1 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
+#X obj 106 225 metro 100;
+#X obj 106 207 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X text 216 53 1;
+#X obj 229 56 hsl 195 140 0 127 0 0 blank_outlet blank_inlet empty
+-2 -8 0 10 -262144 -262144 -262144 0 1;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array \$0-bitxor2 1024 float 0;
+#X coords 0 1 1023 -1 200 140 1 0 0;
+#X restore 226 56 graph;
+#X obj 106 187 loadbang;
+#X text 210 181 -1;
+#X obj 23 83 *~ 10000;
+#X obj 22 189 /~ 10000;
+#X text 21 302 When using integers (mode 1 \, 3) as bitmask \, make
+sure the signal is larger than +/- 1;
+#X obj 106 245 tabwrite~ \$0-bitxor2;
+#X obj 155 28 loadbang;
+#X obj 23 133 cyclone/bitxor~ -1 1;
+#X text 5 1 bitxor~ mask with integers;
+#X connect 0 0 2 0;
+#X connect 0 0 17 0;
+#X connect 1 0 14 0;
+#X connect 3 0 19 1;
+#X connect 4 0 19 1;
+#X connect 5 0 19 1;
+#X connect 7 0 17 0;
+#X connect 8 0 7 0;
+#X connect 12 0 8 0;
#X connect 14 0 19 0;
-#X connect 14 0 18 0;
-#X connect 14 0 17 0;
-#X connect 14 0 16 0;
-#X connect 14 0 15 0;
-#X connect 15 0 47 32;
-#X connect 16 0 47 31;
-#X connect 17 0 47 30;
-#X connect 18 0 47 29;
-#X connect 19 0 47 28;
-#X connect 20 0 47 27;
-#X connect 21 0 47 26;
-#X connect 22 0 47 25;
-#X connect 23 0 47 24;
-#X connect 24 0 47 23;
-#X connect 25 0 47 22;
-#X connect 26 0 47 21;
-#X connect 27 0 47 20;
-#X connect 28 0 47 19;
-#X connect 29 0 47 18;
-#X connect 30 0 47 17;
-#X connect 31 0 47 16;
-#X connect 32 0 47 15;
-#X connect 33 0 47 14;
-#X connect 34 0 47 13;
-#X connect 35 0 47 12;
-#X connect 36 0 47 11;
-#X connect 37 0 47 10;
-#X connect 38 0 47 9;
-#X connect 39 0 47 8;
-#X connect 40 0 47 7;
-#X connect 41 0 47 6;
-#X connect 42 0 47 5;
-#X connect 43 0 47 4;
-#X connect 44 0 47 3;
-#X connect 45 0 47 2;
-#X connect 46 0 47 1;
-#X connect 47 0 62 0;
-#X connect 48 0 59 1;
-#X connect 50 0 59 0;
-#X connect 55 0 57 0;
-#X connect 57 0 58 0;
-#X connect 59 0 3 0;
-#X connect 61 0 47 0;
-#X connect 62 0 59 0;
+#X connect 15 0 0 0;
+#X connect 18 0 3 0;
+#X connect 19 0 15 0;
+#X restore 418 494 pd mask with integers;
+#X text 122 533 signal;
+#X text 123 549 list;
+#X text 177 549 - if the first element is "bits" \, the following 32
+elements are interpreted as 0's and 1's;
+#X text 124 578 mode;
+#X text 179 578 - values 0 to 3 The interpretation of the values at
+the two inlets. See argument description for details;
+#X text 177 533 - signal to execute bitwise-xor on;
+#X text 177 619 - bitwise-xor mask;
+#X text 177 634 - bitwise-xor mask;
+#X text 170 674 - output bitwise-xor masked signal;
+#X connect 11 0 60 0;
+#X connect 11 0 55 0;
+#X connect 11 0 55 1;
+#X connect 12 0 54 0;
+#X connect 18 0 50 0;
+#X connect 18 0 49 0;
+#X connect 18 0 48 0;
+#X connect 18 0 47 0;
+#X connect 18 0 46 0;
+#X connect 18 0 45 0;
+#X connect 18 0 44 0;
+#X connect 18 0 43 0;
+#X connect 18 0 42 0;
+#X connect 18 0 41 0;
+#X connect 18 0 40 0;
+#X connect 18 0 39 0;
+#X connect 18 0 38 0;
+#X connect 18 0 37 0;
+#X connect 18 0 36 0;
+#X connect 18 0 35 0;
+#X connect 18 0 34 0;
+#X connect 18 0 33 0;
+#X connect 18 0 32 0;
+#X connect 18 0 31 0;
+#X connect 18 0 30 0;
+#X connect 18 0 29 0;
+#X connect 18 0 28 0;
+#X connect 18 0 27 0;
+#X connect 18 0 26 0;
+#X connect 18 0 25 0;
+#X connect 18 0 24 0;
+#X connect 18 0 23 0;
+#X connect 18 0 22 0;
+#X connect 18 0 21 0;
+#X connect 18 0 20 0;
+#X connect 18 0 19 0;
+#X connect 19 0 51 32;
+#X connect 20 0 51 31;
+#X connect 21 0 51 30;
+#X connect 22 0 51 29;
+#X connect 23 0 51 28;
+#X connect 24 0 51 27;
+#X connect 25 0 51 26;
+#X connect 26 0 51 25;
+#X connect 27 0 51 24;
+#X connect 28 0 51 23;
+#X connect 29 0 51 22;
+#X connect 30 0 51 21;
+#X connect 31 0 51 20;
+#X connect 32 0 51 19;
+#X connect 33 0 51 18;
+#X connect 34 0 51 17;
+#X connect 35 0 51 16;
+#X connect 36 0 51 15;
+#X connect 37 0 51 14;
+#X connect 38 0 51 13;
+#X connect 39 0 51 12;
+#X connect 40 0 51 11;
+#X connect 41 0 51 10;
+#X connect 42 0 51 9;
+#X connect 43 0 51 8;
+#X connect 44 0 51 7;
+#X connect 45 0 51 6;
+#X connect 46 0 51 5;
+#X connect 47 0 51 4;
+#X connect 48 0 51 3;
+#X connect 49 0 51 2;
+#X connect 50 0 51 1;
+#X connect 51 0 12 0;
+#X connect 52 0 51 0;
+#X connect 54 0 11 0;
+#X connect 62 0 54 0;
+#X connect 63 0 52 0;