Mercurial > repos > blastem
comparison ym2612.h @ 1300:4b893b02444e
Basic implementation of CSM mode that should handle documented edge cases. Dodesn't handle the weird undocumented edge cases I don't have a good understanding of yet though
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 25 Mar 2017 15:41:52 -0700 |
parents | 8d032a368dd5 |
children | babff81e4cfd |
comparison
equal
deleted
inserted
replaced
1299:da1ffc4026c4 | 1300:4b893b02444e |
---|---|
40 uint8_t algorithm; | 40 uint8_t algorithm; |
41 uint8_t feedback; | 41 uint8_t feedback; |
42 uint8_t ams; | 42 uint8_t ams; |
43 uint8_t pms; | 43 uint8_t pms; |
44 uint8_t lr; | 44 uint8_t lr; |
45 uint8_t keyon; | |
45 } ym_channel; | 46 } ym_channel; |
46 | 47 |
47 typedef struct { | 48 typedef struct { |
48 uint16_t fnum; | 49 uint16_t fnum; |
49 uint8_t block; | 50 uint8_t block; |
91 uint8_t lfo_enable; | 92 uint8_t lfo_enable; |
92 uint8_t lfo_freq; | 93 uint8_t lfo_freq; |
93 uint8_t lfo_counter; | 94 uint8_t lfo_counter; |
94 uint8_t lfo_am_step; | 95 uint8_t lfo_am_step; |
95 uint8_t lfo_pm_step; | 96 uint8_t lfo_pm_step; |
97 uint8_t csm_keyon; | |
96 uint8_t status; | 98 uint8_t status; |
97 uint8_t selected_reg; | 99 uint8_t selected_reg; |
98 uint8_t selected_part; | 100 uint8_t selected_part; |
99 uint8_t part1_regs[YM_PART1_REGS]; | 101 uint8_t part1_regs[YM_PART1_REGS]; |
100 uint8_t part2_regs[YM_PART2_REGS]; | 102 uint8_t part2_regs[YM_PART2_REGS]; |