---------- frequency counter for operator update ---------- */
| 367 | |
| 368 | /* ---------- frequency counter for operator update ---------- */ |
| 369 | INLINE void CALC_FCSLOT(OPL_CH *CH,OPL_SLOT *SLOT) |
| 370 | { |
| 371 | int ksr; |
| 372 | |
| 373 | /* frequency step counter */ |
| 374 | SLOT->Incr = CH->fc * SLOT->mul; |
| 375 | ksr = CH->kcode >> SLOT->KSR; |
| 376 | |
| 377 | if( SLOT->ksr != ksr ) |
| 378 | { |
| 379 | SLOT->ksr = ksr; |
| 380 | /* attack , decay rate recalcration */ |
| 381 | SLOT->evsa = SLOT->AR[ksr]; |
| 382 | SLOT->evsd = SLOT->DR[ksr]; |
| 383 | SLOT->evsr = SLOT->RR[ksr]; |
| 384 | } |
| 385 | SLOT->TLL = SLOT->TL + (CH->ksl_base>>SLOT->ksl); |
| 386 | } |
| 387 | |
| 388 | /* set multi,am,vib,EG-TYP,KSR,mul */ |
| 389 | INLINE void set_mul(FM_OPL *OPL,int slot,int v) |
no outgoing calls
no test coverage detected