diff --git a/src/main/dig/FullAdderCLA.dig b/src/main/dig/FullAdderCLA.dig index bc66c542d..453a09763 100644 --- a/src/main/dig/FullAdderCLA.dig +++ b/src/main/dig/FullAdderCLA.dig @@ -1,5 +1,12 @@ + 1 + + + Width + 4 + + In @@ -9,7 +16,7 @@ C_i-1 - + 0 @@ -24,31 +31,31 @@ 1 - + 0 Or - + 0 And - + 0 XOr - + 0 XOr - + 0 @@ -59,7 +66,7 @@ A1 - + 0 @@ -70,7 +77,7 @@ S0 - + 0 @@ -81,7 +88,7 @@ A2 - + 0 @@ -96,43 +103,43 @@ 1 - + 0 Or - + 0 And - + 0 And - + 0 Or - + 0 XOr - + 0 XOr - + 0 @@ -143,13 +150,13 @@ S1 - + 0 And - + 0 @@ -160,7 +167,7 @@ 3 - + 0 @@ -171,13 +178,13 @@ 3 - + 0 XOr - + 0 @@ -188,7 +195,7 @@ S2 - + 0 @@ -199,7 +206,7 @@ B0 - + 0 @@ -214,31 +221,31 @@ 1 - + 0 Or - + 0 And - + 0 XOr - + 0 And - + 0 @@ -249,7 +256,7 @@ 3 - + 0 @@ -260,7 +267,7 @@ 4 - + 0 @@ -271,7 +278,7 @@ 4 - + 0 @@ -286,7 +293,7 @@ 1 - + 0 @@ -297,31 +304,31 @@ B3 - + 0 Or - + 0 And - + 0 XOr - + 0 XOr - + 0 @@ -332,13 +339,13 @@ S3 - + 0 And - + 0 @@ -349,7 +356,7 @@ 5 - + 0 @@ -360,7 +367,7 @@ C_i - + 0 @@ -371,7 +378,7 @@ 3 - + 0 @@ -382,7 +389,7 @@ 4 - + 0 @@ -393,694 +400,690 @@ 5 - + 0 - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/mult.dig b/src/main/dig/mult.dig new file mode 100644 index 000000000..86fc1dad0 --- /dev/null +++ b/src/main/dig/mult.dig @@ -0,0 +1,909 @@ + + + 1 + + + Width + 4 + + + + + In + + + Label + P_0 + + + + 0 + + + In + + + Label + P_1 + + + + 0 + + + In + + + Label + P_2 + + + + 0 + + + In + + + Label + P_3 + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + In + + + Label + Q_0 + + + + 0 + + + Out + + + Label + S_0 + + + + 0 + + + FullAdderCLA.dig + + + 0 + + + Const + + + Value + 0 + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + In + + + Label + Q_1 + + + + 0 + + + Out + + + Label + S_1 + + + + 0 + + + FullAdderCLA.dig + + + 0 + + + Const + + + Value + 0 + + + + 0 + + + Out + + + Label + S_2 + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + In + + + Label + Q_2 + + + + 0 + + + FullAdderCLA.dig + + + 0 + + + Const + + + Value + 0 + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + And + + + 0 + + + In + + + Label + Q_3 + + + + 0 + + + Out + + + Label + S_3 + + + + 0 + + + Out + + + Label + S_4 + + + + 0 + + + Out + + + Label + S_5 + + + + 0 + + + Out + + + Label + S_6 + + + + 0 + + + Out + + + Label + S_7 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/multTest.dig b/src/main/dig/multTest.dig new file mode 100644 index 000000000..c9ac27475 --- /dev/null +++ b/src/main/dig/multTest.dig @@ -0,0 +1,248 @@ + + + 1 + + + mult.dig + + + 0 + + + Seven-Seg-Hex + + + 0 + + + Seven-Seg-Hex + + + 0 + + + Seven-Seg-Hex + + + 0 + + + Seven-Seg-Hex + + + 0 + + + In + + + Label + P + + + Bits + 4 + + + Default + 4 + + + + 0 + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 1*4 + + + + 0 + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 1*4 + + + + 0 + + + In + + + Label + Q + + + Bits + 4 + + + Default + 9 + + + + 0 + + + Splitter + + + Input Splitting + 1*4 + + + Output Splitting + 4 + + + + 0 + + + Splitter + + + Input Splitting + 1*4 + + + Output Splitting + 4 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index fc7176c79..8ad32ee6f 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -55,6 +55,7 @@ public class CircuitComponent extends JComponent { private final MouseControllerMoveSelected mouseMoveSelected; private final MouseControllerCopySelected mouseCopySelected; private final MouseController mouseRun; + private final Cursor moveCursor; private Circuit circuit; private MouseController activeMouseController; @@ -96,13 +97,14 @@ public class CircuitComponent extends JComponent { }); Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + moveCursor = new Cursor(Cursor.MOVE_CURSOR); mouseNormal = new MouseControllerNormal(normalCursor); mouseInsertElement = new MouseControllerInsertElement(normalCursor); mouseMoveElement = new MouseControllerMoveElement(normalCursor); mouseWire = new MouseControllerWire(normalCursor); mouseSelect = new MouseControllerSelect(new Cursor(Cursor.CROSSHAIR_CURSOR)); - mouseMoveSelected = new MouseControllerMoveSelected(new Cursor(Cursor.MOVE_CURSOR)); - mouseCopySelected = new MouseControllerCopySelected(new Cursor(Cursor.MOVE_CURSOR)); + mouseMoveSelected = new MouseControllerMoveSelected(moveCursor); + mouseCopySelected = new MouseControllerCopySelected(moveCursor); mouseRun = new MouseControllerRun(normalCursor); setCircuit(aCircuit); @@ -564,6 +566,7 @@ public class CircuitComponent extends JComponent { @Override void released(MouseEvent e) { wasReleased = true; + setCursor(moveCursor); } @Override