rem: cd->cd_NextOffset       |= 0xffffffffLL;
add: *(ULONG*) ((char*) (&cd->cd_NextOffset)+4) = 0xffffffffUL;
context: SetSound ( UWORD                    channel,           UWORD                    sound,           ULONG                    offset,           LONG                     length,           struct AHIPrivAudioCtrl* audioctrl,           ULONG                    flags,           struct AHIBase*          AHIBase ){  struct AHIChannelData *cd;  struct AHISoundData   *sd;  struct Library        *AHIsubBase;  ULONG                  rc;  if(AHIBase->ahib_DebugLevel >= AHI_DEBUG_ALL)  {    Debug_SetSound(channel, sound, offset, length, audioctrl, flags);  }  AHIsubBase = audioctrl->ahiac_SubLib;  rc = AHIsub_SetSound(channel, sound, offset, length, &audioctrl->ac, flags);  if(audioctrl->ac.ahiac_Flags & AHIACF_NOMIXING     || rc != AHIS_UNKNOWN)  {    return 0;   /* We're done! */  }  cd = &audioctrl->ahiac_ChannelDatas[channel];  sd = &audioctrl->ahiac_SoundDatas[sound];  AHIsub_Disable(&audioctrl->ac);  if(sound == AHI_NOSOUND)  {    cd->cd_NextSoundOK    = FALSE;    if(flags & AHISF_IMM)    {      cd->cd_EOS          = TRUE;  /* Signal End-Of-Sample */      cd->cd_SoundOK      = FALSE;    }  }  else if(sd->sd_Type != AHIST_NOTYPE) /* This is a user error, shouldn't happen! */  {    if(length == 0) length = sd->sd_Length;    cd->cd_NextDataStart = sd->sd_Addr;    cd->cd_NextType      = sd->sd_Type;    cd->cd_NextOffset    = (Fixed64) offset << 32 ;    cd->cd_NextSoundOK   = TRUE;    if(length < 0)    {      cd->cd_NextType         |= AHIST_BW;      cd->cd_NextLastOffset    = (Fixed64) ( offset + length + 1 ) << 32;      cd->cd_NextOffset       |= 0xffffffffLL;    }    else    {      cd->cd_NextLastOffset    = ( (Fixed64) ( offset + length - 1 ) << 32 )                                 | 0xffffffffLL;      /* Low cd->cd_NextOffset already 0 */    }    SelectAddRoutine( cd->cd_NextVolumeLeft,                      cd->cd_NextVolumeRight,                      cd->cd_NextType,                      audioctrl,                     &cd->cd_NextScaleLeft,                     &cd->cd_NextScaleRight,         (ADDFUNC**) &cd->cd_NextAddRoutine );    if(flags & AHISF_IMM)    {      cd->cd_DelayedOffset        = cd->cd_NextOffset;      cd->cd_DelayedFirstOffsetI  = cd->cd_NextOffset >> 32; /* for linear interpol. */      cd->cd_DelayedLastOffset    = cd->cd_NextLastOffset;      cd->cd_DelayedDataStart     = cd->cd_NextDataStart;      cd->cd_DelayedType          = cd->cd_NextType;      cd->cd_DelayedSoundOK       = cd->cd_NextSoundOK;      SelectAddRoutine( cd->cd_DelayedVolumeLeft,                        cd->cd_DelayedVolumeRight,                        cd->cd_DelayedType,                        audioctrl,                       &cd->cd_DelayedScaleLeft,                       &cd->cd_DelayedScaleRight,           (ADDFUNC**) &cd->cd_DelayedAddRoutine );      cd->cd_DelayedSamples = CalcSamples( cd->cd_DelayedAdd,                                           cd->cd_DelayedType,                                           cd->cd_DelayedLastOffset,                                           cd->cd_DelayedOffset );      /* Enable anti-click routine */      cd->cd_AntiClickCount = audioctrl->ac.ahiac_AntiClickSamples;      if( ( flags & AHISF_NODELAY ) ||           ( cd->cd_AntiClickCount == 0 ) ||           !cd->cd_FreqOK || !cd->cd_SoundOK )      {        cd->cd_StartPointL   = 0;        cd->cd_StartPointR   = 0;        cd->cd_Offset        = cd->cd_DelayedOffset;        cd->cd_FirstOffsetI  = cd->cd_DelayedFirstOffsetI;        cd->cd_LastOffset    = cd->cd_DelayedLastOffset;        cd->cd_DataStart     = cd->cd_DelayedDataStart;        cd->cd_Type          = cd->cd_DelayedType;        cd->cd_SoundOK       = cd->cd_DelayedSoundOK;        cd->cd_ScaleLeft     = cd->cd_DelayedScaleLeft;        cd->cd_ScaleRight    = cd->cd_DelayedScaleRight;        cd->cd_AddRoutine    = cd->cd_DelayedAddRoutine;        cd->cd_Samples       = cd->cd_DelayedSamples;        cd->cd_AntiClickCount = 0;      }      else      {        cd->cd_SoundDelayed = TRUE;      }      cd->cd_EOS = TRUE;  /* Signal End-Of-Sample */    }  }  AHIsub_Enable(&audioctrl->ac);  return 0;}