X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fmachine%2FAbstractAm2900MachineDefinition.java;h=d429e6bbace9a34539c052df6d8499759df16828;hb=f098cd47d06be0cc654532a5fad0e5e89f0ef93c;hp=da843922df7f4f3c8b80fb966dea7f99c7414651;hpb=cc800d982ab9fe3e7d026655847a2160e34a5f8e;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/AbstractAm2900MachineDefinition.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/AbstractAm2900MachineDefinition.java index da843922..d429e6bb 100644 --- a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/AbstractAm2900MachineDefinition.java +++ b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/AbstractAm2900MachineDefinition.java @@ -13,6 +13,7 @@ import net.mograsim.logic.model.am2900.machine.registers.am2910.Am2910RegisterGr import net.mograsim.logic.model.model.LogicModelModifiable; import net.mograsim.machine.ISASchema; import net.mograsim.machine.MachineDefinition; +import net.mograsim.machine.mi.MPROMDefinition; import net.mograsim.machine.registers.Register; import net.mograsim.machine.registers.RegisterGroup; @@ -20,10 +21,11 @@ import net.mograsim.machine.registers.RegisterGroup; //(used for detecting installed machines in plugin.core) public class AbstractAm2900MachineDefinition implements MachineDefinition { - public static final String SIMPLE_AM2900_MACHINE_ID = "Am2900Simple"; - public static final String STRICT_AM2900_MACHINE_ID = "Am2900Strict"; - public static final String SIMPLE_AM2900_DESCRIPTION = "Am2900Simple\nTODO Description"; - public static final String STRICT_AM2900_DESCRIPTION = "Am2900Strict\nTODO Description"; + public static final String AM2900_TEACHING_MACHINE_ID = "Am2900Teaching"; + public static final String AM2900_EXPERT_MACHINE_ID = "Am2900Expert"; + public static final String AM2900_TEACHING_DESCRIPTION = "Am2900 for teaching purposes.\nAll registers are reset to 0 when starting."; + public static final String AM2900_EXPERT_DESCRIPTION = "Am2900 \"for experts\".\nOnly the \u00b5PC will be reset to 0 when starting. " + + "The microprogram will have to reset the other registers manually, including the PC."; public static final List unsortedRegisters; public static final List registerGroups; @@ -42,23 +44,23 @@ public class AbstractAm2900MachineDefinition implements MachineDefinition registerGroups = Collections.unmodifiableList(registerGroupsModifiable); } - public final boolean strict; + public final boolean expert; - protected AbstractAm2900MachineDefinition(boolean strict) + protected AbstractAm2900MachineDefinition(boolean expert) { - this.strict = strict; + this.expert = expert; } @Override public String getId() { - return strict ? STRICT_AM2900_MACHINE_ID : SIMPLE_AM2900_MACHINE_ID; + return expert ? AM2900_EXPERT_MACHINE_ID : AM2900_TEACHING_MACHINE_ID; } @Override public String getDescription() { - return strict ? STRICT_AM2900_DESCRIPTION : SIMPLE_AM2900_DESCRIPTION; + return expert ? AM2900_EXPERT_DESCRIPTION : AM2900_TEACHING_DESCRIPTION; } @Override @@ -106,14 +108,14 @@ public class AbstractAm2900MachineDefinition implements MachineDefinition @Override public int hashCode() { - return strict ? 12345 : 54321; + return expert ? 12345 : 54321; } @Override public boolean equals(Object obj) { return obj != null && obj instanceof AbstractAm2900MachineDefinition - && ((AbstractAm2900MachineDefinition) obj).strict == this.strict; + && ((AbstractAm2900MachineDefinition) obj).expert == this.expert; } @Override @@ -122,4 +124,9 @@ public class AbstractAm2900MachineDefinition implements MachineDefinition return Am2900MicroInstructionMemoryDefinition.instance; } + @Override + public MPROMDefinition getMPROMDefinition() + { + return Am2900MPROMDefinition.instance; + } }