我正在研究一种二进制格式的解压缩算法,它为我的 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将告诉导入例程写入 tile 1,16 次。
我还没有弄清楚的部分是如何取左半字节并将其转换为十六进制。我遇到的同样问题是取正确的半字节并将其也用作值。
我不确定是否有办法使用按位运算来做到这一点。我需要一种有效的方法来做到这一点。