Skip to content

Quirks #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
ivan-pi opened this issue Jun 8, 2023 · 1 comment
Open

Quirks #7

ivan-pi opened this issue Jun 8, 2023 · 1 comment

Comments

@ivan-pi
Copy link
Owner

ivan-pi commented Jun 8, 2023

Over the years, CHIP-8 emulators have accumulated different "quirks" or differences in the way certain instructions are supposed to behave.

More information is available at:

We could introduce a bitmask or individual flags for the quirks which are checked at runtime in each emulator cycle, or we could implement different sub-interpreters (e.g. classic CHIP8, S-CHIP, XO-CHIP, etc.). The performance penalty should be negligible thanks to CPU branch predictors.

Sketch (taken from here):

type :: quirks
    logical :: VfReset
    logical :: Memory
    logical :: DisplayBlank
    logical :: Clipping
    logical :: Shifting
    logical :: Jumping
end type
@ivan-pi
Copy link
Owner Author

ivan-pi commented Jun 8, 2023

A related project to document the quirks of different games out in the wild is found here: https://github.com/chip-8/chip-8-database

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant