summaryrefslogtreecommitdiff
path: root/vgmplay.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2014-02-07 00:21:56 -0800
committerMichael Pavone <pavone@retrodev.com>2014-02-07 00:21:56 -0800
commit1911beda4d69363892cdc49189ae5ba35b1c1892 (patch)
tree46cb10e4b29546d620cc37bc52f8870d4bd7e7a0 /vgmplay.c
parent02438f01ab77c13622aed86f578128de76e9a115 (diff)
Increment sample pointer after reading a sample in VGM player
Diffstat (limited to 'vgmplay.c')
-rw-r--r--vgmplay.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/vgmplay.c b/vgmplay.c
index e993025..bc05a38 100644
--- a/vgmplay.c
+++ b/vgmplay.c
@@ -255,7 +255,12 @@ int main(int argc, char ** argv)
} else if (cmd >= CMD_YM2612_DAC && cmd < CMD_DAC_STREAM_SETUP) {
if (seek_block) {
ym_address_write_part1(&y_context, 0x2A);
- ym_data_write(&y_context, seek_block->data[block_offset]);
+ ym_data_write(&y_context, seek_block->data[block_offset++]);
+ seek_offset++;
+ if (block_offset > seek_block->size) {
+ seek_block = seek_block->next;
+ block_offset = 0;
+ }
} else {
fputs("Encountered DAC write command but data seek pointer is invalid!\n", stderr);
}