19 std::string_view romFilename,
const DeviceConfig& config);
30 [[nodiscard]]
bool getBSY(EmuTime::param time)
const;
32 template<
typename Archive>
33 void serialize(Archive& ar,
unsigned version);
36 void setRST(
bool pin);
37 void setVCU(
bool pin);
38 void setST (
bool pin);
41 void generateChannels(std::span<float*> bufs,
unsigned num)
override;
42 [[nodiscard]]
float getAmplificationFactorImpl()
const override;
44 void setupParameter(uint8_t param);
45 [[nodiscard]]
unsigned getBits(
unsigned sBit,
unsigned bits);
46 [[nodiscard]]
int parseFrame();
50 unsigned address_mask;
58 unsigned current_energy;
59 unsigned current_pitch;
60 std::array<int, 10> current_k;
61 std::array<int, 10> x;
66 std::array<int16_t, 10> old_k;
67 std::array<int16_t, 10> new_k;
68 std::array<int16_t, 10> target_k;
71 uint16_t target_energy;
81 uint8_t latch_data{0};
void writeData(uint8_t data)
latch control data
bool getBSY(EmuTime::param time) const
get BSY pin level
VLM5030(const std::string &name, static_string_view desc, std::string_view romFilename, const DeviceConfig &config)
void writeControl(uint8_t data, EmuTime::param time)
set RST / VCU / ST pins
void serialize(Archive &ar, unsigned version)
This file implemented 3 utility functions: