If vm->hactive is > 255 it will be cut off since according to the reference manual only the lower 16bit of this register
Scratch the first part please. It's a 16 bit register not an 8 bit one so it can hold values up to 65535.
The non-continous clock mode part is still unclear to me though.