29 [[nodiscard]]
bool read_DO(EmuTime::param time)
const;
30 void write_CS (
bool value, EmuTime::param time);
31 void write_CLK(
bool value, EmuTime::param time);
32 void write_DI (
bool value, EmuTime::param time);
34 template<
typename Archive>
35 void serialize(Archive& ar,
unsigned version);
38 [[nodiscard]]
const uint8_t*
backdoor()
const {
43 [[nodiscard]] uint8_t read(
unsigned addr)
const;
44 void write(
unsigned addr, uint8_t value, EmuTime::param time);
45 void writeAll(uint8_t value, EmuTime::param time);
46 void erase(
unsigned addr, EmuTime::param time);
47 void eraseAll(EmuTime::param time);
49 [[nodiscard]]
bool ready(EmuTime::param time)
const;
50 void clockEvent(EmuTime::param time);
51 void execute_command(EmuTime::param time);
65 EmuTime completionTime = EmuTime::zero();
66 EmuTime csTime = EmuTime::zero();
68 uint16_t shiftRegister = 0;
74 bool writeProtected =
true;
76 static constexpr int SHIFT_REG_BITS =
sizeof(shiftRegister) * CHAR_BIT;