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<M extends Machine> extends ModelMemory<M>
+public abstract class ModelMicroInstructionMemory extends ModelMemory
{
private final Pin addrPin, dataPin;
private CoreMicroInstructionMemory memory;
{
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