File: LOCAPT.PA of Tape: Sources/Fortran/s2
(Source file text) 

/FILE: LOCAPT.PA
/P&ATCH TO &FRTS& FOR LOWER CASE CHARACTERS.
/&W&.V.D.&M&ARK, &ETH, Z&UERICH, &A&PRIL 1977.
/&T&HE CHARACTER BACK SLASH &"&" IS USED AS A TOGGLE SWITCH
/BETWEEN UPPER AND LOWER CASE CHARACTERS.
/&T&WO CONSECUTIVE "&&"& SET THE CHARACTER TYPE 
/UNCONDITIONALLY TOO UPPER CASE.
/&& USAGE:

/.PAL LOCAPT
/.R ABSLDR
/*SYS:FRTS.SV/I	/VERSION 3AX FT?
/*LOCAPT$
/.SA SYS:FRTSLC.SV
/.EXEC LCTEST$*LOCAPT.PA/5$
/--------------OLD VERSION OUTPUT-------------
/.R FRTSLC
/*LCTEST
/*LOCAPT.PA/5$
/-------------LOWER CASE OUTPUT--------------
/.............

/TEST PROGRAM...... FILE NAME LCTEST.FT
/C	TEST PROGRAM FOR LOWER CASE
/C	USE LOCAPT.PA AS INPUT FILE
/
/	DIMENSION AINPUT(12)
/100	FORMAT(12A6)
/110	FORMAT(1H ,12A6)
/
/10	READ(5,100) AINPUT
/	WRITE(0,110) AINPUT
/	GO TO 10
/	END
/

	FMTOUT=3200
	LPBUF4=7331
	MTTY=7421

	*FMTOUT+2
	JMS I	.+1
		LOWCAS

	*LPBUF4+40
	LCEND		/LPT BUFFER IS SMALLER

	*MTTY+1
LOWCAS,	0
	ISZ	LOWCAS	/JUMP OVER ADDRESS
	SPA
	JMP I	LOWCAS	/IT WAS CONTROL CHAR
	TAD	LCM100
	SPA		/ALPHABETIC?
	TAD	UPLO	/YES: CONVERTS OR NOT
	TAD	LC240
	DCA	LCTEMP
	TAD	LCTEMP
	TAD	LCMAMP
	SNA CLA		/WAS IT TOGGLE CHAR?
	JMP	LCTOGL	/YES
	ISZ	LOWCAS	/NO NEXT RETURN
	CMA
	DCA	LCLAST	/CLEAR DOUBLE TOGGLE SWITCH
	TAD	LCTEMP
	JMP I	LOWCAS	/RETURN
LCTOGL,	TAD	LOWCAS
	TAD	LCM4
	DCA	LOWCAS	/GET FMTOUT CALLING ADRESS
	TAD I	LOWCAS
	DCA	LOWCAS
	TAD	UPLO
	TAD	LCM140
	ISZ	LCLAST	/IF DOUBLE "&" SET TO UPPER CASE
	CLA
	SPA		/TOGGLE
	TAD	LC100
	TAD	LC100
	DCA	UPLO
	JMP I	LOWCAS	/RETURN FROM FMTOUT

LCTEMP,	0
LCLAST,	-1		/NO "&" SEEN
UPLO,	100		/UPPER CASE
LCM100,	-100
LC240,	240
LCMAMP,	-"&
LCM4,	-4
LCM140,	-140
LC100,	100
	LCEND=.

	$$$