readByte returns a signed byte. I assume you want `& 0xff` on that?