comparison ym2612.h @ 383:72933100c55c

Initial implementation of channel 3 special mode
author Mike Pavone <pavone@retrodev.com>
date Tue, 04 Jun 2013 21:23:12 -0700
parents 1c8d74f2ab0b
children f0a3f86595ae
comparison
equal deleted inserted replaced
382:b904859964e5 383:72933100c55c
33 uint8_t pms; 33 uint8_t pms;
34 uint8_t lr; 34 uint8_t lr;
35 } ym_channel; 35 } ym_channel;
36 36
37 typedef struct { 37 typedef struct {
38 uint16_t fnum;
39 uint8_t block;
40 uint8_t block_fnum_latch;
41 uint8_t keycode;
42 } ym_supp;
43
44 typedef struct {
38 int16_t *audio_buffer; 45 int16_t *audio_buffer;
39 int16_t *back_buffer; 46 int16_t *back_buffer;
40 double buffer_fraction; 47 double buffer_fraction;
41 double buffer_inc; 48 double buffer_inc;
42 uint32_t clock_inc; 49 uint32_t clock_inc;
47 ym_operator operators[NUM_OPERATORS]; 54 ym_operator operators[NUM_OPERATORS];
48 ym_channel channels[NUM_CHANNELS]; 55 ym_channel channels[NUM_CHANNELS];
49 uint16_t timer_a; 56 uint16_t timer_a;
50 uint16_t timer_a_load; 57 uint16_t timer_a_load;
51 uint16_t env_counter; 58 uint16_t env_counter;
59 ym_supp ch3_supp[3];
60 uint8_t ch3_mode;
52 uint8_t current_op; 61 uint8_t current_op;
53 uint8_t current_env_op; 62 uint8_t current_env_op;
54 uint8_t timer_b; 63 uint8_t timer_b;
55 uint8_t timer_b_load; 64 uint8_t timer_b_load;
56 uint8_t timer_control; 65 uint8_t timer_control;