Как использовать палитры vga - PullRequest
1 голос
/ 08 июля 2020

Я переключился в режим VESA 105h, это режим 256 цветов. Когда я проверил данные палитры с помощью AX = 4F09h, я получил значения, соответствующие цветам, отображаемым на экране.

Когда я переключил режим на 118h, цветовой режим 16.8M, я проверил таблицу палитры и те же значения сохраняются, хотя отображаемые цвета разные.

Как мне получить данные палитры для нового режима, в который я переключился? Или, может быть, я неправильно понимаю всю концепцию. Может ли кто-нибудь объяснить мне, как получить значения палитры для определенного режима c?

1 Ответ

4 голосов
/ 09 июля 2020

Для 256 цветов указывается только 8-битный индекс цвета. цвет, который будет отображаться, затем ищется в цветовой палитре.

Но 118h - это 24-битный цветовой режим, и здесь он немного отличается: здесь не используются цветовые палитры, значение цвета задается непосредственно как 24-битное значение (8 бит для красного компонента, 8 бит для зеленого компонента и 8 бит для синего компонента). Можно также сказать, что значения, которые ранее были в цветовой палитре, теперь записываются непосредственно в экранный буфер.

...