Use the new function-global busy flags and set thing up so that negative offset mean earlier in time.

Signed-off-by: Andy Pugh <andy@bodgesoc.org>