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

#include <TC8566AF.hh>

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

Public Types

enum  Command {
  CMD_UNKNOWN , CMD_READ_DATA , CMD_WRITE_DATA , CMD_WRITE_DELETED_DATA ,
  CMD_READ_DELETED_DATA , CMD_READ_DIAGNOSTIC , CMD_READ_ID , CMD_FORMAT ,
  CMD_SCAN_EQUAL , CMD_SCAN_LOW_OR_EQUAL , CMD_SCAN_HIGH_OR_EQUAL , CMD_SEEK ,
  CMD_RECALIBRATE , CMD_SENSE_INTERRUPT_STATUS , CMD_SPECIFY , CMD_SENSE_DEVICE_STATUS
}
 
enum  Phase { PHASE_IDLE , PHASE_COMMAND , PHASE_DATATRANSFER , PHASE_RESULT }
 
enum  SeekState { SEEK_IDLE , SEEK_SEEK , SEEK_RECALIBRATE }
 

Public Member Functions

 TC8566AF (Scheduler &scheduler, DiskDrive *drv[4], CliComm &cliComm, EmuTime::param time)
 
void reset (EmuTime::param time)
 
byte peekDataPort (EmuTime::param time) const
 
byte readDataPort (EmuTime::param time)
 
byte peekStatus () const
 
byte readStatus (EmuTime::param time)
 
void writeControlReg0 (byte value, EmuTime::param time)
 
void writeControlReg1 (byte value, EmuTime::param time)
 
void writeDataPort (byte value, EmuTime::param time)
 
bool diskChanged (unsigned driveNum)
 
bool peekDiskChanged (unsigned driveNum) const
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 
- Public Member Functions inherited from openmsx::Schedulable
 Schedulable (const Schedulable &)=delete
 
Schedulableoperator= (const Schedulable &)=delete
 
virtual void executeUntil (EmuTime::param time)=0
 When the previously registered syncPoint is reached, this method gets called. More...
 
virtual void schedulerDeleted ()
 Just before the the Scheduler is deleted, it calls this method of all the Schedulables that are still registered. More...
 
SchedulergetScheduler () const
 
EmuTime::param getCurrentTime () const
 Convenience method: This is the same as getScheduler().getCurrentTime(). More...
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 

Additional Inherited Members

- Static Public Member Functions inherited from openmsx::Schedulable
template<typename Archive >
static std::vector< SyncPointBWserializeBW (Archive &ar)
 
template<typename Archive >
static void restoreOld (Archive &ar, std::vector< Schedulable * > schedulables)
 
- Protected Member Functions inherited from openmsx::Schedulable
 Schedulable (Scheduler &scheduler)
 
 ~Schedulable ()
 
void setSyncPoint (EmuTime::param timestamp)
 
bool removeSyncPoint ()
 
void removeSyncPoints ()
 
bool pendingSyncPoint () const
 
bool pendingSyncPoint (EmuTime &result) const
 

Detailed Description

Definition at line 16 of file TC8566AF.hh.

Member Enumeration Documentation

◆ Command

Enumerator
CMD_UNKNOWN 
CMD_READ_DATA 
CMD_WRITE_DATA 
CMD_WRITE_DELETED_DATA 
CMD_READ_DELETED_DATA 
CMD_READ_DIAGNOSTIC 
CMD_READ_ID 
CMD_FORMAT 
CMD_SCAN_EQUAL 
CMD_SCAN_LOW_OR_EQUAL 
CMD_SCAN_HIGH_OR_EQUAL 
CMD_SEEK 
CMD_RECALIBRATE 
CMD_SENSE_INTERRUPT_STATUS 
CMD_SPECIFY 
CMD_SENSE_DEVICE_STATUS 

Definition at line 37 of file TC8566AF.hh.

◆ Phase

Enumerator
PHASE_IDLE 
PHASE_COMMAND 
PHASE_DATATRANSFER 
PHASE_RESULT 

Definition at line 55 of file TC8566AF.hh.

◆ SeekState

Enumerator
SEEK_IDLE 
SEEK_SEEK 
SEEK_RECALIBRATE 

Definition at line 61 of file TC8566AF.hh.

Constructor & Destructor Documentation

◆ TC8566AF()

openmsx::TC8566AF::TC8566AF ( Scheduler scheduler,
DiskDrive drv[4],
CliComm cliComm,
EmuTime::param  time 
)

Definition at line 64 of file TC8566AF.cc.

References reset(), and openmsx::RawTrack::STANDARD_SIZE.

Member Function Documentation

◆ diskChanged()

bool openmsx::TC8566AF::diskChanged ( unsigned  driveNum)

Definition at line 840 of file TC8566AF.cc.

References openmsx::DiskDrive::diskChanged().

Referenced by openmsx::TurboRFDC::readMem().

◆ peekDataPort()

byte openmsx::TC8566AF::peekDataPort ( EmuTime::param  time) const

Definition at line 142 of file TC8566AF.cc.

References PHASE_DATATRANSFER, and PHASE_RESULT.

Referenced by openmsx::TalentTDC600::peekMem(), and openmsx::TurboRFDC::peekMem().

◆ peekDiskChanged()

bool openmsx::TC8566AF::peekDiskChanged ( unsigned  driveNum) const

Definition at line 846 of file TC8566AF.cc.

References openmsx::DiskDrive::peekDiskChanged().

Referenced by openmsx::TurboRFDC::peekMem().

◆ peekStatus()

byte openmsx::TC8566AF::peekStatus ( ) const

◆ readDataPort()

byte openmsx::TC8566AF::readDataPort ( EmuTime::param  time)

◆ readStatus()

byte openmsx::TC8566AF::readStatus ( EmuTime::param  time)

◆ reset()

void openmsx::TC8566AF::reset ( EmuTime::param  time)

◆ serialize()

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

◆ writeControlReg0()

void openmsx::TC8566AF::writeControlReg0 ( byte  value,
EmuTime::param  time 
)

◆ writeControlReg1()

void openmsx::TC8566AF::writeControlReg1 ( byte  value,
EmuTime::param  time 
)

Definition at line 325 of file TC8566AF.cc.

References PHASE_DATATRANSFER.

Referenced by openmsx::TurboRFDC::writeMem().

◆ writeDataPort()

void openmsx::TC8566AF::writeDataPort ( byte  value,
EmuTime::param  time 
)

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