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:
15
README.md
15
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**
|
||||
|
||||
|
||||
@@ -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
9
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)";
|
||||
|
||||
1
tube.h
1
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;
|
||||
|
||||
@@ -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
|
||||
===========================
|
||||
|
||||
Reference in New Issue
Block a user