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

ARM9 Caches and PU Emulation #776

Open
poudink opened this issue Oct 1, 2020 · 1 comment
Open

ARM9 Caches and PU Emulation #776

poudink opened this issue Oct 1, 2020 · 1 comment
Labels
timing Timing issue

Comments

@poudink
Copy link

poudink commented Oct 1, 2020

These would be pretty stellar to have for homebrew and romhack developpers.
Now, I'm fully aware of the effects this would have on emulation speed, which is the reason why they aren't implemented, but couldn't they be implemented as an option in the CPU emulation tab of the Emu settings that's disabled by default?
I don't necessarily ask that ARM9 caches be implemented since I'm sure that'd be a lot of work, but there's already a branch with PU emulation implemented. Feel free to close this issue if you don't want to do it, though. I'm sure there are difficulties with adding the feature that I'm not aware of, and I get it if you're reticent to add options that represent speed-accuracy tradeoffs (though I guess JIT and hardware rendering are both kinda like that).
It's just a suggestion on my part, but I think it'd be very nice to have. And who knows, it might fix some of the current timing issues with Sonic Chronicles and stuff.

@RSDuck
Copy link
Member

RSDuck commented Oct 1, 2020

there are quite a few of games which depend on proper cache timings so we can't get around atleast approximating the right timing. I have made one attempt which can be found in the arm9timinghacks branch and it fixes a few games, though it's far from perfect.

For tracking here's a list of all issues which are very likely due to bad arm9 timing:

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

No branches or pull requests

2 participants