Fixed the problem with the text color.  I wasn't writing to the color registers REG[60h-65h] correctly, I forgot that not all the bits in each register are used, so you have to shift them over.