Added REN register access.
Moved some definitions around.
Removed validatePort - it wasn't very helpful.
Added control of function select register.
Moved things around.