我正在为我的NES项目编写一个二进制格式的解压算法,用于存储屏幕文件。NES屏幕分辨率为260x240。我正在创建2x2像素格式的元瓷砖。压缩格式将指定应该写入屏幕的哪些2x2文件。
我选择的格式将被写成:
0000xxxx: right nibble = value of tile 1 - 16
xxxx0000; left nibble = number of times a tile is written on that row 1 - 16
在上面的例子中,11110001会告诉导入程序写入1号图块16次。
我还没有想出如何将左边的半字节转换为十六进制。 我遇到的同样问题是如何将右边的半字节用作值。
我不确定是否可以使用位运算符来解决这个问题。 我需要一种有效的方法来解决这个问题。