forked from Stewmath/GameYob
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Take into account the cycles spent during the interrupt prologue
- Loading branch information
Showing
4 changed files
with
14 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
63b76fb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey this fixed Megaman's boss intros! But Robocop 2 is broken again. There seems to be a bit of a delay between requesting and executing interrupts, in which time an opcode or 2 can be executed. If I recall correctly, Robocop 2 needs to read 0x90 (or 144) from LY before the Vblank interrupt takes over.
63b76fb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
heh nice :)
In the other comment I've written why Robocop2 wasn't working (tbh it didn't work before too). The vblank kicks in too early.
When GameYob passes blaarg's instr_timings test then I'm sure lots of games will be fixed :)
63b76fb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just noticed, shouldn't this be the last line in handleInterrupts?
return (ime) ? 0 : (20 << doubleSpeed);
An interrupt was triggered if ime has been disabled since entering the function. Either way, MMV still works.
Edit: Unless ime was off in the first place... I guess another variable is needed.
63b76fb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh yeah, right :) that line should be executed before resetting the ime