1
0
mirror of https://github.com/rricharz/Tek4010.git synced 2026-01-11 23:53:16 +00:00

hard copy (screen dump) added

This commit is contained in:
¨Rene Richarz 2019-04-05 19:45:56 +02:00
parent c29fdcbaf2
commit 8cfeec3157
44 changed files with 17 additions and 7 deletions

View File

@ -1,10 +1,10 @@
# Tektronix 4010 Terminal Emulator
# Tektronix 4010 and 4014 Terminal Emulator
This is a [Tektronix 4010](https://en.wikipedia.org/wiki/Tektronix_4010) terminal emulator
This is a [Tektronix 4010 und 4014](https://en.wikipedia.org/wiki/Tektronix_4010) terminal emulator
for the Raspberry Pi and other Linux systems. It can also be used on Windows an Macintosh systems
with [Virtualbox](https://www.virtualbox.org/) and [Ubuntu](https://www.ubuntu.com/).
![screen_shot](teklogo.png?raw=true "Tektronix logo in tek4010 window")
![screen_shot](screendump.png?raw=true "tek4010 screendump")
It attempts to emulate the storage tube display of the Tektronix 4010, including the bright
drawing spot.
@ -126,12 +126,16 @@ in the terminal emulator and clear the persistent screen:
home
page up
page down
control arrow up
control arrow left
<control> arrow up
<control> arrow left
These keys emulate the "page" key of the Tektronix 4010. You need to use one of these
keys frequently to avoid to get a mess on the screen, as on a real Tektronix 4010.
The hardcopy function on the Tektronix 4010 is emulated with a screen dump.
<control> w Make a screen dump in current directory using scrot
**Login into the system running simh (same or different Raspberry Pi)**
This makes sense, if you have set up a virtual DZ11 for multiple user login, opening a

6
main.c
View File

@ -113,7 +113,7 @@ static void do_drawing(cairo_t *cr, GtkWidget *widget)
static void on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
{
int ch;
// printf("key pressed, state =%04X, keyval=%04X\r\n", event->state, event->keyval);
//printf("key pressed, state =%04X, keyval=%04X\r\n", event->state, event->keyval);
if ((event->keyval == 0xFF50) || // "home" key
(event->keyval == 0xFF55) || // "page up" key
@ -134,6 +134,10 @@ static void on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_da
gtk_widget_queue_draw(widget);
return;
}
else if (event->keyval == 0x0077) { // "ctrl>w" makes screendump
system("scrot --focussed");
return;
}
else
ch = event->keyval & 0x1F;
}

BIN
screendump.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

BIN
tek4010

Binary file not shown.

View File

@ -535,6 +535,8 @@ int escapeCodeHandler(cairo_t *cr, cairo_t *cr2, int todo, int ch)
mode = 0;
break;
case 23: system("scrot --focussed"); mode= 0; break;
case 28: // file separator >> point plot mode
mode = 5;
plotPointMode= 1;

View File

@ -1,7 +1,7 @@
#define A_WINDOW_WIDTH 1024 // proposed width of main window
#define A_WINDOW_HEIGHT 780 // proposed height of main window
#define WINDOW_NAME "Tektronix 4010" // name of main window
#define WINDOW_NAME "Tektronix 4010/4014" // name of main window
#define ICON_NAME "" // path to icon for window
#define TIME_INTERVAL 30 // time interval for timer function in msec

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB