Updated: forgot to mask out some bits from the first attribute byte written, so it was incorrectly spacing and adjusting ‘!’ depending on which font you used.