The current code breaks down currently for some NANDs (in particular Chinese and Korean NANDs) due to making some faulty assumptions. Instead of adding more code to handle these edge cases, I'm just opting to reduce the "Clear NAND" transfer to only the minimum core apps (System Menu, System Settings, and the various non-executable data files). With 51d92d328e (and later commits) if the user really wants to use these "fun" system apps for a movie (where Clear NAND is forced) they can do so by directly loading them as ROMs.
This is more just to reject more ROMs that quickerNES cannot run (as it runs under simple iNES assumptions and can't handle complicated cases)
Also resolves#4402 (quickerNES won't be accepting any NES 2.0 ROM indicating it needs PAL or Dendy timing)
This reverts commit 83098604fa.
Caused EmuHawk to hang after some minutes of running emulation, on
Ubuntu (Mono 6.8.0.105) and I think NixOS (Mono 6.12.0.182).
The value will now be passed to the frontend for read callbacks and both read and write callbacks' values can now be changed in the callback.
execute would probably be possible but would require some additional code changes which I'm not sure about
I was unable to make it launch with full vision on the very first frame unless it's set during init. which means there will be savestate problems if we allow switching this on the fly. setting it on init only is probably fine too.
initially I read the code wrong. `demo_compatibility` means vanilla complevel, not "demo is running". for vanilla hitting 1 would switch to first only if you have berserk, otherwise it'd stick to chainsaw (provided you have it of course). that part was working ok. but for boom compat hitting 1 swaps fist and chainsaw at all times, and that part was broken: chainsaw would not get selected even if you have it.
pass button values directly (same can be done for arti)