Changed pin names and and a pin coordinate
[Mograsim.git] / net.mograsim.logic.model.am2900 / src / net / mograsim / logic / model / am2900 / components / am2910 / GUIAm2910RegCntr.java
index 3db7b9d..baf456a 100644 (file)
@@ -13,6 +13,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
 import net.mograsim.logic.model.model.ViewModelModifiable;
 import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent;
 import net.mograsim.logic.model.model.wires.Pin;
+import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
 import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position;
 
 public class GUIAm2910RegCntr extends SimpleRectangularHardcodedGUIComponent
@@ -23,8 +24,8 @@ public class GUIAm2910RegCntr extends SimpleRectangularHardcodedGUIComponent
                setSize(40, 40);
                addPin(new Pin(this, "D", 12, 20, 0), Usage.INPUT, Position.BOTTOM);
                addPin(new Pin(this, "_RLD", 1, 0, 5), Usage.INPUT, Position.RIGHT);
-               addPin(new Pin(this, "RWE", 1, 0, 20), Usage.INPUT, Position.RIGHT);
-               addPin(new Pin(this, "RDEC", 1, 0, 30), Usage.INPUT, Position.RIGHT);
+               addPin(new Pin(this, "WE", 1, 0, 20), Usage.INPUT, Position.RIGHT);
+               addPin(new Pin(this, "DEC", 1, 0, 30), Usage.INPUT, Position.RIGHT);
                addPin(new Pin(this, "C", 1, 40, 20), Usage.INPUT, Position.LEFT);
                addPin(new Pin(this, "Y", 12, 20, 40), Usage.OUTPUT, Position.TOP);
        }
@@ -41,8 +42,8 @@ public class GUIAm2910RegCntr extends SimpleRectangularHardcodedGUIComponent
 
                ReadEnd D = readEnds.get("D");
                ReadEnd _RLD = readEnds.get("_RLD");
-               ReadEnd RWE = readEnds.get("RWE");
-               ReadEnd RDEC = readEnds.get("RDEC");
+               ReadEnd WE = readEnds.get("WE");
+               ReadEnd DEC = readEnds.get("DEC");
                ReadEnd C = readEnds.get("C");
                ReadWriteEnd Y = readWriteEnds.get("Y");
 
@@ -52,9 +53,9 @@ public class GUIAm2910RegCntr extends SimpleRectangularHardcodedGUIComponent
                // TODO handle U/X/Z
                if (oldCVal == ZERO && CVal == ONE)
                {
-                       if ((RDEC.getValue() == ZERO && RWE.getValue() == ONE) || _RLD.getValue() == ZERO)
+                       if ((DEC.getValue() == ZERO && WE.getValue() == ONE) || _RLD.getValue() == ZERO)
                                System.arraycopy(D.getValues().getBits(), 0, QC, 0, 12);
-                       else if (RWE.getValue() == ONE)
+                       else if (WE.getValue() == ONE)
                        {
                                Bit carry = Bit.ZERO;
                                // TODO extract to helper. This code almost also exists in GUIinc12.
@@ -83,4 +84,10 @@ public class GUIAm2910RegCntr extends SimpleRectangularHardcodedGUIComponent
 
                return QC;
        }
+
+       static
+       {
+               IndirectGUIComponentCreator.setComponentSupplier(GUIAm2910RegCntr.class.getCanonicalName(),
+                               (m, p, n) -> new GUIAm2910RegCntr(m, n));
+       }
 }
\ No newline at end of file