1
// Copyright 2013 Dolphin Emulator Project
2
// Licensed under GPLv2
3
// Refer to the license.txt file included.
5
#ifndef _DSPEMULATOR_H_
6
#define _DSPEMULATOR_H_
9
#include "SoundStream.h"
14
virtual ~DSPEmulator() {}
16
virtual bool IsLLE() = 0;
18
virtual bool Initialize(bool bWii, bool bDSPThread) = 0;
19
virtual void Shutdown() = 0;
21
virtual void DoState(PointerWrap &p) = 0;
22
virtual void PauseAndLock(bool doLock, bool unpauseOnUnlock=true) = 0;
24
virtual void DSP_WriteMailBoxHigh(bool _CPUMailbox, unsigned short) = 0;
25
virtual void DSP_WriteMailBoxLow(bool _CPUMailbox, unsigned short) = 0;
26
virtual unsigned short DSP_ReadMailBoxHigh(bool _CPUMailbox) = 0;
27
virtual unsigned short DSP_ReadMailBoxLow(bool _CPUMailbox) = 0;
28
virtual unsigned short DSP_ReadControlRegister() = 0;
29
virtual unsigned short DSP_WriteControlRegister(unsigned short) = 0;
30
virtual void DSP_SendAIBuffer(unsigned int address, unsigned int num_samples) = 0;
31
virtual void DSP_Update(int cycles) = 0;
32
virtual void DSP_StopSoundStream() = 0;
33
virtual void DSP_ClearAudioBuffer(bool mute) = 0;
34
virtual u32 DSP_UpdateRate() = 0;
37
SoundStream *soundStream;
40
DSPEmulator *CreateDSPEmulator(bool HLE);
42
#endif // _DSPEMULATOR_H_