我正在为存储我的NES项目的屏幕文件的二进制格式解压算法。 NES屏幕分辨率为260x240。我正在以2x2像素格式创建元贴片。压缩格式将指定应将哪个2x2文件写入屏幕。如何将半字节转换为6502程序集中的值?
我所选择的格式将被写入作为
0000xxxx: right nibble = value of tile 1 - 16
xxxx0000; left nibble = number of times a tile is written on that row 1 - 16
在上述例子中,会告诉导入例程写入瓦片1,16次。
我还没有想出的部分是如何取左半边并将其转换为十六进制。我所面临的同样的问题是,要正确的啃食,并将其用作价值。
我不确定是否有办法使用按位操作来完成此操作。我需要一个有效的方法来做到这一点。
是不是NES 320x240? – alex 2013-02-12 11:53:33
它实际上是256x240。精灵位置寄存器为8位宽,单个名称表为32x30个磁贴。这可能不是256x256,所以有属性表的空间。在Commodore 64的分辨率可以是320x240,精灵位置寄存器有第九位(所有的第九位在他们自己的寄存器中)。 – LawrenceC 2014-12-19 23:45:38