5. 在 m68k 平台上使用帧缓冲设备

5.1. Atari 平台

本节描述 Atari 平台上的帧缓冲选项

5.1.1. 有哪些模式可用?

表 2. Atari 模式

位深320x200320x480640x200640x400640x480896x6081280x960
1 位   sthighvga2falh2tthigh
2 位  stmid vga4  
4 位stlow   ttmid/vga16falh16 
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 显示。

5.1.2. 附加子选项

video=xxx 参数有许多可用的子选项

  • inverse - 反转显示,使背景/前景颜色反转。通常背景是黑色,但使用此子选项,它会设置为白色。

  • font - 设置文本模式下使用的字体。目前您只能选择 VGA8x8、VGA8x16、PEARL8x8。默认情况下,如果显示器的垂直尺寸小于 400 像素,则仅使用 VGA8x8,否则默认为 VGA8x16。

  • internal - 一个非常有趣的选项。有关信息,请参阅下一节。

  • external - 如上所述。

  • monitorcap - 描述多频显示器的功能。不要与固定同步显示器一起使用!

5.1.2.1. 使用 suboption 子选项

语法:internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

此选项指定一些扩展的内部视频硬件的功能,即 OverScan 模式。(xres) 和 (yres) 给出了屏幕的扩展尺寸。

如果您的 OverScan 模式需要黑色边框,您需要写入 internal: 子选项的最后三个参数。(xres_max) 是硬件允许的最大行长度,(yres_max) 是最大行数,(offset) 是屏幕内存的可见部分相对于其物理起点的偏移量,以字节为单位。

通常,扩展的内部视频硬件必须被激活,为此您将需要 "switches=*" 选项。[注意:作者希望获得有关此的更多信息,请。内核中的 m68k 文档对此点不够清楚,并且他没有 Atari!示例也会有所帮助]

5.1.2.2. 使用 suboption 子选项

语法: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,则取决于视频板的初始化。

5.2. Amiga 平台

本节描述 Amiga 的选项,这些选项与 Atari 平台的选项非常相似

5.2.1. 有哪些模式可用?

这取决于 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

5.2.2. 附加子选项

这些与 Atari 子选项类似。它们是

  • depth - 指定像素位深

  • inverse - 执行与 Atari 子选项相同的事情

  • font - 执行与 Atari 子选项相同的事情,尽管如果显示尺寸小于 400 像素宽,则使用 PEARL8x8 字体而不是 VGA8x8 字体。

  • monitorcap - 指定多频显示器的功能。不要与固定同步显示器一起使用

5.2.3. 支持的 Amiga 图形扩展板

  • Phase5 CyberVision 64 (S3 Trio64 芯片组)

  • Phase5 CyberVision 64 3D (S3 ViRGE 芯片组)

  • MacroSystems Retina Z3 (NCR 77C32BLT 芯片组)

  • Helfrich Piccolo, SD64, GVP ECS Spectrum, Village Tronic Picasso II / II+ 和 IV (Cirrus Logic GD542x / 543x 芯片组)

5.2.4. Macintosh 平台

目前,帧缓冲设备实现仅支持在启动到 Linux 之前在 MacOS 中选择的模式,并且还支持 1、2、4 和 8 位颜色模式。

帧缓冲子选项使用以下语法选择

video=macfb:<font>:<inverse>

您可以选择诸如 VGA8x8、VGA8x16 和 6x11 等字体。inverse 选项允许您使用反色视频。