File MODIFY.FT (FORTRAN source file)

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

	COMMON NTAB,IPT
	DIMENSION NTAB (500,3)
	GOTO 1410
1405	CALL ERASE
1410	CALL FDIS (0,0,767)
	CALL ALPHA
	CALL READD(K)
C	W-WRITE,E-ERASE,T-TAPE,D-DRAW,C-CHAR,G-GFIC,M-MODIFY,X-EXIT
	IF (K-1504) 1425,2000,1425
1425	IF (K-352) 1430,1405,1430
1430	IF (K-1312) 1435,1200,1435
1435	IF (K-288) 1440,1250,1440
1440	IF (K-224) 1445,1480,1445
1445	IF (K-480) 1450,1479,1450
1450	IF (K-864) 1451,1500,1451
1451	IF (K-1568) 1410,1210,1410
1210	CALL EXIT
1200	CALL CHAIN ('TAPE')
1250	CALL CHAIN ('DRAW')
1480	CALL CHAIN ('CHAR')
1479	CALL CHAIN ('GFIC')
2000	DO 2010 N=1,IPT
2010	CALL FDIS(NTAB(N,1),NTAB(N,2),NTAB(N,3))
	GOTO 1410
C	MODIFY ROUTINE
1500	READ (1,1501) I
1501	FORMAT ('1=COPY,2=DELETE,3=CANCEL  'I1)
	IF (I-3) 1510,1410,1410
1510	CALL JOY (IX,IY,K)
	DO 1530 N=1,IPT
	DO 1540 N3=0,4
	IF (NTAB(N,2)-IX+N3-2) 1540,1520,1540
1540	CONTINUE
	GOTO 1530
1520	CONTINUE
	DO 1550 N3=0,4
	IF (NTAB(N,3)-IY+N3-2) 1550,1521,1550
1550	CONTINUE
1530	CONTINUE
	WRITE (1,1551) 
1551	FORMAT ('WRONG COORDINATES ')
	GOTO 1510
1521	NZ=N-1
	NZ2=N
1522	CALL JOY(IX,IY,K)
	DO 1560 N=NZ2,IPT
	DO 1570 N3=0,4
	IF (NTAB(N,2)-IX+N3-2) 1570,1572,1570
1570	CONTINUE
	GOTO 1560
1572	CONTINUE
	DO 1580 N3=0,4
	IF (NTAB(N,3)-IY+N3-2) 1580,1583,1580
1580	CONTINUE
1560	CONTINUE
	WRITE (1,1561)
1561	FORMAT ('BAD COORDINATES  ')
	GOTO 1522
1583	IZ=N-1
	IF (I-1) 1410,1590,1590
C	ORDERED PAIRS
1590	IF (NZ-IZ) 1591,1600,1600
1591	N3=IZ
	IZ=NZ
	NZ=N3
1600	IF (I-1)1410,1700,1610
C	DELETE FROM N=IZ TO N=NZ BY MOVING UP
1610	CONTINUE
	IP=NZ-IZ
	IZ=NZ+1
	NTAB(IZ,1)=0
	IPT=IPT-IP+1
	IZ=IZ-IP+1
	DO 1630 N=IZ,IPT
	N2=N+NZ-IZ+1
	NTAB(N,1)=NTAB(N2,1)
	NTAB(N,2)=NTAB(N2,2)
	NTAB(N,3)=NTAB(N2,3)
1630	CONTINUE
	CALL ERASE
	GOTO 2000
C	COPY ROUTINE
1700	WRITE (1,1701)
1701	FORMAT ('NEW POSITION FOR FIRST COORDINATE ')
	CALL JOY(KX,KY,K)
	IP=NZ-IZ+1
	IZ=IZ+1
	NZ=NZ+IP
	KX=KX-NTAB(IZ,2)
	KY=KY-NTAB(IZ,3)
	N3=IPT-IZ+NZ
	NTAB(IPT+1,1)=0
	NTAB(IPT+1,2)=NTAB(IZ+1,2)+KX
	NTAB(IPT+1,3)=NTAB(IZ+1,3)+KY
	IPT=IPT+2
	DO 1710 N=IPT,N3
	N2=N+IZ-IPT
	NTAB(N,1)=NTAB(N2,1)
	NTAB(N,2)=NTAB(N2,2)+KX
	NTAB(N,3)=NTAB(N2,3)+KY
1710	CONTINUE
	IPT=N3
	CALL ERASE
	GOTO 2000
	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