Skip to content

The quirks test doesn't test if the non-quirked shift fully works #32

@gulrak

Description

@gulrak

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions