MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / CALC_FCSLOT

Function CALC_FCSLOT

src/Engine/Adlib/fmopl.cpp:369–386  ·  view source on GitHub ↗

---------- frequency counter for operator update ---------- */

Source from the content-addressed store, hash-verified

367
368/* ---------- frequency counter for operator update ---------- */
369INLINE 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 */
389INLINE void set_mul(FM_OPL *OPL,int slot,int v)

Callers 2

set_mulFunction · 0.85
OPLWriteRegFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected