mGBA/TAStudio: RNG desyncs occurring during rewind - Boktai Solar Sensor
Following the GPIO fix, some issues relating to the Light Sensor function in TAStudio creating desyncs during rewind have been fixed, but some still persist:
https://www.youtube.com/watch?v=3YC6n9UFul4
This video demonstrates how on a recent dev build (As of 15th October 2024), rewinding creates a different RNG value than initially displayed.
The initially-displayed RNG value at the start of this video is the incorrect one, and it does update correctly once rewound beyond a certain point and allowed to generate new greenzone, but this behaviour of jumping to a different RNG state on selecting a Marker Frame to rewind to a previous point is not correct.
1585 - Zoku Bokura no Taiyou - Taiyou Shounen Django (J) (v1.0) desync test.zip
Movie files to confirm behaviour: TASPROJ + bk2 file provided.
RNG2 index in RAM watch: 46B8 in IWRAM, 4 byte address.
Steps to reproduce error:
- Open TASPROJ file
- Go to frame 234506
- Drag the 1 value in the Light Sensor column up, replacing the 220 frames until frame 234480
- Play movie from this point at normal speed, RNG2 value should stop at 878 after passing Marker Frame 234502, "Purify Dvalinn"
- Pause the movie
- Jump to the final Marker Frame 237215, "Compass Puzzle set"
- After Turbo Seek catches up to this point, pause the movie if it did not pause automatically upon reaching end of inputs
- Jump to Marker Frame 234502, "Purify Dvalinn"
- Play movie from this point at normal speed, RNG2 value should stop at 906
Noting for additional context the original Boktai 2 desync was reported to BizHawk's tracker in #4060 and the GPIO fix mentioned was cab0b2df0b001cf0d50d1726191783ae6e934aad. The direct cause is probably not directly related.