Semi-rotary drive