X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fcomponents%2FModelnor12.java;fp=plugins%2Fnet.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fcomponents%2FModelnor12.java;h=0000000000000000000000000000000000000000;hb=d83235090e5272c23b9e037acad63cf9adb8d482;hp=4304d4a20d0bff2098daeb1dbed3af06b31ff850;hpb=dbb703de97362301e20bb7f9362ac7a008f22481;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/Modelnor12.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/Modelnor12.java deleted file mode 100644 index 4304d4a2..00000000 --- a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/Modelnor12.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.mograsim.logic.model.am2900.components; - -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.Z; -import static net.mograsim.logic.core.types.Bit.ZERO; - -import java.util.Map; - -import net.mograsim.logic.core.types.Bit; -import net.mograsim.logic.core.wires.CoreWire.ReadEnd; -import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; -import net.mograsim.logic.model.model.LogicModelModifiable; -import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedModelComponent; -import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; -import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; - -public class Modelnor12 extends SimpleRectangularHardcodedModelComponent -{ - public Modelnor12(LogicModelModifiable model, String name) - { - super(model, "nor12", name, "=0", false); - setSize(35, 20); - addPin(new Pin(model, this, "D", 12, PinUsage.INPUT, 0, 10), Position.RIGHT); - addPin(new Pin(model, this, "Y", 1, PinUsage.OUTPUT, 35, 10), Position.LEFT); - - init(); - } - - @Override - public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) - { - readWriteEnds.get("Y").feedSignals(getResult(readEnds.get("D").getValues().getBits())); - return null; - } - - private static Bit getResult(Bit[] DValArr) - { - for (int i = 0; i < 12; i++) - if (DValArr[i] == X) - return X; - for (int i = 0; i < 12; i++) - if (DValArr[i] == U) - return U; - for (int i = 0; i < 12; i++) - if (DValArr[i] == ONE) - return ZERO; - for (int i = 0; i < 12; i++) - if (DValArr[i] == Z) - return X; - return ONE; - } - - static - { - IndirectModelComponentCreator.setComponentSupplier(Modelnor12.class.getCanonicalName(), (m, p, n) -> new Modelnor12(m, n)); - } -} \ No newline at end of file