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

Improve interrupt handing in mb88xx #11868

Merged
merged 2 commits into from Dec 25, 2023
Merged

Conversation

hackbar
Copy link
Contributor

@hackbar hackbar commented Dec 22, 2023

This deals with the interrupt handler a little better, and fixes Arabian bugs caused by mb88xx bugs.

I tested it with the other games that use that chip, and didn't see any regressions. Most importantly, none in bosco sound. The 54xx in bosco seem especially sensitive to interrupt races, causing the pitch of shots to be wrong.

Should fix https://mametesters.org/view.php?id=8436 & https://mametesters.org/view.php?id=3916

This matches the flag IF as listed in the datasheet.
The datasheet doesn't mention this, but is pretty light on interrupt
details. It does say "nesting level" is "single level" on page 1-26,
which could be this behavior.

The previous behavior to always clear the int enable bit seems to be
wrong, so remove it.
@cuavas cuavas merged commit 2a7298b into mamedev:master Dec 25, 2023
5 checks passed
@cuavas
Copy link
Member

cuavas commented Dec 25, 2023

Can some people give this a spin? This is an area that’s been fraught with issues over the years.

einstein95 pushed a commit to einstein95/mame that referenced this pull request Mar 2, 2024
…cleared by RTI. (mamedev#11868)

Suppressing nested interrupts appears to fix issues in Arabian (MT03916 and MT08436).

Also renamed m_nf to m_if to match the datasheet.
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.

None yet

2 participants