35 void reset(EmuTime::param time);
36 void write(
byte value, EmuTime::param time);
38 template<
typename Archive>
39 void serialize(Archive& ar,
unsigned version);
47 void initState(
unsigned pattern,
unsigned period);
51 [[nodiscard]]
unsigned getOutput()
const;
60 void queueAdvance(
unsigned steps);
66 template<
typename Archive>
67 void serialize(Archive& ar,
unsigned version);
85 [[nodiscard]]
word peekRegister(
unsigned reg, EmuTime::param time)
const;
86 void writeRegister(
unsigned reg,
word value, EmuTime::param time);
87 template<
bool NOISE>
void synthesizeChannel(
88 float*& buffer,
unsigned num,
unsigned generator);
91 NoiseShifter noiseShifter;
96 std::array<word, 8> regs;
106 std::array<word, 4> counters;
110 std::array<byte, 4> outputs;
114 [[nodiscard]]
byte read(
unsigned address, EmuTime::param time)
override;
115 void write(
unsigned address,
byte value, EmuTime::param time)
override;