- if ((a & 0x30) == 0x20 && p32x_poll_detect(&m68k_poll, a, SekCyclesDoneT(), 0)) {
- SekEndTimeslice(16);
+ if ((a & 0x30) == 0x20) {
+ // evil X-Men proto polls in a dbra loop and expects it to expire..
+ static u32 dr2 = 0;
+ if (SekDar(2) != dr2)
+ m68k_poll.cnt = 0;
+ dr2 = SekDar(2);
+
+ if (p32x_poll_detect(&m68k_poll, a, SekCyclesDoneT(), 0)) {
+ SekSetStop(1);
+ SekEndTimeslice(16);
+ }
+ dr2 = SekDar(2);