serial driver implemented in registers - broken