comparison vgm.h @ 862:a2034b8d7495

Commit of VGM header that was missed previously
author Michael Pavone <pavone@retrodev.com>
date Thu, 05 Nov 2015 19:25:40 -0800
parents
children 508522f08e4d
comparison
equal deleted inserted replaced
861:4e394d9a7548 862:a2034b8d7495
1 #ifndef VGM_H_
2 #define VGM_H_
3
4 #pragma pack(push, 1)
5 typedef struct {
6 char ident[4];
7 uint32_t eof_offset;
8 uint32_t version;
9 uint32_t sn76489_clk;
10 uint32_t ym2413_clk;
11 uint32_t gd3_offset;
12 uint32_t num_samples;
13 uint32_t loop_offset;
14 uint32_t loop_samples;
15 uint32_t rate;
16 uint16_t sn76489_fb;
17 uint8_t sn76489_shift;
18 uint8_t sn76489_flags;
19 uint32_t ym2612_clk;
20 uint32_t ym2151_clk;
21 uint32_t data_offset;
22 uint32_t sega_pcm_clk;
23 uint32_t sega_pcm_reg;
24 } vgm_header;
25
26 enum {
27 CMD_PSG_STEREO = 0x4F,
28 CMD_PSG,
29 CMD_YM2413,
30 CMD_YM2612_0,
31 CMD_YM2612_1,
32 CMD_YM2151,
33 CMD_YM2203,
34 CMD_YM2608_0,
35 CMD_YM2608_1,
36 CMD_YM2610_0,
37 CMD_YM2610_1,
38 CMD_YM3812,
39 CMD_YM3526,
40 CMD_Y8950,
41 CMD_YMZ280B,
42 CMD_YMF262_0,
43 CMD_YMF262_1,
44 CMD_WAIT = 0x61,
45 CMD_WAIT_60,
46 CMD_WAIT_50,
47 CMD_END = 0x66,
48 CMD_DATA,
49 CMD_PCM_WRITE,
50 CMD_WAIT_SHORT = 0x70,
51 CMD_YM2612_DAC = 0x80,
52 CMD_DAC_STREAM_SETUP = 0x90,
53 CMD_DAC_STREAM_DATA,
54 CMD_DAC_STREAM_FREQ,
55 CMD_DAC_STREAM_START,
56 CMD_DAC_STREAM_STOP,
57 CMD_DAC_STREAM_STARTFAST,
58 CMD_DATA_SEEK = 0xE0
59 };
60
61 enum {
62 DATA_YM2612_PCM = 0
63 };
64
65 #pragma pack(pop)
66
67 typedef struct {
68 struct data_block *next;
69 uint8_t *data;
70 uint32_t size;
71 uint8_t type;
72 } data_block;
73
74 #endif //VGM_H_