annotate vgm.h @ 995:2bc27415565b

Fix some stuff with interrupt timing. The change in adjust_int_cycle gets Overdrive working again (vint was not being preferred over hint in some cases). One of the changes seems to have broken Fatal Rewind again, but no other regressions that I can see.
author Michael Pavone <pavone@retrodev.com>
date Sat, 30 Apr 2016 08:37:55 -0700
parents a2034b8d7495
children 508522f08e4d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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_