| 1 | SUBROUTINE PLOT(X,Y,IP)\r |
| 2 | C\r |
| 3 | C THIS ROUTINE IS THE HEART OF THE PLOTTING SYSTEM\r |
| 4 | C\r |
| 5 | C THE CALL IS:\r |
| 6 | C\r |
| 7 | C CALL PLOT(XP,YP,IPEN)\r |
| 8 | C\r |
| 9 | C WHERE XP IS THE VIRTUAL X COORDANATE OF THE END POINT OF THE DESIRED\r |
| 10 | C LINE,\r |
| 11 | C WHERE YP IS THE VIRTUAL Y COORDANATE OF THE END POINT OF THE DESIRED\r |
| 12 | C LINE,\r |
| 13 | C AND IPEN IS THE PEN CONTROL PARAMETER.\r |
| 14 | C\r |
| 15 | C IF THE ABSOLUTE VALUE OF IPEN IS 2, THE MOVE IS MADE WITH THE PEN DOWN,\r |
| 16 | C IF THE ABSOLUTE VALUE OF IPEN IS 3, THE MOVE IS MADE WITH THE PEN UP.\r |
| 17 | C IF THE ABSOLUTE VALUE OF IPEN IS ANYTHING ELSE, NO CHANGE IN THE PEN IS\r |
| 18 | C MADE.\r |
| 19 | C IF THE SIGN OF IPEN IS -, THE END POINT OF THE LINE DRAWN IS ASSIGNED TO\r |
| 20 | C BE THE ORIGIN, (0,0).\r |
| 21 | C IF THE SIGN OF IPEN IS +, THE ENDPOINT OF THE LINE WILL BE (XP,YP).\r |
| 22 | C\r |
| 23 | C PLOT SHOULD BE CALLED ONCE TO INITIALIZE IT.\r |
| 24 | C THE CALL 'CALL PLOT(0,0,3)' WOULD SUFFICE.\r |
| 25 | C\r |
| 26 | COMMON/PLOTC/SCALE,IDEV,IPEN,XCUR,YCUR\r |
| 27 | C\r |
| 28 | C SCALE IS THE SCALE EXPRESSED IN RASTER UNITS PER VIRTUAL UNIT.\r |
| 29 | C IDEV IS A DEVICE SELECTION FLAG.\r |
| 30 | C IPEN IS THE CURRENT IPEN PARAMETER\r |
| 31 | C XCUR IS THE CURRENT VIRTUAL X COORDANATE IN RASTER UNITS.\r |
| 32 | C YCUR IS THE CURRENT VIRYUAL Y COORDANATE IN RASTER UNITS.\r |
| 33 | C\r |
| 34 | DATA XCUR,YCUR/0.,0./\r |
| 35 | DATA IDEV,SCALE/1,200./\r |
| 36 | C\r |
| 37 | C DEFAULT VALUES ARE SCALE=1, ANGLE=0, PEN AT (0,0).\r |
| 38 | C\r |
| 39 | XT=IFIX(X*SCALE)\r |
| 40 | YT=IFIX(Y*SCALE)\r |
| 41 | C\r |
| 42 | C CALCULATIONS ARE DONE IN RASTER UNITS TO AVOID ROUND OFF ERROR\r |
| 43 | C\r |
| 44 | CALL DELTAP(XT-XCUR,YT-YCUR,IABS(IP))\r |
| 45 | IF(IP)23,25,25\r |
| 46 | 25 XCUR=XT\r |
| 47 | YCUR=YT\r |
| 48 | C\r |
| 49 | C IPEN POSATIVE MEANS END POINT AS SPECIFIED PLUS/MINUS ONE RASTER UNIT\r |
| 50 | C\r |
| 51 | RETURN\r |
| 52 | 23 XCUR=0.\r |
| 53 | YCUR=0.\r |
| 54 | C\r |
| 55 | C IPEN NEGATIVE MEANS END POINT IS NEW ORIGIN\r |
| 56 | C\r |
| 57 | RETURN\r |
| 58 | END\r |
| 59 | \f SUBROUTINE SYMBOL(X,Y,HGT,BCD,ANGD,N)\r |
| 60 | C\r |
| 61 | C THIS IS THE SYMBOL DRAWING SUBROUTINE.\r |
| 62 | C\r |
| 63 | C X AND Y SPECIFY THE POSITION AT WHICH THE SYMBOL IS TO BE DRAWN.\r |
| 64 | C HGT IS THE HIGHT OF THE CHARACTERS IN VIRTUAL UNITS\r |
| 65 | C BCD CONTAINS THE CHARACTERS (S) TO BE PLOTTED\r |
| 66 | C ANGD IS THE ORIENTAION IN DEGREES RELATIVE TO THE X AXIS\r |
| 67 | C N IS A CONTROL PARAMETER.\r |
| 68 | C\r |
| 69 | C THE CHARACTER AND ITS SPACE FORMS A SQUARE OF WIDTH HGT.\r |
| 70 | C\r |
| 71 | C IF N > 0, N CHARACTERS IN H FORMAT ARE PLOTTED.\r |
| 72 | C IF N = 0, ONE CHARACTER IS PLOTTED WHOSE CODE IS BCD.\r |
| 73 | C\r |
| 74 | C IF N >0, OR =0 , X AND Y ARE THE LOWER LEFT POINT OF THE CHARACTER.\r |
| 75 | C\r |
| 76 | C IF N < 0, ONE CHARACTER WHOS CODE IS B IS PLOTTED CENTERED AROUND (X,Y\r |
| 77 | C ).\r |
| 78 | C\r |
| 79 | COMMON/PLOTC/SCALE,IDEV,IPEN,XCUR,YCUR,SINA,COSA,SEG,ANG\r |
| 80 | DATA ANG,SINA,COSA/0.,0.,1./\r |
| 81 | CALL PLOT(X,Y,3)\r |
| 82 | C\r |
| 83 | C FIRST GO TO THE SPECIFIED POINT\r |
| 84 | C\r |
| 85 | IF(ANG-ANGD)10,20,10\r |
| 86 | C\r |
| 87 | C IF THE REQUESTED ANGLE IS THE SAME AS THE CURRENT ONE,\r |
| 88 | C AVOID CALCULATING THE SIN AND COSINE\r |
| 89 | C\r |
| 90 | 10 ANG=ANGD\r |
| 91 | SINA=SIND(ANG)\r |
| 92 | COSA=COSD(ANG)\r |
| 93 | 20 SEG=HGT/6.\r |
| 94 | C\r |
| 95 | C CHARACTERS ARE ON A 6X6 GRID\r |
| 96 | C\r |
| 97 | IF(N) 60,50,30\r |
| 98 | 30 DO 40 J=1,N\r |
| 99 | C\r |
| 100 | C THIS LOOP PLOTS THE N CHARACTERS IN BCD.\r |
| 101 | C\r |
| 102 | CALL CGET(BCD,J,CHAR)\r |
| 103 | 40 CALL CPLOT(CHAR)\r |
| 104 | RETURN\r |
| 105 | 50 CALL CPLOT(BCD)\r |
| 106 | C\r |
| 107 | C THIS PLOTS ONE CHARACTER WHOS CODE IS BCD\r |
| 108 | C\r |
| 109 | RETURN\r |
| 110 | 60 CALL CPLOT(-BCD)\r |
| 111 | C\r |
| 112 | C THIS PRODUCES A CENTERED CHARACTER.\r |
| 113 | C\r |
| 114 | RETURN\r |
| 115 | END\r |
| 116 | \f SUBROUTINE CPLOT(CHAR)\r |
| 117 | \r |
| 118 | C\r |
| 119 | C THIS ROUTINE DRIVES THE CHARACTER GENERATOR.\r |
| 120 | C THE ANGLE AND HIGHT HAVE ALREADY BE COMPUTED.\r |
| 121 | C\r |
| 122 | COMMON/PLOTC/SCALE,IDEV,IPEN,XCUR,YCUR,SINA,COSA,SEG\r |
| 123 | IF(CHAR)50,5,5\r |
| 124 | C\r |
| 125 | C CHECK FOR CENTERED OR NORMAL CHARACTER\r |
| 126 | C\r |
| 127 | 5 CALL WHERE(XLL,YLL)\r |
| 128 | C\r |
| 129 | C SET THE LOWER LEFT OF THE CHARACTER AT CURRENT POSITION.\r |
| 130 | C\r |
| 131 | CALL SELCQ(CHAR)\r |
| 132 | C\r |
| 133 | C SET UP FOR REQUESTED CHARACTER.\r |
| 134 | C\r |
| 135 | 10 CALL CQXY(X,Y,IPEN)\r |
| 136 | C\r |
| 137 | C CALL FOR A VECTOR\r |
| 138 | C\r |
| 139 | X=X*SEG\r |
| 140 | Y=(Y-1.)*SEG\r |
| 141 | XP=XLL+X*COSA-Y*SINA\r |
| 142 | YP=YLL+X*SINA+Y*COSA\r |
| 143 | IF(IPEN-7)25,20,20\r |
| 144 | C\r |
| 145 | C CHECK FOR LAST VECTOR\r |
| 146 | C\r |
| 147 | 25 CALL PLOT(XP,YP,IPEN)\r |
| 148 | C\r |
| 149 | C PLOT RELATIVE TO XLL,YLL AND GO BACK FOR MORE\r |
| 150 | C\r |
| 151 | GOTO 10\r |
| 152 | 20 IF(CHAR)30,40,40\r |
| 153 | C\r |
| 154 | C CENTERED CHARACTERS GET FUDGED, SO CHECK FOR THAT\r |
| 155 | C\r |
| 156 | 40 CALL PLOT(XP,YP,IPEN)\r |
| 157 | RETURN\r |
| 158 | 30 CALL PLOT(X0,Y0,IPEN)\r |
| 159 | C\r |
| 160 | C PLOT TO CENTER OF CHARACTER\r |
| 161 | C\r |
| 162 | RETURN\r |
| 163 | 50 CALL WHERE(X0,Y0)\r |
| 164 | C\r |
| 165 | C FIND OUT WHERE CENTER OF CHARACTER SHOULD BE (IS)\r |
| 166 | C\r |
| 167 | XLL=X0-2.*SEG\r |
| 168 | YLL=Y0-3.*SEG\r |
| 169 | CALL PLOT(XLL,YLL,3)\r |
| 170 | C\r |
| 171 | C CALCULATE THE LOWER LEFT FROM GIVEN CENTER, THEN GO THERE.\r |
| 172 | C\r |
| 173 | CALL SELCQ(-CHAR)\r |
| 174 | GOTO 10\r |
| 175 | C\r |
| 176 | C SELECT CENTERED CHARACTER, THEN PROCESS NORMALLY\r |
| 177 | C\r |
| 178 | END\r |
| 179 | \f SUBROUTINE ASSIGN(X,Y)\r |
| 180 | C\r |
| 181 | C THIS ROUTINE ASSIGNS THE CURRENT PEN POSITION AS VIRTUAL (X,Y).\r |
| 182 | C\r |
| 183 | COMMON/PLOTC/SCALE,IDEV,IPEN,XCUR,YCUR,SINA,COSA,SEG\r |
| 184 | XCUR=IFIX(X*SCALE)\r |
| 185 | YCUR=IFIX(Y*SCALE)\r |
| 186 | C\r |
| 187 | C XCUR AND YCUR ARE STORED IN RASTER TS\r |
| 188 | C\r |
| 189 | RETURN\r |
| 190 | END\r |
| 191 | \f SUBROUTINE WHERE(X,Y)\r |
| 192 | C\r |
| 193 | C THIS ROUTINE RETURNS THE VIRTUAL COORDANADTES OF THE CURRENT\r |
| 194 | C PEN POSITION\r |
| 195 | C\r |
| 196 | COMMON/PLOTC/SCALE,IDEV,IPEN,XCUR,YCUR,SINA,COSA,SEG\r |
| 197 | X=XCUR/SCALE\r |
| 198 | Y=YCUR/SCALE\r |
| 199 | C\r |
| 200 | C XCUR AND YCUR ARE IN RASTER UNITS\r |
| 201 | C\r |
| 202 | RETURN\r |
| 203 | END\r |
| 204 | \f SUBROUTINE FACTOR(FACT)\r |
| 205 | C\r |
| 206 | C THIS ROUTINE ESTABLISHES A NEW SCALE FACTOR\r |
| 207 | C FACT=1 IS 1 UNIT = 1 INCH\r |
| 208 | C\r |
| 209 | COMMON/PLOTC/SCALE,IDEV,IPEN,XCUR,YCUR,SINA,COSA,SEG,ANG\r |
| 210 | SCALE=FACT*200.\r |
| 211 | C\r |
| 212 | C MY PLOTTER HAS 200 STEPS PER INCH\r |
| 213 | C\r |
| 214 | RETURN\r |
| 215 | END\r |
| 216 | \f SUBROUTINE NUMBER (XP, YP, HGT, FPN, THETA, ND)\r |
| 217 | C\r |
| 218 | C THIS ROUTINE CONVERTS A NUMBER INTO PLOTTED FORM\r |
| 219 | C\r |
| 220 | C XP AND YP ARE THE COORDANATES WHERE THE PLOTTED NUMBER SHOULD BEGIN\r |
| 221 | C HGT IS THE HIGHT IF THE CHARACTERS.\r |
| 222 | C FPN IS THE NUMBER (FLOATING OR FIXED IN PDP) TO BE CONVERTED\r |
| 223 | C THETA IS THE ANGLE THE CHARACTERS MAKE WITH THE X AXIS\r |
| 224 | C\r |
| 225 | C IF ND>0, IT SPECIFIES THE NUMBER OF DIGITS TO THE RIGHT OF THE DECIMAL\r |
| 226 | C POINT THAT ARE TO BE CONVERTED AND PLOTTED, AFTER PROPER ROUNDING.\r |
| 227 | C FOR EXAMBLE, ASSUME AN INTERNAL VALUE OF -0.1234567X10^3. IF\r |
| 228 | C ND WERE 2, THE PLOTTED NUMBER WOULD BE '-123.46' .\r |
| 229 | C\r |
| 230 | C IF ND=0, ONLY THE INTEGER PORTION AND A DECIMAL POINT\r |
| 231 | C ARE PLOTTED, AFTER ROUNDING.\r |
| 232 | C\r |
| 233 | C IF ND=-1, ONLY THE NUMBERS INTEGER PORTION IS PLOTTED, AFTER\r |
| 234 | C ROUNDING. (THE NUMBER ABOVE WOULD BE PLOTTED AS '-123' W/O DECIMAL POINT\r |
| 235 | C\r |
| 236 | C IF ND<-1, ABS(ND)-1 DIGITS ARE TRUNCATED FROM THE INTEGER PORTION,\r |
| 237 | C AFTER ROUNDING..\r |
| 238 | C\r |
| 239 | COMMON/PLOTC/SCALE,IDEV,IPEN,XCUR,YCUR,SINA,COSA,SEG,ANG\r |
| 240 | DATA MAXN/9/\r |
| 241 | DATA SINA,COSA,ANG/0.,1.,0./\r |
| 242 | C MOVE TO REQURSTED LOCATION\r |
| 243 | CALL PLOT(XP,YP,3)\r |
| 244 | C IF THE ANGLE IS THE SAME, SAVE THE SIN-COSIN WORK\r |
| 245 | IF(THETA-ANG) 5, 6, 5\r |
| 246 | 5 ANG=THETA SINA=SIND(ANG)\r |
| 247 | COSA=COSD(ANG)\r |
| 248 | 6 SEG=HGT/6.\r |
| 249 | FPV = FPN\r |
| 250 | N = ND\r |
| 251 | C SET N VALUE TO + OR - MAXN, IF OUT OF RANGE\r |
| 252 | IF (N - MAXN) 11, 11, 10\r |
| 253 | 10 N = MAXN\r |
| 254 | 11 IF (N + MAXN) 12, 20, 20\r |
| 255 | 12 N = -MAXN\r |
| 256 | C INSERT MINUS SIGN IN FRONT OF NUMBER, IF NEGATIVE\r |
| 257 | 20 IF (FPV) 21, 30, 30\r |
| 258 | 21 CALL CPLOT(45)\r |
| 259 | C WHEN SYMBOL IS CALLED WITH SAMEV FOR X AND Y, THE CHARACTER STRING\r |
| 260 | C CONTINUES FROM THE LAST CHARACTER PLOTTED BY SYMBOL\r |
| 261 | C MN LOCATES EXPONENT VALUE FOR PROPER ROUNDING OF NUMBER\r |
| 262 | 30 MN = -N\r |
| 263 | C IF SCALING IS DONE, MN MUST BE ADJUSTED\r |
| 264 | IF (N) 31, 32, 32\r |
| 265 | 31 MN = MN - 1\r |
| 266 | C ROUND INPUT NUMBER AND SET TO POSITIVE VALUE\r |
| 267 | 32 FPV = ABS(FPV) + (0.5 * 10. ** MN)\r |
| 268 | C DETERMINE CHARACTERISTIC OF FPV AND INCREMENT IT BY 1\r |
| 269 | I = ALOG10(FPV) + 1.0\r |
| 270 | ILP = I\r |
| 271 | C IF SCALING IS DONE, ILP MUST BE REDUCED ACCORDING TO SCALING\r |
| 272 | IF (N + 1) 40, 41, 41\r |
| 273 | 40 ILP = ILP + N + 1\r |
| 274 | C IF NUMBER IS LESS THAN 1 PLOT A ZERO BEFORE DECIMAL (IF ANY)\r |
| 275 | 41 IF (ILP) 50, 50, 51\r |
| 276 | 50 CALL CPLOT(48)\r |
| 277 | GO TO 61\r |
| 278 | C ILP IS NUMBER OF DIGITS TO LEFT OF DECIMAL POINT\r |
| 279 | 51 DO 60 J = 1, ILP\r |
| 280 | C LOCATE SINGLE LEFTMOST DIGIT OF NUMBER\r |
| 281 | K = FPV * 10. ** (J - I)\r |
| 282 | CALL CPLOT(K+48)\r |
| 283 | C SUBTRACT VALUE OF PREVIOUS DIGIT FROM NUMBER TO LOCATE NEXT DIGIT\r |
| 284 | 60 FPV = FPV - (FLOAT(K) * 10. ** (I - J))\r |
| 285 | C NO DECIMAL POINT IS PLOTTED IF N IS NEGATIVE, EXIT FROM ROUTINE\r |
| 286 | 61 IF (N) 99, 70, 70\r |
| 287 | 70 CALL CPLOT(46)\r |
| 288 | C PLOT DIGITS TO RIGHT OF DECIMAL IF N GT 0, OTHERWISE EXIT\r |
| 289 | IF (N) 99, 99, 80\r |
| 290 | 80 DO 90 J = 1, N\r |
| 291 | C SCALE FRACTIONAL REMAINDER TO GIVE INTEGER DIGIT\r |
| 292 | K = FPV * 10.\r |
| 293 | CALL CPLOT(K+48)\r |
| 294 | C SUBTRACT INTEGER VALUE TO LOCATE NEXT DIGIT\r |
| 295 | 90 FPV = FPV * 10. - FLOAT(K)\r |
| 296 | 99 RETURN\r |
| 297 | END\r |
| 298 | \f SUBROUTINE AXIS(XPAGE,YPAGE,IBCD,NCHAR,AXLEN,ANGLE,FIRSTV,DELTAV)\r |
| 299 | C..... XPAGE,YPAGE COORDINATES OF STARTING POINT OF AXIS, IN INCHES\r |
| 300 | C..... IBCD AXIS TITLE.\r |
| 301 | C..... NCHAR NUMBER OF CHARACTERS IN TITLE. + FOR C.C-W SIDE.\r |
| 302 | C..... AXLEN FLOATING POINT AXIS LENGTH IN INCHES.\r |
| 303 | C..... ANGLE ANGLE OF AXIS FROM THE X-DIRECTION, IN DEGREES.\r |
| 304 | C..... FIRSTV SCALE VALUE AT THE FIRST TIC MARK.\r |
| 305 | C..... DELTAV CHANGE IN SCALE BETWEEN TIC MARKS ONE INCH APART\r |
| 306 | DIMENSION IBCD(2)\r |
| 307 | KN=NCHAR\r |
| 308 | A=1.0\r |
| 309 | IF (KN) 1,2,2\r |
| 310 | 1 A=-A\r |
| 311 | KN=-KN\r |
| 312 | 2 EX=0.0\r |
| 313 | ADX= ABS (DELTAV)\r |
| 314 | IF (ADX) 3,7,3\r |
| 315 | 3 IF (ADX- 99.0) 6,4,4\r |
| 316 | 4 ADX=ADX/10.0\r |
| 317 | EX=EX+1.0\r |
| 318 | GO TO 3\r |
| 319 | 5 ADX=ADX*10.0\r |
| 320 | EX=EX-1.0\r |
| 321 | 6 IF (ADX-0.01) 5,7,7\r |
| 322 | 7 XVAL=FIRSTV*10.0**(-EX)\r |
| 323 | ADX= DELTAV*10.0**(-EX)\r |
| 324 | STH=ANGLE*0.0174533\r |
| 325 | CTH=COS(STH STH=SIN(STH)\r |
| 326 | DXB=-0.1\r |
| 327 | DYB=0.15*A-0.05\r |
| 328 | XN=XPAGE+DXB*CTH-DYB*STH\r |
| 329 | YN=YPAGE+DYB*CTH+DXB*STH\r |
| 330 | NTIC=AXLEN+1.0\r |
| 331 | NT=NTIC/2\r |
| 332 | DO 20 I=1,NTIC\r |
| 333 | CALL NUMBER(XN,YN,0.105,XVAL,ANGLE,2)\r |
| 334 | XVAL=XVAL+ADX\r |
| 335 | XN=XN+CTH\r |
| 336 | YN=YN+STH\r |
| 337 | IF (NT) 20,11,20\r |
| 338 | 11 Z=KN\r |
| 339 | IF (EX) 12,13,12\r |
| 340 | 12 Z=Z+7.0\r |
| 341 | 13 DXB=-.07*Z+AXLEN*0.5\r |
| 342 | DYB=0.325*A-0.075\r |
| 343 | XT=XPAGE+DXB*CTH-DYB*STH\r |
| 344 | YT=YPAGE+DYB*CTH+DXB*STH\r |
| 345 | CALL SYMBOL(XT,YT,0.14,IBCD(1),ANGLE,KN)\r |
| 346 | IF (EX) 14,20,14\r |
| 347 | 14 Z=KN+2\r |
| 348 | XT=XT+Z*CTH*0.14\r |
| 349 | YT=YT+Z*STH*0.14\r |
| 350 | CALL SYMBOL(XT,YT,0.14,3H*10,ANGLE,3)\r |
| 351 | XT=XT+(3.0*CTH-0.8*STH)*0.14\r |
| 352 | YT=YT+(3.0*STH+0.8*CTH)*0.14\r |
| 353 | CALL NUMBER(XT,YT,0.07,EX,ANGLE,-1)\r |
| 354 | 20 NT=NT-1\r |
| 355 | CALL PLOT(XPAGE+AXLEN*CTH,YPAGE+AXLEN*STH,3)\r |
| 356 | DXB=-0.07*A*STH\r |
| 357 | DYB=+0.07*A*CTH\r |
| 358 | A=NTIC-1\r |
| 359 | XN=XPAGE+A*CTH\r |
| 360 | YN=YPAGE+A*STH\r |
| 361 | DO 30 I=1,NTIC\r |
| 362 | CALL PLOT(XN,YN,2)\r |
| 363 | CALL PLOT(XN+DXB,YN+DYB,2)\r |
| 364 | CALL PLOT(XN,YN,2)\r |
| 365 | XN=XN-CTH\r |
| 366 | YN=YN-STH\r |
| 367 | 30 CONTINUE\r |
| 368 | RETURN\r |
| 369 | END\r |
| 370 | \fC\r |
| 371 | C THIS ROUTINE PRODUCES A SYMBOL TABLE, WHICH SHOWS THE CHARACTERS\r |
| 372 | C AVAILABLE IN THE SYMBOL ROUTINE.\r |
| 373 | C\r |
| 374 | C MAXCHR IS THE INTEGER EQUIVALENT OF THE LAST CHARACTER.\r |
| 375 | MAXCHR=63\r |
| 376 | CALL PLOT(0,0,3)\r |
| 377 | CALL PLOT (0.0,11.0,2)\r |
| 378 | CALL PLOT (8.5,11.0,2)\r |
| 379 | CALL PLOT (8.5,0.0,2)\r |
| 380 | CALL PLOT (0.0,0.0,2)\r |
| 381 | CALL SYMBOL(0.75,10.4,.14,49HCHARACTERS AVAILABLE IN SYMBOL ROUTIN\r |
| 382 | 1E ( PDP 8E ),0.,49)\r |
| 383 | CALL PLOT(8.25,10.,3)\r |
| 384 | CALL PLOT(0.25,10.,2)\r |
| 385 | CALL PLOT(0.25,0.25,2)\r |
| 386 | CALL PLOT(8.25,0.25,2)\r |
| 387 | CALL PLOT(8.25,10.0,2)\r |
| 388 | X=0.5\r |
| 389 | K=0\r |
| 390 | DO 200 I=1,5\r |
| 391 | Y=9.4\r |
| 392 | DO 100 J=1,13\r |
| 393 | CALL NUMBER(X,Y+0.1,.14,FLOAT (K),0.0,-1)\r |
| 394 | 4 CALL SYMBOL(X+0.45,Y,0.35,K,0.0,0)\r |
| 395 | 10 IO1=K/8\r |
| 396 | IO2=K-IO1*8\r |
| 397 | CALL NUMBER(X+0.90,Y+0.1,0.14,FLOAT (IO1),0.0,-1)\r |
| 398 | CALL NUMBER(X+1.04,Y+0.1,0.14,FLOAT (IO2),0.0,-1)\r |
| 399 | GO TO 20\r |
| 400 | 15 CALL SYMBOL(X+1.0,Y+0.1,.14,1H-,0.0,1)\r |
| 401 | 20 K=K+1\r |
| 402 | Y=Y-.7307\r |
| 403 | IF(K-MAXCHR) 100,100,300\r |
| 404 | 100 CONTINUE\r |
| 405 | CALL PLOT(X+1.35,0.25,3)\r |
| 406 | CALL PLOT(X+1.35,10.,2)\r |
| 407 | 200 X=X+1.6\r |
| 408 | 300 CALL WAIT\r |
| 409 | END\r |
| 410 | \f`x\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 |