- pausePenalty = (s32)(psxRegs.cycle - cdr.LastReadCycles) > cdReadTime * 8 ? cdReadTime * 25 : 0;
- seekTime += pausePenalty;
+ // note: if misapplied this breaks MGS cutscenes among other things
+ if (cyclesSinceRS > cdReadTime * 50)
+ seekTime += cdReadTime * 25;
+ // Transformers Beast Wars Transmetals does Setloc(x),SeekL,Setloc(x),ReadN
+ // and then wants some slack time
+ else if (cyclesSinceRS < cdReadTime *3/2)
+ seekTime += cdReadTime;