1 #ifndef __VGMSNDDRV_H__
\r
2 #define __VGMSNDDRV_H__
\r
9 #include "src/lib/vgmsnd/stdtype.h"
\r
10 #include "src/lib/16_head.h"
\r
12 typedef struct _vgm_file_header
\r
15 UINT32 lngEOFOffset;
\r
19 UINT32 lngGD3Offset;
\r
20 UINT32 lngTotalSamples;
\r
21 UINT32 lngLoopOffset;
\r
22 UINT32 lngLoopSamples;
\r
27 UINT32 lngDataOffset;
\r
38 UINT32 lngHzYMF278B;
\r
40 UINT32 lngHzYMZ280B;
\r
41 UINT32 lngHzRF5C164;
\r
45 UINT8 bytVolumeModifier;
\r
48 UINT8 bytLoopModifier;
\r
51 typedef struct _vgm_file
\r
59 UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile);
\r
60 void FreeVGMFile(VGM_FILE* vgmFile);
\r
62 void InitEngine(void);
\r
63 void DeinitEngine(void);
\r
65 UINT8 PlayMusic(VGM_FILE* vgmFile);
\r
66 UINT8 PlaySFX(VGM_FILE* vgmFile, UINT8 sfxChnID);
\r
67 UINT8 StopMusic(void);
\r
68 UINT8 StopSFX(UINT8 sfxChnID);
\r
69 UINT8 PauseMusic(void);
\r
70 UINT8 ResumeMusic(void);
\r
72 void UpdateSoundEngine(void);
\r
75 // Functions that must be supplied by external library:
\r
76 //extern void OPL2_Write(UINT8 reg, UINT8 data);
\r
77 //extern UINT8 OPL2_ReadStatus(void);
\r
84 #endif // ! __VGMSNDDRV_H__
\r