1
0
mirror of https://github.com/rricharz/Tek4010.git synced 2026-04-14 23:58:31 +00:00

version 1.4.2, see versions.txt

This commit is contained in:
Rene Richarz
2019-07-24 17:40:22 +02:00
parent bcbd8a2d3f
commit dd7c598b7e
6 changed files with 29 additions and 7 deletions

View File

@@ -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**

BIN
tek4010

Binary file not shown.

View File

@@ -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)

9
tube.c
View File

@@ -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)";

1
tube.h
View File

@@ -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;

View File

@@ -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
===========================