Mercurial > repos > blastem
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; |