Fix compilation of the audio codec classes.

This commit is contained in:
Maxim Poliakovski 2023-04-22 23:06:45 +02:00
parent 44478b6937
commit 22798fe14e
6 changed files with 8 additions and 7 deletions

View File

@ -69,7 +69,7 @@ HeathrowIC::HeathrowIC() : PCIDevice("mac-io/heathrow"), InterruptCtrl()
// find appropriate sound chip, create a DMA output channel for sound,
// then wire everything together
this->snd_codec = dynamic_cast<MacioSndCtrl*>(gMachineObj->get_comp_by_type(HWCompType::SND_CODEC));
this->snd_codec = dynamic_cast<MacioSndCodec*>(gMachineObj->get_comp_by_type(HWCompType::SND_CODEC));
this->snd_out_dma = std::unique_ptr<DMAChannel> (new DMAChannel());
this->snd_codec->set_dma_out(this->snd_out_dma.get());
this->snd_out_dma->set_callbacks(

View File

@ -269,7 +269,7 @@ private:
uint8_t emmo_pin; // factory tester status, active low
// subdevice objects
MacioSndCtrl* snd_codec; // audio codec instance
MacioSndCodec* snd_codec; // audio codec instance
NVram* nvram; // NVRAM
ViaCuda* viacuda; // VIA cell with Cuda MCU attached to it

View File

@ -123,7 +123,7 @@ void AwacDevicePdm::write_ctrl(uint32_t addr, uint16_t value)
}
//============================= Screamer AWACs ================================
AwacsScreamer::AwacsScreamer(std::string name) : AwacsBase(name)
AwacsScreamer::AwacsScreamer(std::string name) : MacioSndCodec(name)
{
static int screamer_freqs[8] = {
44100, 29400, 22050, 17640, 14700, 11025, 8820, 7350

View File

@ -141,8 +141,9 @@ private:
};
/** Sound codec interface with the typical MacIO access. */
class MacioSndCtrl : public virtual AwacsBase {
class MacioSndCodec : public AwacsBase {
public:
MacioSndCodec(std::string name) : AwacsBase(name) {};
virtual uint32_t snd_ctrl_read(uint32_t offset, int size) = 0;
virtual void snd_ctrl_write(uint32_t offset, uint32_t value, int size) = 0;
};
@ -152,7 +153,7 @@ public:
#define AWAC_REV_SCREAMER 3
/** Screamer sound codec. */
class AwacsScreamer : public MacioSndCtrl {
class AwacsScreamer : public MacioSndCodec {
public:
AwacsScreamer(std::string name = "Screamer");
~AwacsScreamer() = default;

View File

@ -29,7 +29,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
#include <loguru.hpp>
#include <memaccess.h>
BurgundyCodec::BurgundyCodec(std::string name) : AwacsBase(name)
BurgundyCodec::BurgundyCodec(std::string name) : MacioSndCodec(name)
{
supports_types(HWCompType::SND_CODEC);

View File

@ -38,7 +38,7 @@ enum {
/** Number of internal registers implemented in Burgundy. */
#define BURGUNDY_NUM_REGS 123
class BurgundyCodec : public MacioSndCtrl {
class BurgundyCodec : public MacioSndCodec {
public:
BurgundyCodec(std::string name);
~BurgundyCodec() = default;