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 data, EmuTime::param time)
 
void writeControlReg1 (byte data, 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 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 841 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 143 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 847 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  data,
EmuTime::param  time 
)

◆ writeControlReg1()

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

Definition at line 326 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: