1.8 Protocol Update

Do not merge yet!
It's only for other coders to review the current code.
You're assuming two's complement. You really what an unsigned short method.