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;
const uint8_t * backdoor() const
static constexpr uint32_t ADDRESS_MASK
static constexpr uint8_t ADDRESS_BITS
void write_CS(bool value, EmuTime::param time)
static constexpr uint32_t NUM_ADDRESSES
static constexpr uint8_t DATA_BITS
void serialize(Archive &ar, unsigned version)
EEPROM_93C46(const XMLElement &xml)
void write_CLK(bool value, EmuTime::param time)
bool read_DO(EmuTime::param time) const
void write_DI(bool value, EmuTime::param time)
This file implemented 3 utility functions: