public static void doLDI(CpuContext ctx)
 {
     //ctx->tstates += 2;
     byte val = ctx.ReadMemory1(ctx.HL);
     ctx.WriteMemory1(ctx.DE, val);
     ctx.DE++;
     ctx.HL++;
     ctx.BC--;
     ctx.VALFLAG(Z80Flags.F_5, ((ctx.A + val) & 0x02) != 0);
     ctx.VALFLAG(Z80Flags.F_3, ((Z80Flags)(ctx.A + val) & Z80Flags.F_3) != 0);
     ctx.RESFLAG(Z80Flags.F_H | Z80Flags.F_N);
     ctx.VALFLAG(Z80Flags.F_PV, ctx.BC != 0);
 }