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);