mirror of
https://github.com/rricharz/Tek4010.git
synced 2026-01-11 23:53:16 +00:00
version 1.0.2, see versions.txt
This commit is contained in:
parent
3f9ef54a7f
commit
cb6d9f2356
10
install
Executable file
10
install
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
# install tek4010 in ~/bin
|
||||||
|
|
||||||
|
# create ~/bin directory, if it does not exist
|
||||||
|
[ ! -d ~/bin ] && mkdir ~/bin
|
||||||
|
|
||||||
|
# copy the file to ~/bin, make it executable
|
||||||
|
cp tek4010 ~/bin
|
||||||
|
chmod +x ~/bin/tek4010
|
||||||
|
|
||||||
|
echo "tek4010 installed"
|
||||||
2
makefile
2
makefile
@ -8,4 +8,4 @@ tek4010: main.c tek4010.c tek4010.h main.h
|
|||||||
gcc -o tek4010 main.c tek4010.c tek4010.h main.h $(LIBS) $(CFLAGS)
|
gcc -o tek4010 main.c tek4010.c tek4010.h main.h $(LIBS) $(CFLAGS)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
cp tek4010 ~/bin
|
./install
|
||||||
1
pltfiles/More_pltfiles/2010d.plt
Normal file
1
pltfiles/More_pltfiles/2010d.plt
Normal file
File diff suppressed because one or more lines are too long
1
pltfiles/More_pltfiles/aitest.tek
Executable file
1
pltfiles/More_pltfiles/aitest.tek
Executable file
File diff suppressed because one or more lines are too long
1
pltfiles/More_pltfiles/hal9000plt
Normal file
1
pltfiles/More_pltfiles/hal9000plt
Normal file
File diff suppressed because one or more lines are too long
2
pltfiles/More_pltfiles/isco49.plt
Normal file
2
pltfiles/More_pltfiles/isco49.plt
Normal file
File diff suppressed because one or more lines are too long
1
pltfiles/More_pltfiles/karney.tek
Normal file
1
pltfiles/More_pltfiles/karney.tek
Normal file
File diff suppressed because one or more lines are too long
1
pltfiles/More_pltfiles/metropolis.plt
Normal file
1
pltfiles/More_pltfiles/metropolis.plt
Normal file
File diff suppressed because one or more lines are too long
1
pltfiles/More_pltfiles/mona.plt
Normal file
1
pltfiles/More_pltfiles/mona.plt
Normal file
File diff suppressed because one or more lines are too long
1
pltfiles/More_pltfiles/rocketme.plt
Normal file
1
pltfiles/More_pltfiles/rocketme.plt
Normal file
File diff suppressed because one or more lines are too long
21
tek4010.c
21
tek4010.c
@ -27,8 +27,8 @@
|
|||||||
#define DEBUG 0 // print debug info
|
#define DEBUG 0 // print debug info
|
||||||
#define DEBUGMAX 0 // exit after DEBUGMAX chars, 0 means no exit
|
#define DEBUGMAX 0 // exit after DEBUGMAX chars, 0 means no exit
|
||||||
|
|
||||||
#define WRITE_TROUGH_INTENSITY 0.6 // green only
|
#define WRITE_TROUGH_INTENSITY 0.5 // green only
|
||||||
#define NORMAL_INTENSITY 0.7
|
#define NORMAL_INTENSITY 0.8
|
||||||
#define CURSOR_INTENSITY 0.8
|
#define CURSOR_INTENSITY 0.8
|
||||||
#define BRIGHT_SPOT_COLOR 1.0,1.0,1.0
|
#define BRIGHT_SPOT_COLOR 1.0,1.0,1.0
|
||||||
#define BRIGHT_SPOT_COLOR_HALF 0.3,0.6,0.3
|
#define BRIGHT_SPOT_COLOR_HALF 0.3,0.6,0.3
|
||||||
@ -196,7 +196,7 @@ void tek4010_init(int argc, char* argv[])
|
|||||||
char *argv2[20];
|
char *argv2[20];
|
||||||
size_t bufsize = 127;
|
size_t bufsize = 127;
|
||||||
int firstArg = 1;
|
int firstArg = 1;
|
||||||
printf("tek4010 version 1.01\n");
|
printf("tek4010 version 1.0.2\n");
|
||||||
if ((argc<2) || (argc>19)) {
|
if ((argc<2) || (argc>19)) {
|
||||||
printf("Error:number of arguments\n");
|
printf("Error:number of arguments\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -325,7 +325,7 @@ void tek4010_init(int argc, char* argv[])
|
|||||||
// parent process
|
// parent process
|
||||||
|
|
||||||
free(str);
|
free(str);
|
||||||
|
|
||||||
close(getDataPipe[1]); // not used
|
close(getDataPipe[1]); // not used
|
||||||
close(putKeysPipe[0]); // not used
|
close(putKeysPipe[0]); // not used
|
||||||
|
|
||||||
@ -527,6 +527,7 @@ void escapeCodeHandler(cairo_t *cr, cairo_t *cr2, int ch)
|
|||||||
{
|
{
|
||||||
if (DEBUG) printf("Escape mode, ch=%02X\n",ch);
|
if (DEBUG) printf("Escape mode, ch=%02X\n",ch);
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
|
case 0: break;
|
||||||
case 5: // ENQ: ask for status and position
|
case 5: // ENQ: ask for status and position
|
||||||
// not yet implemented, needs to send 7 bytes
|
// not yet implemented, needs to send 7 bytes
|
||||||
printf("ENQ not implemented\n");
|
printf("ENQ not implemented\n");
|
||||||
@ -551,6 +552,11 @@ void escapeCodeHandler(cairo_t *cr, cairo_t *cr2, int ch)
|
|||||||
mode = 5;
|
mode = 5;
|
||||||
plotPointMode= 1;
|
plotPointMode= 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 29: // group separator >> graphics mode
|
||||||
|
mode = 1;
|
||||||
|
plotPointMode = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
// start of ignoring ANSI escape sequencies, could be improved (but the Tek4010 couldn't do this either!)
|
// start of ignoring ANSI escape sequencies, could be improved (but the Tek4010 couldn't do this either!)
|
||||||
case '0':
|
case '0':
|
||||||
@ -700,7 +706,7 @@ void tek4010_draw(cairo_t *cr, cairo_t *cr2, int first)
|
|||||||
todo = 4 * TODO; // for text speed
|
todo = 4 * TODO; // for text speed
|
||||||
else
|
else
|
||||||
todo = TODO;
|
todo = TODO;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
ch = getInputChar();
|
ch = getInputChar();
|
||||||
|
|
||||||
@ -794,7 +800,9 @@ void tek4010_draw(cairo_t *cr, cairo_t *cr2, int first)
|
|||||||
if ((mode == 7) && (tag != 1)) mode = 8;
|
if ((mode == 7) && (tag != 1)) mode = 8;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (ch == 0) return;
|
||||||
if (ch == 29) mode = 1; // group separator
|
if (ch == 29) mode = 1; // group separator
|
||||||
|
else if (ch == 28) { plotPointMode = 1; todo = 16 * todo; }
|
||||||
else printf("Plot mode, unknown char %d, plotPointMode = %d\n",ch,plotPointMode);
|
else printf("Plot mode, unknown char %d, plotPointMode = %d\n",ch,plotPointMode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -905,7 +913,7 @@ void tek4010_draw(cairo_t *cr, cairo_t *cr2, int first)
|
|||||||
case 30:
|
case 30:
|
||||||
escapeCodeHandler(cr, cr2, ch);
|
escapeCodeHandler(cr, cr2, ch);
|
||||||
break;
|
break;
|
||||||
case 40: // incremental plot mode, wait for end mark
|
case 40: // incremental plot mode, not implemented
|
||||||
if (ch == 31) mode = 0; // leave this mode
|
if (ch == 31) mode = 0; // leave this mode
|
||||||
break;
|
break;
|
||||||
case 101:
|
case 101:
|
||||||
@ -996,4 +1004,5 @@ void tek4010_draw(cairo_t *cr, cairo_t *cr2, int first)
|
|||||||
// display cursor
|
// display cursor
|
||||||
|
|
||||||
if (showCursor && (isInput() == 0)) doCursor(cr2);
|
if (showCursor && (isInput() == 0)) doCursor(cr2);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
7
uninstall
Executable file
7
uninstall
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
# uninstall tek4010 in ~/bin
|
||||||
|
|
||||||
|
# remove file from /home/pi/bin
|
||||||
|
rm ~/bin/tek4010
|
||||||
|
|
||||||
|
echo "tek4010 uninstalled"
|
||||||
|
|
||||||
17
versions.txt
17
versions.txt
@ -1,5 +1,18 @@
|
|||||||
Version 1.01 April 9, 2019
|
Version 1.0.2 April 10, 2019
|
||||||
==========================
|
============================
|
||||||
|
Phase: beta test
|
||||||
|
New features:
|
||||||
|
- added install and uninstall scripts
|
||||||
|
Bug fixes:
|
||||||
|
- ignore 0 in ESC mode
|
||||||
|
- ESC GS: alternative way to go to graphics mode
|
||||||
|
- ignore 0 in graphics mode
|
||||||
|
Appearance:
|
||||||
|
- increased normal intensity slighly
|
||||||
|
- reduced write-through intensity slighly
|
||||||
|
|
||||||
|
Version 1.0.1 April 9, 2019
|
||||||
|
===========================
|
||||||
Phase: beta test
|
Phase: beta test
|
||||||
New features:
|
New features:
|
||||||
- Baud rate emulation accounts for 1 start and 1 stop bit
|
- Baud rate emulation accounts for 1 start and 1 stop bit
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user