2006-02-25 20:50:29 +00:00
|
|
|
#pragma once
|
|
|
|
|
2016-09-07 21:20:15 +00:00
|
|
|
// Registry soundtype:
|
|
|
|
#define REG_SOUNDTYPE_NONE 0
|
|
|
|
#define REG_SOUNDTYPE_DIRECT 1 // Not supported from 1.26
|
|
|
|
#define REG_SOUNDTYPE_SMART 2 // Not supported from 1.26
|
|
|
|
#define REG_SOUNDTYPE_WAVE 3
|
2015-03-10 12:33:14 +00:00
|
|
|
|
2016-09-07 21:20:15 +00:00
|
|
|
enum SoundType_e
|
|
|
|
{
|
|
|
|
SOUND_NONE = 0,
|
|
|
|
SOUND_WAVE
|
|
|
|
};
|
|
|
|
|
|
|
|
extern SoundType_e soundtype;
|
2006-02-25 20:50:29 +00:00
|
|
|
extern double g_fClksPerSpkrSample;
|
2015-04-09 21:54:26 +00:00
|
|
|
extern bool g_bQuieterSpeaker;
|
2015-03-10 12:33:14 +00:00
|
|
|
extern short g_nSpeakerData;
|
2006-02-25 20:50:29 +00:00
|
|
|
|
|
|
|
void SpkrDestroy ();
|
|
|
|
void SpkrInitialize ();
|
|
|
|
void SpkrReinitialize ();
|
|
|
|
void SpkrReset();
|
2016-09-07 21:20:15 +00:00
|
|
|
BOOL SpkrSetEmulationType (HWND window, SoundType_e newSoundType);
|
2006-02-25 20:50:29 +00:00
|
|
|
void SpkrUpdate (DWORD);
|
|
|
|
void SpkrUpdate_Timer();
|
2009-10-07 21:38:42 +00:00
|
|
|
void Spkr_SetErrorInc(const int nErrorInc);
|
|
|
|
void Spkr_SetErrorMax(const int nErrorMax);
|
2006-02-25 20:50:29 +00:00
|
|
|
DWORD SpkrGetVolume();
|
|
|
|
void SpkrSetVolume(DWORD dwVolume, DWORD dwVolumeMax);
|
|
|
|
void Spkr_Mute();
|
|
|
|
void Spkr_Demute();
|
|
|
|
bool Spkr_IsActive();
|
|
|
|
bool Spkr_DSInit();
|
|
|
|
void Spkr_DSUninit();
|
2015-12-05 16:50:27 +00:00
|
|
|
void SpkrSaveSnapshot(class YamlSaveHelper& yamlSaveHelper);
|
|
|
|
void SpkrLoadSnapshot(class YamlLoadHelper& yamlLoadHelper);
|
2006-02-25 20:50:29 +00:00
|
|
|
|
2018-03-03 21:27:50 +00:00
|
|
|
BYTE __stdcall SpkrToggle (WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nExecutedCycles);
|