# HG changeset patch # User Michael Pavone # Date 1446780340 28800 # Node ID a2034b8d7495a2049ed2c19ae7efe2195fb3e9df # Parent 4e394d9a7548acef510bfc44028edd78c233c2e7 Commit of VGM header that was missed previously diff -r 4e394d9a7548 -r a2034b8d7495 vgm.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vgm.h Thu Nov 05 19:25:40 2015 -0800 @@ -0,0 +1,74 @@ +#ifndef VGM_H_ +#define VGM_H_ + +#pragma pack(push, 1) +typedef struct { + char ident[4]; + uint32_t eof_offset; + uint32_t version; + uint32_t sn76489_clk; + uint32_t ym2413_clk; + uint32_t gd3_offset; + uint32_t num_samples; + uint32_t loop_offset; + uint32_t loop_samples; + uint32_t rate; + uint16_t sn76489_fb; + uint8_t sn76489_shift; + uint8_t sn76489_flags; + uint32_t ym2612_clk; + uint32_t ym2151_clk; + uint32_t data_offset; + uint32_t sega_pcm_clk; + uint32_t sega_pcm_reg; +} vgm_header; + +enum { + CMD_PSG_STEREO = 0x4F, + CMD_PSG, + CMD_YM2413, + CMD_YM2612_0, + CMD_YM2612_1, + CMD_YM2151, + CMD_YM2203, + CMD_YM2608_0, + CMD_YM2608_1, + CMD_YM2610_0, + CMD_YM2610_1, + CMD_YM3812, + CMD_YM3526, + CMD_Y8950, + CMD_YMZ280B, + CMD_YMF262_0, + CMD_YMF262_1, + CMD_WAIT = 0x61, + CMD_WAIT_60, + CMD_WAIT_50, + CMD_END = 0x66, + CMD_DATA, + CMD_PCM_WRITE, + CMD_WAIT_SHORT = 0x70, + CMD_YM2612_DAC = 0x80, + CMD_DAC_STREAM_SETUP = 0x90, + CMD_DAC_STREAM_DATA, + CMD_DAC_STREAM_FREQ, + CMD_DAC_STREAM_START, + CMD_DAC_STREAM_STOP, + CMD_DAC_STREAM_STARTFAST, + CMD_DATA_SEEK = 0xE0 +}; + +enum { + DATA_YM2612_PCM = 0 +}; + +#pragma pack(pop) + +typedef struct { + struct data_block *next; + uint8_t *data; + uint32_t size; + uint8_t type; +} data_block; + +#endif //VGM_H_