From 772a23bb0e20f03b5dc2b1afdc9913ddf79d9bab Mon Sep 17 00:00:00 2001 From: Rene Richarz Date: Mon, 2 Dec 2019 07:32:16 +0100 Subject: [PATCH] Version 1.5.6 Improved handling of PLOT 10 data --- tek4010 | Bin 50272 -> 50272 bytes tek4010.c | 31 +++++++++++++++++-------------- tube.c | 2 +- versions.txt | 5 +++++ 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/tek4010 b/tek4010 index 84a596d0fb7624eca201383d69605d83ebbeee20..2b62211ed8631dcaaed8fbcfd18b68c6cae63595 100755 GIT binary patch delta 6775 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 2) & 3; - tube_y0 = (int)(efactor * (double)(((yh+yl) << 2) + yb) / 4.0); - } - else tube_y0 = yh + yl; mode++; if (DEBUG) printf("setting yl to %d\n", yl); break; @@ -555,8 +553,13 @@ void tek4010_draw(cairo_t *cr, cairo_t *cr2, int first) if (windowWidth != 1024) { int xb = xy4014 & 3; tube_x0 = (int)(efactor * (double)(((xh+xl) << 2) + xb) / 4.0); + int yb = (xy4014 >> 2) & 3; + tube_y0 = (int)(efactor * (double)(((yh+yl) << 2) + yb) / 4.0); + } + else { + tube_x0 = xh + xl; + tube_y0 = yh + yl; } - else tube_x0 = xh + xl; mode++; tube_emulateDeflectionTime(); if (DEBUG) printf("setting xl to %d\n", xl); diff --git a/tube.c b/tube.c index ee257e3..9de796a 100755 --- a/tube.c +++ b/tube.c @@ -284,7 +284,7 @@ void tube_init(int argc, char* argv[]) char *argv2[20]; size_t bufsize = 127; int firstArg = 1; - printf("tek4010 version 1.5.5\n"); + printf("tek4010 version 1.5.6\n"); windowName = "Tektronix 4010/4014 emulator"; if ((argc<2) || (argc>19)) { printf("Error:number of arguments\n"); diff --git a/versions.txt b/versions.txt index d69f16b..7facbc6 100644 --- a/versions.txt +++ b/versions.txt @@ -1,3 +1,8 @@ +Version 1.5.6 of December 2, 2019 +================================= +- Improved handling of PLOT 10 data +- Fixed a bug displaying vectors at certain boundaries + Version 1.5.5 of November 25, 2019 ================================== - Properly ignore ANSI CSI escape sequencies,