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;
bool isVolumeApplicableToOperator(uint8 oplChannel, uint8 operatorNum)
static const uint8 OPL_REGISTER_BASE_FREQMULT_MISC
Definition: musicdriver_adlib.h:43
Definition: musicdriver_adlib.h:33
Definition: musicdriver.h:29
static const uint8 OPL2_NUM_CHANNELS
Definition: musicdriver_adlib.h:38
static const uint8 OPL_REGISTER_BASE_FNUMLOW
Definition: musicdriver_adlib.h:52
uint16 determineOperatorRegisterOffset(uint8 oplChannel, uint8 operatorNum)