code: public void clock() {
  		// No operation if test bit is set.
  		if (test != 0) {
  			return;
  		}
  
  		int /* reg24 */accumulator_prev = accumulator;
  
  		// Calculate new accumulator value;
  		accumulator += freq;
  		accumulator &= 0xffffff;
  
  		// Check whether the MSB is set high. This is used for synchronization.
  		msb_rising = !((accumulator_prev & 0x800000) != 0)
  				&& ((accumulator & 0x800000) != 0);
  
  		// Shift noise register once for each time accumulator bit 19 is set
  		// high.
  		if (!((accumulator_prev & 0x080000) != 0)
  				&& ((accumulator & 0x080000) != 0)) {
  			int /* reg24 */bit0 = ((shift_register >> 22) ^ (shift_register >> 17)) & 0x1;
  			shift_register <<= 1;
  			shift_register &= 0x7fffff;
  			shift_register |= bit0;
  		}
  	}
docs: SID clocking - 1 cycle.