Added id to machine definition (was only set in the extension point)
[Mograsim.git] / plugins / net.mograsim.logic.model.am2900 / src / net / mograsim / logic / model / am2900 / machine / Am2900MachineDefinition.java
1 package net.mograsim.logic.model.am2900.machine;
2
3 import java.util.Set;
4
5 import net.mograsim.logic.model.model.LogicModelModifiable;
6 import net.mograsim.machine.ISASchema;
7 import net.mograsim.machine.MachineDefinition;
8 import net.mograsim.machine.Register;
9
10 //we can't use the Singleton pattern here because a MachineDefinition needs a public parameterless constructor
11 //(used for detecting installed machines in plugin.core)
12 public class Am2900MachineDefinition implements MachineDefinition
13 {
14         public static final String AM2900_MACHINE_ID = "Am2900";
15
16         @Override
17         public String getId()
18         {
19                 return AM2900_MACHINE_ID;
20         }
21
22         @Override
23         public Am2900Machine createNew()
24         {
25                 return createNew(new LogicModelModifiable());
26         }
27
28         public Am2900Machine createNew(LogicModelModifiable model)
29         {
30                 return new Am2900Machine(model, this);
31         }
32
33         @Override
34         public ISASchema getISASchema()
35         {
36                 // TODO Auto-generated method stub
37                 return null;
38         }
39
40         @Override
41         public Set<Register> getRegisters()
42         {
43                 // TODO Auto-generated method stub
44                 return null;
45         }
46
47         @Override
48         public int getAddressBits()
49         {
50                 return 16;
51         }
52
53         @Override
54         public Am2900MainMemoryDefinition getMainMemoryDefinition()
55         {
56                 return Am2900MainMemoryDefinition.instance;
57         }
58
59         @Override
60         public int hashCode()
61         {
62                 return 12345;
63         }
64
65         @Override
66         public boolean equals(Object obj)
67         {
68                 return obj != null && obj instanceof Am2900MachineDefinition;
69         }
70
71         @Override
72         public Am2900MicroInstructionMemoryDefinition getMicroInstructionMemoryDefinition()
73         {
74                 return Am2900MicroInstructionMemoryDefinition.instance;
75         }
76
77 }