Mercurial > repos > blastem
diff ym2612.h @ 407:c3abc4ada43d
Add support for logging YM2612 channels to WAVE files
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 16 Jun 2013 17:57:57 -0700 |
parents | f0a3f86595ae |
children | baf4688901f2 |
line wrap: on
line diff
--- a/ym2612.h Sun Jun 16 13:42:13 2013 -0700 +++ b/ym2612.h Sun Jun 16 17:57:57 2013 -0700 @@ -2,11 +2,14 @@ #define YM2612_H_ #include <stdint.h> +#include <stdio.h> #define NUM_PART_REGS (0xB7-0x30) #define NUM_CHANNELS 6 #define NUM_OPERATORS (4*NUM_CHANNELS) +#define YM_OPT_WAVE_LOG 1 + typedef struct { uint32_t phase_inc; uint32_t phase_counter; @@ -22,6 +25,7 @@ } ym_operator; typedef struct { + FILE * logfile; uint16_t fnum; int16_t output; uint8_t block_fnum_latch; @@ -70,7 +74,7 @@ uint8_t selected_part; } ym2612_context; -void ym_init(ym2612_context * context, uint32_t sample_rate, uint32_t master_clock, uint32_t clock_div, uint32_t sample_limit); +void ym_init(ym2612_context * context, uint32_t sample_rate, uint32_t master_clock, uint32_t clock_div, uint32_t sample_limit, uint32_t options); void ym_run(ym2612_context * context, uint32_t to_cycle); void ym_address_write_part1(ym2612_context * context, uint8_t address); void ym_address_write_part2(ym2612_context * context, uint8_t address);