如何使用 vga 调色板

How to use vga palettes

我切换到 VESA 模式 105h,这是一种 256 色模式。当我使用 AX = 4F09h 检查调色板数据时,我得到了与屏幕上显示的颜色相匹配的值。

当我将模式切换到 118h(一种 16.8M 颜色模式)时,我检查了调色板 table,尽管显示的颜色不同,但相同的值仍然存在。

如何获取切换到的新模式的调色板数据?或者,也许我没有把整个概念弄对。有人可以向我解释如何获取特定模式的调色板值吗?

对于 256 种颜色,仅指定了 8 位颜色索引。然后在调色板中查找要显示的颜色。

但是118h是一个24位的位色模式,那里有点不同:那里没有使用调色板,颜色值直接作为24位值给出(8位用于红色分量,8 位用于绿色分量,8 位用于蓝色分量)。也可以说以前在调色板中的值现在直接写入屏幕缓冲区。