28 [[nodiscard]]
bool read_DO(EmuTime::param time)
const;
29 void write_CS (
bool value, EmuTime::param time);
30 void write_CLK(
bool value, EmuTime::param time);
31 void write_DI (
bool value, EmuTime::param time);
33 template<
typename Archive>
34 void serialize(Archive& ar,
unsigned version);
37 [[nodiscard]]
const uint8_t*
backdoor()
const {
42 [[nodiscard]] uint8_t read(
unsigned addr);
43 void write(
unsigned addr, uint8_t value, EmuTime::param time);
44 void writeAll(uint8_t value, EmuTime::param time);
45 void erase(
unsigned addr, EmuTime::param time);
46 void eraseAll(EmuTime::param time);
48 [[nodiscard]]
bool ready(EmuTime::param time)
const;
49 void clockEvent(EmuTime::param time);
50 void execute_command(EmuTime::param time);
64 EmuTime completionTime = EmuTime::zero();
65 EmuTime csTime = EmuTime::zero();
67 uint16_t shiftRegister = 0;
73 bool writeProtected =
true;
75 static constexpr int SHIFT_REG_BITS =
sizeof(shiftRegister) * CHAR_BIT;