// // external declarations and manifests for Redraw // Copyright 1980 Bruce D. Lucas // external [ FLDI // load immediate FTR // truncate FLD // load FST // store FSB // subtract FAD // add FMP // multiply FDV // divide FNEG // negate FSN // sign FCM // compare FSTV // store as vector FLDV // load as vector ParametricSpline ArrowsMicaAdjust // the Ramshaw arrow adjuster LoadRam MicroFloatRamImage PSzone sysZone FPSetup InitFloat UserCmGet ParseFontFileName Abort WaitForKey DoDrawFile // various globals communication among // redraw, init, and drawfile OptFlag VerboseFlag QuietFlag ColorFlag ScribeFlag MergeFlag MAXKNOTS UNITTabSize FONTTabSize MinDelta MaxDelta DashOn DashOff UserX UserY p0x; p0y p1x; p1y p2x; p2y p3x; p3y BrushTable TextTable GetFixed OpenFile Closes OsFinish Wss dsp Gets keys PrintFloat PutTemplate ReadBlock SetupReadParam ReadParam EvalParam ReadString SearchString ExtractString AppendString CopyString StringToValue StringEqual SearchChar ReadUserCmItem ] manifest [ ROUNDBRUSH = 0 // draw brush shape codes SQUAREBRUSH = 1 HORIZBRUSH = 2 VERTBRUSH = 3 SCANSperIN = 384 // Dover scan lines per inch MICASperIN = 2540 // micas per inch MICASperALTO = 32 // micas per Alto dot PageCenterX = (SCANSperIN*8+SCANSperIN/2)/2 PageCenterY = (SCANSperIN*11)/2 NumAcs = 40 // a nice even number of fp acs // fp ac assignments XTPOLY = 1 // 1, 2, 3, 4 for coefficients of x(t) YTPOLY = 5 // 5, 6, 7, 8 for coefficients of y(t) XPTPOLY = 9 // 9, 10, 11 for coefficients of x'(t) YPTPOLY = 12 // 12, 13, 14 for coeffiecients of y'(t) XT = 15 // current x(t) YT = 16 // current y(t) XPT = 17 // current x'(t) YPT = 18 // current y'(t) T = 19 // current T NEWT = 20 // t for next iteration, if acceptable NEWXT = 21 // x(t) " NEWYT = 22 // y(t) " XWALLDT = 23 // DT if use x (vertical) walls of square YWALLDT = 24 // DT if use y (horizontal) walls XDIFF = 25 // x difference btw ix and NEWXT YDIFF = 26 // y difference btw iy and NEWYT MINDIFF = 27 // closest (ix,iy) should get to (NEWXT,NEWYT) MAXDIFF = 28 // furthest (ix,iy) should get to (NEWXT,NEWYT) TEMP = 29 // temporary ac TEMPOTHER = 30 // another temporary ac KEpsilon = 31 // Epsilon to replace x' or y' if 0 KAltoDover = 33 // konstant dover scans per alto dot KOne = 34 // konstant 1.0 KTwo = 35 // konstant 2.0 KSix = 36 // konstant 6.0 KHalf = 37 // konstant 0.5 ] structure STRING↑0,255 [ data byte ] structure FLOAT [ sign bit 1 expon bit 8 mantissa1 bit 7 mantissa2 bit 16 ] structure FONTS↑0,3 [ // storage for text and vector font descriptions ALFileName↑0,29 byte Baseline word Family↑0,19 byte Face word Size word ] structure LIST↑1,2 [ // list of floating point nums: p0x, etc. @FLOAT ]