comparison ym2612.h @ 1842:49f65d240299 mame_interp

Merge from default
author Michael Pavone <pavone@retrodev.com>
date Sun, 14 Apr 2019 23:38:02 -0700
parents ce6881d64eef
children 4c322abd9fa5
comparison
equal deleted inserted replaced
1787:0c6d07f91346 1842:49f65d240299
37 typedef struct { 37 typedef struct {
38 FILE * logfile; 38 FILE * logfile;
39 uint16_t fnum; 39 uint16_t fnum;
40 int16_t output; 40 int16_t output;
41 int16_t op1_old; 41 int16_t op1_old;
42 int16_t op2_old;
42 uint8_t block_fnum_latch; 43 uint8_t block_fnum_latch;
43 uint8_t block; 44 uint8_t block;
44 uint8_t keycode; 45 uint8_t keycode;
45 uint8_t algorithm; 46 uint8_t algorithm;
46 uint8_t feedback; 47 uint8_t feedback;
68 uint32_t clock_inc; 69 uint32_t clock_inc;
69 uint32_t current_cycle; 70 uint32_t current_cycle;
70 //TODO: Condense the next two fields into one 71 //TODO: Condense the next two fields into one
71 uint32_t write_cycle; 72 uint32_t write_cycle;
72 uint32_t busy_cycles; 73 uint32_t busy_cycles;
73 uint32_t lowpass_alpha; 74 int32_t volume_mult;
75 int32_t volume_div;
74 ym_operator operators[NUM_OPERATORS]; 76 ym_operator operators[NUM_OPERATORS];
75 ym_channel channels[NUM_CHANNELS]; 77 ym_channel channels[NUM_CHANNELS];
78 int16_t zero_offset;
76 uint16_t timer_a; 79 uint16_t timer_a;
77 uint16_t timer_a_load; 80 uint16_t timer_a_load;
78 uint16_t env_counter; 81 uint16_t env_counter;
79 ym_supp ch3_supp[3]; 82 ym_supp ch3_supp[3];
80 uint8_t timer_b; 83 uint8_t timer_b;
126 }; 129 };
127 130
128 void ym_init(ym2612_context * context, uint32_t master_clock, uint32_t clock_div, uint32_t options); 131 void ym_init(ym2612_context * context, uint32_t master_clock, uint32_t clock_div, uint32_t options);
129 void ym_reset(ym2612_context *context); 132 void ym_reset(ym2612_context *context);
130 void ym_free(ym2612_context *context); 133 void ym_free(ym2612_context *context);
134 void ym_enable_zero_offset(ym2612_context *context, uint8_t enabled);
131 void ym_adjust_master_clock(ym2612_context * context, uint32_t master_clock); 135 void ym_adjust_master_clock(ym2612_context * context, uint32_t master_clock);
132 void ym_run(ym2612_context * context, uint32_t to_cycle); 136 void ym_run(ym2612_context * context, uint32_t to_cycle);
133 void ym_address_write_part1(ym2612_context * context, uint8_t address); 137 void ym_address_write_part1(ym2612_context * context, uint8_t address);
134 void ym_address_write_part2(ym2612_context * context, uint8_t address); 138 void ym_address_write_part2(ym2612_context * context, uint8_t address);
135 void ym_data_write(ym2612_context * context, uint8_t value); 139 void ym_data_write(ym2612_context * context, uint8_t value);