ROLAND  0.70
Amstrad Emulator based on Caprice Source rewritten in C++.
Public Member Functions | Private Attributes | List of all members
Fdc Class Referencefinal

The floppy drive controller. More...

#include <fdc.h>

Public Member Functions

 Fdc ()
 
tUBYTE read_status ()
 
tUBYTE read_data ()
 
void specify ()
 
void drvstat ()
 
void recalib ()
 
void intstat ()
 
void seek ()
 
void readtrk ()
 
void write ()
 
void read ()
 
void readID ()
 
void writeID ()
 
void scan ()
 
void check_unit ()
 
int init_status_regs ()
 
Sectorfind_sector (tUBYTE *requested_CHRN)
 
void cmd_write ()
 
void cmd_read ()
 
void cmd_readtrk ()
 
void cmd_scan ()
 
int dsk_load (const char *pchFileName, int drv=0, char chID='A')
 
void dsk_eject (int drv=0)
 
int motor ()
 
void setMotor (int s)
 
int flags ()
 
void addFlags (int flags)
 
int phase ()
 
int timeout ()
 
void setTimeout (int val)
 
int cmdDirection ()
 
bool led ()
 

Private Attributes

int mTimeout
 
int mMotor
 
bool mLed
 
int mFlags
 
int mPhase
 
int mByteCount
 
int mBufferCount
 
int mCmdLength
 
int mResLength
 
int mCmdDirection
 
CmdHandler mCmdHandler
 
tUBYTEpbGPBuffer
 
tUBYTEmBufferPtr
 
tUBYTEmBufferEndPtr
 
tUBYTE mCommand [12]
 
tUBYTE mResult [8]
 
Drive mDriveA
 
Drive mDriveB
 
DrivemActiveDrive
 
TrackmActiveTrack
 
tUWORD mReadStatusDelay
 
tUWORD mBytesTransferred
 
CmdTable mCmdTable
 
FILE * pfileObject
 

Detailed Description

The floppy drive controller.

Constructor & Destructor Documentation

Fdc ( )

Member Function Documentation

void addFlags ( int  flags)
inline

References Fdc::flags(), and Fdc::mFlags.

Referenced by Cpc::waitstates(), and Cpc::z80_out_handler().

void check_unit ( )
void cmd_read ( )
inline
void cmd_readtrk ( )
inline
void cmd_scan ( )
inline
void cmd_write ( )
inline
int cmdDirection ( )
inline

References Fdc::mCmdDirection.

Referenced by Cpc::waitstates().

void drvstat ( )
void dsk_eject ( int  drv = 0)
int dsk_load ( const char *  pchFileName,
int  drv = 0,
char  chID = 'A' 
)
Sector * find_sector ( tUBYTE requested_CHRN)
int flags ( )
inline

References Fdc::mFlags.

Referenced by Fdc::addFlags().

int init_status_regs ( )
void intstat ( )
bool led ( )
inline

References Fdc::mLed.

int motor ( )
inline

References Fdc::mMotor.

int phase ( )
inline

References Fdc::mPhase.

Referenced by Cpc::waitstates().

void read ( )
tUBYTE read_data ( )
tUBYTE read_status ( )
void readID ( )
void readtrk ( )
void recalib ( )

References CMD_C, Fdc::mCommand, and Fdc::seek().

Referenced by Fdc::Fdc().

void scan ( )
void seek ( )
void setMotor ( int  s)
inline

References Fdc::mMotor.

Referenced by Cpc::z80_out_handler().

void setTimeout ( int  val)
inline

References Fdc::mTimeout.

Referenced by Cpc::waitstates().

void specify ( )

References CMD_PHASE, and Fdc::mPhase.

Referenced by Fdc::Fdc().

int timeout ( )
inline

References Fdc::mTimeout.

Referenced by Cpc::waitstates().

void write ( )
void writeID ( )

Member Data Documentation

Drive* mActiveDrive
private
Track* mActiveTrack
private
int mBufferCount
private
tUBYTE* mBufferEndPtr
private
tUBYTE* mBufferPtr
private
int mByteCount
private
tUWORD mBytesTransferred
private

Referenced by Fdc::Fdc().

int mCmdDirection
private
CmdHandler mCmdHandler
private

Referenced by Fdc::Fdc().

int mCmdLength
private

Referenced by Fdc::Fdc().

CmdTable mCmdTable
private

Referenced by Fdc::Fdc().

tUBYTE mCommand[12]
private
Drive mDriveA
private
Drive mDriveB
private
int mFlags
private
bool mLed
private
int mMotor
private
int mPhase
private
tUWORD mReadStatusDelay
private
int mResLength
private
tUBYTE mResult[8]
private
int mTimeout
private
tUBYTE* pbGPBuffer
private
FILE* pfileObject
private

Referenced by Fdc::dsk_load().


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