X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fcomponents%2FModelMicroInstructionMemory.java;fp=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fcomponents%2FModelMicroInstructionMemory.java;h=aeffbd2c303b34508b2576da4956e7805a732aae;hb=5babdd65b463ea8f33a950c2a8d4732417d2df18;hp=b3c41749fec941a414e64a3a0e9ff0ff599ff502;hpb=5d7d8cbfe74873cffa0682d66e8812b58c2b47f9;p=Mograsim.git diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/components/ModelMicroInstructionMemory.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/components/ModelMicroInstructionMemory.java index b3c41749..aeffbd2c 100644 --- a/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/components/ModelMicroInstructionMemory.java +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/components/ModelMicroInstructionMemory.java @@ -3,11 +3,12 @@ package net.mograsim.machine.mi.components; import net.mograsim.logic.model.model.LogicModelModifiable; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.machine.Machine; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.machine.ModelMemory; +import net.mograsim.machine.mi.MicroInstructionMemory; import net.mograsim.machine.mi.MicroInstructionMemoryDefinition; -public abstract class ModelMicroInstructionMemory extends ModelMemory +public abstract class ModelMicroInstructionMemory extends ModelMemory { private final Pin addrPin, dataPin; private CoreMicroInstructionMemory memory; @@ -48,4 +49,26 @@ public abstract class ModelMicroInstructionMemory extends Mod { this.memory = memory; } -} + + @Override + public void setHighLevelState(String stateID, Object newState) + { + if (stateID.equals("memory_binding")) + memory.setMemory((MicroInstructionMemory) newState); + else + super.setHighLevelState(stateID, newState); + } + + @Override + public Object getHighLevelState(String stateID) + { + if (stateID.equals("memory_binding")) + return memory.getMemory(); + return super.getHighLevelState(stateID); + } + + static + { + LogicCoreAdapter.addComponentAdapter(new MicroInstructionMemoryAdapter()); + } +} \ No newline at end of file