C64 字符大小

问题描述

我刚刚开始在复古游戏区开发 c64。

我想知道为什么在 c65 上,一个字符是 8 个字节,而在现代 Web 开发中,例如在 PHP 中,一个字符只有 1 个字节

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

解决方法

您不是在进行苹果与苹果的比较。

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 个精灵并控制它们的位置,覆盖在位图(或基于文本)显示的顶部。 Sprite 分辨率(即 2 色或多色)与位图图形的高分辨率或多色分辨率遵循相同的逻辑。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...