Open Polprzewodnikowy opened 11 months ago
Was this not fixed with V2.18?
Not really, I still need to measure differences between real CIC and emulated one.
Why is that even a problem? Or does it have something to do with speedrunning, where everyone has to have the same prerequisites?
I've got one report where SC64 booted the game couple of frames faster than retail cartridge. Test was done with direct boot (there was no code running before loading the game). I haven't done such testing myself so I couldn't be 100% sure if the CIC timings are at fault here, but it seems that's the only difference between retail cartridge and SC64. I've noticed that PIF waits for CIC response in couple of places but I'm not sure if this wait time could extend to several milliseconds, as boot time difference was measured in 16 ms frames.
Describe the bug CIC emulation doesn't adhere to timings generated by real CIC chip in two locations: before sending encoded checksum and before sending x105 algorithm result. This makes games boot faster than on real cartridge.
To Reproduce Steps to reproduce the behavior:
Screenshots No screenshots.
Expected behavior Timings should be close to the real CIC chip.
Possible solution Add delay between detecting falling edge of CIC clock and falling edge of CIC data in locations mentioned above.