22 #ifndef SCUMM_PLAYERS_PLAYER_SID_H 23 #define SCUMM_PLAYERS_PLAYER_SID_H 25 #include "common/mutex.h" 26 #include "common/scummsys.h" 27 #include "scumm/music.h" 28 #include "audio/sid.h" 60 void SID_Write(
int reg, uint8 data);
62 uint8 *getResource(
int resID);
72 void initMusic(
int songResIndex);
73 int initSound(
int soundResID);
74 void stopSound_intern(
int soundResID);
75 void stopMusic_intern();
79 void handleMusicBuffer();
80 int setupSongFileData();
81 void func_3674(
int channel);
82 void resetPlayerState();
83 void processSongData(
int channel);
84 void readSetSIDFilterAndProps(
int *offset, uint8* dataPtr);
85 void saveSongPos(
int y,
int channel);
86 void updateFreq(
int channel);
87 void resetFreqDelta(
int channel);
88 void readSongChunk(
int channel);
89 void setSIDFreqAS(
int channel);
90 void setSIDWaveCtrlReg(
int channel);
91 int setupSongPtr(
int channel);
92 void unlockResource(
int chanResIndex);
93 void countFreeChannels();
94 void func_4F45(
int channel);
95 void safeUnlockResource(
int resIndex);
96 void releaseResource(
int resIndex);
97 void releaseResChannels(
int resIndex);
98 void releaseResourceUnk(
int resIndex);
99 void releaseChannel(
int channel);
100 void clearSIDWaveform(
int channel);
101 void stopChannel(
int channel);
102 void swapVars(
int channel,
int swapIndex);
103 void resetSwapVars();
104 void prepareSwapVars(
int channel);
105 void useSwapVars(
int channel);
106 void lockResource(
int resIndex);
107 void reserveChannel(
int channel, uint8 prioValue,
int chanResIndex);
108 void unlockCodeLocation();
109 void lockCodeLocation();
110 void func_7eae(
int channel, uint8* songFileDataPtr);
111 void func_819b(
int channel);
112 void buildStepTbl(
int step);
113 int reserveSoundFilter(uint8 value, uint8 chanResIndex);
114 int reserveSoundVoice(uint8 value, uint8 chanResIndex);
115 void findLessPrioChannels(uint8 soundPrio);
116 void releaseResourceBySound(
int resID);
117 void readVec6Data(
int x,
int *offset, uint8 *songFilePtr,
int chanResID);
121 uint8 chanBuffer[3][45];
129 uint8 busyChannelBits;
135 uint8* chanFileData[3];
136 uint16 chanDataOffset[3];
137 uint8* songPosPtr[7];
150 uint16 songFileOrChanBufOffset[7];
153 int freqDeltaCounter[7];
154 uint8* swapSongPosPtr[3];
158 uint16 swapFreqReg[3];
177 uint8* songFileOrChanBufData;
178 uint8* actSongFileData;
192 uint8 freeChannelCount;
196 uint8 usedChannelBits;
205 uint8 songChannelBits;
207 bool pulseWidthSwapped;
214 uint8 SIDReg24_HiNibble;
218 bool releasePhase[3];
228 uint8 songPosUpdateCounter[7];
236 uint8 waveCtrlReg[7];
239 uint8 swapSustain[2];
240 uint8 swapSongPrio[3];
243 uint8 swapSongPosUpdateCounter[3];
244 uint8 swapWaveCtrlReg[3];
246 bool actFilterHasLowerPrio;
247 uint8 chansWithLowerPrioCount;
249 uint8 minChanPrioIndex;
void setMusicVolume(int vol) override
Definition: player_sid.h:51
Definition: player_sid.h:46
int getMusicTimer() override
void stopSound(int sound) override
void startSound(int sound) override
int getSoundStatus(int sound) const override
void stopAllSounds() override