4 // Header file for VGM file handling
6 typedef struct _vgm_file_header
14 UINT32 lngTotalSamples;
16 UINT32 lngLoopSamples;
18 UINT16 shtPSG_Feedback;
42 UINT8 bytAYFlagYM2203;
43 UINT8 bytAYFlagYM2608;
44 UINT8 bytVolumeModifier;
47 UINT8 bytLoopModifier;
53 UINT8 bytOKI6258Flags;
54 UINT8 bytK054539Flags;
56 UINT8 bytReservedFlags;
66 // UINT32 lngHzOKIM6376;
67 //UINT8 bytReserved[0x04];
68 UINT32 lngExtraOffset;
82 typedef struct _vgm_header_extra
88 typedef struct _vgm_extra_chip_data32
93 typedef struct _vgm_extra_chip_data16
99 typedef struct _vgm_extra_chip_extra32
102 VGMX_CHIP_DATA32* CCData;
104 typedef struct _vgm_extra_chip_extra16
107 VGMX_CHIP_DATA16* CCData;
109 typedef struct _vgm_header_extra_data
111 VGMX_CHP_EXTRA32 Clocks;
112 VGMX_CHP_EXTRA16 Volumes;
115 #define VOLUME_MODIF_WRAP 0xC0
116 typedef struct _vgm_gd3_tag
121 wchar_t* strTrackNameE;
122 wchar_t* strTrackNameJ;
123 wchar_t* strGameNameE;
124 wchar_t* strGameNameJ;
125 wchar_t* strSystemNameE;
126 wchar_t* strSystemNameJ;
127 wchar_t* strAuthorNameE;
128 wchar_t* strAuthorNameJ;
129 wchar_t* strReleaseDate;
133 typedef struct _vgm_pcm_bank_data
139 typedef struct _vgm_pcm_bank
149 #define FCC_VGM 0x206D6756 // 'Vgm '
150 #define FCC_GD3 0x20336447 // 'Gd3 '
152 #endif // __VGMFILE_H__