Mercurial > repos > blastem
annotate vgm.h @ 1374:8f404b1fa572
Go back to resetting the refresh counter after a DMA. Probably not quite correct as it is probably reset on VDP triggered refresh, but this is close enough for now given the general limitations with my refresh code. VDP FIFO Testing seems to be passing 100% reliably again (was occassionally failing still with the last commit)
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 23 May 2017 23:47:40 -0700 |
parents | a2034b8d7495 |
children | 508522f08e4d |
rev | line source |
---|---|
862
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
1 #ifndef VGM_H_ |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
2 #define VGM_H_ |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
3 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
4 #pragma pack(push, 1) |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
5 typedef struct { |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
6 char ident[4]; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
7 uint32_t eof_offset; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 uint32_t version; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
9 uint32_t sn76489_clk; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
10 uint32_t ym2413_clk; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
11 uint32_t gd3_offset; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
12 uint32_t num_samples; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
13 uint32_t loop_offset; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
14 uint32_t loop_samples; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
15 uint32_t rate; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
16 uint16_t sn76489_fb; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
17 uint8_t sn76489_shift; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
18 uint8_t sn76489_flags; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
19 uint32_t ym2612_clk; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
20 uint32_t ym2151_clk; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
21 uint32_t data_offset; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
22 uint32_t sega_pcm_clk; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
23 uint32_t sega_pcm_reg; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
24 } vgm_header; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
25 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
26 enum { |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
27 CMD_PSG_STEREO = 0x4F, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
28 CMD_PSG, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
29 CMD_YM2413, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
30 CMD_YM2612_0, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
31 CMD_YM2612_1, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
32 CMD_YM2151, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
33 CMD_YM2203, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
34 CMD_YM2608_0, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
35 CMD_YM2608_1, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
36 CMD_YM2610_0, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
37 CMD_YM2610_1, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
38 CMD_YM3812, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
39 CMD_YM3526, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
40 CMD_Y8950, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
41 CMD_YMZ280B, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
42 CMD_YMF262_0, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
43 CMD_YMF262_1, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
44 CMD_WAIT = 0x61, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
45 CMD_WAIT_60, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
46 CMD_WAIT_50, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
47 CMD_END = 0x66, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
48 CMD_DATA, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
49 CMD_PCM_WRITE, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
50 CMD_WAIT_SHORT = 0x70, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
51 CMD_YM2612_DAC = 0x80, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
52 CMD_DAC_STREAM_SETUP = 0x90, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
53 CMD_DAC_STREAM_DATA, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
54 CMD_DAC_STREAM_FREQ, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
55 CMD_DAC_STREAM_START, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
56 CMD_DAC_STREAM_STOP, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
57 CMD_DAC_STREAM_STARTFAST, |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
58 CMD_DATA_SEEK = 0xE0 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
59 }; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
60 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
61 enum { |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
62 DATA_YM2612_PCM = 0 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
63 }; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
64 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
65 #pragma pack(pop) |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
66 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
67 typedef struct { |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
68 struct data_block *next; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
69 uint8_t *data; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
70 uint32_t size; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
71 uint8_t type; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
72 } data_block; |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
73 |
a2034b8d7495
Commit of VGM header that was missed previously
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
74 #endif //VGM_H_ |