X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fcz80%2Fcz80.c;h=374325e2f004a9c5962cf33ac072d7cfca0b2ca8;hb=f484a9fe4f566d78c004f721985c0bd22a281925;hp=d7bdba3bb61bdf16ba7a7ff37bb5289d3e69041a;hpb=10d84cb2757db05bf7d66ef33575c52ed4b22053;p=picodrive.git diff --git a/cpu/cz80/cz80.c b/cpu/cz80/cz80.c index d7bdba3..374325e 100644 --- a/cpu/cz80/cz80.c +++ b/cpu/cz80/cz80.c @@ -15,7 +15,7 @@ #if PICODRIVE_HACKS #undef EMU_M68K -#include +#include #endif #ifndef ALIGN_DATA @@ -242,6 +242,7 @@ INT32 Cz80_Exec(cz80_struc *CPU, INT32 cycles) UINT32 res; UINT32 val; int afterEI = 0; + union16 *data; PC = CPU->PC; #if CZ80_ENCRYPTED_ROM @@ -255,7 +256,8 @@ INT32 Cz80_Exec(cz80_struc *CPU, INT32 cycles) Cz80_Exec: if (CPU->ICount > 0) { - union16 *data = pzHL; +Cz80_Exec_nocheck: + data = pzHL; Opcode = READ_OP(); #if CZ80_EMULATE_R_EXACTLY zR++; @@ -270,6 +272,8 @@ Cz80_Check_Interrupt: if (CPU->IRQState != CLEAR_LINE) { CHECK_INT + CPU->ICount -= CPU->ExtraCycles; + CPU->ExtraCycles = 0; } goto Cz80_Exec; }