aboutsummaryrefslogtreecommitdiff
path: root/cmos
diff options
context:
space:
mode:
authorMartin Peach <mrpeach@users.sourceforge.net>2007-03-20 16:06:52 +0000
committerMartin Peach <mrpeach@users.sourceforge.net>2007-03-20 16:06:52 +0000
commitf27ad38a1d2d6adb42a06a2fe0ec74dcc6b1b888 (patch)
treed4819013488acac52e9ed466f7b7b6762937d4dc /cmos
parent8a36990c0305ea2effba5e869351b902ecb429b0 (diff)
help files for CMOS externals
svn path=/trunk/externals/mrpeach/; revision=7510
Diffstat (limited to 'cmos')
-rwxr-xr-xcmos/cd4000-help.pd18
-rwxr-xr-xcmos/cd4001-help.pd13
-rwxr-xr-xcmos/cd4002-help.pd19
-rwxr-xr-xcmos/cd4008-help.pd87
-rwxr-xr-xcmos/cd4011-help.pd13
-rwxr-xr-xcmos/cd4012-help.pd20
-rwxr-xr-xcmos/cd4013-help.pd43
-rwxr-xr-xcmos/cd4014-help.pd50
-rwxr-xr-xcmos/cd4015-help.pd25
-rwxr-xr-xcmos/cd4017-help.pd99
-rwxr-xr-xcmos/cd40193-help.pd91
-rwxr-xr-xcmos/cd4023-help.pd16
-rwxr-xr-xcmos/cd4024-help.pd32
-rwxr-xr-xcmos/cd4025-help.pd16
-rwxr-xr-xcmos/cd4027-help.pd36
-rwxr-xr-xcmos/cd4070-help.pd13
-rwxr-xr-xcmos/cd4071-help.pd13
-rwxr-xr-xcmos/cd4072-help.pd19
-rwxr-xr-xcmos/cd4073-help.pd16
-rwxr-xr-xcmos/cd4075-help.pd16
-rwxr-xr-xcmos/cd4076-help.pd59
-rwxr-xr-xcmos/cd4081-help.pd13
-rwxr-xr-xcmos/cd4082-help.pd19
-rwxr-xr-xcmos/cd4094-help.pd49
-rwxr-xr-xcmos/cd4516-help.pd88
25 files changed, 883 insertions, 0 deletions
diff --git a/cmos/cd4000-help.pd b/cmos/cd4000-help.pd
new file mode 100755
index 0000000..aa90485
--- /dev/null
+++ b/cmos/cd4000-help.pd
@@ -0,0 +1,18 @@
+#N canvas 670 174 482 236 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 151 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 217 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 106 cd4000 triple nor;
+#X text 16 29 cd4000 emulates 1/2 of the CMOS three-input NOR gate
+;
+#X text 210 170 20070315_Martin_Peach;
+#X text 170 48 (inverter not included);
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 2 0;
diff --git a/cmos/cd4001-help.pd b/cmos/cd4001-help.pd
new file mode 100755
index 0000000..a5a1ddc
--- /dev/null
+++ b/cmos/cd4001-help.pd
@@ -0,0 +1,13 @@
+#N canvas 670 174 486 240 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 161 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 210 170 20070315_Martin_Peach;
+#X obj 86 106 cd4001 nor;
+#X text 16 29 cd4001 emulates 1/4 of the CMOS two-input NOR gate;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 4 0 2 0;
diff --git a/cmos/cd4002-help.pd b/cmos/cd4002-help.pd
new file mode 100755
index 0000000..11ccc89
--- /dev/null
+++ b/cmos/cd4002-help.pd
@@ -0,0 +1,19 @@
+#N canvas 670 174 490 244 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 111 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X text 210 170 20070315_Martin_Peach;
+#X obj 86 106 cd4002 nor;
+#X obj 136 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 161 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 16 29 cd4002 emulates 1/2 of the CMOS four-input NOR gate;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 4 0 2 0;
+#X connect 5 0 4 2;
+#X connect 6 0 4 3;
diff --git a/cmos/cd4008-help.pd b/cmos/cd4008-help.pd
new file mode 100755
index 0000000..de3aae8
--- /dev/null
+++ b/cmos/cd4008-help.pd
@@ -0,0 +1,87 @@
+#N canvas 580 256 530 325 12;
+#X obj 8 136 cd4008 4 bit full adder;
+#X obj 8 33 tgl 15 0 empty empty Carry_In 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 30 64 tgl 15 0 empty empty A1 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 52 80 tgl 15 0 empty empty A2 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 75 96 tgl 15 0 empty empty A3 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 97 111 tgl 15 0 empty empty A4 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 119 63 tgl 15 0 empty empty B1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 142 79 tgl 15 0 empty empty B2 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 164 95 tgl 15 0 empty empty B3 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 187 110 tgl 15 0 empty empty B4 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 8 174 tgl 15 0 empty empty S1 17 7 0 10 -258699 -241291 -1 1
+1;
+#X obj 52 174 tgl 15 0 empty empty S2 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 97 174 tgl 15 0 empty empty S3 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 142 174 tgl 15 0 empty empty S4 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 187 190 tgl 15 0 empty empty Carry_Out 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 214 170 cd4008 4 bit full adder;
+#X obj 236 98 tgl 15 0 empty empty A1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 258 114 tgl 15 0 empty empty A2 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 281 130 tgl 15 0 empty empty A3 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 303 145 tgl 15 0 empty empty A4 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 325 97 tgl 15 0 empty empty B1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 348 113 tgl 15 0 empty empty B2 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 370 129 tgl 15 0 empty empty B3 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 393 144 tgl 15 0 empty empty B4 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 214 208 tgl 15 0 empty empty S1 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 258 208 tgl 15 0 empty empty S2 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 303 208 tgl 15 0 empty empty S3 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 348 208 tgl 15 0 empty empty S4 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 393 208 tgl 15 0 empty empty Carry_Out 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 87 9 cd4008 emulates the CMOS 4-bit full adder.;
+#X text 194 279 20070315_MartinPeach;
+#X connect 0 0 10 0;
+#X connect 0 1 11 0;
+#X connect 0 2 12 0;
+#X connect 0 3 13 0;
+#X connect 0 4 14 0;
+#X connect 0 4 15 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 4 0 0 3;
+#X connect 5 0 0 4;
+#X connect 6 0 0 5;
+#X connect 7 0 0 6;
+#X connect 8 0 0 7;
+#X connect 9 0 0 8;
+#X connect 15 0 24 0;
+#X connect 15 1 25 0;
+#X connect 15 2 26 0;
+#X connect 15 3 27 0;
+#X connect 15 4 28 0;
+#X connect 16 0 15 1;
+#X connect 17 0 15 2;
+#X connect 18 0 15 3;
+#X connect 19 0 15 4;
+#X connect 20 0 15 5;
+#X connect 21 0 15 6;
+#X connect 22 0 15 7;
+#X connect 23 0 15 8;
diff --git a/cmos/cd4011-help.pd b/cmos/cd4011-help.pd
new file mode 100755
index 0000000..3839923
--- /dev/null
+++ b/cmos/cd4011-help.pd
@@ -0,0 +1,13 @@
+#N canvas 670 174 490 244 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 169 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 210 170 20070315_Martin_Peach;
+#X text 16 29 cd4011 emulates 1/4 of the CMOS two-input NAND gate;
+#X obj 86 106 cd4011 nand;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 5 0 2 0;
diff --git a/cmos/cd4012-help.pd b/cmos/cd4012-help.pd
new file mode 100755
index 0000000..559283d
--- /dev/null
+++ b/cmos/cd4012-help.pd
@@ -0,0 +1,20 @@
+#N canvas 670 174 494 248 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 113 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X text 210 170 20070315_Martin_Peach;
+#X obj 141 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 169 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 18 31 cd4012 emulates 1/2 of the CMOS four-input NAND gate
+;
+#X obj 86 106 cd4012 nand;
+#X connect 0 0 7 0;
+#X connect 1 0 7 1;
+#X connect 4 0 7 2;
+#X connect 5 0 7 3;
+#X connect 7 0 2 0;
diff --git a/cmos/cd4013-help.pd b/cmos/cd4013-help.pd
new file mode 100755
index 0000000..a346ba1
--- /dev/null
+++ b/cmos/cd4013-help.pd
@@ -0,0 +1,43 @@
+#N canvas 581 224 651 219 12;
+#X obj 79 38 tgl 15 0 empty empty CLK 17 7 0 10 -24198 -62784 -1 0
+1;
+#X obj 98 53 tgl 15 0 empty empty SET 17 7 0 10 -24198 -62784 -1 0
+1;
+#X obj 118 68 tgl 15 0 empty empty RESET 17 7 0 10 -24198 -62784 -1
+0 1;
+#X obj 138 83 tgl 15 0 empty empty D 17 7 0 10 -24198 -62784 -1 0 1
+;
+#X obj 138 172 tgl 15 0 empty empty /Q 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 79 172 tgl 15 0 empty empty Q 17 7 0 10 -143491 -241291 -1 1
+1;
+#X obj 6 67 tgl 15 0 empty empty empty 17 7 0 10 -44926 -90881 -1 0
+1;
+#X text 27 5 cd4013 emulates one half of the CMOS logic D flipflop.
+;
+#X obj 79 146 cd4013 v;
+#X text 172 80 D is clocked to the output on rising edge of a clock.
+;
+#X text 133 35 A 0-1 transition or a bang clocks D to the outlets.
+;
+#X text 147 50 Sets Q=1. Overrides Reset and Clock.;
+#X text 183 65 Sets Q=0. Overrides Clock.;
+#X obj 170 145 spigot;
+#X obj 213 123 tgl 15 0 empty empty feedback 17 7 0 10 -44926 -1109
+-1 1 1;
+#X obj 42 115 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -241291
+-1;
+#X obj 6 89 metro 500;
+#X text 272 172 20070308_Martin_Peach;
+#X connect 0 0 8 0;
+#X connect 1 0 8 1;
+#X connect 2 0 8 2;
+#X connect 3 0 8 3;
+#X connect 4 0 13 0;
+#X connect 6 0 16 0;
+#X connect 8 0 5 0;
+#X connect 8 1 4 0;
+#X connect 13 0 3 0;
+#X connect 14 0 13 1;
+#X connect 15 0 8 0;
+#X connect 16 0 15 0;
diff --git a/cmos/cd4014-help.pd b/cmos/cd4014-help.pd
new file mode 100755
index 0000000..d34869f
--- /dev/null
+++ b/cmos/cd4014-help.pd
@@ -0,0 +1,50 @@
+#N canvas 633 293 527 277 12;
+#X obj 95 151 cd4014 shift register;
+#X obj 95 32 tgl 15 0 empty empty Clock 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 40 48 bng 15 250 50 0 empty empty empty 17 7 0 10 -44926 -258699
+-1;
+#X obj 111 49 tgl 15 0 empty empty P1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 127 65 tgl 15 0 empty empty P2 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 143 81 tgl 15 0 empty empty P3 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 160 98 tgl 15 0 empty empty P4 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 176 49 tgl 15 0 empty empty P5 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 192 65 tgl 15 0 empty empty P6 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 209 81 tgl 15 0 empty empty P7 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 225 98 tgl 15 0 empty empty P8 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 241 49 tgl 15 0 empty empty ParallelSerial 17 7 0 10 -44926
+-258699 -1 0 1;
+#X obj 258 66 tgl 15 0 empty empty SerialIn 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 95 181 tgl 15 0 empty empty Q6 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 176 181 tgl 15 0 empty empty Q7 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 258 181 tgl 15 0 empty empty Q8 17 7 0 10 -258699 -241291 -1
+0 1;
+#X text 18 0 cd4014 emulates the CMOS 8-stage static shift register
+;
+#X text 147 226 20070315_MartinPeach;
+#X connect 0 0 13 0;
+#X connect 0 1 14 0;
+#X connect 0 2 15 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 2;
+#X connect 5 0 0 3;
+#X connect 6 0 0 4;
+#X connect 7 0 0 5;
+#X connect 8 0 0 6;
+#X connect 9 0 0 7;
+#X connect 10 0 0 8;
+#X connect 11 0 0 9;
+#X connect 12 0 0 10;
diff --git a/cmos/cd4015-help.pd b/cmos/cd4015-help.pd
new file mode 100755
index 0000000..93c80db
--- /dev/null
+++ b/cmos/cd4015-help.pd
@@ -0,0 +1,25 @@
+#N canvas 693 303 454 304 12;
+#X obj 125 135 cd4015 4bit shift register;
+#X obj 125 84 tgl 15 0 empty empty Clk 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 226 84 tgl 15 0 empty empty D 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 328 84 tgl 15 0 empty empty R 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 125 183 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 192 183 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 260 183 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 328 183 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 32 22 cd4016 emulates 1/2 of the CMOS shift register;
+#X text 165 239 20070319_MartinPeach;
+#X connect 0 0 4 0;
+#X connect 0 1 5 0;
+#X connect 0 2 6 0;
+#X connect 0 3 7 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
diff --git a/cmos/cd4017-help.pd b/cmos/cd4017-help.pd
new file mode 100755
index 0000000..c6344d6
--- /dev/null
+++ b/cmos/cd4017-help.pd
@@ -0,0 +1,99 @@
+#N canvas 0 0 684 247 10;
+#X obj 9 123 cd4017 vvvvvvvvvvvvvvvvvvvvvvv;
+#X obj 9 78 tgl 15 0 empty empty clock 17 7 0 10 -24198 -225271 -1
+0 1;
+#X obj 111 88 tgl 15 0 empty empty clock_inhibit 17 7 0 10 -24198 -225271
+-1 0 1;
+#X obj 214 103 tgl 15 0 empty empty reset 17 7 0 10 -24198 -225271
+-1 0 1;
+#X obj 9 39 metro 100;
+#X obj 9 9 tgl 15 0 empty empty run 17 7 0 10 -24198 -225271 -1 1 1
+;
+#X obj 9 152 tgl 15 0 empty empty 0 3 23 0 10 -44926 -250685 -1 0 1
+;
+#X obj 29 152 tgl 15 0 empty empty 1 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 50 152 tgl 15 0 empty empty 2 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 70 152 tgl 15 0 empty empty 3 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 91 152 tgl 15 0 empty empty 4 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 111 152 tgl 15 0 empty empty 5 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 132 152 tgl 15 0 empty empty 6 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 152 152 tgl 15 0 empty empty 7 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 173 152 tgl 15 0 empty empty 8 3 23 0 10 -44926 -250685 -1 1
+1;
+#X obj 193 152 tgl 15 0 empty empty 9 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 214 152 tgl 15 0 empty empty carry_out 3 23 0 10 -44926 -250685
+-1 0 1;
+#X text 122 7 The CD4017 is a CMOS digital logic IC.;
+#X text 123 25 It counts up to ten and sets one of the numbered outlets
+high whenever it is clocked.;
+#X text 123 55 A clock can be a bang or a 1 following a 0;
+#X obj 332 142 cd4017 vvvvvvvvvvvvvvvvvvvvvvv;
+#X obj 332 97 tgl 15 0 empty empty clock 17 7 0 10 -24198 -225271 -1
+0 1;
+#X obj 434 107 tgl 15 0 empty empty clock_inhibit 17 7 0 10 -24198
+-225271 -1 0 1;
+#X obj 537 122 tgl 15 0 empty empty reset 17 7 0 10 -24198 -225271
+-1 0 1;
+#X obj 332 171 tgl 15 0 empty empty 0 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 352 171 tgl 15 0 empty empty 1 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 373 171 tgl 15 0 empty empty 2 3 23 0 10 -44926 -250685 -1 1
+1;
+#X obj 393 171 tgl 15 0 empty empty 3 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 414 171 tgl 15 0 empty empty 4 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 434 171 tgl 15 0 empty empty 5 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 455 171 tgl 15 0 empty empty 6 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 475 171 tgl 15 0 empty empty 7 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 496 171 tgl 15 0 empty empty 8 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 516 171 tgl 15 0 empty empty 9 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 537 171 tgl 15 0 empty empty carry_out 3 23 0 10 -44926 -250685
+-1 1 1;
+#X text 452 229 2007MartinPeach;
+#X connect 0 0 6 0;
+#X connect 0 1 7 0;
+#X connect 0 2 8 0;
+#X connect 0 3 9 0;
+#X connect 0 4 10 0;
+#X connect 0 5 11 0;
+#X connect 0 6 12 0;
+#X connect 0 7 13 0;
+#X connect 0 8 14 0;
+#X connect 0 9 15 0;
+#X connect 0 10 16 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 16 0 21 0;
+#X connect 20 0 24 0;
+#X connect 20 1 25 0;
+#X connect 20 2 26 0;
+#X connect 20 3 27 0;
+#X connect 20 4 28 0;
+#X connect 20 5 29 0;
+#X connect 20 6 30 0;
+#X connect 20 7 31 0;
+#X connect 20 8 32 0;
+#X connect 20 9 33 0;
+#X connect 20 10 34 0;
+#X connect 21 0 20 0;
+#X connect 22 0 20 1;
+#X connect 23 0 20 2;
+#X connect 29 0 23 0;
diff --git a/cmos/cd40193-help.pd b/cmos/cd40193-help.pd
new file mode 100755
index 0000000..2468e36
--- /dev/null
+++ b/cmos/cd40193-help.pd
@@ -0,0 +1,91 @@
+#N canvas 406 127 739 406 12;
+#X obj 75 5 cd40193 up down counter;
+#X obj 75 -53 tgl 15 1 empty empty up_clock 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 100 -37 tgl 15 1 empty empty down_clock 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 126 -88 tgl 15 1 empty empty clear 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 151 -111 tgl 15 1 empty empty load 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 177 -24 tgl 15 0 empty empty A 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 202 -24 tgl 15 0 empty empty B 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 228 -24 tgl 15 0 empty empty C 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 254 -24 tgl 15 0 empty empty D 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 75 47 tgl 15 0 empty empty QA 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 110 47 tgl 15 0 empty empty QB 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 146 47 tgl 15 0 empty empty QC 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 182 47 tgl 15 0 empty empty QD 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 218 29 tgl 15 0 empty empty Carry 17 7 0 10 -62784 -258699 -1
+1 1;
+#X obj 254 47 tgl 15 0 empty empty Borrow 17 7 0 10 -62784 -258699
+-1 1 1;
+#X obj 349 106 cd40193 up down counter;
+#X obj 451 77 tgl 15 0 empty empty A 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 476 77 tgl 15 0 empty empty B 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 502 77 tgl 15 0 empty empty C 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 528 77 tgl 15 0 empty empty D 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 349 148 tgl 15 0 empty empty QA 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 384 148 tgl 15 0 empty empty QB 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 420 148 tgl 15 0 empty empty QC 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 456 148 tgl 15 0 empty empty QD 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 492 130 tgl 15 0 empty empty Carry 17 7 0 10 -62784 -258699
+-1 1 1;
+#X obj 528 148 tgl 15 0 empty empty Borrow 17 7 0 10 -62784 -258699
+-1 1 1;
+#X text 32 -155 cd40193 emulates the CMOS synchronous up/down counter
+;
+#X text 212 -113 0 loads data into counter;
+#X text 197 -90 1 clears counter;
+#X text 202 -65 0 to 1 transition on a clock counts only if the other
+clock = 1 and clear = 0 and load = 1;
+#X text 285 204 20070314_MartinPeach;
+#X obj 9 -121 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 9 -89 metro 100;
+#X connect 0 0 9 0;
+#X connect 0 1 10 0;
+#X connect 0 2 11 0;
+#X connect 0 3 12 0;
+#X connect 0 4 13 0;
+#X connect 0 4 15 0;
+#X connect 0 5 14 0;
+#X connect 0 5 15 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 3 0 15 2;
+#X connect 4 0 0 3;
+#X connect 4 0 15 3;
+#X connect 5 0 0 4;
+#X connect 6 0 0 5;
+#X connect 7 0 0 6;
+#X connect 8 0 0 7;
+#X connect 15 0 20 0;
+#X connect 15 1 21 0;
+#X connect 15 2 22 0;
+#X connect 15 3 23 0;
+#X connect 15 4 24 0;
+#X connect 15 5 25 0;
+#X connect 16 0 15 4;
+#X connect 17 0 15 5;
+#X connect 18 0 15 6;
+#X connect 19 0 15 7;
+#X connect 31 0 32 0;
+#X connect 32 0 1 0;
diff --git a/cmos/cd4023-help.pd b/cmos/cd4023-help.pd
new file mode 100755
index 0000000..32dea69
--- /dev/null
+++ b/cmos/cd4023-help.pd
@@ -0,0 +1,16 @@
+#N canvas 670 174 478 232 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 155 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 225 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 106 cd4023 triple nand;
+#X text 18 47 cd4023 emulates 1/3 of the CMOS triple NAND gate;
+#X text 210 170 20070319_Martin_Peach;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 2 0;
diff --git a/cmos/cd4024-help.pd b/cmos/cd4024-help.pd
new file mode 100755
index 0000000..fcf38cf
--- /dev/null
+++ b/cmos/cd4024-help.pd
@@ -0,0 +1,32 @@
+#N canvas 627 296 564 304 12;
+#X obj 138 127 cd4024 7-stage counter;
+#X obj 138 103 tgl 15 0 empty empty Clk 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 309 103 tgl 15 0 empty empty Reset 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 138 174 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 170 174 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 202 174 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 234 174 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 267 174 tgl 15 0 empty empty Q5 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 300 174 tgl 15 0 empty empty Q6 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 334 174 tgl 15 0 empty empty Q7 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 15 16 cd4024 emulates the CMOS 7-stage ripple carry binary
+counter;
+#X text 242 250 20070319_MartinPeach;
+#X connect 0 0 3 0;
+#X connect 0 1 4 0;
+#X connect 0 2 5 0;
+#X connect 0 3 6 0;
+#X connect 0 4 7 0;
+#X connect 0 5 8 0;
+#X connect 0 6 9 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
diff --git a/cmos/cd4025-help.pd b/cmos/cd4025-help.pd
new file mode 100755
index 0000000..241577c
--- /dev/null
+++ b/cmos/cd4025-help.pd
@@ -0,0 +1,16 @@
+#N canvas 670 174 478 232 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 151 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 217 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 210 170 20070319_Martin_Peach;
+#X text 18 47 cd4025 emulates 1/3 of the CMOS triple NOR gate;
+#X obj 86 106 cd4025 triple nor;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 3 0 6 2;
+#X connect 6 0 2 0;
diff --git a/cmos/cd4027-help.pd b/cmos/cd4027-help.pd
new file mode 100755
index 0000000..cfd6e37
--- /dev/null
+++ b/cmos/cd4027-help.pd
@@ -0,0 +1,36 @@
+#N canvas 581 224 647 312 12;
+#X obj 79 38 tgl 15 0 empty empty CLK 17 7 0 10 -24198 -62784 -1 1
+1;
+#X obj 93 53 tgl 15 0 empty empty SET 17 7 0 10 -24198 -62784 -1 0
+1;
+#X obj 108 68 tgl 15 0 empty empty RESET 17 7 0 10 -24198 -62784 -1
+0 1;
+#X obj 123 83 tgl 15 0 empty empty J 17 7 0 10 -24198 -62784 -1 1 1
+;
+#X obj 138 98 tgl 15 0 empty empty K 17 7 0 10 -24198 -62784 -1 1 1
+;
+#X obj 79 146 cd4027 v;
+#X obj 138 172 tgl 15 0 empty empty /Q 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 79 172 tgl 15 0 empty empty Q 17 7 0 10 -143491 -241291 -1 1
+1;
+#X text 173 65 Sets Q=0. Overrides Clock;
+#X text 133 35 A 0-1 transition or a bang clocks the flipflop.;
+#X text 142 50 Sets Q=1. Overrides Reset and Clock;
+#X text 237 264 20070307MartinPeach;
+#X text 27 5 cd4027 emulates one half of the CMOS logic J/K flipflop.
+;
+#X text 157 80 When Q=0 and J=1 \, Q will change on next clock.;
+#X text 168 96 When Q=1 and K=1 \, Q will change on next clock.;
+#X obj 6 89 metro 100;
+#X obj 6 67 tgl 15 0 empty empty empty 17 7 0 10 -44926 -90881 -1 0
+1;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 2 0 5 2;
+#X connect 3 0 5 3;
+#X connect 4 0 5 4;
+#X connect 5 0 7 0;
+#X connect 5 1 6 0;
+#X connect 15 0 5 0;
+#X connect 16 0 15 0;
diff --git a/cmos/cd4070-help.pd b/cmos/cd4070-help.pd
new file mode 100755
index 0000000..b234142
--- /dev/null
+++ b/cmos/cd4070-help.pd
@@ -0,0 +1,13 @@
+#N canvas 670 174 454 208 12;
+#X obj 86 107 cd4070;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 129 83 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 18 47 cd4070 emulates 1/4 of the CMOS Exclusive Or gate;
+#X text 167 138 20070308_Martin_Peach;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
diff --git a/cmos/cd4071-help.pd b/cmos/cd4071-help.pd
new file mode 100755
index 0000000..f9a8c3e
--- /dev/null
+++ b/cmos/cd4071-help.pd
@@ -0,0 +1,13 @@
+#N canvas 670 174 458 212 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 129 83 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 167 138 20070308_Martin_Peach;
+#X text 18 47 cd4071 emulates 1/4 of the CMOS OR gate;
+#X obj 86 107 cd4071;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 5 0 2 0;
diff --git a/cmos/cd4072-help.pd b/cmos/cd4072-help.pd
new file mode 100755
index 0000000..94b7699
--- /dev/null
+++ b/cmos/cd4072-help.pd
@@ -0,0 +1,19 @@
+#N canvas 670 174 470 224 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 121 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X obj 157 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 193 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 210 170 20070312_Martin_Peach;
+#X text 18 47 cd4072 emulates 1/2 of the CMOS quad OR gate;
+#X obj 86 106 cd4072 quad or;
+#X connect 0 0 7 0;
+#X connect 1 0 7 1;
+#X connect 3 0 7 2;
+#X connect 4 0 7 3;
+#X connect 7 0 2 0;
diff --git a/cmos/cd4073-help.pd b/cmos/cd4073-help.pd
new file mode 100755
index 0000000..6bb37ff
--- /dev/null
+++ b/cmos/cd4073-help.pd
@@ -0,0 +1,16 @@
+#N canvas 670 174 474 228 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 151 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X obj 217 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X text 210 170 20070312_Martin_Peach;
+#X text 18 47 cd4073 emulates 1/3 of the CMOS triple AND gate;
+#X obj 86 106 cd4073 triple and;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 3 0 6 2;
+#X connect 6 0 2 0;
diff --git a/cmos/cd4075-help.pd b/cmos/cd4075-help.pd
new file mode 100755
index 0000000..861f3d2
--- /dev/null
+++ b/cmos/cd4075-help.pd
@@ -0,0 +1,16 @@
+#N canvas 670 174 478 232 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 147 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 209 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X text 210 170 20070312_Martin_Peach;
+#X text 18 47 cd4075 emulates 1/3 of the CMOS triple OR gate;
+#X obj 86 106 cd4075 triple or;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 3 0 6 2;
+#X connect 6 0 2 0;
diff --git a/cmos/cd4076-help.pd b/cmos/cd4076-help.pd
new file mode 100755
index 0000000..447f224
--- /dev/null
+++ b/cmos/cd4076-help.pd
@@ -0,0 +1,59 @@
+#N canvas 581 224 661 399 12;
+#X obj 49 39 tgl 15 0 empty empty CP 17 7 0 10 -24198 -62784 -1 0 1
+;
+#X obj 68 54 tgl 15 0 empty empty CLEAR 17 7 0 10 -24198 -62784 -1
+0 1;
+#X obj 87 70 tgl 15 0 empty empty Input_Disable_1 17 7 0 10 -24198
+-62784 -1 0 1;
+#X obj 106 88 tgl 15 0 empty empty Input_Disable_2 17 7 0 10 -24198
+-62784 -1 0 1;
+#X obj 106 304 tgl 15 0 empty empty B 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 49 304 tgl 15 0 empty empty A 17 7 0 10 -143491 -241291 -1 0
+1;
+#X obj 26 157 tgl 15 0 empty empty empty 17 7 0 10 -44926 -90881 -1
+0 1;
+#X text 89 36 A 0-1 transition or a bang clocks D to the outlets.;
+#X obj 26 221 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -241291
+-1;
+#X obj 26 187 metro 500;
+#X text 27 5 cd4076 emulates the CMOS quad D flipflop.;
+#X obj 220 304 tgl 15 0 empty empty D 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 163 304 tgl 15 0 empty empty C 17 7 0 10 -143491 -241291 -1
+0 1;
+#X text 131 50 Sets outputs to 0 Overrides CP.;
+#X text 250 74 Prevents input from being clocked to output.;
+#X obj 125 106 tgl 15 0 empty empty Output_Disable_1 17 7 0 10 -24198
+-62784 -1 0 1;
+#X obj 144 124 tgl 15 0 empty empty Output_Disable_1 17 7 0 10 -24198
+-62784 -1 0 1;
+#X text 291 107 Inhibits output.;
+#X text 74 341 20070312_Martin_Peach;
+#X obj 163 141 tgl 15 0 empty empty InA 17 7 0 10 -260818 -143491 -1
+0 1;
+#X obj 182 158 tgl 15 0 empty empty InB 17 7 0 10 -260818 -143491 -1
+0 1;
+#X obj 201 177 tgl 15 0 empty empty InC 17 7 0 10 -260818 -143491 -1
+0 1;
+#X obj 220 194 tgl 15 0 empty empty InD 17 7 0 10 -260818 -143491 -1
+0 1;
+#X text 236 142 Data inputs;
+#X obj 49 263 cd4076 quad d flipflop;
+#X connect 0 0 24 0;
+#X connect 1 0 24 1;
+#X connect 2 0 24 2;
+#X connect 3 0 24 3;
+#X connect 6 0 9 0;
+#X connect 8 0 24 0;
+#X connect 9 0 8 0;
+#X connect 15 0 24 4;
+#X connect 16 0 24 5;
+#X connect 19 0 24 6;
+#X connect 20 0 24 7;
+#X connect 21 0 24 8;
+#X connect 22 0 24 9;
+#X connect 24 0 5 0;
+#X connect 24 1 4 0;
+#X connect 24 2 12 0;
+#X connect 24 3 11 0;
diff --git a/cmos/cd4081-help.pd b/cmos/cd4081-help.pd
new file mode 100755
index 0000000..6ab2598
--- /dev/null
+++ b/cmos/cd4081-help.pd
@@ -0,0 +1,13 @@
+#N canvas 670 174 462 216 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 129 83 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X text 167 138 20070308_Martin_Peach;
+#X obj 86 106 cd4081;
+#X text 18 47 cd4081 emulates 1/4 of the CMOS AND gate;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 4 0 2 0;
diff --git a/cmos/cd4082-help.pd b/cmos/cd4082-help.pd
new file mode 100755
index 0000000..4542f04
--- /dev/null
+++ b/cmos/cd4082-help.pd
@@ -0,0 +1,19 @@
+#N canvas 670 174 466 220 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 124 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 162 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 201 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 106 cd4082 quad and;
+#X text 18 47 cd4082 emulates 1/2 of the CMOS quad AND gate;
+#X text 210 170 20070312_Martin_Peach;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 3 0 5 2;
+#X connect 4 0 5 3;
+#X connect 5 0 2 0;
diff --git a/cmos/cd4094-help.pd b/cmos/cd4094-help.pd
new file mode 100755
index 0000000..6f66e6b
--- /dev/null
+++ b/cmos/cd4094-help.pd
@@ -0,0 +1,49 @@
+#N canvas 657 97 532 308 12;
+#X obj 130 135 cd4094 shift register;
+#X obj 130 173 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 148 189 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 166 173 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 184 189 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 202 173 tgl 15 0 empty empty Q5 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 220 189 tgl 15 0 empty empty Q6 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 238 173 tgl 15 0 empty empty Q7 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 256 189 tgl 15 0 empty empty Q8 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 274 173 tgl 15 0 empty empty QS 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 292 189 tgl 15 0 empty empty Q'S 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 130 51 tgl 15 0 empty empty CLOCK 17 7 0 10 -258699 -42246 -1
+1 1;
+#X obj 184 73 tgl 15 0 empty empty STROBE 17 7 0 10 -24198 -143491
+-1 1 1;
+#X obj 238 93 tgl 15 0 empty empty DATA 17 7 0 10 -24198 -143491 -1
+0 1;
+#X obj 293 110 tgl 15 0 empty empty OUTPUT_ENABLE 17 7 0 10 -24198
+-143491 -1 1 1;
+#X text 52 10 cd4094 emulates the CMOS shift register;
+#X text 166 239 20030313_MartinPeach;
+#X text 200 48 0 to 1 transition clocks data...;
+#X text 255 70 ...only if strobe is 1;
+#X text 316 121 enables outputs Q1-Q8.;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 4 0;
+#X connect 0 4 5 0;
+#X connect 0 5 6 0;
+#X connect 0 6 7 0;
+#X connect 0 7 8 0;
+#X connect 0 8 9 0;
+#X connect 0 9 10 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 1;
+#X connect 13 0 0 2;
+#X connect 14 0 0 3;
diff --git a/cmos/cd4516-help.pd b/cmos/cd4516-help.pd
new file mode 100755
index 0000000..d3bc5cd
--- /dev/null
+++ b/cmos/cd4516-help.pd
@@ -0,0 +1,88 @@
+#N canvas 406 127 747 414 12;
+#X obj 75 -57 tgl 15 1 empty empty clock 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 96 -37 tgl 15 1 empty empty up_down 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 117 -88 tgl 15 1 empty empty reset 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 139 -111 tgl 15 1 empty empty preset_enable 17 7 0 10 -44926
+-258699 -1 0 1;
+#X obj 177 -24 tgl 15 0 empty empty P1 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 211 -24 tgl 15 0 empty empty P2 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 243 -24 tgl 15 0 empty empty P3 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 283 -24 tgl 15 0 empty empty P4 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 75 47 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 117 47 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1 0
+1;
+#X obj 160 47 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 203 47 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 246 47 tgl 15 0 empty empty carry_out 17 7 0 10 -62784 -258699
+-1 1 1;
+#X text 197 -90 1 clears counter;
+#X text 285 204 20070314_MartinPeach;
+#X obj 9 -121 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 9 -89 metro 100;
+#X obj 75 5 cd4516 up down counter;
+#X text 283 -115 1 loads data into counter;
+#X obj 160 -55 tgl 15 1 empty empty carry_in 17 7 0 10 -44926 -258699
+-1 0 1;
+#X text 32 -155 cd4516 emulates the CMOS binary up/down counter;
+#X text 271 -1 0 to 1 transition on clock counts if reset = 0 and preset_enable
+= 0 and carry_in = 0;
+#X obj 208 82 tgl 15 0 empty empty P1 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 242 82 tgl 15 0 empty empty P2 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 274 82 tgl 15 0 empty empty P3 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 314 82 tgl 15 0 empty empty P4 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 143 163 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 185 163 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 228 163 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 271 163 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 314 163 tgl 15 0 empty empty carry_out 17 7 0 10 -62784 -258699
+-1 1 1;
+#X obj 123 108 cd4516 up down counter;
+#X connect 0 0 17 0;
+#X connect 0 0 31 0;
+#X connect 1 0 17 1;
+#X connect 1 0 31 1;
+#X connect 2 0 17 2;
+#X connect 2 0 31 2;
+#X connect 3 0 17 3;
+#X connect 3 0 31 3;
+#X connect 4 0 17 5;
+#X connect 5 0 17 6;
+#X connect 6 0 17 7;
+#X connect 7 0 17 8;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X connect 17 0 8 0;
+#X connect 17 1 9 0;
+#X connect 17 2 10 0;
+#X connect 17 3 11 0;
+#X connect 17 4 12 0;
+#X connect 17 4 31 4;
+#X connect 19 0 17 4;
+#X connect 22 0 31 5;
+#X connect 23 0 31 6;
+#X connect 24 0 31 7;
+#X connect 25 0 31 8;
+#X connect 31 0 26 0;
+#X connect 31 1 27 0;
+#X connect 31 2 28 0;
+#X connect 31 3 29 0;
+#X connect 31 4 30 0;