perm filename TVHELP[GEM,BGB] blob sn#057504 filedate 1973-08-14 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	$UBR(TVHELP,FILLOC)
C00005 ENDMK
C⊗;
$UBR(TVHELP,FILLOC)
	EXTERNAL REALIN
	EXTERNAL DPYSET,DPYOUT,DPYBIG,DPYBRT,AIVECT,RIVECT,DTYO,DPYBUF
	SETZM INHDR
	INIT 17,↔SIXBIT/DSK/↔INHDR
	GO [FATAL(CAN'T INIT DSK)]
	LACI 1,2↔HRL 1,FILLOC
	BLT 1,5
	LOOKUP 17,2↔GO[OUTSTR[ASCIZ/HELP FILE NOT FOUND.
/]↔	     POP1J ]
	PUSH P,JOBFF
	PUSH P,JOBREL
	MOVE 1,JOBREL
	MOVEM 1,JOBFF
LOOP:	USETI 17,1↔SETSTS 17,0
	OUTSTR[ASCIZ/PAGE = /]		
	CALL(REALIN)↔FIXX
	JUMPE 0,RET
	DAC 0,PAGNUM#
	SOJLE 0,FOUND
PGLOOP:	CALL(GETCHR)
	GO[OUTSTR[ASCIZ/PAGE NOT FOUND.
/]↔     GO RET]
	CAIE 1,14↔JRST PGLOOP
	JRST PGLOOP-1
FOUND:	CALL(DPYSET,DPYBUF)
	CALL(AIVECT,[0],[=440])
	CALL(DPYBIG,[1])
	CALL(DPYBRT,[1])
	SETZM LPOS#
CHLOOP:	CALL(GETCHR)↔GO FIN
	CAIN 1,14↔GO FIN
	CAIN 1,11↔GO[CALL(DTYO,[40])
	     AOS 1,LPOS
	     TRNE 1,7↔GO $.-4
	     GO CHLOOP ]
	CALL(DTYO,1)
	AOS LPOS
	LAC 1,1(P)
	CAIE 1,15↔GO CHLOOP
	SETZM LPOS
	CALL(RIVECT,[1000],[0])
	GO CHLOOP
FIN:	CALL(DPYOUT,[16])↔GO LOOP
RET:	RELEASE 17,↔POP P,JOBFF↔LAC 1,JOBFF
	CORE 1,↔GO[FATAL(CAN'T SHRINK CORE)]
	POP P,JOBFF↔POP1J
GETCHR:	SOSG INHDR+2↔IN 17,
	GO[ILDB 1,INHDR+1↔AOS(P)↔POP0J ]	;SKIP ON CHARACTER.
	POP0J
INHDR:	BLOCK 3
ENDR TVHELP
END