大家好,基本上我正在创建一个chip8模拟器,但我在实现绘图指令时遇到了一些麻烦。芯片 8 的屏幕为 64x32 我有一个大小为 32 的 uint64_t 数组。芯片 8 使用单色显示,其中每个位是该像素是打开还是关闭。所以现在我遍历该数组以获取该 64 位行。问题是我只想对与 xcordinate 及其之后的 8 位进行异或运算。不是整个 64 位行,只是 xcordinate 和它之后的 7 位以及我拥有的精灵字节。
到目前为止,这是我的代码。
for(int i = 0; i < num_bytes; i++)
{
byte byte_to_draw = memory[registers->I + i];
for(int j = 0; j < 8; j++)
{
// 64 bit number each bit representing on or off
uint64_t current_row = screen[register_value_y - i];
// I want to xor here
}
}