pokemon-speedrunning / gambatte-speedrun

Fork of https://github.com/sinamas/gambatte with Pokemon speedrunning-related changes.
GNU General Public License v2.0
94 stars 27 forks source link

Improve Mode 3 Timing #74

Open alyosha-tas opened 3 years ago

alyosha-tas commented 3 years ago

I have a bunch of tests here that can help improve mode 3 timing:

https://github.com/alyosha-tas/Misc.-GB-Tests

They test timing for window + sprites and edge cases of scroll + sprites. Note that I tested them on GBP.

Also the scroll + sprite tests here still fail on Gambatte:

https://github.com/wilbertpol/mooneye-gb/tree/master/tests/acceptance/gpu

These are of practical importance for games and aren't just some edge case stuff that never happens.

entrpntr commented 3 years ago

Thanks for forwarding these. Many of the wilbertpol tests cover CGB-E behavior and fail on real CGB-C hardware (which is what sinamas used for testing).

We do want to cover these cases to facilitate GBP console syncing, but we may spend a bit of time first getting more organized on our testing approach (and identifying other revision-specific behavior that currently exists).

alyosha-tas commented 3 years ago

I thought the sprite ones work on all models? Well all the revision stuff is really annoying whatever the case.

Some of the LY tests fail on E models too (or at least GBP.) For example: lycint152_ly153_3_dmg08_cgb04c_out00.gbc outputs 99. I think mostly stuff around LY=153 is slightly different, not sure exactly how though.