public void PRNWKI() { byte[] buf; //Z80.HL = NAME; //PC88.CALL(DSPMSG); expand.DSPMSG_msg = NAME; expand.DSPMSG(); Z80.HL = 0;// NAME2; Z80.DE = 0xF3C8 + 120 * 17; Z80.B = 8; //FPL1: do { Mem.stack.Push(Z80.BC); Z80.HL &= 1; buf = Encoding.UTF8.GetBytes(NAME2[8 - Z80.B]); Z80.LDI(buf); Z80.LDI(buf); Z80.A = 120 - 2; Z80.Carry = (Z80.A + Z80.E > 0xff); Z80.A += Z80.E; Z80.E = Z80.A; Z80.A += (byte)(Z80.D + (Z80.Carry ? 1 : 0)); Z80.A -= Z80.E; Z80.D = Z80.A; Z80.BC = Mem.stack.Pop(); Z80.B--; } while (Z80.B != 0); Z80.DE = 0xF3C8 + 120 * 17 + 4; Z80.B = 6; //FPL2: do { Mem.stack.Push(Z80.BC); Z80.HL = 0;// NAME3; buf = Encoding.UTF8.GetBytes(NAME3); Z80.BC = 10; Z80.LDIR_HL(buf); Z80.DE++; Z80.DE++; Z80.DE++; Z80.BC = Mem.stack.Pop(); Z80.B--; } while (Z80.B != 0); Z80.HL = 0;// NAME4; buf = Encoding.UTF8.GetBytes(NAME4); Z80.DE = 0xF3C8 + 120 * 16 + 3; Z80.BC = 6 * 256 + 0xff; //FPL3: do { Z80.LDI(buf); Z80.A = 0x3a;// ':'; Mem.LD_8(Z80.DE, Z80.A); Z80.A = 12; Z80.Carry = (Z80.A + Z80.E > 0xff); Z80.A += Z80.E; Z80.E = Z80.A; Z80.A += (byte)(Z80.D + (Z80.Carry ? 1 : 0)); Z80.A -= Z80.E; Z80.D = Z80.A; Z80.B--; } while (Z80.B != 0); // RET }