ccount@ATHENA.MIT.EDU (04/14/90)
Posting-number: Volume 12, Issue 3 Submitted-by: ccount@ATHENA.MIT.EDU Archive-name: starchart2/part03 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 3 (of 4)." # Contents: stch_pch.ac # Wrapped by ccount@e40-008-10 on Wed Apr 4 19:12:08 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'stch_pch.ac' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'stch_pch.ac'\" else echo shar: Extracting \"'stch_pch.ac'\" \(45933 characters\) sed "s/^X//" >'stch_pch.ac' <<'END_OF_FILE' X+ ddx += alpha4; X+ e_xdyu(); X+ } else X+ e_yu(); X+ d += ddy; X+ dy++; X+ betady += beta; X+ ddy += beta4; X+ } while (alphadx > betady); X+ X+ d = beta2 * ((long) dy * (dy + 1)) + alpha2 * ((long) dx * (dx - 2) + 1) X+ + beta * (1 - alpha2); X+ ddx = alpha2 * (3 - (dx << 1)); X+ ddy = beta4 * (1 + dy); X+ X+ do { X+ if (d <= 0) { X+ d += ddy; X+ ddy += beta4; X+ dy++; X+ e_xdyu(); X+ } else X+ e_xd(); X+ d += ddx; X+ ddx += alpha4; X+ dx--; X+ } while (dx > 0); X+ } X+ X+ fillelip(x, y, irx, iry, c) X+ int x, y, irx, iry; X+ unsigned c; X+ { X+ X+ beta = (long) irx *(long) irx; X+ alpha = (long) iry *(long) iry; X+ X+ if (alpha == 0L) X+ alpha = 1L; X+ if (beta == 0L) X+ beta = 1L; X+ X+ dy = 0; X+ dx = irx; X+ alpha2 = alpha << 1; X+ alpha4 = alpha2 << 1; X+ beta2 = beta << 1; X+ beta4 = beta2 << 1; X+ alphadx = alpha * dx; X+ betady = 0; X+ ddx = alpha4 * (1 - dx); X+ ddy = beta2 * 3; X+ X+ d = alpha2 * ((long) (dx - 1) * dx) + alpha + beta2 * (1 - alpha); X+ rectfill(x - dx, y, x + dx, y, c); X+ X+ do { X+ if (d >= 0) { X+ d += ddx; X+ dx--; X+ alphadx -= alpha; X+ ddx += alpha4; X+ } X+ d += ddy; X+ dy++; X+ betady += beta; X+ ddy += beta4; X+ rectfill(x - dx, y + dy, x + dx, y + dy, c); X+ rectfill(x - dx, y - dy, x + dx, y - dy, c); X+ } while (alphadx > betady); X+ X+ d = beta2 * ((long) dy * (dy + 1)) + alpha2 * ((long) dx * (dx - 2) + 1) X+ + beta * (1 - alpha2); X+ ddx = alpha2 * (3 - (dx << 1)); X+ ddy = beta4 * (1 + dy); X+ X+ do { X+ dx--; X+ if (d <= 0) { X+ d += ddy; X+ ddy += beta4; X+ dy++; X+ rectfill(x - dx, y + dy, x + dx, y + dy, c); X+ rectfill(x - dx, y - dy, x + dx, y - dy, c); X+ } X+ d += ddx; X+ ddx += alpha4; X+ } while (dx > 0); X+ } Xdiff -r -c ../../starchart3.2/starchart/starimages.c ./starimages.c X*** ../../starchart3.2/starchart/starimages.c Wed Apr 4 18:28:52 1990 X--- ./starimages.c Wed Apr 4 18:31:47 1990 X*************** X*** 9,20 **** X ** X ** Modified for 3.0 by Craig Counterman Jan, 1989 X * X! * Copyright (c) 1990 by Steve Kennedy and Craig Counterman. X! * All rights reserved. X * X! * This software may be redistributed freely, not sold. X! * This copyright notice and disclaimer of warranty must remain X! * unchanged. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X--- 9,24 ---- X ** X ** Modified for 3.0 by Craig Counterman Jan, 1989 X * X! * Copyright (c) 1990 by Alan W. Paeth, Steve Kennedy and Craig Counterman. X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X*************** X*** 22,28 **** X * X */ X X! static char rcsid[]="$Header: starimages.c,v 2.11 90/03/10 15:34:34 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 26,32 ---- X * X */ X X! static char rcsid[]="$Header: starimages.c,v 2.12 90/04/03 00:33:19 ccount Exp $"; X X #include <stdio.h> X #include <math.h> Xdiff -r -c ../../starchart3.2/starchart/starlaser.c ./starlaser.c X*** ../../starchart3.2/starchart/starlaser.c Wed Apr 4 18:28:53 1990 X--- ./starlaser.c Wed Apr 4 18:31:49 1990 X*************** X*** 19,28 **** X */ X /* X ! Modified for 3.0 January 1989 by Craig Counterman X- ! (email: ccount@royal.mit.edu) X */ X X! static char rcsid[]="$Header: starlaser.c,v 2.4 90/03/10 15:34:47 ccount Exp $"; X X /* X ** This code is intended for ALL Laserjet family printers. X--- 19,27 ---- X */ X /* X ! Modified for 3.0 January 1989 by Craig Counterman X */ X X! static char rcsid[]="$Header: starlaser.c,v 2.6 90/04/03 00:33:33 ccount Exp $"; X X /* X ** This code is intended for ALL Laserjet family printers. X*************** X*** 297,302 **** X--- 296,302 ---- X break; X case 'M': X break; X+ case 'C': X case 'R': X case 'N': X case 'S': Xdiff -r -c ../../starchart3.2/starchart/starm2.c ./starm2.c X*** ../../starchart3.2/starchart/starm2.c Wed Apr 4 18:28:54 1990 X--- ./starm2.c Wed Apr 4 18:31:50 1990 X*************** X*** 2,15 **** X * starm2.c, more routines formerly in starchart.c/starmain.c X * revision 3.1 August, 1989 X * X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth@watcgl) X * X! * Copyright (c) 1990 by Craig Counterman. All rights reserved. X * X- * This software may be redistributed freely, not sold. X- * This copyright notice and disclaimer of warranty must remain X- * unchanged. X- * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X--- 2,17 ---- X * starm2.c, more routines formerly in starchart.c/starmain.c X * revision 3.1 August, 1989 X * X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X*************** X*** 17,23 **** X */ X X X! static char rcsid[]="$Header: starm2.c,v 1.13 90/03/08 20:20:37 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 19,25 ---- X */ X X X! static char rcsid[]="$Header: starm2.c,v 1.15 90/04/03 00:33:40 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X*************** X*** 331,362 **** X if (min) sprintf(str, "%s%02dm", str, min); X } X X chartragrid(win) X mapwindow *win; X { X double glonc, glatc, glon; X! double olon, olat; X int xloc, yloc, xloc2, yloc2; X double tlat1, tlon1, tlat2, tlon2; X X if (!win->draw_ragrid) return; X X cur_function = GRID_RA; X X! for (glonc = 0.0; glonc <= 360.0; glonc += win->ra_step) { X glon = glonc + win->ra_strt; X if (glon < 0.0) glon += 360.0; X if (glon > 360.0) glon -= 360.0; X olon = glon; X! olat = glatc = -90.0; X! for (glatc = -90.0; glatc <= 90.0; glatc += 10.0) { X! if (clipr_xform(olat, olon, glatc, glon, X &xloc, &yloc, &xloc2, &yloc2, TRUE, X &tlat1, &tlon1, &tlat2, &tlon2)) { X drawcurveline(tlat1, tlon1, tlat2, tlon2, X xloc, yloc, xloc2, yloc2, DOTTED, TRUE, 0); X } X- olat = glatc; X } X } X } X--- 333,366 ---- X if (min) sprintf(str, "%s%02dm", str, min); X } X X+ X+ #define ANGSKIP 10.0 X chartragrid(win) X mapwindow *win; X { X double glonc, glatc, glon; X! double olon; X int xloc, yloc, xloc2, yloc2; X double tlat1, tlon1, tlat2, tlon2; X X if (!win->draw_ragrid) return; X+ X+ if(win->ra_step < 0 ) win->ra_step = - win->ra_step; X X cur_function = GRID_RA; X X! for (glonc = 0.0; glonc < 360.0; glonc += win->ra_step) { X glon = glonc + win->ra_strt; X if (glon < 0.0) glon += 360.0; X if (glon > 360.0) glon -= 360.0; X olon = glon; X! for (glatc = -90.0 + ANGSKIP; glatc <= 90.0; glatc += ANGSKIP) { X! if (clipr_xform(glatc - ANGSKIP, olon, glatc, glon, X &xloc, &yloc, &xloc2, &yloc2, TRUE, X &tlat1, &tlon1, &tlat2, &tlon2)) { X drawcurveline(tlat1, tlon1, tlat2, tlon2, X xloc, yloc, xloc2, yloc2, DOTTED, TRUE, 0); X } X } X } X } X*************** X*** 364,410 **** X chartdecgrid(win) X mapwindow *win; X { X! double glonc, glatc, glat; X! double olon, olat; X int xloc, yloc, xloc2, yloc2; X double tlat1, tlon1, tlat2, tlon2; X! X if (!win->draw_decgrid) return; X! X cur_function = GRID_DEC; X! X! for (glatc = 0; glatc <= 90.0; glatc += win->dec_step) { X! glat = glatc + win->dec_strt; X! if (glat < 0.0) glat = 0.0; X! if (glat > 90.0) glat = 90.0; X! olat = glat; X! olon = glonc = 0.0; X! for (glonc = 0.0; glonc <= 360.0; glonc += 10.0) { X! if (clipr_xform(olat, olon, glat, glonc, X &xloc, &yloc, &xloc2, &yloc2, FALSE, X &tlat1, &tlon1, &tlat2, &tlon2)) { X drawcurveline(tlat1, tlon1, tlat2, tlon2, X xloc, yloc, xloc2, yloc2, DOTTED, FALSE, 0); X } X- olon = glonc; X } X! } X! for (glatc = 0; glatc >= -90.0; glatc -= win->dec_step) { X! glat = glatc + win->dec_strt; X! if (glat < -90.0) glat = -90.0; X! if (glat > 0.0) glat = 0.0; X! olat = glat; X! olon = glonc = 0.0; X! for (glonc = 0.0; glonc <= 360.0; glonc += 10.0) { X! if (clipr_xform(olat, olon, glat, glonc, X! &xloc, &yloc, &xloc2, &yloc2, FALSE, X! &tlat1, &tlon1, &tlat2, &tlon2)) { X! drawcurveline(tlat1, tlon1, tlat2, tlon2, X! xloc, yloc, xloc2, yloc2, DOTTED, FALSE, 0); X! } X! olon = glonc; X! } X! } X } X X X--- 368,399 ---- X chartdecgrid(win) X mapwindow *win; X { X! double glonc, glatc; X! double olat; X int xloc, yloc, xloc2, yloc2; X double tlat1, tlon1, tlat2, tlon2; X! X if (!win->draw_decgrid) return; X! X cur_function = GRID_DEC; X! X! if (win->dec_step < 0) win->dec_step = - win->dec_step; X! X! glatc = win->dec_strt; X! /* search down to find southernmost line */ X! while ((olat = glatc - win->dec_step) > -90.0) glatc = olat; X! X! while (glatc < 90.0) { X! for (glonc = ANGSKIP; glonc <= 360.0; glonc += ANGSKIP) { X! if (clipr_xform(glatc, glonc - ANGSKIP, glatc, glonc, X &xloc, &yloc, &xloc2, &yloc2, FALSE, X &tlat1, &tlon1, &tlat2, &tlon2)) { X drawcurveline(tlat1, tlon1, tlat2, tlon2, X xloc, yloc, xloc2, yloc2, DOTTED, FALSE, 0); X } X } X! glatc += win->dec_step; X! }; X } X X X*************** X*** 430,436 **** X lon = DATAN2((coseps*DSIN(i)), (DCOS(i))); X if (lon < 0.0) lon += 360.0; /* Eliminate discontinuity at -180 */ X if (clipr_xform(olat, olon, lat, lon, X! &xloc, &yloc, &xloc2, &yloc2, FALSE, X &tlat1, &tlon1, &tlat2, &tlon2)) { X drawcurveline(tlat1, tlon1, tlat2, tlon2, X xloc, yloc, xloc2, yloc2, DASHED, TRUE, 0); X--- 419,425 ---- X lon = DATAN2((coseps*DSIN(i)), (DCOS(i))); X if (lon < 0.0) lon += 360.0; /* Eliminate discontinuity at -180 */ X if (clipr_xform(olat, olon, lat, lon, X! &xloc, &yloc, &xloc2, &yloc2, TRUE, X &tlat1, &tlon1, &tlat2, &tlon2)) { X drawcurveline(tlat1, tlon1, tlat2, tlon2, X xloc, yloc, xloc2, yloc2, DASHED, TRUE, 0); Xdiff -r -c ../../starchart3.2/starchart/starmain.c ./starmain.c X*** ../../starchart3.2/starchart/starmain.c Wed Apr 4 18:28:55 1990 X--- ./starmain.c Wed Apr 4 18:31:51 1990 X*************** X*** 3,18 **** X * starchart.c -- version 2, September 1987 X * revision 2.1 December, 1987 X * revision 3.2 February 1990 X! * contact Craig Counterman, email: ccount@athena.mit.edu X * X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth@watcgl) X * X- * Copyright (c) 1990 by Craig Counterman. All rights reserved. X- * X- * This software may be redistributed freely, not sold. X- * This copyright notice and disclaimer of warranty must remain X- * unchanged. X- * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X--- 3,18 ---- X * starchart.c -- version 2, September 1987 X * revision 2.1 December, 1987 X * revision 3.2 February 1990 X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X*************** X*** 19,25 **** X * X * DISCLAIMER OF WARRANTY X * ---------------------- X! * The author disclaims all warranties with regard to this software to X * the extent permitted by applicable law, including all implied X * warranties of merchantability and fitness. In no event shall the X * author be liable for any special, indirect or consequential damages or X--- 19,25 ---- X * X * DISCLAIMER OF WARRANTY X * ---------------------- X! * The authors disclaim all warranties with regard to this software to X * the extent permitted by applicable law, including all implied X * warranties of merchantability and fitness. In no event shall the X * author be liable for any special, indirect or consequential damages or X*************** X*** 39,45 **** X ! X */ X X! static char rcsid[]="$Header: starmain.c,v 2.15 90/03/10 15:31:37 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 39,45 ---- X ! X */ X X! static char rcsid[]="$Header: starmain.c,v 2.17 90/04/03 00:33:49 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X*************** X*** 133,139 **** X--- 133,147 ---- X #define RCFILE "./.starrc" X #endif X X+ /* For msdos, make error file */ X+ #ifdef MSDOS X+ err_out = fopen("star.err","w"); X+ #endif X X+ X+ X+ X+ X /* arguments */ X int g_argc; X char **g_argv; X*************** X*** 197,204 **** X /* read file function indirection to allow for use of alternate file readers */ X int readstar(); X int buf_readstar(); X! /* Macintosh MPW currently doesn't support buf_readstar */ X! #ifndef macintosh X int (*readfile)() = buf_readstar; X #else X int (*readfile)() = readstar; X--- 205,213 ---- X /* read file function indirection to allow for use of alternate file readers */ X int readstar(); X int buf_readstar(); X! /* Macintosh MPW currently doesn't support buf_readstar, X! others also might not */ X! #ifndef NO_BUF_READSTAR X int (*readfile)() = buf_readstar; X #else X int (*readfile)() = readstar; X*************** X*** 297,303 **** X--- 306,326 ---- X numlayers = 9; X X /* Read .starrc or other rc file */ X+ #ifdef USE_ENV_RC X+ if (!rc_read(rcfile)) { X+ /* default file doesn't exist, look for STARRC environment X+ * variable. X+ */ X+ char *aux_rcfile, *getenv(); X+ X+ aux_rcfile = getenv("STARRC"); X+ if (NULL != aux_rcfile) { X+ rc_read(aux_rcfile); X+ } X+ } X+ #else X if (!rc_read(rcfile)); X+ #endif X /* couldn't open rcfile, but that's OK */ X X /* Read command line: may override .starrc */ Xdiff -r -c ../../starchart3.2/starchart/starpost.c ./starpost.c X*** ../../starchart3.2/starchart/starpost.c Wed Apr 4 18:28:56 1990 X--- ./starpost.c Wed Apr 4 18:31:52 1990 X*************** X*** 4,10 **** X X /* X ! patched December, 1987 by Alan Paeth (awpaeth@watcgl), X! ! based on revisions by Craig Counterman (email: ccount@athena.mit.edu) X ! X ! [1] "bigmaster" chart layout now added X ! [2] extensive rework and subclassing of non-stellar objects, e.g. X--- 4,10 ---- X X /* X ! patched December, 1987 by Alan Paeth (awpaeth@watcgl), X! ! based on revisions by Craig Counterman X ! X ! [1] "bigmaster" chart layout now added X ! [2] extensive rework and subclassing of non-stellar objects, e.g. X*************** X*** 18,31 **** X * 8 x 11 inch field, in units of 1/ResPT th of a point X * offset 1/4 inch = 18*ResPT X * X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth@watcgl) X * X! * Copyright (c) 1990 by Craig Counterman. All rights reserved. X * X- * This software may be redistributed freely, not sold. X- * This copyright notice and disclaimer of warranty must remain X- * unchanged. X- * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X--- 18,33 ---- X * 8 x 11 inch field, in units of 1/ResPT th of a point X * offset 1/4 inch = 18*ResPT X * X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X*************** X*** 33,39 **** X */ X X X! static char rcsid[]="$Header: starpost.c,v 2.19 90/03/09 19:13:30 ccount Exp $"; X #include <stdio.h> X #include <math.h> X #ifndef SYSV X--- 35,41 ---- X */ X X X! static char rcsid[]="$Header: starpost.c,v 2.22 90/04/03 00:34:02 ccount Exp $"; X #include <stdio.h> X #include <math.h> X #ifndef SYSV X*************** X*** 244,254 **** X /* h & v tick text controls */ X int htick_lim = 1*ResPT; X int htext_lim = 36*ResPT; X! int htext_xoff = 4*ResPT; X int htext_yoff = 10*ResPT; X int vtick_lim = 1*ResPT; X int vtext_lim = 10*ResPT; X! int vtext_xoff = 14*ResPT; X int vtext_yoff = 0*ResPT; X X /* Scale multiplier, minimum, X--- 246,256 ---- X /* h & v tick text controls */ X int htick_lim = 1*ResPT; X int htext_lim = 36*ResPT; X! int htext_xoff = 0*ResPT; X int htext_yoff = 10*ResPT; X int vtick_lim = 1*ResPT; X int vtext_lim = 10*ResPT; X! int vtext_xoff = 9*ResPT; X int vtext_yoff = 0*ResPT; X X /* Scale multiplier, minimum, X*************** X*** 421,427 **** X /* Open the device */ X D_open() X { X! int i, j; X double young_size; X X if (filname[0] != '\0') { X--- 423,429 ---- X /* Open the device */ X D_open() X { X! int i, j, k; X double young_size; X X if (filname[0] != '\0') { X*************** X*** 455,460 **** X--- 457,466 ---- X out("%%EndProlog"); X out("%%Page: 0 1"); X out("%"); X+ /* Added for 3.2.1, thanks Holger Zessel */ X+ out("% create additional user dictionary"); X+ out("1000 dict begin"); X+ out("%"); X out("% alias moveto/drawto"); X out("%"); X out("/mt {moveto} def"); /* move to */ X*************** X*** 639,646 **** X fprintf(outf, "/sv_%02d {%d v} def\n", - (i*10 + j), mag10sizes[k]); X } else { X fprintf(outf, "/ss%02d {%d s} def\n", i*10 + j, mag10sizes[k]); X! fprintf(outf, "/sd%02d {%d v} def\n", i*10 + j, mag10sizes[k]); X! fprintf(outf, "/sv%02d {%d d} def\n", i*10 + j, mag10sizes[k]); X } X k++; X } X--- 645,652 ---- X fprintf(outf, "/sv_%02d {%d v} def\n", - (i*10 + j), mag10sizes[k]); X } else { X fprintf(outf, "/ss%02d {%d s} def\n", i*10 + j, mag10sizes[k]); X! fprintf(outf, "/sd%02d {%d d} def\n", i*10 + j, mag10sizes[k]); X! fprintf(outf, "/sv%02d {%d v} def\n", i*10 + j, mag10sizes[k]); X } X k++; X } X*************** X*** 762,771 **** X out(" moveto sze sze rmoveto nsze 2 mul nsze 2 mul rlineto"); X out(" sze 2 mul 0 rmoveto nsze 2 mul sze 2 mul rlineto stroke } def"); X /* Comet takes x y size position-angle: x y size position-angle comet - */ X! out("/comet { 2 div dup /sze exch def neg /nsze exch def /phase exch def"); X out(" moveto gsave currentpoint translate sze dup scale"); X out(" .1 setlinewidth"); X! out(" 90 phase sub rotate stdsh0 newpath 0 0 .3 0 360 arc stroke"); X out(" 0 .3 moveto 1 .5 lineto 0 -.3 moveto 1 -.5 lineto"); X out(" .3 0 moveto 1.2 0 lineto"); X out(" stroke grestore } def"); X--- 768,777 ---- X out(" moveto sze sze rmoveto nsze 2 mul nsze 2 mul rlineto"); X out(" sze 2 mul 0 rmoveto nsze 2 mul sze 2 mul rlineto stroke } def"); X /* Comet takes x y size position-angle: x y size position-angle comet - */ X! out("/comet {/phase exch def 2 div dup /sze exch def neg /nsze exch def "); X out(" moveto gsave currentpoint translate sze dup scale"); X out(" .1 setlinewidth"); X! out(" 90 phase sub neg rotate stdsh0 newpath 0 0 .3 0 360 arc stroke"); X out(" 0 .3 moveto 1 .5 lineto 0 -.3 moveto 1 -.5 lineto"); X out(" .3 0 moveto 1.2 0 lineto"); X out(" stroke grestore } def"); X*************** X*** 862,867 **** X--- 868,875 ---- X /* Close the device */ X D_close() X { X+ out("end"); X+ out("% end matches the dict begin after Prolog"); X out("showpage"); X out("%"); X out("%%Trailer"); X*************** X*** 1074,1080 **** X { X int colr; X int class, subclass; X! static char *table = "OBAFGKMRNSrgbycpow"; X static int super_spectra[][10] = { X /* 0 1 2 3 4 5 6 7 8 9 */ X /* O */ { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 }, X--- 1082,1088 ---- X { X int colr; X int class, subclass; X! static char *table = "OBAFGKMCRNSrgbycpow"; X static int super_spectra[][10] = { X /* 0 1 2 3 4 5 6 7 8 9 */ X /* O */ { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 }, X*************** X*** 1084,1089 **** X--- 1092,1098 ---- X /* G */ { 15, 15, 15, 15, 15, 16, 16, 16, 16, 16 }, X /* K */ { 17, 17, 18, 18, 18, 19, 19, 19, 19, 19 }, X /* M */ { 20, 20, 21, 22, 23, 24, 25, 26, 26, 26 }, X+ /* C */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 }, X /* R */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 }, X /* N */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 }, X /* S */ { 30, 30, 30, 30, 31, 31, 31, 31, 31, 31 }, X*************** X*** 1588,1598 **** X { X case 'A': fprintf(outf, "%d %d %d asteroid\n", x, y, diam); break; X case 'C': X! phase = 45.0; X n = sscanf(comment_str, "%lf", &phase); X fprintf(outf, "%%phase %f\n", phase); X if (cur_win->invert) phase = 180 - phase; X! fprintf(outf, "%d %d %f %d comet\n", x, y, phase, diam); X break; X X case 'S': fprintf(outf, "%d %d %d sun\n", x, y, diam); break; X--- 1597,1607 ---- X { X case 'A': fprintf(outf, "%d %d %d asteroid\n", x, y, diam); break; X case 'C': X! phase = 135.0; X n = sscanf(comment_str, "%lf", &phase); X fprintf(outf, "%%phase %f\n", phase); X if (cur_win->invert) phase = 180 - phase; X! fprintf(outf, "%d %d %d %f comet\n", x, y, diam, phase); X break; X X case 'S': fprintf(outf, "%d %d %d sun\n", x, y, diam); break; Xdiff -r -c ../../starchart3.2/starchart/starsample.c ./starsample.c X*** ../../starchart3.2/starchart/starsample.c Wed Apr 4 18:28:57 1990 X--- ./starsample.c Wed Apr 4 18:31:53 1990 X*************** X*** 5,15 **** X /* X * Produced for starchart 3.0 by Craig Counterman Jan, 1989 X * X! * Copyright (c) 1990 by Craig Counterman. All rights reserved. X * X! * This software may be redistributed freely, not sold. X! * This copyright notice and disclaimer of warranty must remain X! * unchanged. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X--- 5,19 ---- X /* X * Produced for starchart 3.0 by Craig Counterman Jan, 1989 X * X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X*************** X*** 17,23 **** X * X */ X X! static char rcsid[]="$Header: starsample.c,v 2.3 90/02/19 17:56:56 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 21,27 ---- X * X */ X X! static char rcsid[]="$Header: starsample.c,v 2.5 90/04/03 00:34:23 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X*************** X*** 227,232 **** X--- 231,237 ---- X break; X case 'M': X break; X+ case 'C': X case 'R': X case 'N': X case 'S': Xdiff -r -c ../../starchart3.2/starchart/starst.c ./starst.c X*** ../../starchart3.2/starchart/starst.c Wed Apr 4 18:28:59 1990 X--- ./starst.c Wed Apr 4 18:31:54 1990 X*************** X*** 4,11 **** X X /* X * Modified from 2.1 to starchart 3.0. Holger Zessel, Nov 1989 X */ X! static char rcsid[]="$Header: starst.c,v 1.1 90/03/08 20:14:37 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 4,28 ---- X X /* X * Modified from 2.1 to starchart 3.0. Holger Zessel, Nov 1989 X+ * Copyright (c) March 1990 by Holger Zessel. All rights reserved. X+ * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X+ * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X+ * X+ * All rights reserved. Redistribution granted for non-commercial X+ * non-profit use only. Disclaimer: users of this work understand that X+ * (a) the authors' cannot undertake to support this software (b) users X+ * agree to acknowledge the use of the software in any published work X+ * arising from its application and (c) any subsequent redistribution of X+ * this work retains this warranty placard. X+ * X+ * No representation is made about the suitability of this X+ * software for any purpose. It is provided "as is" without express or X+ * implied warranty, to the extent permitted by applicable law. X+ X+ X+ X */ X! static char rcsid[]="$Header: starst.c,v 1.3 90/04/03 00:36:15 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X*************** X*** 32,37 **** X--- 49,56 ---- X int vdihandle_save; X int device=1; /* GDOS-Outputdevice */ X X+ long _stksize = 60000L; /* this should be enough I hope */ X+ X #define TRUE 1 X #ifdef NULL X #undef NULL X*************** X*** 386,391 **** X--- 405,411 ---- X break; X case 'M': X break; X+ case 'C': X case 'R': X case 'N': X case 'S': Xdiff -r -c ../../starchart3.2/starchart/starsunv.c ./starsunv.c X*** ../../starchart3.2/starchart/starsunv.c Wed Apr 4 18:29:01 1990 X--- ./starsunv.c Wed Apr 4 18:31:55 1990 X*************** X*** 4,14 **** X * Driver creates sunview window and draws starchart information inside. X * X * X! * Copyright (c) 1990 by Craig Counterman. All rights reserved. X * X! * This software may be redistributed freely, not sold. X! * This copyright notice and disclaimer of warranty must remain X! * unchanged. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X--- 4,18 ---- X * Driver creates sunview window and draws starchart information inside. X * X * X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X*************** X*** 17,23 **** X */ X X X! static char rcsid[]="$Header: starsunv.c,v 1.8 90/02/19 17:57:03 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 21,27 ---- X */ X X X! static char rcsid[]="$Header: starsunv.c,v 1.10 90/04/03 00:34:30 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X*************** X*** 661,667 **** X { X int colr; X int class, subclass; X! static char *table = "OBAFGKMRNSrgbycpow"; X static int spectra[10] = { X BLUE_WHITE, BLUE, WHITE, WHITE, YELLOW, ORANGE, RED, RED, RED}; X X--- 665,671 ---- X { X int colr; X int class, subclass; X! static char *table = "OBAFGKMCRNSrgbycpow"; X static int spectra[10] = { X BLUE_WHITE, BLUE, WHITE, WHITE, YELLOW, ORANGE, RED, RED, RED}; X X*************** X*** 674,679 **** X--- 678,684 ---- X /* G */ { 15, 15, 15, 15, 15, 16, 16, 16, 16, 16 }, X /* K */ { 17, 17, 18, 18, 18, 19, 19, 19, 19, 19 }, X /* M */ { 20, 20, 21, 22, 23, 24, 25, 26, 26, 26 }, X+ /* C */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 }, X /* R */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 }, X /* N */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 }, X /* S */ { 30, 30, 30, 30, 31, 31, 31, 31, 31, 31 }, Xdiff -r -c ../../starchart3.2/starchart/starsupp.c ./starsupp.c X*** ../../starchart3.2/starchart/starsupp.c Wed Apr 4 18:29:02 1990 X--- ./starsupp.c Wed Apr 4 18:31:56 1990 X*************** X*** 4,16 **** X * revision 2.1 December, 1987 X * revision 3.0beta January, 1989 X * X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth@watcgl) X * X! * Copyright (c) 1990 by Craig Counterman. All rights reserved. X * X- * This software may be redistributed freely, not sold. X- * This copyright notice and disclaimer of warranty must remain X- * unchanged. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X--- 4,19 ---- X * revision 2.1 December, 1987 X * revision 3.0beta January, 1989 X * X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X*************** X*** 28,34 **** X ! X */ X X! static char rcsid[]="$Header: starsupp.c,v 2.13 90/03/10 15:31:51 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 31,37 ---- X ! X */ X X! static char rcsid[]="$Header: starsupp.c,v 2.15 90/04/03 00:34:40 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X*************** X*** 247,258 **** X double lat, lon; X int *xloc, *yloc, *inregion; X { X! double theta, rac_l; X double denom; X double Dcoslat, Dsinlat, Dcosrac_l, Dsinrac_l; X /* Dcoslat, Dsinlat: of object latitude in degrees = phi X Dcosrac_l, Dsinrac_l: of object ra - longditude of center = d(lambda) */ X X switch (xfs_proj_mode) { X case SANSONS: X /* X--- 250,263 ---- X double lat, lon; X int *xloc, *yloc, *inregion; X { X! double theta, actheta, rac_l; X double denom; X double Dcoslat, Dsinlat, Dcosrac_l, Dsinrac_l; X /* Dcoslat, Dsinlat: of object latitude in degrees = phi X Dcosrac_l, Dsinrac_l: of object ra - longditude of center = d(lambda) */ X+ double xlocd, ylocd; /* double precision for xloc and yloc */ X X+ X switch (xfs_proj_mode) { X case SANSONS: X /* X*************** X*** 288,294 **** X Dcoslat = DCOS(lat); X Dcosrac_l = DCOS(rac_l); X Dsinrac_l = DSIN(rac_l); X! theta = acos(sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l); X X *inregion = (theta <= chart_scale); X if (*inregion) { X--- 293,302 ---- X Dcoslat = DCOS(lat); X Dcosrac_l = DCOS(rac_l); X Dsinrac_l = DSIN(rac_l); X! actheta = sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l; X! if (actheta > 1.0) theta = 0.0; X! else if (actheta < -1.0) theta = 3.14159265358979323846; X! else theta = acos(actheta); X X *inregion = (theta <= chart_scale); X if (*inregion) { X*************** X*** 306,321 **** X Dcosrac_l = DCOS(rac_l); X Dsinrac_l = DSIN(rac_l); X X! theta = acos(sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l); X X if (theta <= 1.57) { /* avoid wrapping */ X denom = (sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l) / xfs_scale; X! *yloc = xf_ycen + X (int)xfs_inv* X (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l) / denom + 0.5; X! *xloc = xf_xcen - Dcoslat * Dsinrac_l / denom + 0.5; X! *inregion = ((*xloc >= xf_w_left) && (*xloc <= xf_w_right) X! && (*yloc <= xf_w_top) && (*yloc >= xf_w_bot)); X } else *inregion = FALSE; X break; X case ORTHOGR: X--- 314,332 ---- X Dcosrac_l = DCOS(rac_l); X Dsinrac_l = DSIN(rac_l); X X! actheta = sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l; X! if (actheta > 1.0) theta = 0.0; X! else if (actheta < -1.0) theta = 3.14159265358979323846; X! else theta = acos(actheta); X X if (theta <= 1.57) { /* avoid wrapping */ X denom = (sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l) / xfs_scale; X! *yloc = ylocd = xf_ycen + X (int)xfs_inv* X (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l) / denom + 0.5; X! *xloc = xlocd = xf_xcen - Dcoslat * Dsinrac_l / denom + 0.5; X! *inregion = ((xlocd >= xf_w_left) && (xlocd <= xf_w_right) X! && (ylocd <= xf_w_top) && (ylocd >= xf_w_bot)); X } else *inregion = FALSE; X break; X case ORTHOGR: X*************** X*** 325,339 **** X Dcosrac_l = DCOS(rac_l); X Dsinrac_l = DSIN(rac_l); X X! theta = acos(sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l); X X if (theta <= 1.57) { /* avoid wrapping */ X! *yloc = xf_ycen + X (int)xfs_inv * xfs_scale X * (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l); X! *xloc = xf_xcen - xfs_scale * Dcoslat * Dsinrac_l; X! *inregion = ((*xloc >= xf_w_left) && (*xloc <= xf_w_right) X! && (*yloc <= xf_w_top) && (*yloc >= xf_w_bot)); X } else *inregion = FALSE; X break; X case RECTANGULAR: X--- 336,353 ---- X Dcosrac_l = DCOS(rac_l); X Dsinrac_l = DSIN(rac_l); X X! actheta = sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l; X! if (actheta > 1.0) theta = 0.0; X! else if (actheta < -1.0) theta = 3.14159265358979323846; X! else theta = acos(actheta); X X if (theta <= 1.57) { /* avoid wrapping */ X! *yloc = ylocd = xf_ycen + X (int)xfs_inv * xfs_scale X * (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l); X! *xloc = xlocd = xf_xcen - xfs_scale * Dcoslat * Dsinrac_l; X! *inregion = ((xlocd >= xf_w_left) && (xlocd <= xf_w_right) X! && (ylocd <= xf_w_top) && (ylocd >= xf_w_bot)); X } else *inregion = FALSE; X break; X case RECTANGULAR: X*************** X*** 340,349 **** X if ((xf_west < 0.0) && (lon>(xf_west+360.0))) lon -= 360.0; X if ((xf_east > 360.0) && (lon<(xf_east-360.0))) lon += 360.0; X X! *yloc = xf_ycen + (int)xfs_inv * xfs_scale * (lat - xfs_dl_cen); X! *xloc = xf_xcen + xfs_scale * (xfs_ra_cen - lon); X! *inregion = ((*xloc >= xf_w_left) && (*xloc <= xf_w_right) X! && (*yloc <= xf_w_top) && (*yloc >= xf_w_bot)); X break; X default: X break; X--- 354,363 ---- X if ((xf_west < 0.0) && (lon>(xf_west+360.0))) lon -= 360.0; X if ((xf_east > 360.0) && (lon<(xf_east-360.0))) lon += 360.0; X X! *yloc = ylocd = xf_ycen + (int)xfs_inv * xfs_scale * (lat - xfs_dl_cen); X! *xloc = xlocd = xf_xcen + xfs_scale * (xfs_ra_cen - lon); X! *inregion = ((xlocd >= xf_w_left) && (xlocd <= xf_w_right) X! && (ylocd <= xf_w_top) && (ylocd >= xf_w_bot)); X break; X default: X break; Xdiff -r -c ../../starchart3.2/starchart/startek.c ./startek.c X*** ../../starchart3.2/starchart/startek.c Wed Apr 4 18:29:03 1990 X--- ./startek.c Wed Apr 4 18:31:57 1990 X*************** X*** 13,24 **** X */ X /* X * X! * Copyright (c) 1990 by Craig Counterman. All rights reserved. X * X! * This software may be redistributed freely, not sold. X! * This copyright notice and disclaimer of warranty must remain X! * unchanged. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X--- 13,29 ---- X */ X /* X * X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X+ * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X * implied warranty, to the extent permitted by applicable law. X*************** X*** 25,31 **** X * X */ X X! static char rcsid[]="$Header: startek.c,v 2.5 90/03/10 15:34:53 ccount Exp $"; X X X #include <stdio.h> X--- 30,36 ---- X * X */ X X! static char rcsid[]="$Header: startek.c,v 2.7 90/04/03 00:35:02 ccount Exp $"; X X X #include <stdio.h> X*************** X*** 296,301 **** X--- 301,307 ---- X break; X case 'M': X break; X+ case 'C': X case 'R': X case 'N': X case 'S': Xdiff -r -c ../../starchart3.2/starchart/staruplot.c ./staruplot.c X*** ../../starchart3.2/starchart/staruplot.c Wed Apr 4 18:29:06 1990 X--- ./staruplot.c Wed Apr 4 18:32:00 1990 X*************** X*** 8,18 **** X /* X * Produced for starchart 3.0 by Craig Counterman Jan, 1989 X * X! * Copyright (c) 1990 by Craig Counterman. All rights reserved. X * X! * This software may be redistributed freely, not sold. X! * This copyright notice and disclaimer of warranty must remain X! * unchanged. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X--- 8,22 ---- X /* X * Produced for starchart 3.0 by Craig Counterman Jan, 1989 X * X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth X * X! * All rights reserved. Redistribution granted for non-commercial X! * non-profit use only. Disclaimer: users of this work understand that X! * (a) the authors' cannot undertake to support this software (b) users X! * agree to acknowledge the use of the software in any published work X! * arising from its application and (c) any subsequent redistribution of X! * this work retains this warranty placard. X * X * No representation is made about the suitability of this X * software for any purpose. It is provided "as is" without express or X*************** X*** 21,27 **** X */ X X X! static char rcsid[]="$Header: staruplot.c,v 2.2 90/02/19 17:57:49 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X--- 25,31 ---- X */ X X X! static char rcsid[]="$Header: staruplot.c,v 2.4 90/04/03 00:35:07 ccount Exp $"; X X #include <stdio.h> X #include <math.h> X*************** X*** 30,36 **** X #else X #include <string.h> X #endif X! X #include "star3.h" X X /* Externs */ X--- 34,40 ---- X #else X #include <string.h> X #endif X! #include <ctype.h> X #include "star3.h" X X /* Externs */ X*************** X*** 326,331 **** X--- 330,336 ---- X break; X case 'M': X break; X+ case 'C': X case 'R': X case 'N': X case 'S': Xdiff -r -c ../../starchart3.2/starchart/svgagraf.asm ./svgagraf.asm X*** ../../starchart3.2/starchart/svgagraf.asm Wed Apr 4 18:29:06 1990 X--- ./svgagraf.asm Wed Apr 4 18:32:01 1990 X*************** X*** 0 **** X--- 1,1059 ---- X+ ;Written by J. D. McDonald X+ ;This file is public domain. X+ X+ LARGE equ 1 X+ X+ ifdef SMALL X+ NEARDATA equ 1 X+ NEARCODE equ 1 X+ endif X+ X+ ifdef COMPACT X+ FARDATA equ 1 X+ NEARCODE equ 1 X+ endif X+ X+ ifdef MEDIUM X+ NEARDATA equ 1 X+ FARCODE equ 1 X+ endif X+ X+ ifdef LARGE X+ FARDATA equ 1 X+ FARCODE equ 1 X+ endif X+ X+ X+ ifdef NEARCODE X+ argbase equ 0 X+ endif X+ X+ ifdef FARCODE X+ argbase equ 2 X+ endif X+ X+ cseg macro moduleName X+ ifdef FARCODE X+ moduleName&_TEXT segment byte public 'CODE' X+ assume cs: moduleName&_TEXT X+ else X+ _TEXT segment byte public 'CODE' X+ assume cs: _TEXT X+ endif X+ endm X+ X+ endcs macro moduleName X+ ifdef FARCODE X+ moduleName&_TEXT ends X+ else X+ _TEXT ends X+ endif X+ endm X+ X+ pBegin macro pName X+ ifdef FARCODE X+ pName proc far X+ else X+ pName proc near X+ endif X+ public pName X+ endm X+ X+ pEnd macro pName X+ pName endp X+ endm X+ X+ X+ X+ _DATA segment word public 'DATA' X+ first8 dw 0 X+ first14 dw 0 X+ drawseg dw 0A000h X+ maxseg dw 28000 X+ maxline dw 350 X+ xwidth dw 80 X+ maxscreen dw 640 X+ mmaxscreen dw 639 X+ xwidthm dw 79 X+ _DATA ends X+ CONST segment word public 'CONST' X+ ate dw 8 X+ fourt dw 14 X+ eighty dw 80 X+ btab db 80h,40h,20h,10h,8h,4h,2h,1h X+ left db 255,127,63,31,15,7,3,1 X+ right db 128,192,224,240,248,252,254,255 X+ CONST ends X+ _BSS segment word public 'BSS' X+ es8 dw ? X+ bp8 dw ? X+ es14 dw ? X+ bp14 dw ? X+ leftbit db ? X+ rightbit db ? X+ lefttop dw ? X+ leftbot dw ? X+ righttop dw ? X+ rightbot dw ? X+ ysave dw ? X+ leftx dw ? X+ rightx dw ? X+ xx0 dw ? X+ yy0 dw ? X+ xx1 dw ? X+ yy1 dw ? X+ xc10 dw ? X+ xc20 dw ? X+ xc11 dw ? X+ xc21 dw ? X+ lowyb dw ? X+ del_y dw ? X+ del_x dw ? X+ _BSS ends X+ DGROUP GROUP CONST, _BSS, _DATA X+ assume ds: DGROUP, ss: DGROUP, es: DGROUP X+ cseg _egagraf X+ X+ pBegin _symbol X+ ; symbol(ix,iy,height,icol,&isym) plots a single 8xheight character X+ ; matrix pointed to by isym at ix, iy in color icol. X+ ; ix, iy and icol are integers X+ push bp X+ mov bp,sp X+ push di X+ push si X+ ifdef NEARDATA X+ mov si, word ptr [bp+argbase+12] ;pick up address of table X+ mov bx,ds ;containing symbol to plot X+ mov es,bx X+ endif X+ ifdef FARDATA X+ les si,[bp+argbase+12] X+ endif X+ mov bx,word ptr [bp+argbase+8] ;height X+ mov ax,word ptr [bp+argbase+4] ;this is x X+ mov dx,ax ;break x into byte # and bit in byte X+ and dx,7 X+ mov cl,3 X+ sar ax,cl X+ mov [bp+argbase+8],ax ;byte # X+ mov [bp+argbase+4],dx ;leftmost bit used X+ mov dx,drawseg ; segment of display buffer X+ mov cx,xwidth X+ push ds X+ mov ax,es X+ mov es,dx X+ mov ds,ax X+ jmp commonl X+ X+ pEnd _symbol X+ X+ X+ pBegin _slettr X+ ; slettr(ix,iy,ichr,icol) plots a single 8-high IBM character ichr at x,y in X+ ; color icol. all are integers X+ push bp X+ mov bp,sp X+ push di X+ push si X+ cmp first8,0 ;get address of bios table of characters X+ jne sec8 X+ inc first8 X+ mov ah, 011h X+ mov al, 030h X+ mov bh, 03 X+ push bp X+ int 010h X+ mov ax,es X+ mov es8,ax X+ mov bp8,bp X+ pop bp X+ sec8: X+ xor ax,ax X+ mov al,byte ptr [bp+argbase+8] ;this is the character X+ mov cl,3 X+ shl ax,cl X+ add ax,bp8 X+ mov si,ax X+ mov ax,word ptr [bp+argbase+4] X+ mov dx,ax X+ and dx,7 X+ mov cl,3 X+ sar ax,cl X+ mov [bp+argbase+8],ax X+ mov [bp+argbase+4],dx X+ mov ax,drawseg X+ mov es,ax X+ mov cx,xwidth X+ push ds X+ mov ax,es8 X+ mov ds,ax X+ mov bx,8 X+ jmp commonl X+ X+ pEnd _slettr X+ X+ X+ pBegin _llettr X+ ; llettr(ix,iy,ichr,icol) plots a single IBM 14-high character ichr at x,y in X+ ; color icol. all are integers X+ push bp X+ mov bp,sp X+ push di X+ push si END_OF_FILE if test 45933 -ne `wc -c <'stch_pch.ac'`; then echo shar: \"'stch_pch.ac'\" unpacked with wrong size! fi # end of 'stch_pch.ac' fi echo shar: End of archive 3 \(of 4\). cp /dev/null ark3isdone MISSING="" for I in 1 2 3 4 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 4 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0