File: FIDELT.FT of Tape: Various/System-Tapes/eb-plot
(Source file text) 

	SUBROUTINE FIDELT (IDX,IDY)
C	-----------------
C
C  GENERATE DELTA BYTES FOR IDX,IDY
C
	DIMENSION	IB(8)
C
C  DETERMINE SECTOR
C
	JDY	= IDY
	JDX	= IDX
	IF	(JDX) 1020,1010,1000
1000	IF	(JDY) 1110,1080,1080
1010	IF	(JDY) 1110,1310,1100
1020	IF	(JDY) 1090,1090,1100
C  X>0 , Y>=0
1080	IBCOM	= 47
	GOTO 1120
C  X<0 , Y<=0
1090	IBCOM	= 55
	JDX	= -JDX
	JDY	= -JDY
	GOTO 1120
C  X<=0 , Y>0
1100	IBCOM	= 63
	JDX	= -JDX
	GOTO 1120
C  X>=0 , Y<0
1110	IBCOM	= 71
	JDY	= -JDY
C
C  DETERMINE NO OF BYTES FOR GREATER VALUE
C
1120	I	= JDX
	IF	(JDX .LT. JDY) I = JDY
	IF	(I .EQ. 0) RETURN
	NBYTE	= 1
	IF	(I-    64) 1160,1130,1130
1130	NBYTE	= 2
	IF	(I-  4096) 1160,1140,1140
1140	NBYTE	= 3
	IF	(I-262144) 1160,1150,1150
1150	NBYTE	= 4
C
C  INIT FOR X DIRECTION
C
1160	I	= JDX
	NB	= 0
	IR	= 1
C
C  GENERATE THEM
C
1170	IF	(I .LE. 0) GOTO 1220
	GOTO	(1210,1200,1190,1180) , NBYTE
C
1180	NB	= NB+1
	J	= I/262144
	IB(NB)	= J+32
	I	= I-J*262144
C
1190	NB	= NB+1
	J	= I/4096
	IB(NB)	= J+32
	I	= I-J*4096
C
1200	NB	= NB+1
	J	= I/64
	IB(NB)	= J+32
	I	= I-J*64
C
1210	NB	= NB+1
	IB(NB)	= I+32
C
C  LOOP FOR Y-DIRECTION
C
1220	IF	(IR-2) 1230,1240,1230
1230	IR	= 2
	I	= JDY
	GOTO 1170
C
C  PUT DELTA COMMAND IN BUFFER
C
1240	IBCOM	= IBCOM + NBYTE
	IF	(NB .NE. NBYTE) IBCOM = IBCOM + 4
	CALL	FIBYTE (IBCOM)
	DO 1300	I = 1,NB
	J	= IB(I)
1300	CALL	FIBYTE (J)
1310	RETURN
	END