Public Types | Public Member Functions | List of all members
openmsx::VLM5030 Class Referencefinal

#include <VLM5030.hh>

Inheritance diagram for openmsx::VLM5030:
Inheritance graph
Collaboration diagram for openmsx::VLM5030:
Collaboration graph

Public Types

enum class  Phase : uint8_t {
- Public Types inherited from openmsx::ResampledSoundDevice
enum class  ResampleType { HQ , LQ , BLIP }

Public Member Functions

 VLM5030 (const std::string &name, static_string_view desc, std::string_view romFilename, const DeviceConfig &config)
 ~VLM5030 ()
void reset ()
void writeData (uint8_t data)
 latch control data
void writeControl (uint8_t data, EmuTime::param time)
 set RST / VCU / ST pins
bool getBSY (EmuTime::param time) const
 get BSY pin level
template<typename Archive >
void serialize (Archive &ar, unsigned version)
- Public Member Functions inherited from openmsx::ResampledSoundDevice
bool generateInput (float *buffer, size_t num)
 Note: To enable various optimizations (like SSE), this method is allowed to generate up to 3 extra sample.
DynamicClockgetEmuClock ()
- Public Member Functions inherited from openmsx::SoundDevice
 SoundDevice (const SoundDevice &)=delete
 SoundDevice (SoundDevice &&)=delete
SoundDeviceoperator= (const SoundDevice &)=delete
SoundDeviceoperator= (SoundDevice &&)=delete
const std::string & getName () const
 Get the unique name that identifies this sound device.
std::string_view getDescription () const
 Gets a description of this sound device, to be presented to the user.
bool isStereo () const
 Is this a stereo device? This is set in the constructor and cannot be changed anymore.
AmplificationFactors getAmplificationFactor () const
void setSoftwareVolume (float volume, EmuTime::param time)
 Change the 'software volume' of this sound device.
void setSoftwareVolume (float left, float right, EmuTime::param time)
void recordChannel (unsigned channel, const Filename &filename)
void muteChannel (unsigned channel, bool muted)

Additional Inherited Members

- Static Public Attributes inherited from openmsx::SoundDevice
static constexpr unsigned MAX_CHANNELS = 24
- Protected Member Functions inherited from openmsx::ResampledSoundDevice
 ResampledSoundDevice (MSXMotherBoard &motherBoard, std::string_view name, static_string_view description, unsigned channels, unsigned inputSampleRate, bool stereo)
 ~ResampledSoundDevice ()
void setOutputRate (unsigned hostSampleRate, double speed) override
 When a SoundDevice registers itself with the Mixer, the Mixer sets the required sampleRate through this method.
bool updateBuffer (size_t length, float *buffer, EmuTime::param time) override
 Generate sample data.
void update (const Setting &setting) noexcept override
void createResampler ()
- Protected Member Functions inherited from openmsx::SoundDevice
 SoundDevice (MSXMixer &mixer, std::string_view name, static_string_view description, unsigned numChannels, unsigned inputRate, bool stereo)
 ~SoundDevice ()
void registerSound (const DeviceConfig &config)
 Registers this sound device with the Mixer.
void unregisterSound ()
 Unregisters this sound device with the Mixer.
void updateStream (EmuTime::param time)
void setInputRate (unsigned sampleRate)
unsigned getInputRate () const
bool mixChannels (float *dataOut, size_t samples)
 Calls generateChannels() and combines the output to a single channel.
const DynamicClockgetHostSampleClock () const
 See MSXMixer::getHostSampleClock().
double getEffectiveSpeed () const
- Protected Member Functions inherited from openmsx::Observer< Setting >
 Observer ()=default
 ~Observer ()=default
 Observer (const Observer &)=delete
 Observer (Observer &&)=delete
Observeroperator= (const Observer &)=delete
Observeroperator= (Observer &&)=delete
virtual void subjectDeleted (const Setting &)
- Static Protected Member Functions inherited from openmsx::SoundDevice
static void addFill (float *&buffer, float value, unsigned num)
 Adds a number of samples that all have the same value.

Detailed Description

Definition at line 17 of file VLM5030.hh.

Member Enumeration Documentation

◆ Phase

enum class openmsx::VLM5030::Phase : uint8_t

Definition at line 37 of file VLM5030.hh.

Constructor & Destructor Documentation

◆ VLM5030()

openmsx::VLM5030::VLM5030 ( const std::string &  name,
static_string_view  desc,
std::string_view  romFilename,
const DeviceConfig config 

Definition at line 521 of file

References IDLE, openmsx::SoundDevice::registerSound(), reset(), and openmsx::Rom::size().

◆ ~VLM5030()

openmsx::VLM5030::~VLM5030 ( )

Definition at line 535 of file

References openmsx::SoundDevice::unregisterSound().

Member Function Documentation

◆ getBSY()

bool openmsx::VLM5030::getBSY ( EmuTime::param  time) const

get BSY pin level

Definition at line 414 of file

References openmsx::SoundDevice::updateStream().

Referenced by openmsx::RomKonamiKeyboardMaster::peekIO().

◆ reset()

void openmsx::VLM5030::reset ( )

Definition at line 392 of file

References ranges::fill(), and RESET.

Referenced by openmsx::RomKonamiKeyboardMaster::reset(), and VLM5030().

◆ serialize()

template<typename Archive >
void openmsx::VLM5030::serialize ( Archive &  ar,
unsigned  version 

Definition at line 554 of file


◆ writeControl()

void openmsx::VLM5030::writeControl ( uint8_t  data,
EmuTime::param  time 

set RST / VCU / ST pins

Definition at line 426 of file

References openmsx::SoundDevice::updateStream().

Referenced by openmsx::RomKonamiKeyboardMaster::writeIO().

◆ writeData()

void openmsx::VLM5030::writeData ( uint8_t  data)

latch control data

Definition at line 421 of file

Referenced by openmsx::RomKonamiKeyboardMaster::writeIO().

The documentation for this class was generated from the following files: