20 EmuTime::param time,
bool isWD1770);
22 void reset(EmuTime::param time);
30 [[nodiscard]]
byte peekTrackReg (EmuTime::param time)
const;
32 [[nodiscard]]
byte peekDataReg (EmuTime::param time)
const;
37 void setDataReg (
byte value, EmuTime::param time);
39 bool getIRQ (EmuTime::param time)
const;
40 bool getDTRQ(EmuTime::param time)
const;
42 [[nodiscard]]
bool peekIRQ (EmuTime::param time)
const;
43 [[nodiscard]]
bool peekDTRQ(EmuTime::param time)
const;
45 template<
typename Archive>
46 void serialize(Archive& ar,
unsigned version);
67 void executeUntil(EmuTime::param time)
override;
69 void startType1Cmd(EmuTime::param time);
71 void seek(EmuTime::param time);
72 void step(EmuTime::param time);
73 void seekNext(EmuTime::param time);
74 void endType1Cmd(EmuTime::param time);
76 void startType2Cmd (EmuTime::param time);
77 void type2Loaded (EmuTime::param time);
78 void type2Search (EmuTime::param time);
79 void type2NotFound (EmuTime::param time);
80 void type2Rotated (EmuTime::param time);
81 void startReadSector (EmuTime::param time);
82 void startWriteSector(EmuTime::param time);
83 void checkStartWrite (EmuTime::param time);
84 void preWriteSector (EmuTime::param time);
85 void writeSectorData (EmuTime::param time);
86 void postWriteSector (EmuTime::param time);
88 void startType3Cmd (EmuTime::param time);
89 void type3Loaded (EmuTime::param time);
90 void type3Rotated (EmuTime::param time);
91 void readAddressCmd (EmuTime::param time);
92 void readTrackCmd (EmuTime::param time);
93 void startWriteTrack (EmuTime::param time);
94 void writeTrackData (EmuTime::param time);
96 void startType4Cmd(EmuTime::param time);
98 void endCmd(EmuTime::param time);
100 void setDrqRate(
unsigned trackLength);
101 [[nodiscard]]
bool isReady()
const;
103 void schedule(
FSMState state, EmuTime::param time);
This class calculates CRC numbers for the polygon x^16 + x^12 + x^5 + 1.
This (abstract) class defines the DiskDrive interface.
Represents a clock with a variable frequency.
Every class that wants to get scheduled at some point must inherit from this class.
bool peekIRQ(EmuTime::param time) const
byte peekStatusReg(EmuTime::param time) const
byte getTrackReg(EmuTime::param time) const
byte getDataReg(EmuTime::param time)
byte getSectorReg(EmuTime::param time) const
WD2793(Scheduler &scheduler, DiskDrive &drive, CliComm &cliComm, EmuTime::param time, bool isWD1770)
This class has emulation for WD1770, WD1793, WD2793.
bool peekDTRQ(EmuTime::param time) const
bool getDTRQ(EmuTime::param time) const
byte getStatusReg(EmuTime::param time)
byte peekTrackReg(EmuTime::param time) const
void serialize(Archive &ar, unsigned version)
void setTrackReg(byte value, EmuTime::param time)
void setDataReg(byte value, EmuTime::param time)
byte peekDataReg(EmuTime::param time) const
void setCommandReg(byte value, EmuTime::param time)
bool getIRQ(EmuTime::param time) const
void reset(EmuTime::param time)
void setSectorReg(byte value, EmuTime::param time)
byte peekSectorReg(EmuTime::param time) const
This file implemented 3 utility functions:
SERIALIZE_CLASS_VERSION(CassettePlayer, 2)