|
openMSX
|
This class implements a real drive, single or double sided. More...
#include <RealDrive.hh>


Public Member Functions | |
| RealDrive (MSXMotherBoard &motherBoard, EmuDuration::param motorTimeout, bool signalsNeedMotorOn, bool doubleSided) | |
| virtual | ~RealDrive () |
| virtual bool | isDiskInserted () const |
| virtual bool | isWriteProtected () const |
| virtual bool | isDoubleSided () const |
| virtual bool | isTrack00 () const |
| virtual void | setSide (bool side) |
| virtual void | step (bool direction, EmuTime::param time) |
| virtual void | setMotor (bool status, EmuTime::param time) |
| virtual bool | indexPulse (EmuTime::param time) |
| virtual EmuTime | getTimeTillIndexPulse (EmuTime::param time, int count) |
| virtual void | setHeadLoaded (bool status, EmuTime::param time) |
| virtual bool | headLoaded (EmuTime::param time) |
| virtual void | writeTrack (const RawTrack &track) |
| virtual void | readTrack (RawTrack &track) |
| virtual EmuTime | getNextSector (EmuTime::param time, RawTrack &track, RawTrack::Sector §or) |
| virtual bool | diskChanged () |
| virtual bool | peekDiskChanged () const |
| virtual bool | isDummyDrive () const |
| template<typename Archive > | |
| void | serialize (Archive &ar, unsigned version) |
Public Member Functions inherited from openmsx::DiskDrive | |
| 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? | |
Public Member Functions inherited from openmsx::Schedulable | |
| virtual void | executeUntil (EmuTime::param time, int userData)=0 |
| When the previously registered syncPoint is reached, this method gets called. | |
| virtual void | schedulerDeleted () |
| Just before the the Scheduler is deleted, it calls this method of all the Schedulables that are still registered. | |
| Scheduler & | getScheduler () const |
| EmuTime::param | getCurrentTime () const |
| Convenience method: This is the same as getScheduler().getCurrentTime(). | |
| template<typename Archive > | |
| void | serialize (Archive &ar, unsigned version) |
Additional Inherited Members | |
Static Public Attributes inherited from openmsx::DiskDrive | |
| static const unsigned | ROTATIONS_PER_SECOND = 5 |
Protected Member Functions inherited from openmsx::Schedulable | |
| Schedulable (Scheduler &scheduler) | |
| virtual | ~Schedulable () |
| void | setSyncPoint (EmuTime::param timestamp, int userData=0) |
| bool | removeSyncPoint (int userData=0) |
| void | removeSyncPoints () |
| bool | pendingSyncPoint (int userData=0) const |
This class implements a real drive, single or double sided.
Definition at line 18 of file RealDrive.hh.
| openmsx::RealDrive::RealDrive | ( | MSXMotherBoard & | motherBoard, |
| EmuDuration::param | motorTimeout, | ||
| bool | signalsNeedMotorOn, | ||
| bool | doubleSided | ||
| ) |
|
virtual |
Definition at line 70 of file RealDrive.cc.
References openmsx::Schedulable::getCurrentTime(), openmsx::MSXMotherBoard::getMSXCliComm(), openmsx::MSXMotherBoard::getSharedStuff(), openmsx::CliComm::HARDWARE, and openmsx::CliComm::update().
|
virtual |
Definition at line 329 of file RealDrive.cc.
|
virtual |
Definition at line 312 of file RealDrive.cc.
References openmsx::RawTrack::Sector::addrIdx, openmsx::RawTrack::decodeNextSector(), openmsx::Clock< TICKS_PER_ROTATION *ROTATIONS_PER_SECOND >::duration(), openmsx::RawTrack::getLength(), and openmsx::EmuTime::infinity.
|
virtual |
Definition at line 273 of file RealDrive.cc.
References openmsx::Clock< TICKS_PER_ROTATION *ROTATIONS_PER_SECOND >::duration(), openmsx::EmuTime::infinity, and isDiskInserted().
|
virtual |
Definition at line 292 of file RealDrive.cc.
References openmsx::Clock< FREQ_NUM, FREQ_DENOM >::getTicksTill().
|
virtual |
Definition at line 262 of file RealDrive.cc.
References isDiskInserted().
|
virtual |
Definition at line 93 of file RealDrive.cc.
Referenced by getTimeTillIndexPulse(), and indexPulse().
|
virtual |
Definition at line 120 of file RealDrive.cc.
|
virtual |
Definition at line 339 of file RealDrive.cc.
|
virtual |
Definition at line 151 of file RealDrive.cc.
|
virtual |
Definition at line 112 of file RealDrive.cc.
|
virtual |
Definition at line 334 of file RealDrive.cc.
|
virtual |
Definition at line 303 of file RealDrive.cc.
| void openmsx::RealDrive::serialize | ( | Archive & | ar, |
| unsigned | version | ||
| ) |
Definition at line 348 of file RealDrive.cc.
References openmsx::LedStatus::FDD, openmsx::MSXMotherBoard::getLedStatus(), and openmsx::LedStatus::setLed().
|
virtual |
Definition at line 284 of file RealDrive.cc.
References openmsx::Clock< FREQ_NUM, FREQ_DENOM >::advance().
|
virtual |
Definition at line 161 of file RealDrive.cc.
References openmsx::LOADING_TIMEOUT, openmsx::MOTOR_TIMEOUT, openmsx::Schedulable::pendingSyncPoint(), openmsx::Schedulable::removeSyncPoint(), and openmsx::Schedulable::setSyncPoint().
|
virtual |
Definition at line 126 of file RealDrive.cc.
|
virtual |
Definition at line 131 of file RealDrive.cc.
References PRT_DEBUG.
|
virtual |
Definition at line 298 of file RealDrive.cc.
1.8.1.2