Thank you both for the valuable comments.
Unseen wrote:It's not relevant to speedrunning unless the speedrunners calibrate the crystal frequency in their console at least once every few years and ensure that the console is used in an environment that is within a few degrees celsius of the temperature at the time of calibration.
It looks like I had a lacking understanding of how verification of tool-assisted speedruns on genuine NES and SNES hardware is performed. I thought the controller (port) was driven with button inputs that were simply played back according to a separate, finely adjusted clock. You'd have to adjust the clock anyway of course - I thought the constant frame times due to the dejitter mod could introduce a factor for headache e.g. when switching from console to console, potentially making existing replays incompatible because the drift is then nonlinear. For example, when TASBot debuted on GDQ with Gradius, it
desynced ~1m50s in, but as became apparent to me, there are other reasons for something like that. How it's (properly) done is that you wait for a pulse from the console which signals that the game wants to read in the current controller state, after which you have a specific timeframe to apply the next state to the PISO shift register that sits on the original or vicarious controller.
Unseen wrote:(dejitter causes 11.2 ppm difference)
Yes, at max. That's assuming that the short scanline occurs during every frame. If it occurs only during every other frame then it's consequently only half of that:
marqs wrote:If master clock is used for sampling, framelock can be safely maintained with Pro HW only if the number of clocks per frame is deterministic. At least on NES the short scanline doesn't necessarily occur every other frame, I'm not sure if it's consistent on SNES 240p.
Ah right, I hadn't thought of that. It probably would get challenging to compensate for the variable frame time if it's nondeterministic, which, if it can't be done sufficiently, would probably give rise to compatibility issues on the sink side again.