Skip to content
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

Increase frequency of Interrupts/DMA instance checks during scanline #263

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

andymcca
Copy link

This resolves issue #224. All games in this issue (all from the same developer) generate a high number of DMA/IRQ requests per scanline relative to other games. Theory is that the default frequency (about once or twice per scanline) isn't enough for these to be fired in a timely fashion for these games, resulting in the graphics corruption reported in the issue.

This PR significantly reduces the number of cycles that are run before update_gba is called to check for DMA/IRQ status, which resolves the corrupted graphics. Casual testing with other games hasn't shown any side affects but full impact testing with other games will be needed.

This resolves issue libretro#224.  All games in this issue (all from the same developer) generate a high number of DMA/IRQ requests per scanline relative to other games.  Theory is that the default frequency (about once or twice per scanline) isn't enough for these to be fired in a timely fashion for these games, resulting in the graphics corruption reported in the issue.

This PR significantly reduces the number of cycles that are run before update_gba is called to check for DMA/IRQ status, which resolves the corrupted graphics.  Casual testing with other games hasn't shown any side affects but full impact testing with other games will be needed.
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

Successfully merging this pull request may close these issues.

1 participant