Full picture
4

视频模式

4.1 概述

Zeal Video Board 支持多种视频模式,可通过 VIDEO_MODE 寄存器进行配置。这些模式在分辨率、色深、图层和精灵支持之间提供了良好的平衡,让您能够创建出色的视觉效果,同时保持系统的可管理性。

请注意,256 色调色板由所有视频模式共享。有关详细信息,请参阅调色板内存章节

4.2 支持的视频模式

模式 名称 分辨率 色深 图层 精灵 备注
0 Text 640 640×480 1bpp* 单文本层 屏幕上 80×40 字符,每个 8×12 像素
1 Text 320 320×240 1bpp* 单文本层 在 80×40 网格上显示 40×20 字符视口
2 Bitmap 256 256×240 8bpp 仅位图 边框补偿缺失像素
3 Bitmap 320 320×200 8bpp 仅位图 边框补偿缺失像素
4 GFX 640 8-bit 640×480 8bpp 2 层(BG+FG) 最多 128 个 前景支持透明度
5 GFX 320 8-bit 320×240 8bpp 2 层(BG+FG) 最多 128 个 640×480 的缩放视口
6 GFX 640 4-bit 640×480 4bpp 1 层(BG+attr) 最多 128 个 每个图块独立调色板,精灵不可置于 FG 后
7 GFX 320 4-bit 320×240 4bpp 1 层(BG+attr) 最多 128 个 640×480 的缩放视口

* 在文本模式下,每个字符的位图为每像素 1 位(前景/背景)。然而,前景色和背景色使用 layer1 tilemap 作为颜色属性,从全局调色板的前 16 项中按字符映射。

4.3 缩放与视口

所有 320×240 模式实质上是对应 640×480 模式的缩放视图。视频板内部维护完整的 640×480 布局(针对 tilemap 或位图),但通过水平和垂直复制像素,仅输出 320×240 的窗口。这种缩放产生了视口效果,滚动可以让您在完整的 640×480 内容上平移。

4.4 文本模式(0 和 1)

  • 内部以 80×40 图块网格排列 8×12 像素字符。
  • 在 **640×480 模式(Text 640)**下,所有 80×40 个字符均可见。
  • 在 **320×240 模式(Text 320)**下,仅显示 40×20 个字符的视口,可在完整的 80×40 网格上滚动。
  • 滚动粒度为基于字符(8×12 像素)。
  • 仅有一个文本层。该层使用 tilemap 的 layer1 作为颜色属性(参阅Tilemap 内存章节)。
  • 在文本模式下不渲染精灵,图块集和精灵内存未使用。
  • 使用全局调色板的前 16 项。

4.5 GFX 8 位模式(4 和 5)

  • 两个图形层处于激活状态:
    • 背景(layer0
    • 前景(layer1),支持透明度(颜色索引 0 为透明)。
  • 图块大小为 16×16 像素,在 640×480 下排列为 40×30 个图块,在 320×240(缩放)下为 20×15 个图块。
  • 精灵使用相同的 8 位颜色图块集,可为 16×16 或 16×32 像素。
  • 所有精灵可以同时显示,按索引堆叠:精灵 0 在底层,精灵 127 在顶层。
  • 精灵支持 X 轴和 Y 轴翻转,可以渲染在前景层之上或之下。
  • 滚动具有像素级粒度(参阅屏幕滚动章节)。
  • 在这些模式下,图块不能进行 X 或 Y 翻转。
  • 图块和精灵共享 64KB 全局图块集内存,最多可使用 256 个图块(每个 16×16,8bpp)。

4.6 GFX 4 位模式(6 和 7)

  • 仅有一个图形层(layer0)用于图块。原先的前景层(layer1)被重新用于图块属性,例如调色板选择。
  • 每个图块从 16 个调色板中选择一个,每个调色板包含 16 种颜色。
  • 图块大小仍为 16×16 像素,但每个图块现为 4bpp(128 字节),因此图块集内存最多可容纳 512 个图块。
  • 精灵现在也是 4bpp,并从可用的 16 个调色板中选择其调色板。
  • 精灵支持 X 和 Y 翻转,但不能放置在前景层之后,因为该层已不再可用。
  • 滚动 X 和 Y 具有像素级粒度(参阅屏幕滚动章节)。
  • 缩放和图块数量与 8 位模式相同。

4.7 位图模式(2 和 3)

  • 图块集内存被重新用作包含原始 8bpp 像素的线性帧缓冲。
  • 位图分辨率为 256×240 或 320×200(带边框的 320×240)。选择 256×240 是刻意为之,以便在 8 位 CPU 上进行高效寻址(乘以 256 即左移 8 位)。
  • 在这些模式下不使用或渲染 tilemap 或精灵。
  • 显示边框以补偿这些分辨率下缺失的像素。
  • 像素通过全局调色板,并受 scroll X 和 Y 值影响,可产生有趣的效果。
  • 精灵和 tilemap 内存未使用,且不渲染精灵。
EN | 中文Beta