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.ata
Class ATA

    java.lang.Object
      dioscuri.module.AbstractModule
          dioscuri.module.ModuleATA
              dioscuri.module.ata.ATA

All Implemented Interfaces:
  Addressable, Module, Updateable

    public class ATA

extends ModuleATA

An implementation of a ATA controller module.

See Also:
  `

  Metadata module ******************************************** general.type : ata general.name : ATA Controller / ATA-1 to ATAT-3 general.architecture : Von Neumann general.description : Implements a standard Integrated Drive Electronic (IDE) controller / parallel ATA general.creator : Tessella Support Services, Koninklijke Bibliotheek, Nationaal Archief of the Netherlands general.version : 1.0 general.keywords : IDE, ATA, storage, disk, controller general.relations : motherboard general.yearOfIntroduction : 1994 general.yearOfEnding : 1999 general.ancestor : - general.successor : ATA-2 (EIDE)

  Notes: none`

Nested Class Summary

Nested classes/interfaces inherited from interface dioscuri.interfaces.Module
`Module.Type`

Field Summary

Fields inherited from class dioscuri.module.AbstractModule
`type`

Constructor Summary
`ATA(Emulator owner)` Class constructor

Method Summary
`int` | `getCurrentChannelIndex()` Gets the current channel index.
`java.lang.String` | `getDump()` Return a dump of module status
`byte` | `getIOPortByte(int originalPortAddress)`
`byte[]` | `getIOPortDoubleWord(int portAddress)`
`byte[]` | `getIOPortWord(int portAddress)`
`int` | `getUpdateInterval()` Get the update interval.
`void` | `initConfig(int theIdeChannel, boolean isMaster, boolean isHardDisk, boolean isWriteProtected, int numCylinders, int numHeads, int numSectorsPerTrack, ATATranslationType translationType, java.lang.String imageFilePath)` Initiate configuration of the disk drive.
`boolean` | `reset()` Reset all parameters of module.
`void` | `setCmosSettings(int[] bootDrives, boolean floppySigCheckDisabled)` Set CMOS values
`void` | `setIOPortByte(int originalAddress, byte data)`
`void` | `setIOPortDoubleWord(int portAddress, byte[] dataDoubleWord)`
`void` | `setIOPortWord(int portAddress, byte[] dataWord)`
`void` | `setUpdateInterval(int interval)` Defines the interval between subsequent updates
`void` | `update()` Update the module.

Methods inherited from class dioscuri.module.AbstractModule
`getConnection, getConnections, getDebugMode, getExpectedConnections, getType, isConnected, setConnection, setDebugMode, start, stop`

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

Methods inherited from interface dioscuri.interfaces.Module
`getConnection, getConnections, getDebugMode, getExpectedConnections, getType, isConnected, setConnection, setDebugMode, start, stop`

Constructor Detail

### ATA

    public ATA(Emulator owner)

  Class constructor

  Parameters:
    `owner` -

Method Detail

### reset

    public boolean reset()

  Reset all parameters of module.

  Specified by:
    `reset` in interface `Module`
  Specified by:
    `reset` in class `AbstractModule`
  Returns:
    true iff the AbstractModule was reset properly.
  See Also:
    `AbstractModule`

### getDump

    public java.lang.String getDump()

  Return a dump of module status

  Provides a dummy implementation since many of the subclasses of this abstract module class do not need or use a getDump() implementation. The ones that do, can override this method.

  Specified by:
    `getDump` in interface `Module`
  Overrides:
    `getDump` in class `AbstractModule`
  Returns:
    string containing a dump of this module
  See Also:
    `AbstractModule`

### setUpdateInterval

    public void setUpdateInterval(int interval)

  Defines the interval between subsequent updates

  Parameters:
    `interval` - the interval between subsequent updates in ms.
  See Also:
    `Updateable`

### update

    public void update()

  Update the module.

  See Also:
    `Updateable`

### getIOPortByte

    public byte getIOPortByte(int originalPortAddress)
                       throws ModuleException,
                              UnknownPortException,
                              WriteOnlyPortException

  Returns:
  Throws:
    `ModuleException`
    `UnknownPortException`
    `WriteOnlyPortException`
  See Also:
    `Addressable`

### setIOPortByte

    public void setIOPortByte(int originalAddress,
                              byte data)
                       throws ModuleException,
                              UnknownPortException

  Throws:
    `ModuleException`
    `UnknownPortException`
  See Also:
    `Addressable`

### getIOPortWord

    public byte[] getIOPortWord(int portAddress)
                         throws ModuleException,
                                UnknownPortException,
                                WriteOnlyPortException

  Returns:
  Throws:
    `ModuleException`
    `UnknownPortException`
    `WriteOnlyPortException`
  See Also:
    `Addressable`

### setIOPortWord

    public void setIOPortWord(int portAddress,
                              byte[] dataWord)
                       throws ModuleException,
                              UnknownPortException

  Throws:
    `ModuleException`
    `UnknownPortException`
  See Also:
    `Addressable`

### getIOPortDoubleWord

    public byte[] getIOPortDoubleWord(int portAddress)
                               throws ModuleException,
                                      UnknownPortException,
                                      WriteOnlyPortException

  Returns:
  Throws:
    `ModuleException`
    `UnknownPortException`
    `WriteOnlyPortException`
  See Also:
    `Addressable`

### setIOPortDoubleWord

    public void setIOPortDoubleWord(int portAddress,
                                    byte[] dataDoubleWord)
                             throws ModuleException,
                                    UnknownPortException

  Throws:
    `ModuleException`
    `UnknownPortException`
  See Also:
    `Addressable`

### initConfig

    public void initConfig(int theIdeChannel,
                           boolean isMaster,
                           boolean isHardDisk,
                           boolean isWriteProtected,
                           int numCylinders,
                           int numHeads,
                           int numSectorsPerTrack,
                           ATATranslationType translationType,
                           java.lang.String imageFilePath)

  Initiate configuration of the disk drive.

  Specified by:
    `initConfig` in class `ModuleATA`
  See Also:
    `ModuleATA`

### setCmosSettings

    public void setCmosSettings(int[] bootDrives,
                                boolean floppySigCheckDisabled)

  Set CMOS values

  Specified by:
    `setCmosSettings` in class `ModuleATA`
  See Also:
    `ModuleATA`

### getCurrentChannelIndex

    public int getCurrentChannelIndex()

  Gets the current channel index.

  Specified by:
    `getCurrentChannelIndex` in class `ModuleATA`
  Returns:
    int the current channel index
  See Also:
    `ModuleATA`

### getUpdateInterval

    public int getUpdateInterval()

  Get the update interval.

  Returns:
    the update interval
  See Also:
    `Updateable`

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