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

#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 *drive[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
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.
SchedulergetScheduler () const
EmuTime::param getCurrentTime () const
 Convenience method: This is the same as getScheduler().getCurrentTime().

Additional Inherited Members

- 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

Detailed Description

Definition at line 17 of file TC8566AF.hh.

Member Enumeration Documentation

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 34 of file TC8566AF.hh.

Enumerator:
PHASE_IDLE 
PHASE_COMMAND 
PHASE_DATATRANSFER 
PHASE_RESULT 

Definition at line 52 of file TC8566AF.hh.

Constructor & Destructor Documentation

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

Definition at line 62 of file TC8566AF.cc.

References reset().

Member Function Documentation

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

Definition at line 784 of file TC8566AF.cc.

References openmsx::DiskDrive::diskChanged().

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

Definition at line 790 of file TC8566AF.cc.

References openmsx::DiskDrive::peekDiskChanged().

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

Definition at line 116 of file TC8566AF.cc.

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

Definition at line 127 of file TC8566AF.cc.

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

Definition at line 81 of file TC8566AF.cc.

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

Referenced by TC8566AF().

template<typename Archive >
void openmsx::TC8566AF::serialize ( Archive &  ar,
unsigned  version 
)
void openmsx::TC8566AF::writeReg ( int  reg,
byte  data,
EmuTime::param  time 
)

Definition at line 317 of file TC8566AF.cc.

References openmsx::DiskDrive::setMotor().


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