22 #ifndef MADS_NEBULAR_CORE_ASOUND_H 23 #define MADS_NEBULAR_CORE_ASOUND_H 25 #include "mads/core/sound_manager.h" 76 static bool _channelsEnabled;
81 void enable(
int flag);
82 void setPtr2(byte *pData);
83 void load(byte *pData);
84 void check(byte *nullPtr);
126 _regNum = regNum; _value = value;
130 #define ADLIB_CHANNEL_COUNT 9 131 #define ADLIB_CHANNEL_MIDWAY 5 132 #define CALLBACKS_PER_SECOND 60 167 void checkChannels();
172 void pollActiveChannel();
179 void updateChannelState();
180 void updateActiveChannel();
185 void processSample();
187 void updateFNumber();
195 int _chanCommandCount;
198 virtual void channelCommand(byte *&pSrc,
bool &updateFlag) = 0;
203 void loadSample(
int sampleIndex);
208 void write(
int reg,
int val);
213 int write2(
int state,
int reg,
int val);
223 void channelOn(
int reg,
int volume);
228 void channelOff(
int reg);
239 byte *loadData(
int offset,
int size);
246 void playSound(
int offset,
int size);
253 void playSoundData(byte *pData,
int startingChannel = ADLIB_CHANNEL_MIDWAY);
258 bool isSoundActive(byte *pData);
263 void setFrequency(
int channel,
int freq);
268 int getRandomNumber();
274 byte *getDataPtr(
int nearPtr);
276 virtual int command0();
303 int _activeChannelNumber;
308 int _channelNum1, _channelNum2;
318 int _activeChannelReg;
320 bool _amDep, _vibDep, _splitPoint;
339 static void validate();
354 void noise()
override;
360 return _frameCounter;
371 void setVolume(
int volume)
override;
Definition: sound_manager.h:40
Definition: sound_manager.h:38
int getFrameCounter()
Definition: asound.h:359