#ifndef __VGMSNDDRV_H__\r
#define __VGMSNDDRV_H__\r
\r
+#define VGM_USESCAMMPM\r
+\r
#ifdef __cplusplus\r
extern "C"\r
{\r
#endif\r
\r
-//#include "src/lib/vgmsnd/stdtype.h"\r
+#include "src/lib/vgmsnd/stdtype.h"\r
#include "src/lib/16_head.h"\r
+#include "src/lib/16_tail.h"\r
\r
typedef struct _vgm_file_header\r
{\r
- sdword fccVGM;\r
- sdword lngEOFOffset;\r
- sdword lngVersion;\r
- sdword lngHzPSG;\r
- sdword lngHzYM2413;\r
- sdword lngGD3Offset;\r
- sdword lngTotalSamples;\r
- sdword lngLoopOffset;\r
- sdword lngLoopSamples;\r
- sdword lngRate;\r
- byte bytPSGCfg[4];\r
- sdword lngHzYM2612;\r
- sdword lngHzYM2151;\r
- sdword lngDataOffset;\r
- sdword lngHzSPCM;\r
- sdword lngSPCMIntf;\r
- sdword lngHzRF5C68;\r
- sdword lngHzYM2203;\r
- sdword lngHzYM2608;\r
- sdword lngHzYM2610;\r
- sdword lngHzYM3812;\r
- sdword lngHzYM3526;\r
- sdword lngHzY8950;\r
- sdword lngHzYMF262;\r
- sdword lngHzYMF278B;\r
- sdword lngHzYMF271;\r
- sdword lngHzYMZ280B;\r
- sdword lngHzRF5C164;\r
- sdword lngHzPWM;\r
- sdword lngHzAY8910;\r
- byte bytAYCfg[4];\r
- byte bytVolumeModifier;\r
- byte bytReserved2;\r
- char bytLoopBase;\r
- byte bytLoopModifier;\r
+ dword/*32*/ fccVGM;\r
+ dword/*32*/ lngEOFOffset;\r
+ dword/*32*/ lngVersion;\r
+ dword/*32*/ lngHzPSG;\r
+ dword/*32*/ lngHzYM2413;\r
+ dword/*32*/ lngGD3Offset;\r
+ dword/*32*/ lngTotalSamples;\r
+ dword/*32*/ lngLoopOffset;\r
+ dword/*32*/ lngLoopSamples;\r
+ dword/*32*/ lngRate;\r
+ UINT8 bytPSGCfg[4];\r
+ dword/*32*/ lngHzYM2612;\r
+ dword/*32*/ lngHzYM2151;\r
+ dword/*32*/ lngDataOffset;\r
+ dword/*32*/ lngHzSPCM;\r
+ dword/*32*/ lngSPCMIntf;\r
+ dword/*32*/ lngHzRF5C68;\r
+ dword/*32*/ lngHzYM2203;\r
+ dword/*32*/ lngHzYM2608;\r
+ dword/*32*/ lngHzYM2610;\r
+ dword/*32*/ lngHzYM3812;\r
+ dword/*32*/ lngHzYM3526;\r
+ dword/*32*/ lngHzY8950;\r
+ dword/*32*/ lngHzYMF262;\r
+ dword/*32*/ lngHzYMF278B;\r
+ dword/*32*/ lngHzYMF271;\r
+ dword/*32*/ lngHzYMZ280B;\r
+ dword/*32*/ lngHzRF5C164;\r
+ dword/*32*/ lngHzPWM;\r
+ dword/*32*/ lngHzAY8910;\r
+ UINT8 bytAYCfg[4];\r
+ UINT8 bytVolumeModifier;\r
+ UINT8 bytReserved2;\r
+ INT8 bytLoopBase;\r
+ UINT8 bytLoopModifier;\r
} VGM_HEADER;\r
\r
typedef struct _vgm_file\r
{\r
- sdword dataLen;\r
- byte* data;\r
+ dword/*32*/ dataLen;\r
+ UINT8* data;\r
VGM_HEADER header;\r
} VGM_FILE;\r
\r
\r
-byte OpenVGMFile(const char* FileName, VGM_FILE* vgmFile);\r
-void FreeVGMFile(VGM_FILE* vgmFile);\r
+UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile, global_game_variables_t *gvar);\r
+void FreeVGMFile(VGM_FILE* vgmFile, global_game_variables_t *gvar);\r
\r
void InitEngine(void);\r
void DeinitEngine(void);\r
\r
-byte PlayMusic(VGM_FILE* vgmFile);\r
-byte PlaySFX(VGM_FILE* vgmFile, byte sfxChnID);\r
-byte StopMusic(void);\r
-byte StopSFX(byte sfxChnID);\r
-byte PauseMusic(void);\r
-byte ResumeMusic(void);\r
+UINT8 PlayMusic(VGM_FILE* vgmFile);\r
+UINT8 PlaySFX(VGM_FILE* vgmFile, UINT8 sfxChnID);\r
+UINT8 StopMusic(void);\r
+UINT8 StopSFX(UINT8 sfxChnID);\r
+UINT8 PauseMusic(void);\r
+UINT8 ResumeMusic(void);\r
\r
void UpdateSoundEngine(void);\r
\r
\r
// Functions that must be supplied by external library:\r
-extern void OPL2_Write(byte reg, byte data);\r
-extern byte OPL2_ReadStatus(void);\r
+extern void OPL2_Write(UINT8 reg, UINT8 data);\r
+extern UINT8 OPL2_ReadStatus(void);\r
\r
\r
#ifdef __cplusplus\r