|
openMSX
|
This (abstract) class defines the DiskDrive interface. More...
#include <DiskDrive.hh>


Public Member Functions | |
| virtual | ~DiskDrive () |
| virtual bool | isDiskInserted () const =0 |
| Is drive ready? | |
| virtual bool | isWriteProtected () const =0 |
| Is disk write protected? | |
| virtual bool | isDoubleSided () const =0 |
| Is disk double sided? | |
| virtual bool | isTrack00 () const =0 |
| Head above track 0. | |
| virtual void | setSide (bool side)=0 |
| Side select. | |
| virtual void | step (bool direction, EmuTime::param time)=0 |
| Step head. | |
| virtual void | setMotor (bool status, EmuTime::param time)=0 |
| Set motor on/off. | |
| virtual bool | indexPulse (EmuTime::param time)=0 |
| Gets the state of the index pulse. | |
| virtual EmuTime | getTimeTillIndexPulse (EmuTime::param time, int count=1)=0 |
| Return the time till the start of the next index pulse When there is no disk in the drive or when the disk is not spinning, this function returns the current time. | |
| virtual void | setHeadLoaded (bool status, EmuTime::param time)=0 |
| Set head loaded status. | |
| virtual bool | headLoaded (EmuTime::param time)=0 |
| Is head loaded? | |
| virtual void | writeTrack (const RawTrack &track)=0 |
| virtual void | readTrack (RawTrack &track)=0 |
| virtual EmuTime | getNextSector (EmuTime::param time, RawTrack &track, RawTrack::Sector §or)=0 |
| virtual bool | diskChanged ()=0 |
| Is disk changed? | |
| virtual bool | peekDiskChanged () const =0 |
| virtual bool | isDummyDrive () const =0 |
| Is there a dummy (unconncted) drive? | |
Static Public Attributes | |
| static const unsigned | ROTATIONS_PER_SECOND = 5 |
Additional Inherited Members |
This (abstract) class defines the DiskDrive interface.
Definition at line 14 of file DiskDrive.hh.
|
virtual |
Definition at line 9 of file DiskDrive.cc.
|
pure virtual |
Is disk changed?
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::TC8566AF::diskChanged(), and openmsx::DriveMultiplexer::diskChanged().
|
pure virtual |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::getNextSector().
|
pure virtual |
Return the time till the start of the next index pulse When there is no disk in the drive or when the disk is not spinning, this function returns the current time.
| time | The current time |
| count | Number of required index pulses. |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::getTimeTillIndexPulse().
|
pure virtual |
Is head loaded?
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::WD2793::getStatusReg(), and openmsx::DriveMultiplexer::headLoaded().
|
pure virtual |
Gets the state of the index pulse.
| time | The moment in emulated time to get the pulse state for. |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::WD2793::getStatusReg(), and openmsx::DriveMultiplexer::indexPulse().
|
pure virtual |
Is drive ready?
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::isDiskInserted().
|
pure virtual |
Is disk double sided?
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::isDoubleSided().
|
pure virtual |
Is there a dummy (unconncted) drive?
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::isDummyDrive().
|
pure virtual |
Head above track 0.
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::WD2793::getStatusReg(), and openmsx::DriveMultiplexer::isTrack00().
|
pure virtual |
Is disk write protected?
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::WD2793::getStatusReg(), and openmsx::DriveMultiplexer::isWriteProtected().
|
pure virtual |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::TC8566AF::peekDiskChanged(), and openmsx::DriveMultiplexer::peekDiskChanged().
|
pure virtual |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::readTrack().
|
pure virtual |
Set head loaded status.
| status | false = not loaded, true = loaded. |
| time | The moment in emulated time this action takes place. |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::setHeadLoaded().
|
pure virtual |
Set motor on/off.
| status | false = off, true = on. |
| time | The moment in emulated time this action takes place. |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::TC8566AF::reset(), openmsx::DriveMultiplexer::selectDrive(), openmsx::DriveMultiplexer::setMotor(), and openmsx::TC8566AF::writeReg().
|
pure virtual |
Side select.
| side | false = side 0, true = side 1. |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::selectDrive(), and openmsx::DriveMultiplexer::setSide().
|
pure virtual |
Step head.
| direction | false = out, true = in. |
| time | The moment in emulated time this action takes place. |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::step().
|
pure virtual |
Implemented in openmsx::DummyDrive, and openmsx::DriveMultiplexer.
Referenced by openmsx::DriveMultiplexer::writeTrack().
|
static |
Definition at line 17 of file DiskDrive.hh.
1.8.1.2