File FPLOT.RA

Directory of image this file is from
This file as a plain text file




/FPP FORTRAN IV PSEUDO PLOT DRIVER
/WRITES ON LOGICAL UNIT 9
/COMPATIBLE WITH CALCOMP DRIVER

/CALLS ARE:
/	CALL INITDP
/	CALL DSCALE(XMIN,YMIN,XMAX,YMAX)
/	CALL DPLOT(N,X,Y,PEN)
/	CALL DPWAIT


/WRITTEN BY:
/	DENNIS MCGHIE
/	CARDIAC SURGERY
/	STANFORD MED. CENTER
/	STANFORD, CALIF.  94305

/	OCTOBER 1973
/	DECEMBER 1973----CHANGED FOR FORTRAN IV

SECT DPLOT JA #DPLOT #X0, 0;0;0;0;0; XYP, 0;0;0 TEXT +FPLOT + #RTN, SETX #X0 SETB #BASE #BASE, FNOP;ORG .+5 XMIN, N, ORG .+3 YMIN, X, ORG .+3 XMAX, Y, ORG .+3 YMAX, PEN, ORG .+3 XRANGE, F 850. YRANGE, F 1092. ORG #BASE+30 FNOP JA #RTN FNOP DPBAK, JA . YSCALE, F 1. YZERO, F 0. XSCALE, F 1. XZERO, F 0. #DPLOT, JSA PICKUP /GET 4 ARGS BASE #BASE LDX 1,0 / LINE=1 FOR DPLOT FLDA% N FNEG ATX 1 /-# OF POINTS TO PLOT LDX -1,2 /INDEX OFFSET FOR ARRAYS DPLOO, FLDA% PEN,2+ /GET PEN UP-DOWN VALUE ATX 7 /PUT IN WORD 3 OF XYP FLDA% Y,2 /GET Y & SCALE IT FMUL YSCALE FSUB YZERO ATX 6 /PUT IN WORD 2 OF TRIPLE FLDA% X,2 /GET X & SCALE IT FMUL XSCALE FSUB XZERO ATX 5 /PUT IN WORD 1 OF XYP FLDA XYP /GET TRIPLET JSA PFILE JXN DPLOO,1+ /DO MORE IF NOT DONE JA DPBAK
BASE 0 PICKUP, JA . /SUBROUTINE ENTRY POINT STARTD FLDA 30 /RETN JA FSTA DPBAK FLDA 0 /ARG PTR BASE #BASE SETB #BASE /MY BASE LOC SETX #X0 /ON PLOTTER PAGE FSTA #BASE LDX 1,1 /ARG OFFSET REGISTER FLDA% #BASE,1 FSTA N /POINTS TO ARG1 FLDA% #BASE,1+ FSTA X /POINTS TO ARG2 FLDA% #BASE,1+ FSTA Y /POINTS TO ARG3 FLDA% #BASE,1+ FSTA PEN /POINTS TO ARG4 STARTF JA PICKUP /RETURN
/ENTRY TO SCALE PLOT SPACE ENTRY DSCALE DSCALE, JSA PICKUP BASE #BASE LDX 2,0 / LINE=2 FOR DSCALE FLDA% XMAX FSUB% XMIN FSTA XMAX /X RANGE FLDA% YMAX FSUB% YMIN FSTA YMAX /Y RANGE FLDA XRANGE FDIV XMAX FSTA XSCALE FMUL% XMIN FSTA XZERO FLDA YRANGE FDIV YMAX FSTA YSCALE FMUL% YMIN FSTA YZERO JA DPBAK
/THIS ROUTINE REPLACES PLOTX / IT BUFFERS PLOTTER CALLS TO FILE ON LU9 PFILE, JA . FSTA BUFFER-3,4+ / (X4)=1-85 XTA 4 FSUB P85 / INDEX LIMIT JLT PFILE / DON'T JUMP IF LAST LDX 0,4 / RESET INDEX EXTERN #WUO TRAP3 #WUO / OPEN UNFORMATTED WRITE JA P9 / ON LOGICAL UNIT 9 LDX -125,7 PLOO, FLDA BUFFER+50377,7 / GET NEXT VALUE EXTERN #RSVO TRAP3 #RSVO / SEND TO BUFFER JXN PLOO,7+ EXTERN #RENDO TRAP3 #RENDO / WRITE BUFFER JA PFILE / RETURN
/INITDP IS INCLUDED MAINLY FOR COMPATABILITY WITH PLOTTER PACKAGE ENTRY INITDP INITDP, SETX #X0 LDX 3,0 / LINE=3 FOR INITDP LDX 0,4 / SET BUFFER POINTER TO START 210 JAC /DPWAIT CLOSES PLOTTER COMMANDS WITH A PEN=FORM FEED ENTRY DPWAIT DPWAIT, JSA PICKUP LDX 4,0 / LINE=4 FOR DPWAIT DPW1, FLDA FINI / GET TERMINATING VALUE JSA PFILE XTA 4 / SEND UNTIL X4 IS RESET JNE DPW1 / (FILL LAST BUFFER WITH FORM FEED) JA DPBAK FINI, 232;232;232 BUFFER, ORG .+377 / 85 WORDS P9, F 9. P85, F 85.



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search