我刚开始在复古游戏区开发 c64。
我想知道为什么在 c65 上一个字符是 8 个字节,但是像现代 Web 开发这样的其他任何东西,比如在 php 中,一个字符只有 1 个字节
这与 c64 显示器的工作方式有关吗?它需要所有数据才能在屏幕上生成角色吗?
我刚开始在复古游戏区开发 c64。
我想知道为什么在 c65 上一个字符是 8 个字节,但是像现代 Web 开发这样的其他任何东西,比如在 php 中,一个字符只有 1 个字节
这与 c64 显示器的工作方式有关吗?它需要所有数据才能在屏幕上生成角色吗?
你不是在做一个苹果对苹果的比较。
C64 上的一个字符占用一个字节,就像现代系统一样(这里简化一下;我不确定 unicode 字符的大小)。但出于显示目的,有许多选项:
这些不是精灵。在普通情况下,您可以拥有 8 个精灵并控制它们的位置,覆盖在位图(或基于文本)显示的顶部。Sprite 分辨率(即 2 色或多色)遵循与位图图形的高分辨率或多色分辨率相同的逻辑。
您必须考虑“字符图形数据”与“文本数据”
Arial true type 字体为 756kb,包含 3,988 个字符的数据:每个字符大约 194 个字节
PC 标准 ASCII 文本文件 = 每个字符 1 个字节 = 128 个总字符中的任意 1 个(第 8 位未使用)。文本文件本身不存储实际字符,只是对它们的引用。
c64 使用称为 PETSCII 的字符集,该字符集源自 ASCII,具有两种模式:大写和小写以及大写和图形字符。它们每个只有 128 个字符,外加 128 个反转版本。所以每个集合/模式有 255 个字符,所以 PETSCII 文本文件(如果有这样的东西?)每个字符也将是 1 个字节(我猜你可以使用第 8 位来定义反向开/关?不确定! )。字符本身在内存中使用 8 个字节来定义光栅 8x8 图形:比 PC 字体少得多的数据。