Added comments and removed 32 bit mode since it was really just a shifted 16 bit version