I did little write-up on how to do it efficiently (DMA etc) on PIC32: https://hackaday.io/project/173682-color-ascii-terminal/log/...
See for instance https://github.com/SVatG/JupiterAndBeyond.
See for instance https://github.com/SVatG/JupiterAndBeyond.