improved irq handling Cz80_Exec() calls with lots of cycles
[picodrive.git] / cpu / cz80 / cz80_op.c
index ed13c9e..a4a5ef9 100644 (file)
@@ -712,8 +712,10 @@ OP_EI:
                        if (CPU->IRQState)\r
                        {\r
                                afterEI = 1;\r
+                               CPU->ExtraCycles += 1 - CPU->ICount;\r
+                               CPU->ICount = 1;\r
                        }\r
-                       if (CPU->ICount <= 0)\r
+                       else if (CPU->ICount <= 0)\r
                        {\r
                                CPU->ICount = 1;\r
                        }\r