21 YMF278(
const std::string& name,
int ramSizeInKb,
25 void reset(EmuTime::param time);
26 void writeReg(uint8_t reg, uint8_t data, EmuTime::param time);
27 [[nodiscard]] uint8_t
readReg(uint8_t reg);
28 [[nodiscard]] uint8_t
peekReg(uint8_t reg)
const;
30 [[nodiscard]] uint8_t
readMem(
unsigned address)
const;
31 void writeMem(
unsigned address, uint8_t value);
35 template<
typename Archive>
36 void serialize(Archive& ar,
unsigned version);
43 [[nodiscard]] uint8_t compute_rate(
int val)
const;
44 [[nodiscard]] uint8_t compute_decay_rate(
int val)
const;
45 [[nodiscard]]
unsigned decay_rate(
int num,
int sample_rate);
46 void envelope_next(
int sample_rate);
47 [[nodiscard]] int16_t compute_vib()
const;
48 [[nodiscard]] uint16_t compute_am()
const;
50 template<
typename Archive>
51 void serialize(Archive& ar,
unsigned version);
91 void generateChannels(std::span<float*> bufs,
unsigned num)
override;
93 void writeRegDirect(uint8_t reg, uint8_t data, EmuTime::param time);
94 [[nodiscard]]
unsigned getRamAddress(
unsigned addr)
const;
95 [[nodiscard]] int16_t getSample(Slot& slot, uint16_t pos)
const;
96 [[nodiscard]]
static uint16_t nextPos(Slot& slot, uint16_t pos, uint16_t increment);
98 [[nodiscard]]
bool anyActive();
99 void keyOnHelper(Slot& slot);
104 DebugRegisters(
MSXMotherBoard& motherBoard,
const std::string& name);
105 [[nodiscard]] uint8_t read(
unsigned address)
override;
106 void write(
unsigned address, uint8_t value, EmuTime::param time)
override;
110 DebugMemory(
MSXMotherBoard& motherBoard,
const std::string& name);
111 [[nodiscard]] uint8_t read(
unsigned address)
override;
112 void write(
unsigned address, uint8_t value)
override;
115 std::array<Slot, 24> slots;
125 std::array<uint8_t, 256> regs;
uint8_t readReg(uint8_t reg)
void writeReg(uint8_t reg, uint8_t data, EmuTime::param time)
void setMixLevel(uint8_t x, EmuTime::param time)
void reset(EmuTime::param time)
void writeMem(unsigned address, uint8_t value)
uint8_t readMem(unsigned address) const
void serialize(Archive &ar, unsigned version)
uint8_t peekReg(uint8_t reg) const
YMF278(const std::string &name, int ramSizeInKb, const DeviceConfig &config)
This file implemented 3 utility functions:
SERIALIZE_CLASS_VERSION(CassettePlayer, 2)