12-14-2018, 07:25 PM
Hi,
I'm new to mGBA, currently just playing around with code and experimenting ways to implement netplay feature.
What I noticed is that sometimes 2 local gba emulations when connected through link cable will result in different states (even when they started from same states and received same input sequences).
What I tried:
- open 2 gbas on PC A, then open 2 gbas on PC B.
- 2 gbas on the same machine were executed on the same thread (to avoid randomness of multithreading). 2 gbas in 2 machines started from same save states.
- Apply the same input sequences to the 2 gbas in 2 machines, at first the states keep being identical for a while. However at some point, they started behave differently.
- For example: on PC A, lockstep.useCycles(1, 499) was called, while on the other one, useCycles(1, 495) was called.
I'm not sure why the cycles value were called differently at that time. After that point, obviously the states of 2 gbas on 2 PCs were diverse.
I'm new to mGBA, currently just playing around with code and experimenting ways to implement netplay feature.
What I noticed is that sometimes 2 local gba emulations when connected through link cable will result in different states (even when they started from same states and received same input sequences).
What I tried:
- open 2 gbas on PC A, then open 2 gbas on PC B.
- 2 gbas on the same machine were executed on the same thread (to avoid randomness of multithreading). 2 gbas in 2 machines started from same save states.
- Apply the same input sequences to the 2 gbas in 2 machines, at first the states keep being identical for a while. However at some point, they started behave differently.
- For example: on PC A, lockstep.useCycles(1, 499) was called, while on the other one, useCycles(1, 495) was called.
I'm not sure why the cycles value were called differently at that time. After that point, obviously the states of 2 gbas on 2 PCs were diverse.