chip8-test-suite
chip8-test-suite copied to clipboard
The quirks test doesn't test if the non-quirked shift fully works
The quirks test lets half-way correct non-quirk shift opcodes through.
The following (wrong) 8xy6 implementation:
auto flag = (vx & 0b00000001);
vx = vy >> 1;
vf = flag;
and a similar one for 8xyE:
auto flag = vx >> 7;
vx = vy << 1;
vf = flag;
will pass the flags and the quirks test, the flags test because there all uses a with the same register for x and y, and the quirks test doesn't seem to verify the flag working, but it sure would be helpful if it did and report an error (similar to the clipping checks).