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

#include <Disk.hh>

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

Public Member Functions

virtual ~Disk ()
const DiskNamegetName () const
void writeTrack (byte track, byte side, const RawTrack &input)
 Replace a full track in this image with the given track.
virtual void readTrack (byte track, byte side, RawTrack &output)=0
 Read a full track from this disk image.
bool isDoubleSided ()
- 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)

Protected Member Functions

 Disk (const DiskName &name)
size_t physToLog (byte track, byte side, byte sector)
void logToPhys (size_t log, byte &track, byte &side, byte &sector)
virtual void detectGeometry ()
virtual void detectGeometryFallback ()
void setSectorsPerTrack (unsigned num)
unsigned getSectorsPerTrack ()
void setNbSides (unsigned num)
virtual void writeTrackImpl (byte track, byte side, const RawTrack &input)=0
- Protected Member Functions inherited from openmsx::SectorAccessibleDisk
 SectorAccessibleDisk ()
void setPeekMode (bool peek)
bool isPeekMode () const
virtual void checkCaches ()
virtual void flushCaches ()

Additional Inherited Members

- Static Public Attributes inherited from openmsx::SectorAccessibleDisk
static const size_t SECTOR_SIZE = 512

Detailed Description

Definition at line 11 of file Disk.hh.

Constructor & Destructor Documentation

openmsx::Disk::~Disk ( )
virtual

Definition at line 13 of file Disk.cc.

openmsx::Disk::Disk ( const DiskName name)
explicitprotected

Definition at line 8 of file Disk.cc.

Member Function Documentation

void openmsx::Disk::detectGeometry ( )
protectedvirtual
void openmsx::Disk::detectGeometryFallback ( )
protectedvirtual

Definition at line 87 of file Disk.cc.

References openmsx::SectorAccessibleDisk::getNbSectors().

Referenced by detectGeometry().

const DiskName & openmsx::Disk::getName ( ) const

Definition at line 17 of file Disk.cc.

unsigned openmsx::Disk::getSectorsPerTrack ( )
protected

Definition at line 75 of file Disk.cc.

References detectGeometry().

Referenced by openmsx::DMKDiskImage::getNbSectorsImpl().

bool openmsx::Disk::isDoubleSided ( )

Definition at line 31 of file Disk.cc.

References detectGeometry().

void openmsx::Disk::logToPhys ( size_t  log,
byte track,
byte side,
byte sector 
)
protected
size_t openmsx::Disk::physToLog ( byte  track,
byte  side,
byte  sector 
)
protected

Definition at line 45 of file Disk.cc.

References detectGeometry().

virtual void openmsx::Disk::readTrack ( byte  track,
byte  side,
RawTrack output 
)
pure virtual

Read a full track from this disk image.

Implemented in openmsx::DMKDiskImage.

void openmsx::Disk::setNbSides ( unsigned  num)
protected
void openmsx::Disk::setSectorsPerTrack ( unsigned  num)
protected
void openmsx::Disk::writeTrack ( byte  track,
byte  side,
const RawTrack input 
)

Replace a full track in this image with the given track.

Definition at line 22 of file Disk.cc.

References openmsx::SectorAccessibleDisk::flushCaches(), openmsx::SectorAccessibleDisk::isWriteProtected(), and writeTrackImpl().

Referenced by openmsx::DMKDiskImage::writeSectorImpl().

virtual void openmsx::Disk::writeTrackImpl ( byte  track,
byte  side,
const RawTrack input 
)
protectedpure virtual

Implemented in openmsx::DMKDiskImage.

Referenced by writeTrack().


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