X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2FMainMemoryDefinition.java;h=4f696736274a61bd3c831e131a3bdb6751c05d4f;hb=3813eb83f6c17041dcb67d7d2744c66a8bfdb18d;hp=3128cdddb53ddbe0db2acc1dd96fefb81ab6d0d2;hpb=feb82d306e86ae48cf48e93e9e96f119c8195196;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java b/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java index 3128cddd..4f696736 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java +++ b/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java @@ -7,17 +7,8 @@ package net.mograsim.machine; * @author Christian Femers * */ -public interface MainMemoryDefinition { - - /** - * The number of bits that the main memory uses to address cells. Note that this - * does not need to equal {@link MachineDefinition#getAddressBits()}. - * - * @return the number of bits used to address a memory cell - * @author Christian Femers - */ - int getMemoryAddressBits(); - +public interface MainMemoryDefinition extends MemoryDefinition +{ /** * The width in bits of an addressable memory cell/unit. This is often 8 (= one * byte). The actual cells/lines of the memory may be a lot larger. @@ -26,20 +17,9 @@ public interface MainMemoryDefinition { * @author Christian Femers */ int getCellWidth(); - - /** - * The minimal address possible to address/use. This is usually 0. - * - * @return the minimal possible address. - * @author Christian Femers - */ - long getMinimalAddress(); - - /** - * The maximal address possible to address/use. - * - * @return the maximal possible address as unsigned long - * @author Christian Femers - */ - long getMaximalAddress(); + + public static MainMemoryDefinition create(int memoryAddressBits, int cellWidth, long minimalAddress, long maximalAddress) + { + return new StandardMainMemoryDefinition(memoryAddressBits, cellWidth, minimalAddress, maximalAddress); + } }