22-Jul-87 13:09:29-MDT,9242;000000000001 Date: Wed 22 Jul 87 13:09:29-MDT From: "Nelson H.F. Beebe" Subject: DVI driver family update #9 To: "DVI mailing list": ; cc: BEEBE@SCIENCE.UTAH.EDU X-US-Mail: "Center for Scientific Computation, South Physics, University of Utah, Salt Lake City, UT 84112" X-Telephone: (801) 581-5254 Message-ID: <12320452968.12.BEEBE@SCIENCE.UTAH.EDU> DVI Driver Family Update #9 [22-Jun-87] The University of Utah Mathematics Department purchased 12 Sun 3/50's, a 3/110 color system (for me), and a 3/260 file server with 575Mb disk; 4 of these have been running now for 2 weeks, during which time I have been busy learning about them, and installing software on them. During the first week, I got jove and gnu emacs running, and as of 19-Jun-87 (Friday morning), TeX 2.2, plus AMSTeX, LaTeX, SLITeX, BibTeX, and all the DVI drivers are now operational. TeX 2.2 was released 10-Jun-87 at Stanford, and most LaTeX .sty and .doc files were updated about the same time. I have updated our TOPS-20 system (SCIENCE.UTAH.EDU), plus 2 VAX VMS systems, plus the Sun's to this level. Metafont on the Sun's core dumps immediately; we are at Sun OS 3.2, and the TeX distribution tree I tar'ed over from CS.UTAH.EDU has only change files for Sun OS version 2, so I expect there is some incompatibility there, although nothing obvious showed up in the build process, which I repeated twice for checking purposes. What all of this means is that we now have our own local Unix systems besides TOPS-20, VMS, and MS-DOS available for development. Until last October, I had Eunice (4.1BSD under VAX VMS), but we upgraded the VAX 750 to an 8600, and the Eunice licensing for the 8600 is still under negotiation, so I have been without substantial Unix access for the last 8 months. I do have guest accounts on several campus Unix machines, but cannot reasonably do any sofware development on them. The Sun installation necessitated a few changes, which are given by Unix diff listings below. For those unfamiliar with diff, a command diff oldfile newfile produces lines beginning "<" from the old file, and those following which begin with ">" are the replacement lines from the new file, so the listings have the same order as a Web @x old @y new @z change file sequence. Lines preceded by #1,a#2,#3 are to be added at line number #1. Similarly, #1,#2c#3,#4 represents a change of lines #1 through #2. ======================================================================== CLRBMAP.H: -- missing two typecasts 17c17 < p = BITMAP(y,0); --- > p = (UNSIGN32*)BITMAP(y,0); 44,45c44,45 < < p = BITMAP(YBIT-1,XBIT-1); /* the last element */ --- > p = (UNSIGN32*)BITMAP(YBIT-1,XBIT-1); /* the last element */ > ======================================================================== DVIALW.PS: -- fix error in /LEGAL macro; thanks to Ken Yap (ken@cs.rochester.edu) for finding this one 0a1,2 > % DVIALW.PS.14, 22-Jun-87 09:55:05, Edit by BEEBE > % Add missing "0 900 translate Mtrx currentmatrix pop" to /LEGAL 194a197,198 > 0 900 translate > Mtrx currentmatrix pop That is, it should read /LEGAL { legal initmatrix 72 Resolution div dup scale 0 900 translate Mtrx currentmatrix pop } bdf ======================================================================== DVIJEP.C: -- several expressions too complex for Sun cc compiler; it is amazing that it could not even compile the simple product 4.0*(tcharptr->tfmw)*conv! 351a352,353 > float temp; > INT16 ntemp; 389,394c391,406 < OUT16(MAX(-128,MIN(-(tcharptr->xoffp),127))); < OUT16(MAX(-128,MIN(tcharptr->yoffp,127))); < OUT16(MIN(128,tcharptr->wp)); < OUT16(MIN(255,tcharptr->hp)); < OUT16(ROUND(4.0*(tcharptr->tfmw)*conv)); /* delta x to nearest */ < /* 1/4 dot */ --- > /* Apologies for the temporary variables; the Sun OS 3.2 cc could > not compile the original expressions. */ > ntemp = MIN(-(tcharptr->xoffp),127); > ntemp = MAX(-128,ntemp); > OUT16(ntemp); > ntemp = MIN(tcharptr->yoffp,127); > ntemp = MAX(-128,ntemp); > OUT16(ntemp); > ntemp = MIN(128,tcharptr->wp); > OUT16(ntemp); > ntemp = MIN(255,tcharptr->hp); > OUT16(ntemp); > temp = tcharptr->tfmw; > temp = 4.0*temp*conv; > ntemp = ROUND(temp); > OUT16(ntemp); /* delta x to nearest 1/4 dot */ ======================================================================== GETBMAP.H: -- optional; Sun cc will not accept the backslash line continuation, most other compilers require it. A single long line instead would solve the problem, but requires a line which exceeds 80 characters, which is a portability no-no. 27,28c27,28 < bitmap = (UNSIGN32*)MALLOC( ((UNSIGN32)(XBIT)) * ((UNSIGN32)(YBIT)) * \ < sizeof(UNSIGN32) ); --- > bitmap = (UNSIGN32*)MALLOC( ((UNSIGN32)(XBIT)) * ((UNSIGN32)(YBIT)) * > sizeof(UNSIGN32) ); ======================================================================== MACHDEFS.H: -- Unix TeX from U of Washington does not follow the Stanford directory naming conventions, sigh..., so we change the SUBPATH default directory name. Also, the tests for compile-time definition of FONTLIST, FONTPATH and SUBPATH need #ifdef instead of #if. 95d94 < DECLN03PLUS -- DEC LN03-PLUS laser printer 165c164 < #define REWIND(fp) FSEEK(fp,0L,0) --- > #define REWIND(fp) fseek(fp,0L,0) 206d204 < #define DECLN03PLUS 0 225d222 < 285c282 < #ifdef FONTLIST /* can be set at compile-time */ --- > #if FONTLIST /* can be set at compile-time */ 290c287 < #ifdef FONTPATH /* can be set at compile-time */ --- > #if FONTPATH /* can be set at compile-time */ 303c300 < #ifdef SUBPATH /* can be set at compile-time */ --- > #if SUBPATH /* can be set at compile-time */ 550c547 < #ifdef FONTLIST /* can be set at compile-time */ --- > #if FONTLIST /* can be set at compile-time */ 555c552 < #ifdef FONTPATH /* can be set at compile-time */ --- > #if FONTPATH /* can be set at compile-time */ 568,570c565,567 < #ifdef SUBPATH /* can be set at compile-time */ < #else < #define SUBPATH "/usr/lib/tex/macros/" --- > #if SUBPATH /* can be set at compile-time */ > #else > #define SUBPATH "/usr/lib/tex/inputs/" 613a611,631 > /* Avoid stupid undefined macro name warnings */ > #ifndef FONTLIST > #define FONTLIST 0 > #endif > > #ifndef FONTPATH > #define FONTPATH 0 > #endif > > #ifndef SUBPATH > #define SUBPATH 0 > #endif > > #ifndef TEXINPUTS > #define TEXINPUTS 0 > #endif > > #ifndef TEXFONTS > #define TEXFONTS 0 > #endif > 621c639,640 < #ifndef FONTLIST /* can be set at compile-time */ --- > #if FONTLIST /* can be set at compile-time */ > #else 625c644,645 < #ifndef FONTPATH /* can be set at compile-time */ --- > #if FONTPATH /* can be set at compile-time */ > #else 644c664,665 < #ifndef SUBPATH /* can be set at compile-time */ --- > #if SUBPATH /* can be set at compile-time */ > #else 648c669,670 < #ifndef TEXINPUTS /* can be set at compile-time */ --- > #if TEXINPUTS /* can be set at compile-time */ > #else 652c674,675 < #ifndef TEXFONTS /* can be set at compile-time */ --- > #if TEXFONTS /* can be set at compile-time */ > #else ======================================================================== MAKEFILE.UNX: --optional; we insist that all local additions to our Unix systems be placed ONLY under the tree /usr/local. The Washington TeX distribution assumes fonts and input files are under /usr/lib; the changes to CFLAGS provide for this: 12c12,14 < CFLAGS = -DANSI=0 -DUNIX --- > CFLAGS = -DANSI=0 -DUNIX \ > -DFONTPATH="\"/usr/local/lib/tex/fonts/\"" \ > -DSUBPATH="\"/usr/local/lib/tex/macros/\"" 18c20,22 < RM = rm --- > RM = /bin/rm > > C = .c 30c34,35 < # Targets --- > # Targets (lw78 is excluded--most Unix sites have Transcript or devps > # which offer similar features) 34,35c39,48 < keytst lptops lw78 texidx tosprx < --- > keytst lptops texidx tosprx > > > CLEAN: > $(RM) *.o > $(RM) -f 00arit \ > dvialw dvibit dvican dvigd dviimp dvijep dvijet dvil75 \ > dvim72 dvimac dvimpi dvio72 dvioki dviprx dvitos \ > keytst lptops texidx tosprx > ======================================================================== TOSPRX.C: -- removed unused arguments 58,60c58 < main(argc,argv) < int argc; < char *argv[]; --- > main() ======================================================================== [The End] -------