rem: if(freq < 65536) freq <<= 16;
context: RecalcBuff ( Fixed freq, struct AHIPrivAudioCtrl *audioctrl ){  int length;  // If ULONG, convert to Fixed  if(freq < 65536) freq <<= 16;  // Sanity check  if(freq == 0) return 0;  audioctrl->ac.ahiac_BuffSamples = (audioctrl->ac.ahiac_MixFreq << 8) /                                    (freq >> 8);  // ahiac_BuffSamples *must* fit a WORD according to the driver autodocs!  if(audioctrl->ac.ahiac_BuffSamples > 65535)  {    audioctrl->ac.ahiac_BuffSamples = 65535;  }  // Now, calculate the required mixing buffer size.  length = audioctrl->ac.ahiac_BuffSamples *            AHI_SampleFrameSize(audioctrl->ac.ahiac_BuffType);  if(audioctrl->ac.ahiac_Flags & AHIACF_POSTPROC)  {    length <<= 1;  // 2 buffers  }  // Pad to even 8 and add some more (because of an old Mungwall hit, but I  // think that bug was fixed a long, long time ago..?)  length = ((length + 7) & (~7) ) + 80;  audioctrl->ahiac_BuffSizeNow = length;  return audioctrl->ac.ahiac_BuffSamples;}