File ROPL.FT (FORTRAN source file)

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

	COMMON FL4,IN,FL,IN1,FL1,IN2,FL2,IN3,FL3,IN4
	DIMENSION IN(128),FL(0),IN1(48),FL1(0),IN2(80),FL2(0),IN3(256)
     1  ,FL4(0),FL3(0),IN4(60,50),ICO(2),NI1(1),NI(30),II1(1),II(30)
     2   ,NPR(10),INX(256),INY(256)
	NPR(1)=96
	NPR(2)=160
	NPR(3)=224
	NPR(4)=288
	NPR(5)=352
	NPR(6)=416
	NPR(7)=480
	NPR(8)=544
	NPR(9)=608
	NPR(10)=-1632
	NBL=-2016
	READ(1,100)FILE,NU
  100   FORMAT('FILE,UNIT',A6,I5)
	CALL OOPEN('DTA0',FILE)
	CALL RTAPE(1,64,512,IN,IER)
S	JMS	ERROR
	NN=IN(2)
	NT=IN(3)
	NP=IN(4)
	ND=NP*NT
	NW=NT+5
	NS=1
	NB=80
20	CONTINUE
	CALL RTAPE(1,NB,768,IN,IER)
S	JMS	ERROR
	DO11I=1,9
11	CALL F37(FL1(I))
	NR=IFIX(FL1(1))
	IF(NS-1)20,21,22
21	NS=NS+1
	NB=NB+2
	GOTO20
22	CONTINUE
31	CALL RTAPE(1,NB+22,512,IN,IER)
S	JMS	ERROR
	N=NT*NT
	DO36I=1,N
36	CALL F37(FL(I))
C	WRITE(NU,135)(I,I=1,NT)
135	FORMAT(/'CLASSIFICATION TABLE'/'ACTUAL',6X,
     1  'GROUP TRIED'/'GROUP',4X,9(I2,4X))
C	DO37I=1,NT
C	IL=(I-1)*NT+1
C	IH=IL+NT-1
C37	WRITE(NU,142)I,(FL(IT),IT=IL,IH)
142	FORMAT(I3,5X,9(F2.0,3X))
	NB=NB+23
	NS=NS+1
	IF(IN(384))38,20,38
38	WRITE(NU,140)
140	FORMAT('C.C. FOR EACH TRIAL'/
     1  'TRIAL',3X,'GROUP',3X,'CC1',8X,'CC2',8X,'CC3')
	IH=0
	IST=0
52	IS=IST+1
	CALL RTAPE(1,NB+4,1536,IN,IER)
S	JMS	ERROR
	CALL RTAPE(1,NB+10,1536,IN(1537),IER)
S	JMS	ERROR
	NDE=NN/NT
	NN1=NN
	NNN=NN*3
	DO43I=1,768
43	CALL F37(FL4(I))
	IF(NN-256)44,44,45
44	IST=NN
	GOTO46
45	IST=256
46	DO47I=IS,IST
	IL=IH+1
	IH=IL+2
	K=1+(I-1)/NDE
C47	WRITE(NU,147)I,K,(FL4(J),J=IL,IH)
47	CONTINUE
147	FORMAT(2(I3,4X),3(F8.4,3X))
	IF(NN-IST)50,50,51
51	NB=NB+9
	NN=NN-256
	GOTO52
50	BX=60.
	BY=50.
	BIG=1.E10
	XMIN=BIG
	XMAX=-BIG
	YMIN=BIG
	YMAX=-BIG
	DO63I=1,NNN,3
	IF(FL4(I)-XMIN)61,61,62
61	XMIN=FL4(I)
62	IF(FL4(I)-XMAX)63,63,64
64	XMAX=FL4(I)
63	CONTINUE
	DO73I=2,NNN,3
	IF(FL4(I)-YMIN)71,72,72
71	YMIN=FL4(I)
72	IF(FL4(I)-YMAX)73,73,74
74	YMAX=FL4(I)
73	CONTINUE
	DX=(XMAX-XMIN)/BX
	DY=(YMAX-YMIN)/BY
	WRITE(NU,160)XMIN,XMAX,YMIN,YMAX,DX,DY
160	FORMAT(6F10.3)
	DO80I=1,NN1
	J=3*I-2
	INX(I)=IFIX((FL4(J)-XMIN)/DX)+1
80	INY(I)=IFIX((FL4(J+1)-YMIN)/DY)+1
	DO88I=1,60
	DO88J=1,50
88	IN4(I,J)=NBL
	DO89I=1,NN1
	K=1+(I-1)/NDE
	LX=INX(I)
	LY=INY(I)
	IF(IN4(LX,LY)-NBL)84,85,84
84	IN4(LX,LY)=NPR(10)
	GOTO89
85	IN4(LX,LY)=NPR(K)
89	CONTINUE
	DO90J=1,50
90	WRITE(NU,180)J,(IN4(I,J),I=1,60)
180	FORMAT(I3,2X,60A1)
	CALL OCLOSE
	STOP
S	CPAGE 3
SER,	JMP I ERROR
SERROR,	0
S	TAD	\IER
S	SZA
S	HLT
S	JMP	ER
	END



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