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

Timing is wrong #47

Closed
LemonBoy opened this issue Apr 5, 2013 · 5 comments
Closed

Timing is wrong #47

LemonBoy opened this issue Apr 5, 2013 · 5 comments
Labels

Comments

@LemonBoy
Copy link
Contributor

LemonBoy commented Apr 5, 2013

I've spent some time debugging Robocop2, it has a huge loop @ 0x3E7 that is too slow if compared to hardware. This makes the vblank fire in the middle of it and jump to some HRAM address with uninitialized memory which is supposed to contain a stub for starting a dma transfer, which is copied in by the game @ 0x157, right after the loop.

@Stewmath
Copy link
Owner

Stewmath commented Apr 5, 2013

I've noticed a similar phenomenon in Star Wars. When pressing select, it freezes in a loop where it waits for LY==0. But the VBlank interrupt interferes, and when it returns LY is already at least 1. Which probably also indicates some timings are slower than they should be.

@LemonBoy
Copy link
Contributor Author

LemonBoy commented Apr 6, 2013

Also, sometimes the lcd_update sets the event cycle to a negative number.
LemonBoy@63b76fb is a start for a syncronized world :)
I did a quick test against NO$GMB and looks like GameYob is off by ~1 M-State

@LemonBoy
Copy link
Contributor Author

LemonBoy commented May 3, 2013

https://github.com/LemonBoy/GameYob/tree/gfxfix

This branch actually fixes picky games like Robocop2, Altered Space and such that require strict video timings. instr_timing still fails and Pokèmon Crystal isnt working anymore. Still a little step forward.

@Stewmath
Copy link
Owner

Another timing related issue: Super Mario Land's top statusbar (see #59). This also occurs in bgb.

@Stewmath
Copy link
Owner

This issue is old and a bit vague, so I'm closing it. I think most of these specific problems have been fixed.

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

No branches or pull requests

2 participants