本节描述 Atari 平台上的帧缓冲选项
表 2. Atari 模式
位深 | 320x200 | 320x480 | 640x200 | 640x400 | 640x480 | 896x608 | 1280x960 |
---|---|---|---|---|---|---|---|
1 位 | sthigh | vga2 | falh2 | tthigh | |||
2 位 | stmid | vga4 | |||||
4 位 | stlow | ttmid/vga16 | falh16 | ||||
8 位 | ttlow | vga256 |
ttlow、ttmid 和 ttmhigh 仅在 TT 上使用,而 vga2、vga4、vga16、vga256、falh3 和 falh16 仅在 Falcon 上使用。
当与内核选项 video=xxx 一起使用,且没有给出子选项时,内核将按以下顺序探测模式,直到找到与给定硬件兼容的模式
ttmid
tthigh
vga16
sthigh
stmid
如果您不希望自动探测所需的模式,您可以指定您希望使用的特定模式。例如,video=vga16 将为您提供 4 位 640x480 显示。
video=xxx 参数有许多可用的子选项
inverse - 反转显示,使背景/前景颜色反转。通常背景是黑色,但使用此子选项,它会设置为白色。
font - 设置文本模式下使用的字体。目前您只能选择 VGA8x8、VGA8x16、PEARL8x8。默认情况下,如果显示器的垂直尺寸小于 400 像素,则仅使用 VGA8x8,否则默认为 VGA8x16。
internal - 一个非常有趣的选项。有关信息,请参阅下一节。
external - 如上所述。
monitorcap - 描述多频显示器的功能。不要与固定同步显示器一起使用!
语法:internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]
此选项指定一些扩展的内部视频硬件的功能,即 OverScan 模式。(xres) 和 (yres) 给出了屏幕的扩展尺寸。
如果您的 OverScan 模式需要黑色边框,您需要写入 internal: 子选项的最后三个参数。(xres_max) 是硬件允许的最大行长度,(yres_max) 是最大行数,(offset) 是屏幕内存的可见部分相对于其物理起点的偏移量,以字节为单位。
通常,扩展的内部视频硬件必须被激活,为此您将需要 "switches=*" 选项。[注意:作者希望获得有关此的更多信息,请。内核中的 m68k 文档对此点不够清楚,并且他没有 Atari!示例也会有所帮助]
语法:external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]
这非常复杂,因此本文档将尝试尽可能清楚地解释,但作者将不胜感激如果有人能查看一下,看看他是否搞砸了什么!:o)
此子选项指定您拥有外部视频硬件(很可能是一块图形卡),以及如何在 Linux 中使用它。内核基本上受限于它对内部视频硬件的了解,因此您必须提供它需要的参数,以便能够使用外部视频硬件。有两个限制:您必须在启动前切换到该模式,并且一旦启动,您就无法更改模式。
前三个参数是显而易见的;给出屏幕的尺寸,分别为像素高度、宽度和位深。提供的位深应该是颜色数的 2^n,即所需平面的数量。例如,如果您希望使用 256 色显示,则需要将位深设置为 8。但这取决于外部图形硬件,因此您将受到硬件功能的限制。
在此基础上,您还需要告诉内核视频内存是如何组织的 - 提供一个字母作为 (org) 参数
n - 使用普通平面,即一个完整的平面接一个平面
i - 使用交错平面,即第一个平面的 16 位,然后是下一个平面的 16 位,依此类推。只有内置的 Atari 视频模式使用此模式 - 并且没有图形卡支持此模式。
p - 使用打包像素,即连续的位代表一个像素的所有平面。这是图形卡上 256 色显示最常用的模式。
t - 使用真彩色,即这实际上是打包像素,但不需要像其他打包像素模式那样使用颜色查找表。这些模式通常是 24 位显示,并提供 1680 万种颜色。
然而,对于单色模式,(org) 参数具有不同的含义
n - 使用正常颜色,即 0 = 白色,1 = 黑色
i - 使用反转颜色,即 0 = 黑色,1 = 白色
关于视频硬件的下一个重要项目是视频内存的基地址。这由 (scrmem) 参数以十六进制数形式给出,并带有 0x 前缀。您需要从外部视频硬件随附的文档中找到此信息。
下一个参数 (scrlen) 告诉内核视频内存的大小。如果它缺失,则根据 (xres) 和 (depth) 参数计算得出。无论如何,现在在这里写入值没有用。要留空此项,如果您需要提供 (vgabase) 参数,则给出两个连续的分号,否则,只需将其留空即可。
(vgabase) 参数是可选的。如果未给出,内核无法读取/写入视频硬件的任何颜色寄存器,因此您必须在启动 Linux 之前设置适当的颜色。但是如果您的卡与 VGA 兼容,您可以为其提供它可以找到 VGA 寄存器组的地址,以便它可以更改颜色查找表。此信息可以在您的外部视频硬件文档中找到。为了清楚起见,(vgabase) 是基地址,即 4k 对齐的地址。为了读取/写入颜色寄存器,内核使用 (vgabase) + 0x3c7 和 (vgabase) + 0x3c9 之间的地址范围。此参数以十六进制给出,并且必须具有 0x 前缀,就像 (scrmem) 一样。(colw) 仅在指定 (vgabase) 参数时才有意义。它告诉内核每个颜色寄存器的宽度,即每个单色(红/绿/蓝)的位数。默认通常为 6 位,但指定 8 位也很常见。
(xres_virtual) 仅在 ProMST/ET4000 卡上需要,其中物理行长与可见长度不同。对于 ProMST,您需要提供 2048,而对于 ET4000,则取决于视频板的初始化。
本节描述 Amiga 的选项,这些选项与 Atari 平台的选项非常相似
这取决于 Amiga 中使用的芯片组。主要有三种:OCS、ECS 和 AGA,它们都使用彩色帧缓冲。
NTSC 模式
ntsc - 640x200
ntsc-lace - 640x400
PAL 模式
pal - 640x256
pal-lace - 640x512
ECS 模式 - 在 ECS 芯片组上为 2 位颜色,仅在 AGA 芯片组上为 8 位颜色
multiscan - 640x480
multiscan-lace - 640x960
euro36 - 640x200
euro36-lace - 640x400
euro72 - 640x480
euro72-lace - 640x800
super72 - 800x300
super72-lace - 800x400
dblntsc - 640x200
dblpal - 640x256
dblntsc-ff - 640x400
dblntsc-lace - 640x800
dblpal-ff - 640x512
dblpal-lace - 640x1024
VGA 模式 - 在 ECS 芯片组上为 2 位颜色,在 AGA 芯片组上为 8 位颜色
vga - 640x480
vga70 - 640x400
这些与 Atari 子选项类似。它们是
depth - 指定像素位深
inverse - 执行与 Atari 子选项相同的事情
font - 执行与 Atari 子选项相同的事情,尽管如果显示尺寸小于 400 像素宽,则使用 PEARL8x8 字体而不是 VGA8x8 字体。
monitorcap - 指定多频显示器的功能。不要与固定同步显示器一起使用