From 4625870e02b0dae195a3bea55d15489891f247de Mon Sep 17 00:00:00 2001 From: Richard Cornwell Date: Sat, 2 Dec 2017 14:54:20 -0500 Subject: [PATCH] I7000: Fixed end of line printer output be DOS compatible. --- I7000/i7000_lpr.c | 10 ++++++---- I7000/i7090_lpr.c | 16 ++++++++-------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/I7000/i7000_lpr.c b/I7000/i7000_lpr.c index 0ecad62..de7453f 100644 --- a/I7000/i7000_lpr.c +++ b/I7000/i7000_lpr.c @@ -214,6 +214,7 @@ print_line(UNIT * uptr, int chan, int unit) /* Trim trailing spaces */ for (--i; i > 0 && out[i] == ' '; i--) ; + out[++i] = '\r'; out[++i] = '\n'; out[++i] = '\0'; sim_debug(DEBUG_DETAIL, &lpr_dev, "WRS unit=%d [%s]\n", unit, &out[0]); @@ -236,14 +237,15 @@ print_line(UNIT * uptr, int chan, int unit) i = (uptr->u5 >> 12) & 0x7f; if (i == 0) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\r", 1, 1, uptr->fileref); + sim_fwrite("\r\n", 1, 2, uptr->fileref); if (uptr->flags & ECHO) sim_putchar('\r'); } else { for (; i > 1; i--) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\n", 1, 1, uptr->fileref); + sim_fwrite("\r\n", 1, 2, uptr->fileref); if (uptr->flags & ECHO) + sim_putchar('\r'); sim_putchar('\n'); uptr->u4++; if (uptr->u4 > (int32)uptr->capac) { @@ -329,7 +331,7 @@ uint32 lpr_cmd(UNIT * uptr, uint16 cmd, uint16 dev) case 040: /* Space before */ for (i = dev & 03; i > 1; i--) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\n", 1, 1, uptr->fileref); + sim_fwrite("\r\n", 1, 2, uptr->fileref); if (uptr->flags & ECHO) { sim_putchar('\r'); sim_putchar('\n'); @@ -356,7 +358,7 @@ uint32 lpr_cmd(UNIT * uptr, uint16 cmd, uint16 dev) } for (; i > 0; i--) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\n", 1, 1, uptr->fileref); + sim_fwrite("\r\n", 1, 2, uptr->fileref); if (uptr->flags & ECHO) { sim_putchar('\r'); sim_putchar('\n'); diff --git a/I7000/i7090_lpr.c b/I7000/i7090_lpr.c index 409df8c..dc8e62d 100644 --- a/I7000/i7090_lpr.c +++ b/I7000/i7090_lpr.c @@ -175,10 +175,10 @@ print_line(UNIT * uptr, int chan, int unit) if (outsel & PRINT_3) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\n\r", 1, 4, uptr->fileref); + sim_fwrite("\r\n", 1, 2, uptr->fileref); if (uptr->flags & ECHO) { - sim_putchar('\n'); sim_putchar('\r'); + sim_putchar('\n'); } uptr->u5 &= ~LPRSTA_COL72; uptr->u4++; @@ -186,12 +186,12 @@ print_line(UNIT * uptr, int chan, int unit) if (outsel & PRINT_4) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\n\r\n\r", 1, 6, uptr->fileref); + sim_fwrite("\r\n\r\n", 1, 4, uptr->fileref); if (uptr->flags & ECHO) { - sim_putchar('\n'); sim_putchar('\r'); sim_putchar('\n'); sim_putchar('\r'); + sim_putchar('\n'); } uptr->u5 &= ~LPRSTA_COL72; uptr->u4++; @@ -281,10 +281,10 @@ print_line(UNIT * uptr, int chan, int unit) /* Space printer */ if (outsel & PRINT_2) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\n\r", 1, 2, uptr->fileref); + sim_fwrite("\r\n", 1, 2, uptr->fileref); if (uptr->flags & ECHO) { - sim_putchar('\n'); sim_putchar('\r'); + sim_putchar('\n'); } uptr->u4++; } @@ -292,10 +292,10 @@ print_line(UNIT * uptr, int chan, int unit) if (outsel & PRINT_1) { while (uptr->u4 < (int32)uptr->capac) { if (uptr->flags & UNIT_ATT) - sim_fwrite("\n\r", 1, 2, uptr->fileref); + sim_fwrite("\r\n", 1, 2, uptr->fileref); if (uptr->flags & ECHO) { - sim_putchar('\n'); sim_putchar('\r'); + sim_putchar('\n'); } uptr->u4++; }