Cleaned up memory stuff
[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         @Override
15         public Am2900Machine createNew()
16         {
17                 return createNew(new LogicModelModifiable());
18         }
19
20         public Am2900Machine createNew(LogicModelModifiable model)
21         {
22                 return new Am2900Machine(model, this);
23         }
24
25         @Override
26         public ISASchema getISASchema()
27         {
28                 // TODO Auto-generated method stub
29                 return null;
30         }
31
32         @Override
33         public Set<Register> getRegisters()
34         {
35                 // TODO Auto-generated method stub
36                 return null;
37         }
38
39         @Override
40         public int getAddressBits()
41         {
42                 return 16;
43         }
44
45         @Override
46         public Am2900MainMemoryDefinition getMainMemoryDefinition()
47         {
48                 return Am2900MainMemoryDefinition.instance;
49         }
50
51         @Override
52         public int hashCode()
53         {
54                 return 12345;
55         }
56
57         @Override
58         public boolean equals(Object obj)
59         {
60                 return obj != null && obj instanceof Am2900MachineDefinition;
61         }
62
63         @Override
64         public Am2900MicroInstructionMemoryDefinition getMicroInstructionMemoryDefinition()
65         {
66                 return Am2900MicroInstructionMemoryDefinition.instance;
67         }
68 }