Mercurial > repos > blastem
comparison ym2612.c @ 382:b904859964e5
Fix operator precedence bug with sustain level
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 04 Jun 2013 09:16:41 -0700 |
parents | 7815ebbbd705 |
children | 72933100c55c |
comparison
equal
deleted
inserted
replaced
381:7815ebbbd705 | 382:b904859964e5 |
---|---|
563 case REG_SUSTAIN_RATE: | 563 case REG_SUSTAIN_RATE: |
564 operator->rates[PHASE_SUSTAIN] = value & 0x1F; | 564 operator->rates[PHASE_SUSTAIN] = value & 0x1F; |
565 break; | 565 break; |
566 case REG_S_LVL_R_RATE: | 566 case REG_S_LVL_R_RATE: |
567 operator->rates[PHASE_RELEASE] = (value & 0xF) << 1 | 1; | 567 operator->rates[PHASE_RELEASE] = (value & 0xF) << 1 | 1; |
568 operator->sustain_level = value & 0xF0 << 4; | 568 operator->sustain_level = (value & 0xF0) << 4; |
569 break; | 569 break; |
570 } | 570 } |
571 } | 571 } |
572 } else { | 572 } else { |
573 uint8_t channel = context->selected_reg & 0x3; | 573 uint8_t channel = context->selected_reg & 0x3; |