openMSX
Classes | Public Types | Public Member Functions | Friends | List of all members
openmsx::DirAsDSK Class Referencefinal

#include <DirAsDSK.hh>

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

Public Types

enum  SyncMode { SYNC_READONLY , SYNC_FULL }
 
enum  BootSectorType { BOOTSECTOR_DOS1 , BOOTSECTOR_DOS2 }
 

Public Member Functions

 DirAsDSK (DiskChanger &diskChanger, CliComm &cliComm, const Filename &hostDir, SyncMode syncMode, BootSectorType bootSectorType)
 
void readSectorImpl (size_t sector, SectorBuffer &buf) override
 
void writeSectorImpl (size_t sector, const SectorBuffer &buf) override
 
bool isWriteProtectedImpl () const override
 
bool hasChanged () const override
 Has the content of this disk changed, by some other means than the MSX writing to the disk. More...
 
void checkCaches () override
 
- Public Member Functions inherited from openmsx::Disk
virtual ~Disk ()=default
 
const DiskNamegetName () const
 
void writeTrack (byte track, byte side, const RawTrack &input)
 Replace a full track in this image with the given track. More...
 
virtual void readTrack (byte track, byte side, RawTrack &output)=0
 Read a full track from this disk image. More...
 
virtual bool hasChanged () const
 Has the content of this disk changed, by some other means than the MSX writing to the disk. More...
 
bool isDoubleSided ()
 
- Public Member Functions inherited from openmsx::SectorAccessibleDisk
void readSector (size_t sector, SectorBuffer &buf)
 
void writeSector (size_t sector, const SectorBuffer &buf)
 
void readSectors (SectorBuffer *buffers, size_t startSector, size_t nbSectors)
 
void writeSectors (const SectorBuffer *buffers, size_t startSector, size_t nbSectors)
 
size_t getNbSectors () const
 
bool isWriteProtected () const
 
void forceWriteProtect ()
 
virtual bool isDummyDisk () const
 
void applyPatch (Filename patchFile)
 
std::vector< FilenamegetPatches () const
 
bool hasPatches () const
 
Sha1Sum getSha1Sum (FilePool &filepool)
 Calculate SHA1 of the content of this disk. More...
 
virtual void readSectorsImpl (SectorBuffer *buffers, size_t startSector, size_t nbSectors)
 
virtual void readSectorImpl (size_t sector, SectorBuffer &buf)
 

Friends

struct NullScanner
 
struct DirScanner
 
struct IsDirSector
 
struct DirEntryForCluster
 
struct UnmapHostFiles
 

Additional Inherited Members

- Static Public Attributes inherited from openmsx::SectorAccessibleDisk
static constexpr size_t SECTOR_SIZE = sizeof(SectorBuffer)
 
- Protected Member Functions inherited from openmsx::SectorBasedDisk
 SectorBasedDisk (DiskName name)
 
void detectGeometry () override
 
void flushCaches () override
 
void setNbSectors (size_t num)
 
 ~SectorBasedDisk () override=default
 
- Protected Member Functions inherited from openmsx::Disk
 Disk (DiskName name)
 
size_t physToLog (byte track, byte side, byte sector)
 
TSS logToPhys (size_t log)
 
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 ()
 
 ~SectorAccessibleDisk ()
 
void setPeekMode (bool peek)
 
bool isPeekMode () const
 
virtual void checkCaches ()
 
virtual void flushCaches ()
 
virtual Sha1Sum getSha1SumImpl (FilePool &filepool)
 

Detailed Description

Definition at line 16 of file DirAsDSK.hh.

Member Enumeration Documentation

◆ BootSectorType

Enumerator
BOOTSECTOR_DOS1 
BOOTSECTOR_DOS2 

Definition at line 20 of file DirAsDSK.hh.

◆ SyncMode

Enumerator
SYNC_READONLY 
SYNC_FULL 

Definition at line 19 of file DirAsDSK.hh.

Constructor & Destructor Documentation

◆ DirAsDSK()

openmsx::DirAsDSK::DirAsDSK ( DiskChanger diskChanger,
CliComm cliComm,
const Filename hostDir,
SyncMode  syncMode,
BootSectorType  bootSectorType 
)

Member Function Documentation

◆ checkCaches()

void openmsx::DirAsDSK::checkCaches ( )
overridevirtual

◆ hasChanged()

bool openmsx::DirAsDSK::hasChanged ( ) const
overridevirtual

Has the content of this disk changed, by some other means than the MSX writing to the disk.

In other words: should caches on the MSX side be dropped? (E.g. via the 'disk-changed-signal' that's present in (some) MSX disk interfaces).

Reimplemented from openmsx::Disk.

Definition at line 331 of file DirAsDSK.cc.

◆ isWriteProtectedImpl()

bool openmsx::DirAsDSK::isWriteProtectedImpl ( ) const
overridevirtual

Implements openmsx::SectorAccessibleDisk.

Definition at line 326 of file DirAsDSK.cc.

References SYNC_READONLY.

◆ readSectorImpl()

void openmsx::DirAsDSK::readSectorImpl ( size_t  sector,
SectorBuffer buf 
)
overridevirtual

◆ writeSectorImpl()

void openmsx::DirAsDSK::writeSectorImpl ( size_t  sector,
const SectorBuffer buf 
)
overridevirtual

Implements openmsx::SectorAccessibleDisk.

Definition at line 891 of file DirAsDSK.cc.

References openmsx::DiskChanger::getScheduler(), and SYNC_READONLY.

Friends And Related Function Documentation

◆ DirEntryForCluster

friend struct DirEntryForCluster
friend

Definition at line 113 of file DirAsDSK.hh.

◆ DirScanner

friend struct DirScanner
friend

Definition at line 111 of file DirAsDSK.hh.

◆ IsDirSector

friend struct IsDirSector
friend

Definition at line 112 of file DirAsDSK.hh.

◆ NullScanner

friend struct NullScanner
friend

Definition at line 110 of file DirAsDSK.hh.

◆ UnmapHostFiles

friend struct UnmapHostFiles
friend

Definition at line 114 of file DirAsDSK.hh.


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