Mercurial > repos > blastem
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_ |