Double buffering

Signed-off-by: Paul Brook <paul@nowt.org>