Cramed in a RAM read-back checksum test.

Moved around some stuff and started to use some less tidy ASM
to make everything fit. Broke away rom.S abstraction and moved
UART functions to uart.S.

Checksum changed to be CKSUM = (ADDR+4) ^ DATA