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

VIF: Correct DMA stall for VIF1 MFIFO - Improve IPU Core/DMA call flow #9951

Merged
merged 4 commits into from
Sep 17, 2023

Conversation

refractionpcsx2
Copy link
Member

@refractionpcsx2 refractionpcsx2 commented Sep 12, 2023

Description of Changes

Correct the DMA Stall for VIF MFIFO, correctly delay GIF FINISH interrupts
Improve IPU Core/DMA call flow

Rationale behind Changes

The DMA Stall was pointing to normal VIF so this would have hung in some situations, especially when using Instant DMA.
GIF FINISH was being set immediately, so any games which were watching for the interrupts could have started processing it too early.
For IPU the timing of the DMA's is just gross and it was getting messy, so I've attempted to clean this up somewhat and make it make more sense to how the rest of the emulator works.

Suggested Testing Steps

Nothing specific (Except Batman Begins FMVs), just test stuff, if you know what games use MFIFO and FINISH then you're certainly going to be able to target things well :P I can't think of a list of games off-hand though. Also test random FMV's, make sure they work as well as they did.

Savestate bump, sorry

@refractionpcsx2 refractionpcsx2 changed the title VIF: Correct DMA stall for VIF1 MFIFO VIF: Correct DMA stall for VIF1 MFIFO - Improve IPU Core/DMA call flow Sep 14, 2023
@github-actions github-actions bot added the IPU label Sep 14, 2023
@refractionpcsx2 refractionpcsx2 merged commit 1f0a91c into master Sep 17, 2023
@refractionpcsx2 refractionpcsx2 deleted the dma_miscfixes branch September 17, 2023 13:52
@JWatersMeet
Copy link

Fixes stuttering/frame-pacing in Taiko no Tatsujin intro video.

@refractionpcsx2
Copy link
Member Author

ah nice! Thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants