C64 字符大小

Gle*_*ins 0 c64

我\xe2\x80\x99刚刚开始在复古游戏领域开发c64。

\n

我\xe2\x80\x99m想知道为什么在c65上一个字符是8个字节,但在现代Web开发中,比如在php中,一个字符只有1个字节

\n

这与 c64 显示的工作原理有关吗?它需要所有数据来生成屏幕上的角色吗?

\n

ten*_*dim 5

您没有进行同类比较。

C64上的一个字符占用一个字节,就像现代系统一样(这里简化;我不确定unicode字符的大小)。但出于显示目的,有多种选择:

  • 常规文本模式屏幕为 25 行 x 40 个字符,即 1,000 字节。当您将一个字节写入某个位置(例如,[5,2],即第 5 行第 2 列)时,系统将显示该单个字符。
  • 在位图设置中,您可以使用高分辨率(200 行 x 320 列)或多色分辨率(200 行 x 160 列);这两者的区别在于,在高分辨率下,每 8 列只能有两种颜色(即打开或关闭状态),但在多色中,您可以有四种颜色(通过允许每个“列”由 2 表示)位,并且使用 2 位可以有四种状态)。在这两种模式下,您大约需要 8k 内存(准确地说是 8000 字节)。使用位图图形时,您会将每个字符“绘制”到屏幕上,这将需要每个字符 8 个字节(因为 C64 上的普通字体是 8x8 像素,相当于 8 个字节)。

这些不是精灵。在普通情况下,您可以拥有 8 个精灵并控制它们的位置,覆盖在位图(或基于文本)显示的顶部。精灵分辨率(即 2 色或多色)遵循与位图图形的高分辨率或多色分辨率相同的逻辑。