From dd7c598b7e007a3af9f438bd206dcd41b58f1ad1 Mon Sep 17 00:00:00 2001 From: Rene Richarz Date: Wed, 24 Jul 2019 17:40:22 +0200 Subject: [PATCH] version 1.4.2, see versions.txt --- README.md | 15 +++++++++++---- tek4010 | Bin 50300 -> 50100 bytes tek4010.c | 7 +++++-- tube.c | 9 ++++++++- tube.h | 1 + versions.txt | 4 ++++ 6 files changed, 29 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 801cc86..3851168 100644 --- a/README.md +++ b/README.md @@ -44,8 +44,10 @@ video of a an [animation using the tek4010](https://youtu.be/7FMewaoEOmk) and a - Can be compiled for other Linux distributions such as Ubuntu - Tested with SimH, PiDP-11, PDP-11/93, VAXstation 4000/90a, 2.11 BSD, RSX-11M+, PLOT10 - Stand alone version tested on Raspberry Pi Zero W - - Raspberry Pi 3 Model B+ recommended if run on same system as SimH/PiDP-11 - - Raspberry Pi 3 Model B+ recommended if run in -full mode on high resolution screens + - Raspberry Pi 3 Model B+ or faster recommended if run on same system as SimH/PiDP-11 + - Raspberry Pi 3 Model B+ or faster recommended if run in -full mode on high resolution screens + - Tested with Raspbian Stretch and Raspbian Buster + - Tested on Raspberry Pi 4 - Tested with directly attached HDMI screen and with VNC **Installation and first tests** @@ -273,9 +275,14 @@ tek4010 has the following options: -APL emulate Tektronix 4013/4015 with alternative APL character set. Details see below. - -autoClear erase screen if a line feed is executed at the bottom of the screen. + -autoClear erase screen if a line feed is executed at the bottom of the screen. This makes it sometimes easier to use tek4010 as the only terminal. It - is not the behaviour of the original hardware. + is not the behaviour of the original hardware. + + -keepsize tek4010 sets the fontsize to normal whenever the screen is erased. + This option keeps the currently selected font size until it is + changed with a new escape sequence. Some historic plot files will + not reset the font size back to normal if this option is set. **APL mode** diff --git a/tek4010 b/tek4010 index ae8007bd8f5d8cc8f877c1df2f56bacf47a01129..2bb45110394498b37afd75f6ea3b15176bc75779 100755 GIT binary patch literal 50100 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 literal 50300 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 UDQ_5Ho9-w7i1A{Oz?tO#2QR{nyZ`_I diff --git a/tek4010.c b/tek4010.c index 6497243..edc85fa 100755 --- a/tek4010.c +++ b/tek4010.c @@ -202,7 +202,8 @@ void tek4010_escapeCodeHandler(cairo_t *cr, cairo_t *cr2, int ch) tek4010_checkLimits(cr, cr2); mode = 0; break; case 12:// FF during ESC - tube_changeCharacterSize(cr, cr2, 74, 35, efactor); + if (!argKeepSize) + tube_changeCharacterSize(cr, cr2, 74, 35, efactor); tube_clearPersistent(cr,cr2); mode = 0; break; case 13:mode = 0; break; @@ -300,6 +301,7 @@ int tek4010_checkReturnToAlpha(int ch) } plotPointMode = 0; specialPlotMode = 0; + isGinMode = 0; return 1; } else return 0; @@ -333,7 +335,8 @@ void tek4010_draw(cairo_t *cr, cairo_t *cr2, int first) // clear persistent surface, if necessary if (tube_doClearPersistent) { tube_clearPersistent(cr,cr2); - tube_changeCharacterSize(cr, cr2, 74, 35, efactor); + if (!argKeepSize) + tube_changeCharacterSize(cr, cr2, 74, 35, efactor); } if (aplMode) diff --git a/tube.c b/tube.c index 51a574d..14add90 100755 --- a/tube.c +++ b/tube.c @@ -75,6 +75,7 @@ int argFull = 0; int argARDS = 0; int argAPL = 0; int argAutoClear = 0; +int argKeepSize = 0; int refresh_interval; // after this time in msec next refresh is done @@ -156,6 +157,10 @@ int tube_isInput() // is char available on getDataPipe? { int bytesWaiting; + // if (isGinMode) + // do not allow any further input from host during GIN mode + // this allows to test .plt files with GIN mode + // return 0; ioctl(getDataPipe[0], FIONREAD, &bytesWaiting); if (DEBUG) { debugCount++; @@ -274,7 +279,7 @@ void tube_init(int argc, char* argv[]) char *argv2[20]; size_t bufsize = 127; int firstArg = 1; - printf("tek4010 version 1.4.1\n"); + printf("tek4010 version 1.4.2\n"); windowName = "Tektronix 4010/4014 emulator"; if ((argc<2) || (argc>19)) { printf("Error:number of arguments\n"); @@ -310,6 +315,8 @@ void tube_init(int argc, char* argv[]) argFull = 1; else if (strcmp(argv[firstArg],"-autoClear") == 0) argAutoClear = 1; + else if (strcmp(argv[firstArg],"-keepsize") == 0) + argKeepSize = 1; else if (strcmp(argv[firstArg],"-APL") == 0) { argAPL = 1; windowName = "Tektronix 4013/4015 emulator (APL)"; diff --git a/tube.h b/tube.h index 94feda3..2e0bd71 100644 --- a/tube.h +++ b/tube.h @@ -18,6 +18,7 @@ extern int argTab1; extern int argRaw; extern int argAPL; extern int argAutoClear; +extern int argKeepSize; extern int hDotsPerChar; extern int vDotsPerChar; diff --git a/versions.txt b/versions.txt index 6deeff0..d933764 100644 --- a/versions.txt +++ b/versions.txt @@ -1,3 +1,7 @@ +Version 1.4.2 July 24, 2019 +=========================== +- argument -keepsize added +- going back to alpha mode forces now the end of GIN mode Version 1.4.1 June 20, 2019 ===========================