diff --git a/src/main/dig/74xx/counter.dig b/src/main/dig/74xx/counter.dig
index 761740e85..fd3d6dc39 100644
--- a/src/main/dig/74xx/counter.dig
+++ b/src/main/dig/74xx/counter.dig
@@ -1,7 +1,12 @@
1
-
+
+
+ Description
+ Three digit BCD counter.
+
+
7447.dig
@@ -110,12 +115,16 @@
runRealTime
true
+
+ Label
+ C
+
Frequency
- 10
+ 2
-
+
VDD
@@ -189,12 +198,16 @@
-
-
+
+
-
-
+
+
+
+
+
+
@@ -273,16 +286,12 @@
-
-
+
+
-
-
-
-
-
-
+
+
@@ -453,11 +462,11 @@
-
+
-
+
@@ -489,7 +498,7 @@
-
+
@@ -501,7 +510,7 @@
-
+
@@ -541,7 +550,7 @@
-
+
@@ -781,7 +790,7 @@
-
+
diff --git a/src/main/dig/74xx/lib/74162.dig b/src/main/dig/74xx/lib/74162.dig
index 6b06d8f25..d1205aab9 100644
--- a/src/main/dig/74xx/lib/74162.dig
+++ b/src/main/dig/74xx/lib/74162.dig
@@ -11,16 +11,29 @@
Presettable synchronous BCD decade
counter; synchronous reset
+
+ Color
+
+ 255
+ 255
+ 153
+ 255
+
+
D_FF
-
+
Out
+
+ Description
+ flip-flop outputs
+
rotation
@@ -34,7 +47,7 @@ counter; synchronous reset
14
-
+
Or
@@ -44,7 +57,7 @@ counter; synchronous reset
-
+
And
@@ -54,7 +67,7 @@ counter; synchronous reset
-
+
And
@@ -64,16 +77,20 @@ counter; synchronous reset
-
+
D_FF
-
+
Out
+
+ Description
+ flip-flop outputs
+
rotation
@@ -87,7 +104,7 @@ counter; synchronous reset
13
-
+
Or
@@ -97,7 +114,7 @@ counter; synchronous reset
-
+
And
@@ -107,7 +124,7 @@ counter; synchronous reset
-
+
And
@@ -117,16 +134,20 @@ counter; synchronous reset
-
+
D_FF
-
+
Out
+
+ Description
+ flip-flop outputs
+
rotation
@@ -140,7 +161,7 @@ counter; synchronous reset
12
-
+
Or
@@ -150,7 +171,7 @@ counter; synchronous reset
-
+
And
@@ -160,7 +181,7 @@ counter; synchronous reset
-
+
And
@@ -170,16 +191,20 @@ counter; synchronous reset
-
+
D_FF
-
+
Out
+
+ Description
+ flip-flop outputs
+
rotation
@@ -193,7 +218,7 @@ counter; synchronous reset
11
-
+
Or
@@ -203,7 +228,7 @@ counter; synchronous reset
-
+
And
@@ -213,7 +238,7 @@ counter; synchronous reset
-
+
And
@@ -223,26 +248,30 @@ counter; synchronous reset
-
+
NOr
-
+
NOr
-
+
Not
-
+
In
+
+ Description
+ Reset
+
Label
~MR
@@ -251,12 +280,20 @@ counter; synchronous reset
pinNumber
1
+
+ Default
+ 1
+
-
+
In
+
+ Description
+ parallel enable input (active LOW)
+
Label
~PE
@@ -265,22 +302,20 @@ counter; synchronous reset
pinNumber
9
-
-
-
-
- Not
-
- rotation
-
+ Default
+ 1
-
+
In
+
+ Description
+ data inputs
+
rotation
@@ -294,21 +329,15 @@ counter; synchronous reset
3
-
-
-
- Not
-
-
- rotation
-
-
-
-
+
In
+
+ Description
+ data inputs
+
rotation
@@ -322,21 +351,15 @@ counter; synchronous reset
4
-
-
-
- Not
-
-
- rotation
-
-
-
-
+
In
+
+ Description
+ data inputs
+
rotation
@@ -350,21 +373,15 @@ counter; synchronous reset
5
-
-
-
- Not
-
-
- rotation
-
-
-
-
+
In
+
+ Description
+ data inputs
+
rotation
@@ -378,11 +395,15 @@ counter; synchronous reset
6
-
+
In
+
+ Description
+ Clock
+
Label
CP
@@ -392,7 +413,7 @@ counter; synchronous reset
2
-
+
And
@@ -406,11 +427,15 @@ counter; synchronous reset
5
-
+
Out
+
+ Description
+ terminal count output
+
rotation
@@ -424,11 +449,15 @@ counter; synchronous reset
15
-
+
In
+
+ Description
+ count enable carry input
+
Label
CET
@@ -437,6 +466,10 @@ counter; synchronous reset
pinNumber
10
+
+ Default
+ 1
+
@@ -448,6 +481,10 @@ counter; synchronous reset
In
+
+ Description
+ count enable input
+
Label
CEP
@@ -456,6 +493,10 @@ counter; synchronous reset
pinNumber
7
+
+ Default
+ 1
+
@@ -467,7 +508,7 @@ counter; synchronous reset
-
+
Not
@@ -487,7 +528,7 @@ counter; synchronous reset
-
+
NOr
@@ -511,7 +552,7 @@ counter; synchronous reset
-
+
NOr
@@ -535,7 +576,7 @@ counter; synchronous reset
-
+
And
@@ -545,7 +586,7 @@ counter; synchronous reset
-
+
NOr
@@ -555,7 +596,7 @@ counter; synchronous reset
-
+
NOr
@@ -594,28 +635,48 @@ counter; synchronous reset
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -629,77 +690,69 @@ counter; synchronous reset
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -710,40 +763,24 @@ counter; synchronous reset
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -762,52 +799,80 @@ counter; synchronous reset
-
-
-
-
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -826,8 +891,12 @@ counter; synchronous reset
-
-
+
+
+
+
+
+
@@ -845,6 +914,10 @@ counter; synchronous reset
+
+
+
+
@@ -854,48 +927,12 @@ counter; synchronous reset
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
@@ -906,8 +943,8 @@ counter; synchronous reset
-
-
+
+
@@ -915,15 +952,15 @@ counter; synchronous reset
-
-
-
-
-
+
-
+
+
+
+
+
@@ -931,87 +968,91 @@ counter; synchronous reset
-
+
-
-
-
-
-
-
+
+
-
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1022,28 +1063,28 @@ counter; synchronous reset
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1051,167 +1092,151 @@ counter; synchronous reset
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
-
-
-
-
-
+
+
-
+
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
@@ -1219,75 +1244,71 @@ counter; synchronous reset
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1298,20 +1319,20 @@ counter; synchronous reset
-
-
+
+
-
-
+
+
-
+
-
-
+
+
\ No newline at end of file
diff --git a/src/main/dig/74xx/lib/7447.dig b/src/main/dig/74xx/lib/7447.dig
index 501a38afa..3e943de81 100644
--- a/src/main/dig/74xx/lib/7447.dig
+++ b/src/main/dig/74xx/lib/7447.dig
@@ -15,6 +15,10 @@
In
+
+ Description
+ Bit 0
+
Label
A
@@ -24,11 +28,15 @@
7
-
+
In
+
+ Description
+ Bit 1
+
Label
B
@@ -38,11 +46,15 @@
1
-
+
In
+
+ Description
+ Bit 2
+
Label
C
@@ -52,11 +64,15 @@
2
-
+
In
+
+ Description
+ Bit 3
+
Label
D
@@ -66,112 +82,20 @@
6
-
-
-
- Tunnel
-
-
- rotation
-
-
-
- NetName
- a
-
-
-
-
-
- Tunnel
-
-
- rotation
-
-
-
- NetName
- b
-
-
-
-
-
- Tunnel
-
-
- rotation
-
-
-
- NetName
- c
-
-
-
-
-
- Tunnel
-
-
- rotation
-
-
-
- NetName
- d
-
-
-
-
-
- Tunnel
-
-
- NetName
- a
-
-
-
-
-
- Tunnel
-
-
- NetName
- b
-
-
-
-
-
- Tunnel
-
-
- NetName
- c
-
-
-
-
-
- Tunnel
-
-
- NetName
- d
-
-
-
+
NAnd
-
+
Out
+
+ Description
+ ripple blanking output (LOW active)
+
Label
~RBO
@@ -181,11 +105,15 @@
4
-
+
In
+
+ Description
+ ripple blanking input (LOW active)
+
Label
~RBI
@@ -195,32 +123,32 @@
5
-
+
Not
-
+
Or
-
+
Or
-
+
Or
-
+
Or
-
+
NOr
@@ -230,12 +158,12 @@
4
-
+
And
-
+
Out
@@ -631,6 +559,10 @@
In
+
+ Description
+ lamp test
+
rotation
@@ -659,12 +591,12 @@
-
-
+
+
-
-
+
+
@@ -678,21 +610,17 @@
-
-
-
-
-
-
+
+
-
-
+
+
@@ -711,12 +639,8 @@
-
-
-
-
-
-
+
+
@@ -726,6 +650,10 @@
+
+
+
+
@@ -734,10 +662,6 @@
-
-
-
-
@@ -750,6 +674,10 @@
+
+
+
+
@@ -763,12 +691,8 @@
-
-
-
-
-
-
+
+
@@ -794,10 +718,6 @@
-
-
-
-
@@ -807,8 +727,12 @@
-
-
+
+
+
+
+
+
@@ -818,6 +742,10 @@
+
+
+
+
@@ -834,6 +762,10 @@
+
+
+
+
@@ -846,10 +778,6 @@
-
-
-
-
@@ -882,10 +810,6 @@
-
-
-
-
@@ -899,12 +823,8 @@
-
-
-
-
-
-
+
+
@@ -926,6 +846,10 @@
+
+
+
+
@@ -935,8 +859,8 @@
-
-
+
+
@@ -974,22 +898,18 @@
+
+
+
+
-
-
-
-
-
-
-
-
@@ -1002,6 +922,10 @@
+
+
+
+
@@ -1010,6 +934,10 @@
+
+
+
+
@@ -1026,10 +954,6 @@
-
-
-
-
@@ -1038,6 +962,14 @@
+
+
+
+
+
+
+
+
@@ -1046,10 +978,6 @@
-
-
-
-
@@ -1058,6 +986,10 @@
+
+
+
+
@@ -1107,16 +1039,12 @@
-
-
+
+
-
-
-
-
-
-
+
+
@@ -1143,8 +1071,8 @@
-
-
+
+
@@ -1158,6 +1086,10 @@
+
+
+
+
@@ -1183,8 +1115,8 @@
-
-
+
+
@@ -1195,13 +1127,17 @@
-
-
+
+
+
+
+
+
@@ -1222,10 +1158,6 @@
-
-
-
-
@@ -1247,12 +1179,12 @@
-
-
+
+
-
-
+
+
@@ -1263,12 +1195,8 @@
-
-
-
-
-
-
+
+
@@ -1276,6 +1204,10 @@
+
+
+
+
@@ -1286,6 +1218,14 @@
+
+
+
+
+
+
+
+
@@ -1395,12 +1335,8 @@
-
-
-
-
-
-
+
+
@@ -1410,10 +1346,6 @@
-
-
-
-
@@ -1424,6 +1356,10 @@
+
+
+
+
@@ -1431,8 +1367,8 @@
-
-
+
+
@@ -1511,8 +1447,8 @@
-
-
+
+
@@ -1542,22 +1478,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1587,17 +1507,41 @@
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1612,7 +1556,7 @@
-
+
@@ -1654,22 +1598,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1719,12 +1647,8 @@
-
-
-
-
-
-
+
+
\ No newline at end of file
diff --git a/src/main/dig/74xx/lib/7448.dig b/src/main/dig/74xx/lib/7448.dig
index b22b2963b..aa01ba894 100644
--- a/src/main/dig/74xx/lib/7448.dig
+++ b/src/main/dig/74xx/lib/7448.dig
@@ -172,6 +172,10 @@
Out
+
+ Description
+ ripple blanking output (LOW active)
+
Label
~RBO
@@ -186,6 +190,10 @@
In
+
+ Description
+ ripple blanking input (LOW active)
+
Label
~RBI
@@ -242,7 +250,7 @@
Label
- a
+ ~a
pinNumber
@@ -300,7 +308,7 @@
Label
- b
+ ~b
pinNumber
@@ -343,7 +351,7 @@
Label
- c
+ ~c
pinNumber
@@ -376,7 +384,7 @@
Label
- d
+ ~d
pinNumber
@@ -419,7 +427,7 @@
Label
- e
+ ~e
pinNumber
@@ -447,7 +455,7 @@
Label
- f
+ ~f
pinNumber
@@ -485,7 +493,7 @@
Label
- g
+ ~g
pinNumber
@@ -561,6 +569,10 @@
In
+
+ Description
+ lamp test
+
rotation
diff --git a/src/main/java/de/neemann/digital/draw/shapes/DILShape.java b/src/main/java/de/neemann/digital/draw/shapes/DILShape.java
index 95d8ee5e1..2210153cc 100644
--- a/src/main/java/de/neemann/digital/draw/shapes/DILShape.java
+++ b/src/main/java/de/neemann/digital/draw/shapes/DILShape.java
@@ -69,6 +69,7 @@ public class DILShape implements Shape {
int pin = dp / 4;
int x = width * SIZE;
int h = (pinCount / 2) * dp - SIZE;
+
for (int i = 0; i < pinCount / 2; i++) {
int y = i * dp;
graphic.drawPolygon(
@@ -86,6 +87,7 @@ public class DILShape implements Shape {
.add(x - pin, y + pin), Style.NORMAL);
graphic.drawText(new Vector(x - pin - SIZE2 / 2, y), new Vector(x - pin + SIZE, y), map.getText(pinCount - i), Orientation.RIGHTCENTER, Style.SHAPE_PIN);
}
+
graphic.drawPolygon(
new Polygon(true)
.add(pin, -SIZE)
@@ -96,13 +98,14 @@ public class DILShape implements Shape {
.add(x - pin, h)
.add(pin, h), Style.NORMAL);
graphic.drawText(new Vector(x / 2, SIZE2), new Vector(x / 2, SIZE * 2), shortName, Orientation.LEFTCENTER, Style.NORMAL_TEXT);
+
if (label != null && label.length() > 0)
graphic.drawText(new Vector(x / 2, h + SIZE2), new Vector(x, h + SIZE2), label, Orientation.CENTERTOP, Style.NORMAL_TEXT);
}
private static final class ShapePinMap {
private final int width;
- private HashMap map;
+ private final HashMap map;
private ArrayList notAssigned;
private int pinCount;