TASEmulators / BizHawk

BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
http://tasvideos.org/BizHawk.html
Other
2.19k stars 383 forks source link

[NESHawk Request] Mesen's Adaptive Sprite Limit #2364

Open Nix20 opened 4 years ago

Nix20 commented 4 years ago

Mesen has a feature called "Automatically re-enable sprite limit as needed to prevent graphical glitches when possible". The reason I'd like to have it in BizHawk is not to "make the games look better", but to use it for research purposes. Some games use excess sprites for masking effects, as documented in this nesdev page: https://wiki.nesdev.com/w/index.php/Sprite_overflow_games

What I want to do is go through the commercial games library and with such feature, detect which games make use of this behavior through a visual indicator of some sort. Like saying "Sprite Limit Enabled" or "Sprite Limit Disabled" according to each frame. Then expand that incomplete nesdev list and hopefully build a full database of it. Some people have requested such a thing online before, so it could prove useful.

zeromus commented 4 years ago

I really don't like adding code to neshawk for such an obscure experimental purpose. You can just test the games in mesen. a better use of time would be making a mesen core in bizhawk. If you can find the code that does this analysis in mesen, it would be helpful

Nix20 commented 4 years ago

Sure, here is the code: https://github.com/SourMesen/Mesen/commit/d05d66507c0607c105a23403ce9f161ae818464c

zeromus commented 4 years ago

I have no interest in adding that, but maybe someone else will. This is getting very near to "private forks" level and "custom pseudo-NES hardware with features I added for my homebrew" level but I think it's not quite too far. It will probably take brainpower to reimplement in our code.

Nix20 commented 4 years ago

That's fine. Do what you feel like doing.

Question: When you disable the limits in NESHawk, how many sprites are visible at once? It only says "allow more than 8", but I don't know how many exactly.

zeromus commented 4 years ago

All 64? There's no reason to have any limit, really, other than the limit of 8.