22#ifndef GOT_MUSICDRIVER_ADLIB_H
23#define GOT_MUSICDRIVER_ADLIB_H
25#include "got/musicdriver.h"
27#include "common/scummsys.h"
28#include "common/timer.h"
29#include "audio/fmopl.h"
44 static const uint8 OPL_REGISTER_BASE_LEVEL = 0x40;
45 static const uint8 OPL_REGISTER_BASE_DECAY_ATTACK = 0x60;
46 static const uint8 OPL_REGISTER_BASE_RELEASE_SUSTAIN = 0x80;
47 static const uint8 OPL_REGISTER_BASE_WAVEFORMSELECT = 0xE0;
53 static const uint8 OPL_REGISTER_BASE_FNUMHIGH_BLOCK_KEYON = 0xB0;
54 static const uint8 OPL_REGISTER_BASE_CONNECTION_FEEDBACK_PANNING = 0xC0;
60 void close()
override;
62 void syncSoundSettings()
override;
64 void send(uint16 b)
override;
65 void stopAllNotes()
override;
67 void setTimerFrequency(uint8 timerFrequency)
override;
75 void recalculateVolumes();
76 uint8 calculateVolume(uint8 channel, uint8 operatorNum);
98 void writeRegister(uint8 oplRegister, uint8 value);
114 uint16 _userMusicVolume;
Definition: musicdriver_adlib.h:33
uint16 determineOperatorRegisterOffset(uint8 oplChannel, uint8 operatorNum)
static const uint8 OPL_REGISTER_BASE_FNUMLOW
Definition: musicdriver_adlib.h:52
bool isVolumeApplicableToOperator(uint8 oplChannel, uint8 operatorNum)
static const uint8 OPL2_NUM_CHANNELS
Definition: musicdriver_adlib.h:38
static const uint8 OPL_REGISTER_BASE_FREQMULT_MISC
Definition: musicdriver_adlib.h:43
Definition: musicdriver.h:29