dioscuri.module.cpu32
Class Memory

java.lang.Object
  extended by dioscuri.module.cpu32.Memory
All Implemented Interfaces:
ByteArray
Direct Known Subclasses:
AbstractMemory, LinearAddressSpace.PageFaultWrapper, PhysicalAddressSpace.MapWrapper, PhysicalAddressSpace.UnconnectedMemoryBlock, Video.DiosJPCVideoConnect

public abstract class Memory
extends java.lang.Object
implements ByteArray

Author:
Bram Lohman, Bart Kiers

Constructor Summary
Memory()
           
 
Method Summary
abstract  void clear()
           
abstract  void clear(int start, int length)
           
abstract  void copyContentsFrom(int address, byte[] buffer, int off, int len)
           
abstract  void copyContentsInto(int address, byte[] buffer, int off, int len)
           
abstract  CodeBlock decodeCodeBlockAt(Processor cpu, int address)
           
abstract  int execute(Processor cpu, int address)
           
abstract  byte getByte(int offset)
           
abstract  int getDoubleWord(int offset)
           
abstract  long getLowerDoubleQuadWord(int offset)
           
abstract  long getQuadWord(int offset)
           
abstract  long getSize()
           
abstract  long getUpperDoubleQuadWord(int offset)
           
abstract  short getWord(int offset)
           
 boolean isAllocated()
           
abstract  void setByte(int offset, byte data)
           
abstract  void setDoubleWord(int offset, int data)
           
abstract  void setLowerDoubleQuadWord(int offset, long data)
           
abstract  void setQuadWord(int offset, long data)
           
abstract  void setUpperDoubleQuadWord(int offset, long data)
           
abstract  void setWord(int offset, short data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Memory

public Memory()
Method Detail

clear

public abstract void clear()
Specified by:
clear in interface ByteArray

clear

public abstract void clear(int start,
                           int length)
Parameters:
start -
length -

copyContentsInto

public abstract void copyContentsInto(int address,
                                      byte[] buffer,
                                      int off,
                                      int len)
Specified by:
copyContentsInto in interface ByteArray
Parameters:
address -
buffer -
off -
len -

copyContentsFrom

public abstract void copyContentsFrom(int address,
                                      byte[] buffer,
                                      int off,
                                      int len)
Parameters:
address -
buffer -
off -
len -

isAllocated

public boolean isAllocated()
Returns:
-

getSize

public abstract long getSize()
Specified by:
getSize in interface ByteArray
Returns:
-

getByte

public abstract byte getByte(int offset)
Specified by:
getByte in interface ByteArray
Parameters:
offset -
Returns:
-

getWord

public abstract short getWord(int offset)
Parameters:
offset -
Returns:
-

getDoubleWord

public abstract int getDoubleWord(int offset)
Parameters:
offset -
Returns:
-

getQuadWord

public abstract long getQuadWord(int offset)
Parameters:
offset -
Returns:
-

getLowerDoubleQuadWord

public abstract long getLowerDoubleQuadWord(int offset)
Parameters:
offset -
Returns:
-

getUpperDoubleQuadWord

public abstract long getUpperDoubleQuadWord(int offset)
Parameters:
offset -
Returns:
-

setByte

public abstract void setByte(int offset,
                             byte data)
Specified by:
setByte in interface ByteArray
Parameters:
offset -
data -

setWord

public abstract void setWord(int offset,
                             short data)
Parameters:
offset -
data -

setDoubleWord

public abstract void setDoubleWord(int offset,
                                   int data)
Parameters:
offset -
data -

setQuadWord

public abstract void setQuadWord(int offset,
                                 long data)
Parameters:
offset -
data -

setLowerDoubleQuadWord

public abstract void setLowerDoubleQuadWord(int offset,
                                            long data)
Parameters:
offset -
data -

setUpperDoubleQuadWord

public abstract void setUpperDoubleQuadWord(int offset,
                                            long data)
Parameters:
offset -
data -

execute

public abstract int execute(Processor cpu,
                            int address)
Parameters:
cpu -
address -
Returns:
-

decodeCodeBlockAt

public abstract CodeBlock decodeCodeBlockAt(Processor cpu,
                                            int address)
Parameters:
cpu -
address -
Returns:
-