Compucolor.org – Virtual Media

Listing of file='OUTPUT.FOR;01' on disk='vmedia/ratfor-sector.ccvf'

	SUBROUTINE OUTCH(C)
	INTEGER I
	BYTE C
C
C	INCLUDE RATCMN
C
	IF(.NOT.(OUTP.GE.72)) GOTO 23351
	CALL OUTDON
	I = 1
23353	IF(.NOT.(I.LT.6)) GOTO 23355
	OUTBUF(I) = ' '
23354	I = I+1
	GOTO 23353
23355	CONTINUE
	OUTBUF(6) = '*'
	OUTP = 6
23351	CONTINUE
	OUTP = OUTP+1
	OUTBUF(OUTP) = C
	RETURN
	END

	SUBROUTINE OUTCON(N)
	INTEGER N
	BYTE CONTIN(9)
C
C	INCLUDE RATCMN
C
	DATA CONTIN/'C','O','N','T','I','N','U','E',X'FF'/
C
	XFER = 0
	IF(.NOT.(N.LE.0.AND.OUTP.EQ.0)) GOTO 23356
	RETURN
23356	CONTINUE
	IF(.NOT.(N.GT.0)) GOTO 23358
	CALL OUTNUM(N)
23358	CONTINUE
	CALL OUTTAB
	CALL OUTSTR(CONTIN)
	CALL OUTDON
	RETURN
	END

	SUBROUTINE OUTDON
C
C	INCLUDE RATCMN
C
	OUTBUF(OUTP+1) = 10
	OUTBUF(OUTP+2) = X'FF'
	CALL PUTLIN(OUTBUF,1)
	OUTP = 0
	RETURN
	END

	SUBROUTINE OUTGO(N)
	INTEGER N
	BYTE GO(6)
C
C	INCLUDE RATCMN
C
	DATA GO/'G','O','T','O',' ',X'FF'/
	IF(.NOT.(XFER.EQ.1)) GOTO 23360
	RETURN
23360	CONTINUE
	CALL OUTTAB
	CALL OUTSTR(GO)
	CALL OUTNUM(N)
	CALL OUTDON
	RETURN
	END

	SUBROUTINE OUTNUM(N)
	INTEGER N
	INTEGER D,I,M
	BYTE DIGITS(11)
	BYTE CHARS(5)
	COMMON /DIG/DIGITS
C
	M = N
	I = 0
23362	CONTINUE
	I = I+1
	D = MOD(M,10)
	CHARS(I) = DIGITS(D+1)
	M = M/10
23363	IF(.NOT.(M.EQ.0).OR.I.GE.10)) GOTO 23362
23364	CONTINUE
23365	IF(.NOT.(I.GT.0)) GOTO 23367
	CALL OUTCH(CHARS(I))
23366	I = I-1
	GOTO 23365
23367	CONTINUE
	RETURN
	END

	SUBROUTINE OUTSTR(STR)
	INTEGER I,J
	BYTE STR(1),C
	I = 1
23368	IF(.NOT.(STR(I).NE.X'FF')) GOTO 23370
	C = STR(I)
	CALL OUTCH(C)
23369	I = I+1
	GOTO 23368
23370	CONTINUE
	RETURN
	END

	SUBROUTINE OUTTAB
C
C	INCLUDE RATCMN
C
23379	IF(.NOT.(OUTP.LT.6)) GOTO 23380
	CALL OUTCH(' ')
	GOTO 23379
23380	CONTINUE
	RETURN
	END