36 switch (port & 0x07) {
54 switch (port & 0x07) {
72 switch (port & 0x0F) {
90 auto [drive, motor] = [&]() -> std::pair<DriveMultiplexer::Drive, bool> {
91 switch (value & 0x03) {
117template<
typename Archive>
120 ar.template serializeBase<WD2793BasedFDC>(*
this);
#define REGISTER_MSXDEVICE(CLASS, NAME)
void setMotor(bool status, EmuTime::param time) override
Set motor on/off.
void selectDrive(Drive num, EmuTime::param time)
void setSide(bool side) override
Side select.
byte peekIO(word port, EmuTime::param time) const override
Read a byte from a given IO port.
byte readIO(word port, EmuTime::param time) override
Read a byte from an IO port at a certain time from this device.
SVIFDC(const DeviceConfig &config)
void serialize(Archive &ar, unsigned version)
void writeIO(word port, byte value, EmuTime::param time) override
Write a byte to a given IO port at a certain time to this device.
DriveMultiplexer multiplexer
uint8_t peekDataReg(EmuTime::param time) const
bool peekIRQ(EmuTime::param time) const
uint8_t getStatusReg(EmuTime::param time)
void setTrackReg(uint8_t value, EmuTime::param time)
void setSectorReg(uint8_t value, EmuTime::param time)
uint8_t getTrackReg(EmuTime::param time) const
uint8_t peekSectorReg(EmuTime::param time) const
bool peekDTRQ(EmuTime::param time) const
void setCommandReg(uint8_t value, EmuTime::param time)
uint8_t peekTrackReg(EmuTime::param time) const
bool getDTRQ(EmuTime::param time) const
uint8_t peekStatusReg(EmuTime::param time) const
uint8_t getDataReg(EmuTime::param time)
void setDataReg(uint8_t value, EmuTime::param time)
bool getIRQ(EmuTime::param time) const
uint8_t getSectorReg(EmuTime::param time) const
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
#define INSTANTIATE_SERIALIZE_METHODS(CLASS)