import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
import net.mograsim.machine.Machine;
import net.mograsim.machine.MachineDefinition;
+import net.mograsim.machine.MainMemory;
import net.mograsim.machine.Register;
+import net.mograsim.machine.mi.MicroInstructionMemory;
+import net.mograsim.machine.mi.StandardMicroInstructionMemory;
+import net.mograsim.machine.standard.memory.WordAddressableMemory;
public class Am2900Machine implements Machine
{
private ViewModelModifiable viewModel;
private Timeline timeline;
private Clock clock;
+ private MainMemory mainMemory;
+ private MicroInstructionMemory instMemory;
public Am2900Machine(Am2900MachineDefinition am2900MachineDefinition)
{
params.gateProcessTime = 50;
params.wireTravelTime = 10;
timeline = ViewLogicModelAdapter.convert(viewModel, params);
+
+ mainMemory = new WordAddressableMemory(am2900MachineDefinition.getMainMemoryDefinition());
+ instMemory = new StandardMicroInstructionMemory(am2900MachineDefinition.getMicroInstructionMemoryDefinition());
}
@Override
}
+ @Override
+ public MainMemory getMainMemory()
+ {
+ return mainMemory;
+ }
+
+ @Override
+ public MicroInstructionMemory getMicroInstructionMemory()
+ {
+ return instMemory;
+ }
+
}