Skip to content

(NESHawk) Implement OAM decay #4569

@getCursorsExe

Description

@getCursorsExe

On the NES, OAM is implemented using dynamic RAM rather than static RAM. This causes OAM to slowly decay into random data if not refreshed.

NESHawk does not emulate this. This is a problem because it is possible to create a test ROM that can detect emulators because of this. This also means it is possible to create a homebrew game that will not run on most emulators, making them unTASable.

As this effect is unpredictable and happens at inconsistent times, I suggest adding the option to enable them, as well as the seed and decay rate (as sync settings of course).

More info about it here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Core: NesHawkNintendo Entertainment System (NES) / Famicom / Famicom Disk System (FDS) coreInaccuracyAffects accuracy of emulation

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions