1 /*
2   Hatari - dmaSnd.h
3 
4   This file is distributed under the GNU General Public License, version 2
5   or at your option any later version. Read the file gpl.txt for details.
6 */
7 
8 #ifndef HATARI_DMASND_H
9 #define HATARI_DMASND_H
10 
11 #define DMASNDCTRL_PLAY         0x01
12 #define DMASNDCTRL_PLAYLOOP     0x02
13 #define DMASNDMODE_MONO         0x80
14 
15 extern Uint16 nDmaSoundControl;
16 
17 extern void DmaSnd_Reset(bool bCold);
18 extern void DmaSnd_MemorySnapShot_Capture(bool bSave);
19 extern void DmaSnd_GenerateSamples(int nMixBufIdx, int nSamplesToGenerate);
20 extern void DmaSnd_STE_HBL_Update(void);
21 
22 extern void DmaSnd_SoundControl_ReadWord(void);
23 extern void DmaSnd_SoundControl_WriteWord(void);
24 extern void DmaSnd_FrameCountHigh_ReadByte(void);
25 extern void DmaSnd_FrameCountMed_ReadByte(void);
26 extern void DmaSnd_FrameCountLow_ReadByte(void);
27 extern void DmaSnd_FrameStartHigh_WriteByte(void);
28 extern void DmaSnd_FrameStartMed_WriteByte(void);
29 extern void DmaSnd_FrameStartLow_WriteByte(void);
30 extern void DmaSnd_FrameCountHigh_WriteByte(void);
31 extern void DmaSnd_FrameCountMed_WriteByte(void);
32 extern void DmaSnd_FrameCountLow_WriteByte(void);
33 extern void DmaSnd_FrameEndHigh_WriteByte(void);
34 extern void DmaSnd_FrameEndMed_WriteByte(void);
35 extern void DmaSnd_FrameEndLow_WriteByte(void);
36 extern void DmaSnd_SoundModeCtrl_ReadByte(void);
37 extern void DmaSnd_SoundModeCtrl_WriteByte(void);
38 
39 extern void DmaSnd_InterruptHandler_Microwire(void);
40 extern void DmaSnd_MicrowireData_ReadWord(void);
41 extern void DmaSnd_MicrowireData_WriteWord(void);
42 extern void DmaSnd_MicrowireMask_ReadWord(void);
43 extern void DmaSnd_MicrowireMask_WriteWord(void);
44 
45 extern void DmaSnd_Init_Bass_and_Treble_Tables(void);
46 
47 
48 #endif /* HATARI_DMASND_H */
49