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 class  Command {
  UNKNOWN , READ_DATA , WRITE_DATA , WRITE_DELETED_DATA ,
  READ_DELETED_DATA , READ_DIAGNOSTIC , READ_ID , FORMAT ,
  SCAN_EQUAL , SCAN_LOW_OR_EQUAL , SCAN_HIGH_OR_EQUAL , SEEK ,
  RECALIBRATE , SENSE_INTERRUPT_STATUS , SPECIFY , SENSE_DEVICE_STATUS
}
 
enum class  Phase { IDLE , COMMAND , DATA_TRANSFER , RESULT }
 
enum class  Seek { IDLE , SEEK , RECALIBRATE }
 

Public Member Functions

 TC8566AF (Scheduler &scheduler, std::span< std::unique_ptr< DiskDrive >, 4 >, MSXCliComm &cliComm, EmuTime::param time)
 
void reset (EmuTime::param time)
 
uint8_t peekDataPort (EmuTime::param time) const
 
uint8_t readDataPort (EmuTime::param time)
 
uint8_t peekStatus () const
 
uint8_t readStatus (EmuTime::param time)
 
void writeControlReg0 (uint8_t value, EmuTime::param time)
 
void writeControlReg1 (uint8_t value, EmuTime::param time)
 
void writeDataPort (uint8_t 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
 
 Schedulable (Schedulable &&)=delete
 
Schedulableoperator= (const Schedulable &)=delete
 
Schedulableoperator= (Schedulable &&)=delete
 
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().
 
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 19 of file TC8566AF.hh.

Member Enumeration Documentation

◆ Command

enum class openmsx::TC8566AF::Command
strong
Enumerator
UNKNOWN 
READ_DATA 
WRITE_DATA 
WRITE_DELETED_DATA 
READ_DELETED_DATA 
READ_DIAGNOSTIC 
READ_ID 
FORMAT 
SCAN_EQUAL 
SCAN_LOW_OR_EQUAL 
SCAN_HIGH_OR_EQUAL 
SEEK 
RECALIBRATE 
SENSE_INTERRUPT_STATUS 
SPECIFY 
SENSE_DEVICE_STATUS 

Definition at line 40 of file TC8566AF.hh.

◆ Phase

enum class openmsx::TC8566AF::Phase
strong
Enumerator
IDLE 
COMMAND 
DATA_TRANSFER 
RESULT 

Definition at line 58 of file TC8566AF.hh.

◆ Seek

enum class openmsx::TC8566AF::Seek
strong
Enumerator
IDLE 
SEEK 
RECALIBRATE 

Definition at line 64 of file TC8566AF.hh.

Constructor & Destructor Documentation

◆ TC8566AF()

openmsx::TC8566AF::TC8566AF ( Scheduler scheduler,
std::span< std::unique_ptr< DiskDrive >, 4 >  drv,
MSXCliComm cliComm,
EmuTime::param  time 
)

Member Function Documentation

◆ diskChanged()

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

Definition at line 883 of file TC8566AF.cc.

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

◆ peekDataPort()

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

Definition at line 139 of file TC8566AF.cc.

References DATA_TRANSFER, and RESULT.

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

◆ peekDiskChanged()

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

Definition at line 889 of file TC8566AF.cc.

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

◆ peekStatus()

uint8_t openmsx::TC8566AF::peekStatus ( ) const

Definition at line 116 of file TC8566AF.cc.

References DATA_TRANSFER.

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

◆ readDataPort()

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

◆ readStatus()

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

◆ reset()

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

Definition at line 77 of file TC8566AF.cc.

References IDLE, and UNKNOWN.

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

◆ serialize()

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

◆ writeControlReg0()

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

Definition at line 318 of file TC8566AF.cc.

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

◆ writeControlReg1()

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

Definition at line 329 of file TC8566AF.cc.

References DATA_TRANSFER.

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

◆ writeDataPort()

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

Definition at line 338 of file TC8566AF.cc.

References COMMAND, DATA_TRANSFER, and IDLE.

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


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