X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fcomponents%2Fam2910%2FGUIAm2910SP.java;h=247c94f9c3058acfe151a31a67d7d7775b7d9668;hb=bbe38c55aaa999d025f534245f9207a88643f6e5;hp=b19e3bb09dc55194c3d5056284dc1114842f0840;hpb=aeb37a7bcc75c673fd0dd00743cf90227583db18;p=Mograsim.git diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java index b19e3bb0..247c94f9 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java @@ -1,7 +1,11 @@ package net.mograsim.logic.model.am2900.components.am2910; +import static net.mograsim.logic.core.types.Bit.ONE; +import static net.mograsim.logic.core.types.Bit.U; +import static net.mograsim.logic.core.types.Bit.X; +import static net.mograsim.logic.core.types.Bit.ZERO; + import java.util.Map; -import static net.mograsim.logic.core.types.Bit.*; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; @@ -10,6 +14,8 @@ 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.model.wires.PinUsage; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; public class GUIAm2910SP extends SimpleRectangularHardcodedGUIComponent @@ -18,12 +24,12 @@ public class GUIAm2910SP extends SimpleRectangularHardcodedGUIComponent { super(model, name, "Stack\npointer"); setSize(40, 30); - addPin(new Pin(this, "STKI0", 1, 0, 5), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "STKI1", 1, 0, 15), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "C", 1, 0, 25), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "A", 3, 10, 30), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "B", 3, 30, 30), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "_FULL", 1, 40, 15), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "STKI0", 1, PinUsage.INPUT, 0, 5), Position.RIGHT); + addPin(new Pin(this, "STKI1", 1, PinUsage.INPUT, 0, 15), Position.RIGHT); + addPin(new Pin(this, "C", 1, PinUsage.INPUT, 0, 25), Position.RIGHT); + addPin(new Pin(this, "A", 3, PinUsage.OUTPUT, 10, 30), Position.TOP); + addPin(new Pin(this, "B", 3, PinUsage.OUTPUT, 30, 30), Position.TOP); + addPin(new Pin(this, "_FULL", 1, PinUsage.OUTPUT, 40, 15), Position.LEFT); } @Override @@ -84,4 +90,9 @@ public class GUIAm2910SP extends SimpleRectangularHardcodedGUIComponent // TODO maybe this is the wrong way around return BitVector.of((i & 0b100) > 0 ? ONE : ZERO, (i & 0b10) > 0 ? ONE : ZERO, (i & 0b1) > 0 ? ONE : ZERO); } + + static + { + IndirectGUIComponentCreator.setComponentSupplier(GUIAm2910SP.class.getCanonicalName(), (m, p, n) -> new GUIAm2910SP(m, n)); + } } \ No newline at end of file