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;