TASEmulators / TASEmulators/BizHawk

[NESHawk Request] Mesen's Adaptive Sprite Limit

Open
#2,364 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Core: NesHawk Request: Feature/Enhancement
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No BizHawk file, test, or entry point is named. Begin by studying Mesen’s adaptive sprite-limit behavior and the linked nesdev description of sprite-overflow games, then locate the BizHawk NES core and UI areas responsible for the sprite limit and per-frame status. Done means the adaptive behavior works for research and visibly indicates whether the limit is enabled or disabled on each frame.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.