openMSX
Public Member Functions | List of all members
openmsx::IDEHD Class Reference

#include <IDEHD.hh>

Inheritance diagram for openmsx::IDEHD:
Inheritance graph
[legend]
Collaboration diagram for openmsx::IDEHD:
Collaboration graph
[legend]

Public Member Functions

 IDEHD (const DeviceConfig &config)
virtual ~IDEHD ()
template<typename Archive >
void serialize (Archive &ar, unsigned version)
- Public Member Functions inherited from openmsx::HD
 HD (const DeviceConfig &config)
virtual ~HD ()
const std::string & getName () const
const FilenamegetImageName () const
void switchImage (const Filename &filename)
std::string getTigerTreeHash ()
template<typename Archive >
void serialize (Archive &ar, unsigned version)
- Public Member Functions inherited from openmsx::SectorAccessibleDisk
virtual ~SectorAccessibleDisk ()
void readSector (size_t sector, byte *buf)
void writeSector (size_t sector, const byte *buf)
size_t getNbSectors () const
bool isWriteProtected () const
void forceWriteProtect ()
virtual bool isDummyDisk () const
void applyPatch (const Filename &patchFile)
std::vector< FilenamegetPatches () const
bool hasPatches () const
virtual Sha1Sum getSha1Sum ()
 Calculate SHA1 of the content of this disk.
int readSectors (byte *buffer, size_t startSector, size_t nbSectors)
int writeSectors (const byte *buffer, size_t startSector, size_t nbSectors)
- Public Member Functions inherited from openmsx::DiskContainer
virtual ~DiskContainer ()
virtual SectorAccessibleDiskgetSectorAccessibleDisk ()=0
virtual const std::string & getContainerName () const =0
virtual bool diskChanged ()=0
virtual int insertDisk (const std::string &filename)=0
bool isRomdisk () const
- Public Member Functions inherited from openmsx::TTData
virtual uint8_t * getData (size_t offset, size_t size)=0
 Return the requested portion of the to-be-hashed data block.
- Public Member Functions inherited from openmsx::AbstractIDEDevice
virtual void reset (EmuTime::param time)
virtual word readData (EmuTime::param time)
virtual byte readReg (nibble reg, EmuTime::param time)
virtual void writeData (word value, EmuTime::param time)
virtual void writeReg (nibble reg, byte value, EmuTime::param time)
template<typename Archive >
void serialize (Archive &ar, unsigned version)
- Public Member Functions inherited from openmsx::IDEDevice
virtual ~IDEDevice ()

Additional Inherited Members

- Static Public Attributes inherited from openmsx::SectorAccessibleDisk
static const size_t SECTOR_SIZE = 512
- Protected Member Functions inherited from openmsx::SectorAccessibleDisk
 SectorAccessibleDisk ()
void setPeekMode (bool peek)
bool isPeekMode () const
virtual void checkCaches ()
virtual void flushCaches ()
- Protected Member Functions inherited from openmsx::TTData
 ~TTData ()
- Protected Member Functions inherited from openmsx::AbstractIDEDevice
 AbstractIDEDevice (MSXMotherBoard &motherBoard)
virtual ~AbstractIDEDevice ()
virtual bool isPacketDevice ()=0
 Is this device a packet (ATAPI) device?
virtual const std::string & getDeviceName ()=0
 Gets the device name to insert as "model number" into the identify block.
virtual void fillIdentifyBlock (byte *buffer)=0
 Tells a subclass to fill the device specific parts of the identify block located in the buffer.
virtual unsigned readBlockStart (byte *buffer, unsigned count)=0
 Called when a block of read data should be buffered by the controller: when the buffer is empty or at the start of the transfer.
virtual void readEnd ()
 Called when a read transfer completes.
virtual void writeBlockComplete (byte *buffer, unsigned count)=0
 Called when a block of written data has been buffered by the controller: when the buffer is full or at the end of the transfer.
virtual void executeCommand (byte cmd)
 Starts execution of an IDE command.
void setError (byte error)
 Indicates an error: sets error register, error flag, aborts transfers.
unsigned getSectorNumber () const
 Creates an LBA sector address from the contents of the sectorNumReg, cylinderLowReg, cylinderHighReg and devHeadReg registers.
unsigned getNumSectors () const
 Gets the number of sectors indicated by the sector count register.
void setInterruptReason (byte value)
 Writes the interrupt reason register.
unsigned getByteCount ()
 Reads the byte count limit of a packet transfer in the registers.
void setByteCount (unsigned count)
 Writes the byte count of a packet transfer in the registers.
void setSectorNumber (unsigned lba)
 Writes a 28-bit LBA sector number in the registers.
void startLongReadTransfer (unsigned count)
 Indicates the start of a read data transfer which uses blocks.
bytestartShortReadTransfer (unsigned count)
 Indicates the start of a read data transfer where all data fits into the buffer at once.
void abortReadTransfer (byte error)
 Aborts the read transfer in progress.
void startWriteTransfer (unsigned count)
 Indicates the start of a write data transfer.
void abortWriteTransfer (byte error)
 Aborts the write transfer in progress.
byte getFeatureReg () const
void setLBALow (byte value)
void setLBAMid (byte value)
void setLBAHigh (byte value)
- Static Protected Attributes inherited from openmsx::AbstractIDEDevice
static const byte DRDY = 0x40
static const byte DSC = 0x10
static const byte DRQ = 0x08
static const byte ERR = 0x01
static const byte UNC = 0x40
static const byte IDNF = 0x10
static const byte ABORT = 0x04

Detailed Description

Definition at line 14 of file IDEHD.hh.

Constructor & Destructor Documentation

openmsx::IDEHD::IDEHD ( const DeviceConfig config)
explicit
openmsx::IDEHD::~IDEHD ( )
virtual

Definition at line 21 of file IDEHD.cc.

References openmsx::DiskManipulator::unregisterDrive().

Member Function Documentation

template<typename Archive >
void openmsx::IDEHD::serialize ( Archive &  ar,
unsigned  version 
)

Definition at line 123 of file IDEHD.cc.


The documentation for this class was generated from the following files: