X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fcomponents%2Fam2904%2FGUIAm2904RegCTInstrDecode.java;fp=net.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fcomponents%2Fam2904%2FGUIAm2904RegCTInstrDecode.java;h=dc3c4794aeefbe4ae186dc3721e45a7810424389;hb=9165b392dfb013db0b15213cea57e5f6976859ab;hp=f0f1818d2c9ee7673dc4020afd65872c74c3e8a9;hpb=18ee8ea8e2c7979aab2bd96f1651c8f3f33d7f63;p=Mograsim.git diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java index f0f1818d..dc3c4794 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java @@ -47,7 +47,6 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp // 110: Swap OVR and C // 111: _M addPin(new Pin(this, "MSR_MUX", 3, 20, 0), Usage.OUTPUT, Position.BOTTOM); - // TODO when is this HIGH? addPin(new Pin(this, "OEN", 1, 60, 0), Usage.OUTPUT, Position.BOTTOM); // Y MUX: // 00: mu @@ -101,7 +100,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp { case 0: case 2: - readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE); + readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); readWriteEnds.get("muSR_WEZ").feedSignals(ONE); @@ -110,7 +109,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 1: - readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); + readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); readWriteEnds.get("muSR_WEZ").feedSignals(ONE); @@ -147,7 +146,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 9: - readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); + readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); readWriteEnds.get("muSR_WEZ").feedSignals(ONE); @@ -165,7 +164,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 11: - readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); + readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); @@ -183,7 +182,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 13: - readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); + readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); @@ -201,7 +200,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 15: - readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); + readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); @@ -235,10 +234,10 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp switch (IAsInt) { case 0: - readWriteEnds.get("MSR_MUX").feedSignals(ONE, ONE, ZERO); + readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ONE, ONE); break; case 1: - readWriteEnds.get("MSR_MUX").feedSignals(ONE, ZERO, ZERO); + readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ZERO, ONE); break; case 2: readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ONE, ZERO); @@ -247,7 +246,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ZERO, ZERO); break; case 4: - readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ONE, ONE); + readWriteEnds.get("MSR_MUX").feedSignals(ONE, ONE, ZERO); break; case 5: readWriteEnds.get("MSR_MUX").feedSignals(ONE, ONE, ONE); @@ -263,9 +262,10 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("MSR_MUX").feedSignals(ONE, ZERO, ONE); break; default: - readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ZERO, ONE); + readWriteEnds.get("MSR_MUX").feedSignals(ONE, ZERO, ZERO); break; } + readWriteEnds.get("OEN").feedSignals(I5_0Bits[0].or(I5_0Bits[1]).or(I5_0Bits[2]).or(I5_0Bits[3]).or(I5_0Bits[4]).or(I5_0Bits[5])); readWriteEnds.get("Y_MUX").feedSignals(I5_0Bits[0], I5_0Bits[1]); readWriteEnds.get("CT_INV").feedSignals(I5_0Bits[5]); readWriteEnds.get("CT_MUX").feedSignals(I5_0Bits[2], I5_0Bits[3], I5_0Bits[4]);