public static void doOUTI(CpuContext ctx) { var value = ctx.ReadMemory1(ctx.HL); ctx.B = doIncDec(ctx, ctx.B, true); ctx.ioWrite(ctx.BC, value); ctx.HL++; int flag_value = value + ctx.L; ctx.VALFLAG(Z80Flags.F_N, (value & 0x80) != 0); ctx.VALFLAG(Z80Flags.F_H, flag_value > 0xff); ctx.VALFLAG(Z80Flags.F_C, flag_value > 0xff); ctx.VALFLAG(Z80Flags.F_PV, parityBit[(flag_value & 7) ^ ctx.B]); adjustFlags(ctx, ctx.B); }
public static void doOUT(CpuContext ctx, byte Port) { ctx.ioWrite((ushort)(ctx.A << 8 | Port), ctx.A); }