I didn't examine it much but it looks like code does something that takes a bit too long in emulation (if "cycle-exact") and flag that means something like "exit requested" is not cleared quickly enough and it is checked in vblank while main routine code hasn't reached the clear part yet.
Or something like that..
EDIT: It may be even as simple as crack changing timing slightly (time until next vblank), triggering bug in original code which didn't clear the flag early enough.
Last edited by Toni Wilen; 09 December 2017 at 21:55.
|