openMSX
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 }
 

Public Member Functions

 TC8566AF (Scheduler &scheduler, DiskDrive *drv[4], CliComm &cliComm, EmuTime::param time)
 
void reset (EmuTime::param time)
 
byte readReg (int reg, EmuTime::param time)
 
byte peekReg (int reg, EmuTime::param time) const
 
void writeReg (int reg, byte data, 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 33 of file TC8566AF.hh.

◆ Phase

Enumerator
PHASE_IDLE 
PHASE_COMMAND 
PHASE_DATATRANSFER 
PHASE_RESULT 

Definition at line 51 of file TC8566AF.hh.

Constructor & Destructor Documentation

◆ TC8566AF()

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

Definition at line 62 of file TC8566AF.cc.

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

Member Function Documentation

◆ diskChanged()

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

Definition at line 790 of file TC8566AF.cc.

References openmsx::DiskDrive::diskChanged().

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

◆ peekDiskChanged()

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

◆ peekReg()

byte openmsx::TC8566AF::peekReg ( int  reg,
EmuTime::param  time 
) const

Definition at line 116 of file TC8566AF.cc.

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

◆ readReg()

byte openmsx::TC8566AF::readReg ( int  reg,
EmuTime::param  time 
)

◆ reset()

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

Definition at line 81 of file TC8566AF.cc.

References CMD_UNKNOWN, PHASE_IDLE, and openmsx::DiskDrive::setMotor().

Referenced by openmsx::TurboRFDC::reset(), and TC8566AF().

◆ serialize()

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

◆ writeReg()

void openmsx::TC8566AF::writeReg ( int  reg,
byte  data,
EmuTime::param  time 
)

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