-
Notifications
You must be signed in to change notification settings - Fork 5
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
Cycle calculation errors #5
Comments
Same problem is also present in JS version of the emulator. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It appears that cycle count constants are not correct.
Consulting this reference, all of the branch instructions take 2cy, +1 if branch occurs on the same page, and +2 if branch occurs on different page. Yet in the emulator most of the branch instructions are set to 4cy (except BVS 3cy), and +1 if the branch occurs. Page checking is not accounted.
Consulting the same reference LDA oper,X takes 4cy, +1 if page boundary is crossed, yet the emulator consumes 5cy regardless of crossing page boundary.
and
(excluding LDX) both consume 5cy in the emulator, regardless of first not crossing the page boundary.
Same issue is also present with LDA oper,Y
The text was updated successfully, but these errors were encountered: