Насколько я помню (могу ошибаться, дело было лет так тридцать назад, в 1993 году), в досе текстовый экранный буфер находится по адресу B800:0000. Там он идет топорно просто - байт символ, байт атрибут, байт символ, байт атрибут. Атрибут - это цвет символа, цвет фона, яркость, мигание. Извращался я будь здоров, помнится.
Во даже чего нашел - структура байта атрибута! Файлик - 1995 года :)
F_BLACK equ 0
F_BLUE equ 1
F_GREEN equ 2
F_CYAN equ 3
F_RED equ 4
F_MAG equ 5
F_BROWN equ 6
F_LGRAY equ 7
F_INTENS equ 8
F_YELLOW equ 0Eh
F_WHITE equ 0Fh
B_BLACK equ 0
B_BLUE equ 10h
B_GREEN equ 20h
B_CYAN equ 30h
B_RED equ 40h
B_MAG equ 50h
B_BROWN equ 60h
B_LGRAY equ 70h
B_BLINK equ 80h