Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## dioscuri.module.cpu32
Class LazyCodeBlockMemory

    java.lang.Object
      dioscuri.module.cpu32.Memory
          dioscuri.module.cpu32.AbstractMemory
              dioscuri.module.cpu32.LazyMemory
                  dioscuri.module.cpu32.LazyCodeBlockMemory

All Implemented Interfaces:
  ByteArray

Direct Known Subclasses:
  EPROMMemory

    public class LazyCodeBlockMemory

extends LazyMemory

Author:
  Bram Lohman, Bart Kiers

Field Summary
`protected ProtectedModeCodeBlock[]` | `protectedCodeBuffer`
`protected RealModeCodeBlock[]` | `realCodeBuffer`
`protected Virtual8086ModeCodeBlock[]` | `virtual8086CodeBuffer`

Constructor Summary
`LazyCodeBlockMemory(byte[] buf, Clock clk)`
`LazyCodeBlockMemory(int size, Clock clk)`
`LazyCodeBlockMemory(Memory src, Clock clk)`

Method Summary
`void` | `clear()`
`protected void` | `constructCodeBlocksArray()`
`void` | `copyContentsFrom(int address, byte[] buf, int off, int len)`
`CodeBlock` | `decodeCodeBlockAt(Processor cpu, int offset)`
`static void` | `dispose()`
`int` | `execute(Processor cpu, int offset)`
`protected void` | `regionAltered(int start, int end)`
`void` | `relinquishCache()`
`void` | `setByte(int offset, byte data)`
`void` | `setDoubleWord(int offset, int data)`
`void` | `setProtectedCodeBlockAt(int offset, ProtectedModeCodeBlock block)`
`void` | `setRealCodeBlockAt(int offset, RealModeCodeBlock block)`
`void` | `setVirtual8086CodeBlockAt(int offset, Virtual8086ModeCodeBlock block)`
`void` | `setWord(int offset, short data)`
`java.lang.String` | `toString()`

Methods inherited from class dioscuri.module.cpu32.LazyMemory
`copyContentsInto, getByte, getDoubleWord, getSize, getWord, isAllocated, isCacheable`

Methods inherited from class dioscuri.module.cpu32.AbstractMemory
`clear, clearArray, clearArray, getDoubleWord, getDoubleWordInBytes, getLowerDoubleQuadWord, getQuadWord, getQuadWordInBytes, getUpperDoubleQuadWord, getWord, getWordInBytes, setDoubleWordInBytes, setLowerDoubleQuadWord, setQuadWord, setQuadWordInBytes, setUpperDoubleQuadWord, setWordInBytes`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### realCodeBuffer

    protected RealModeCodeBlock[] realCodeBuffer

### protectedCodeBuffer

    protected ProtectedModeCodeBlock[] protectedCodeBuffer

### virtual8086CodeBuffer

    protected Virtual8086ModeCodeBlock[] virtual8086CodeBuffer

Constructor Detail

### LazyCodeBlockMemory

    public LazyCodeBlockMemory(Memory src,
                               Clock clk)

Parameters:
  `src` -
  `clk` -

### LazyCodeBlockMemory

    public LazyCodeBlockMemory(byte[] buf,
                               Clock clk)

Parameters:
  `buf` -
  `clk` -

### LazyCodeBlockMemory

    public LazyCodeBlockMemory(int size,
                               Clock clk)

Parameters:
  `size` -
  `clk` -

Method Detail

### constructCodeBlocksArray

    protected void constructCodeBlocksArray()

### relinquishCache

    public void relinquishCache()

### execute

    public int execute(Processor cpu,
                       int offset)

  Overrides:
    `execute` in class `LazyMemory`
  Parameters:
    `cpu` -
    `offset` -
  Returns:
    -

### decodeCodeBlockAt

    public CodeBlock decodeCodeBlockAt(Processor cpu,
                                       int offset)

  Overrides:
    `decodeCodeBlockAt` in class `LazyMemory`
  Parameters:
    `cpu` -
    `offset` -
  Returns:
    -

### setVirtual8086CodeBlockAt

    public void setVirtual8086CodeBlockAt(int offset,
                                          Virtual8086ModeCodeBlock block)

  Parameters:
    `offset` -
    `block` -

### setProtectedCodeBlockAt

    public void setProtectedCodeBlockAt(int offset,
                                        ProtectedModeCodeBlock block)

  Parameters:
    `offset` -
    `block` -

### setRealCodeBlockAt

    public void setRealCodeBlockAt(int offset,
                                   RealModeCodeBlock block)

  Parameters:
    `offset` -
    `block` -

### regionAltered

    protected void regionAltered(int start,
                                 int end)

  Parameters:
    `start` -
    `end` -

### copyContentsFrom

    public void copyContentsFrom(int address,
                                 byte[] buf,
                                 int off,
                                 int len)

  Overrides:
    `copyContentsFrom` in class `LazyMemory`
  Parameters:
    `address` -
    `buf` -
    `off` -
    `len` -

### setByte

    public void setByte(int offset,
                        byte data)

  Specified by:
    `setByte` in interface `ByteArray`
  Overrides:
    `setByte` in class `LazyMemory`
  Parameters:
    `offset` -
    `data` -

### setWord

    public void setWord(int offset,
                        short data)

  Overrides:
    `setWord` in class `LazyMemory`
  Parameters:
    `offset` -
    `data` -

### setDoubleWord

    public void setDoubleWord(int offset,
                              int data)

  Overrides:
    `setDoubleWord` in class `LazyMemory`
  Parameters:
    `offset` -
    `data` -

### clear

    public void clear()

  Specified by:
    `clear` in interface `ByteArray`
  Overrides:
    `clear` in class `LazyMemory`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `LazyMemory`

### dispose

    public static void dispose()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD