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
JIT: implement timer support in mtspr #840
Conversation
| // redundant for the JIT. | ||
| u32 registersInUse = RegistersInUse(); | ||
| u32 offset = js.downcountAmount / SystemTimers::TIMER_RATIO; | ||
| ABI_PushRegistersAndAdjustStack(registersInUse, false); |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
cd0e2a2
to
a24c9ea
Compare
|
I know there's some coding style stuff, but this makes Nintendo Puzzle Collection much faster. |
|
LGTM |
Faster, of course, since we avoid the interpreter, but also means we can get more a more accurate timer in long blocks by adding the offset from the start of the block to the retrieved timer. I don't know if this will actually fix any issues, but it's more correct and a nearly-free improvement.
Combined with the previous patch, ~1% faster overall on F-Zero GX.
a24c9ea
to
6875d91
Compare
|
@FioraAeterna: This comment grants you the permission to merge this pull request whenever you think it is ready. After addressing the remaining comments, click this link to merge. @dolphin-emu-bot allowmerge |
JIT: implement timer support in mtspr
|
This PR has broken Karaoke Revolution Party (GK9EA4). From this commit, the game crashes to desktop. The fix in PR #959 causes the game to black screen at the menu. The game works under JITIL and JIT will work if the interpreted version of mfspr is used. |
Faster, of course, since we avoid the interpreter, but also means we can
get more a more accurate timer in long blocks by adding the offset from the
start of the block to the retrieved timer. I don't know if this will actually
fix any issues, but it's more correct and a nearly-free improvement.