我一直在关注本教程:http://www.codeslinger.co.uk/pages/projects/chip8.html尝试制作Chip-8模拟器,但我不了解Draw操作码。链接的教程说要制作一个64 x 32字节数组来保存屏幕数据,我在其他地方也看到过相同的内容。
我的问题是,图形是逐位绘制的,而不是逐字节绘制的。例如,对这个问题的解释How does CHIP 8 graphics rendered on screen?表示每个字节包含8个像素的精灵数据。如果每个字节包含8个像素,并且屏幕是64 x 32像素,并且在我看到的所有Chip-8仿真器和教程中都有64 x 32字节屏幕,这是否意味着每个像素由8个像素组成?此外,由于像素实际上只是按行绘制,这意味着屏幕真的是(64 * 8)x 32.这只是没有意义,我找不到其他人问这个问题
答案 0 :(得分:2)
Chip8只有黑色和白色两种颜色。因此,每个像素可以用一个比特来表示。屏幕尺寸为64像素乘32像素。因此屏幕可以表示为64位* 32位(8字节* 4字节)。
如果我想绘制一条直线,精灵数据将如下所示:
11111111
或视觉上:
********
虚线看起来像这样:
11011011
** ** **