/	WPAX 3.3- AUTOMATIC DOCUMENT RECEIVE
/
/	037	CPH	19-SEP-85	Add Norwegian translations conditional
/	036	EMcD	28-Feb-85	Add DECDEV switch
/	036	TCW	30-AUG-84	Change var. ref. from abs. to relative
/	035	WCE	11-MAY-84	Remove all occurances of USERNO
/	034	TCW	24-JAN-84	Limit menu input to 64 chars.
/	033	TCW	16-JAN-84	Add new label for menu display
/	032	GDH	 4-JAN-84	Don't display comm settings for EZLINK.
/	031	TCW	30-DEC-83	ADD CK FOR PASSWORDS WITH EXTRA CHARS.
/	030	TCW	16-MAY-83	ADD THE FETCH OF "LOGNO" WHEN TRUNCAT-
/					ING LD NAME
/	029	EH	14-JAN-83	Modifications to 028
/	028	EH	04-JAN-83	Modifications to 027
/	027	EH	29-DEC-82	After trunc. AX LD to 64, check to see
/					if file already exists
/	026	EH	21-DEC-82	Install missing CDF within AXRT7
/	025	EH	17-DEC-82	More work on 024
/	024	EH	14-DEC-82	Limit length of AX LD name to 64 chars
/	023	AIB	22-OCT-82	fixed log doc entry for add to
/					bottom from "A" to "B"
/	022	AIB	22-OCT-82	fixed wording in
/					"identification message" msgs
/	021	EH	05-OCT-82	Check for leading space in Log Document
/	020	MJS	21-NOV-81	big fix enabling 'settings' to be saved
/					at 'YES' prior to the start of sequence
/	019	EH 	9-NOV-81	modified text statement for AX menu
/	018	EH 	29-OCT-81	Merged differences from 78,1 into here
/	017	GDH	23-OCT-81	Allow AX to send (but not recieve) LOG
/	016	GDH	21-OCT-81	Merged some bug fixed from WS200 V4.4
/	015	GDH	21-OCT-81	Removed phoney CIF/CDF routines. Bug fix
/					to MNLOCK log document lock support.
/	014	GDH	14-OCT-81	Removed log file lock/unlock code and
/					implemented menu lock word in it's place
/	013	GDH	26-Aug-81	WPFILS calling seq changes.
/	012	TT	07-JUL-81	Removed superfluous conditionals
/	011	JM	01-APR-81	Changes for CANADA
/	010	JM	19-FEB-81	Conditionalized PLCKFI for WS102
/	007	DRH	4-DEC-80	CLEAR AX LOG # & NAME IF CANNOT CREATE
/	006 	DM,JM	15-SEPT-80	Merged Scandi and Europe/English
/	005	DSS	09-JUL-80	MODIFIED FOR ENGLISH/FRENCH-CANADIAN
/	004	CMW	6-MAY-80	ENTERED CANADA TRANSLATIONS
/	003	DSS	17-APR-80	ENTERED DUTCH FIXES
/	002	3/20/80	GLT	Changed LOCDOC to stop overwriting literals when
/	loading WPCRE.
/	001   2/6/80	CMW GLT	ADDED FRENCH,DUTCH,GERMAN TRANSLATIONS
/	French diacritical substitutions:
/	"["=L.A.E, "]"=L.G.E; "&" does not capitalize
/	German diacritical substitutions:
/	"["=L.U.A, "\"=L.U.O, "]"=L.U.U; "7" usable
/	2.7+		MB	PUT IN THE NEW AX INSTEAD OF ADR
/	2.4B		KEE	REMOVE DEAD CODE FROM CREATE
/	2.J	8/26/77	KEE	PUT IN 4-FLOPPY SUPPORT
/	2.G-2	8/10/77	MB	PUT IN CHANGE FOR MENU AREA MOVE
/	2.G-1	8/9/77	MSB	PUT WT78 AND MASTER VERSIONS TOGETHER
/
/	WTAX.PA - WRITES OUT SECOND FIELD OF THE DX, AX, SD COMM.
/
	*200
	JMP I	.+3
	JMP I	.+1
	7600
	RXLOAD
	*RXLDLS
	RXEWT=4
	RXEWT
	0
	RXQBLK=11
	RXQBLK
	.

	DLOAX 			/ ++++
	100 			/ ++++
	IFNDEF DECDEV <
	CDF 20 			/ ++++				/M036
	>
	IFDEF DECDEV <
	CDF 30 			/ ++++				/A036
	>

	-DSOAX

	DLDCOM 			/ ++++
	DFCOMA 			/ ++++
	IFNDEF DECDEV <
	CDF 20 			/ ++++				/M036
	>				
	IFDEF DECDEV <
	CDF 30 			/ ++++				/A036
	>				
	-DSDCOM 			/ INITALIZE THE SETTING TO ZEROS

	0
	
/
/	THE SECOND FIELD OF DX AND AX
/
	IFNDEF DECDEV <
	FIELD 2
	>
	IFDEF DECDEV <
	FIELD 3
	>

/
/	SET UP CONSTANTS FOR THE PROGRAM
/
	BUFSIZ=100 		/ THE STANDARD BUFFER SIZE
	NAKLM=-41 		/ THE IS THE NUMBER OF RETRNANSMITS IT WILL DO
	TOLIM=-5 		/ THE NUMBER OF TIMES YOU RESEND AFTER A TIME OUT
	SPECHR=140 		/ THE CODE FOR SPECIAL CHARACTERS
	CR=15 			/ SEND AFTER A TRANSFER OF ANY KIND SO T-S CAN DETECT EOT
	SPACE=40
/
/	THE TIME OUT CONSTANTS
/
/	SEC1=-2 							/D018
/	SEC3=-4 							/D018
/	SEC60=-75 							/D018
/	SEC5=-6 							/D018
	MIN3=-265
/
/	THE START OF TEXT CHARACTERS
/
	ACKM=174
	ACK=170
	ACKY=140
	NAK=160
	NAKN=164
/
/	THE FLAG CHARACTERS FOR THE PACKET TYPE AND THE COMMANDS FOR THE LOW LEVEL
/	IF THE VALUES CHANGE TELL HSTTBL BECAUSE USE THEN AS OFFSETS
/	THEY ALL HAVE THE SAME PACKET FORMAT
/
	TYPYES=140 		/ THE OK PACKET TYPE
	TYPMOD=141 		/ DOCUMENT OPTIONS PACKET RESPONDED WITH AN ANSWER TO PROMPT
	TYPMES=142
	TYPSOD=144 		/ FIRST PACKET OF A DOCUMENT CONTAINING SIZE AND PRINTER SETTINGS
	TYPDOC=154 		/ PAKCET SENT BY AX TO DX TO ASK IF THE DOCUMENT SHOULD BE SENT.
				/ THIS NAME IS AN ENTRY IN THE LIST DOCUNET DX PICKED
/
	TYPHIT=147 		/ HIGH LEVEL INITALIZE PACKET THAT HAS THE TERMINAL MESSAGE IN IT
/
	TYPHAK=150 		/ THE HIGH LEVEL ACK
/
	TYPEOF=146 		/ LAST PACKET OF A DOCUMENT. CONTAINS THE LAST 64 BYTES OR LESS
	TYPBYE=143 		/ BYE MESSAGE PACKET, WILL TERMINATE A TRANSFER
	TYPDTA=145 		/ NORMAL TEXT PACKET OF A DOCUMENT
	TYPHLO=156
	TYPNO=164 		/ ANO RESPONSE TO A PACKET
	TYPFLE=171
	TYPPSW=172
	TYPPMT=175 		/ PROMPT PACKET
	TYPPAN=172 		/ ANSWER TO PROMPT CONTAINS WHAT THE USER TYPED
	TYPPNE=176 		/ PROMPT WITH NO ECHO
	TYPOPT=153 		/ THE OPTION PACKET
	TYPRCV=152 		/ WANT TO RECEIVE A DOCUMENT
	TYPSND=151 		/ WANT TO SEND A DOCUMENT
/
/	SOME CONSTANTS FOR THE DATA BUFFERS
/
	BUFSTX=-1 		/ LOCATION OF THE STX FOR THE BUFFER
	CSLOC=BUFSIZ 		/ THE FIRST HALF OF THE CHECK SUM
	CSLO1=CSLOC+1 		/ THE SECOND HALF
	WFLOC=CSLO1+1 		/ THIS TELLS IF THE BUFFER IS FULL (1) OR EMPTY (0)
/
/	THE NUMBER OF TRYS BEFORE THE USER IS DECLARED INVALID
/
	TRYPSW=-3
/
/	CONSTANT FOR THE CREATE
/
	CUB1=6400
/
/	ADDRESS USED FOR THE GETBUF AND PUTBUF FOR OTHER FIELD
/
	FREEPT=174
	RECPT=FREEPT+1
	SENDPT=RECPT+1
/
	GETBUA=5200
	PUTBUA=GETBUA+1
/
/	ASSUME THAT THE SPFLAG IS IN EDITOR FIELD AT 173
/
	SPFLAG=173
/
/	THE OPTIONS THAT ARE SET TO THE DX SYSTEM WHEN SNEDING AND DOCUMENT
/	EXISTS THAT IS TO RECEIVE
/
	TBOPT=43
/
/	VALUES FOR THE OPTIONS
/
	OPTNUL=40 		/ NOTHING
	OPTBYE=41 		/ JUST BYE MESSAGE
	OPTBM=42 		/ BYE AND NORMAL MESSAGE
	OPTBMS=43 		/ BYE, NORMAL, AND SEND
	OPTALL=44 		/ EVERYTHING
/
/	VALUE DEFINED TO GET THE CORRECT VERSION OF CREATE WPCRE ASSEMBLED
/
	ADRASM=1
	
/
/	THESE CONSTANTS ARE USED BY THE CHECK LIST COMMAND
/	THE SYMBOLS ARE THE SAME AS DELETE SINCE THAT IS WHERE THE CODE WAS TAKED
/
	DELIMB=-400 		/ THE SIZE OF THE BLOCK BUFFER
	DEBUF=4000 		/ ADDRESS OF THE RECORD BUFFER
/
	TAB=11 			/ THE TAB VALUE
	LF=12 			/ VALUE FOR A LINE FEED
	CR=15 			/ CARRIGE RETURN
	BLANK=40 		/ ASPACE
/
	RECLIM=-1000 		/ NEGATIVE THE LIMIT OR CHARACTERS IN A RECORD
/
	DESTRP=1014 		/ THE START OF PRINTER CONTROL
	DENDP=1414 		/ END OF PRINTER CONTROL
	DESTRR=16 		/ START OF RULER
	DENDR=17 		/ END OF RULER
/


/
/	THE STARTING ADDRESSES OF THE BUFFERS
/	THIS IS THE AREA THAT IS USED FOR THE DEFAULT SETTINGS.  THEY ARE STORED
/	FROM 5000 TO ABOUT 6000 MOST OF THE UNUSED PORTION IS USED FOR OTHER
/	BUFFERS AND INFORMATION IT IS ALWAYS IN COREAND WRITTEN OUT IF THERE IS A
/	MODIFICATION TO THE AREA.
/
/	ADDRESS OF THE COMMUNICATIONS SETTINGS STARTING ADDRESS
/
	DFCOMA=5000
/
	X=DFCOMA
/
	DLNO=X 			/ ++++
	X=X+1 			/ DEFAULT LIST DOCUMENT
	DLSTAD=X 		/ ++++
	X=X+BUFSIZ+1 		/ THE LIST NAME
/
	IDSTAD=X 		/ ++++
	X=X+BUFSIZ+1 		/ THE ID MESSAGE
/
	LOGNO=X 		/ ++++
	X=X+1 			/ THE LOG DOCUMENT NUMBER
	LOGMOD=X 		/ ++++
	X=X+1 			/ HOW TO MODIFY IT
	LDSTAD=X 		/ ++++
	X=X+BUFSIZ+1		/ THE LOG DOCUMENT NAME
/
	WPSTAD=X 		/ ++++
	X=X+BUFSIZ+1 		/ WRITE ONLY PASSWORD
	BPSTAD=X 		/ ++++
	X=X+BUFSIZ+1 		/ READ/WRITE PASSWORD
/
	AXIDB=X 		/ ++++
	X=X+BUFSIZ+1 		/ THIS IS THE DX USER'S ID TYPED. HERE TO USETHE ROOM
/
	AXSNDA=X 		/ ++++
	X=X+11 			/ THE LIST OF DOCUMENTS TO SEND DX
/
	INMBLK=X 		/ ++++
	X=X+BUFSIZ+1 		/ THE INPUT BUFFER FOR PACKETS RECEIVED
/
	AXTIM=X 		/ ++++
	X=X+27 			/ BUFFER USED BU AXDON ROUTINE TO STORE THE TIME FOR LOG
/
/	STARTING ADDRESS FOR THE LIST CHECK
/
	LSTAD=6000 		/ THIS IS ALSO USED BY SCROLL
/

	*100 			/ THE FIRST 100 LOCATIONS ARE USED FOR THE SYSTEM
/
	CDFMYF=CDFBUF		/ WE'RE IN THE BUFFER FIELD.		/M015

/
/	THE FLAGS FOR AX
/
OPTFLG,	0 			/ THIS CONTAINS THE VALUE OF THE OPTIONS THAT THE CONNECTING
				/ SYSTEM HAS
AXFLG,
	0
ERFLAG,
	0
GETBUF,
	0
PUTBUF,
	0
AXDCF,
	0
AXPCN,	0
AXSNT,	0
AXSNS,	0
AXST2,	0
/
TOKOFF,	0 			/ POINTER TO THE INPUT THAT IS BEING LOOKED AT
/
SNDLST,	0 			/ IF SET TO 1 THEN JUST SEND THE LIST DONT DISPLAY
				/ ERRORS USED WHEN CALLING CHKLST
AXSNDL,	0 			/ THE POINTER TO THE NEXT AVAILABLE LOCATION IN THE
				/ THE LIST OF DOCUMENTS TO SEND TO DX
/
	PAGE


/
/	THESE ADDRESSES HAVE TO BE IN THIS ORDER AND IN THESE LOCATIONS
/	ALL ENTRYS TO THIS VECTOR CHOULD NEVER BE CALLED IF ITS ENTRY IS NOTDEF
/	IF CALLED THE PROGRAM JUMPED INTO RANDOM CODE SO HALT
/
	AXDIS 			/ SET UP AX
/
	AXEC 			/ THIS ASKS THE DX USER FOR THE INFO NEEDED AT CONNECTION
/
	AXDON 			/ THIS IS CALLED TO CHECK TO SEE IF THE LOG DOCUMENT IS
				/ SET AND IF IN AX AND A DOCUMENT HAS
				/ BEEN TRANSFERRED THEN PUT THE ENTRY INTO THE LOG.
/
	ADRCRT 			/ CREATE A DOCUMENT
/
/	AXLRT 			/ RETURN LOG FILE			/D018
	0								/A018
/
	AXSR 			/ THE SEND /RECEIVE PART OF AX
/
	REDSIX 			/ READS THE SPECIAL SEVEN BIT AND RETURNS IT FROM THE
				/ SIX BIT READ ROUTINE
/
	WRISIX 			/ WRITES THE SEVEN BIT RECEIVED TO THE DOCUMENT
/
	CLASIX 			/ INITALIZES THE REDSIX AND WRISIX ROUTINES


/
/	ARDPRG - WILL SET THE NEEDED VARIABLES FOR AUTOMATIC
/	DOCUMENT RECEIVE.
/
AXDIS,
	XX
	CDFMYF
	DCA	AXDCF 		/ CLEAR THE WWRITE OUT SETTINGS FLAG
/
	AC0001 			/ ++++
	DCA	AXFLG 		/ TELL THE FIELD THAT IT IS IN AX
/
/	READ IN THE DX SETTINGS
/
	TAD	(RXERD) 	/ READ IN THE SETTINGS.  IF A DISK ERROR DONT RETURN
	JMS	AXDST
/
/D032;	JMS	LOCDOC 		/ LOCK THE DOCUMENTS THAT ARE TO BE USED
/D014;	JMP	AXGLD 		/ COULD NOT LOCK THE DOCUMENTS ALREADY IN USE
AXDS2,	DCA	MNUFLG		/ IF ZERO PUT FIRST MENU		/A033
/
	CIFMNU			/ CLEAR THE SCREEN
	JMS I	IOACAL
	0
	CLASCR
	0
/

	CDFMNU			/ See if we're in ezlink (from CX)	/A032
	TAD I	(MUBUF+MNTMP6)	/  ...					/A032
	CDFMYF			/   ...					/A032
	SNA CLA			/ Skip if yes. Don't display comm setngs/A032
	 JMP	AXDS2A		/ DISPLAY MENUS				/A033


/
/	THE RETURNS FROM AXDIS
/
AXRTX,
	TAD	(RXEWT+2000)	/ write out the settings		/a020
	JMS	AXDST		/					/A020
	TAD	LOGNO 		/ SEE IF A LOG DOCUMENT IS SET AND IF SO DOES IT EXIST
	SNA CLA 		/ ++++
	JMP	AXRT7
/
	JMS	CUCOPY 		/ BEFORE CONTINUING MAKE SURE THE LOG DOCUMENT EXISTS
	LDSTAD 			/ COPY NAME TO THE MENU AREA AND LET FILNAM DECIDE
	CDFMYF
	MUBUF+MNIBUF
	CDFMNU
	BUFSIZ
/
	CDFMNU								/A025
	DCA	MUBUF+MNIBUF+BUFSIZ	/ TERMINATE THE FILE NAME	/A025
/
	TAD	(MUBUF+MNIBUF) 	/ TELL FILNAM WHERE TO LOOK
	CDFMNU
	DCA I	(MUBUF+MNPOS	/					/M036
	AC0001
	DCA I	(MUBUF+MNTMP1)
	CDFMYF
/
	CIFMNU
	JMS I	MNUCAL
	DLMAD6
/
	CDFMNU
	TAD I	(MUBUF+MNTMP1)
	CDFMYF
/
	SMA CLA 		/ ++++
	JMP	AXRT2 		/ FILE EXISTS IF +1 AND DOESNT IF -1
/
	CIFMNU
	JMS I	IOACAL 		/ PUT UP ERROR MESSAGE
	0
	LOGER1
	0
	1205 			/ USE MULTIPLE LINES SO WE CAN SEE 	/A034
	1405			/ COMPLETE DOC. NAME			/A034
	LDSTAD
	1605			/					/A034
/
	CIFMNU
	JMS I	IOACAL
	0
	LOGER2
	2005 			/ 					/A034
/
	JMP	AXRT4
AXRT3,
	CIFSYS 			/ ++++
	JWAIT
AXRT4,	CIFSYS 			/ ++++
	XLTIN
	JMP	AXRT3
/
	TAD	(-EDNWLN)
	SNA CLA 		/ ++++
	JMP	AXGLD 		/ ACT IF A GOLD MENU RETURN - GO TO MAIN
	TAD	(7)
	JMP	AXRT5
AXRT6,
	CIFSYS 			/ ++++
	JWAIT
AXRT5,	CIFSYS 			/ ++++
	TTYOU
	JMP	AXRT6
	JMP	AXRT4
AXRT2,
	CDFMNU 			/ COPY THE DOCUMENT NUMBER
	TAD I	(MUBUF+MNFNO)
	CDFMYF
/
	DCA	LOGNO
AXRT7,
	TAD	LOGNO		/ GET THE LOG DOC #.			/A015
	CDFMNU			/ STICK LOG FILE # INTO MENU FIELD. THIS/A015
	DCA I	(MUBUF+MNLOCK)	/  WILL EFFECTIVLY LOCK IT FROM UPDATE!	/A015
	CDFMYF			/ BACK TO MY FIELD			/A026
	ISZ	AXDIS 		/ OK SKIP RETURN MEANS CONTINUE
AXGLD,
	CLA 			/ IF USER TYPED GM
	TAD	(RXEWT+2000) 	/ DO A WRITE
	JMS	AXDST
/
	CDIEDT
	JMP I	AXDIS

/
/	AXLRT - UNLOCK THE LOG FILE
/
/AXLRT,	XX 								/D018
/D014;/
/D014;	IFDEF WS102 <
/D014;	CDFMYF
/D014;	CIFPRT
/D014;	JMS I	(ULKFIL)
/D014;	LOGNO
/D014;	USERNO
/D014;/
/D014;	>
/D014;/
/	CLA 								/D018
/D015;	CDFMNU			/ CHANGE TO MENU FIELD.			/A014
/D015;	DCA I	(MUBUF+MNLOCK)	/ CLEAR MENU LOCK WORD.			/A014
/	CDIEDT 								/D018
/	JMP I	AXLRT 							/D018
/
	PAGE

/
/	THE VALUES RETURNED BY THE MENU
/
	DLVAL=1
	IDVAL=DLVAL+1
	LDVAL=IDVAL+1
	WPVAL=LDVAL+1
	BPVAL=WPVAL+1

/
/	THIS WILL DISPLAY THE MAIN AX MENU

AXDS2A,				/ NEW LABEL				/A033
/
	JMS	AXDIL 		/ DISPLAY THE LIST
/
	MESFT2
	0305
	0405
	IDSTAD
/
	MESFT3
	0605
	0705
	LDSTAD
/
	MESFT4
	1105
	1205
	WPSTAD
/
	MESFT5
	1405
	1505
	BPSTAD
/
	MESFT1
	1705
	2005
	DLSTAD
/
	0
/


/
/	THE MENUS THAT ARE USED FOR THE COMMUNICATIONS SETTINGS
/

	JMS	A19SET		/ LIMIT INPUT TO 64 CHARS.		/A034

	CIFMNU 			/ DISPLAY THE MENU PORTION
	JMS I	MNUCAL
	DLMA19


/
AXDS7,
	TAD	T1		/ RESTORE INPUT BUFFER LENGTH		/A034
	CDFMNU
	DCA I	(MUBUF+MNILEN)	/					/A034

/D034	CDFMNU
	TAD I	(MUBUF+MNTMP1)
	CDFMYF
/
	DCA	AXDT6 		/ SAVE THE VALUE OF TEMP1
/
	TAD	AXDT6 		/ USE THE VALUE TO GET THE ACTION
/
	TAD	(JMP I AXTBL) 	/ USE THE VALUE IN MNTMP1 FOR AN INDEX TO THE
	DCA	.+1
	XX 			/ ROUTINE TO CALL
/
AXDS4,
	CLA
	TAD	AXDT6
	TAD	(AXPBA-1)
	DCA	AXDT4 		/ COPY THE INPUT INTO THE CORRECT AREA
	TAD I	AXDT4
	DCA	AXDT4
/
	CDFMNU 			/ WANT TO COPY THE INPORTANT INFORMATION ONLY
	TAD I	(MUBUF+MNPOS	/					/M036
	CDFMYF
/
	DCA	AXDT5
/
AXDJ2,
	CDFMNU
	TAD I	AXDT5 		/ STRIP ANY LEADING SPACES
	CDFMYF
/
	TAD	(-40)
	SZA CLA 		/ ++++
	JMP	AXDJ1
	ISZ	AXDT5
	JMP	AXDJ2
/
AXDJ1,
	JMS	CUCOPY
AXDT5,	XX
	CDFMNU
AXDT4,	XX
	CDFMYF
	BUFSIZ+1 		/ COPY THE LARGEST PLUS 1
/
	AC0100 			/ BUT A ZERO WORD ON THE END INCASE THE STRING
	TAD	AXDT4 		/ TOO BIG
	DCA	T1
	DCA I	T1
/
	AC0001 			/ ++++
	DCA	AXDCF 		/ SET THE MODIFY FLAG
/
AXDS5,
	TAD	MNUFLG 		/ IF SET TO NOT ZERO DISPLAY THE SECOND MENU
	SNA CLA 		/ ++++
	JMP	AXDS2
AXDS9,
	AC0001 			/ ++++
	DCA	MNUFLG
/
	JMS	A19SET		/ LIMIT INPUT TO 64 CHARS.		/A034

	CIFMNU
	JMS I	MNUCAL
	DLMA20
/
	JMP	AXDS7 		/ SEE WHAT WAS RETURNED
AXMDL,
	CDFMNU 			/ THE DEFAULT LIST
	TAD I	(MUBUF+MNTMP2)
	CDFMYF
/
	SNA SPA CLA 		/ ++++
	JMP	AXMD1 		/ IF MINUS OR ZERO NOTHING THERE
/
	CDFMNU
	TAD I	(MUBUF+MNFNO)
	CDFMYF
/
AXMD1,
	DCA	DLNO
	JMP	AXDS4 		/ COPY THE NAME
AXDGM,
	TAD	MNUFLG 		/ IF GM TYPED FROM THE SECOND MENU THEN DISPLAY THE FIRST
	SNA CLA 		/ ++++
	JMP	AXGLD 		/ IF IN THE FIRST RETURN TO MAIN MENU
	JMP	AXDS2


/
/	THESE ADDRESS ARE THE LIST OF ROUTINES THAT CAN BE CALLED BY USING THE
/	VALUE IN MNTMP1 FOR AN OFFSET FOR THE LIST
/
AXTBL,
	AXRTX 			/ 0START THE COMMUNICATIONS
	AXMDL 			/ 1DEFAULT LIST DOCUMENT
	AXDS4 			/ 2ID MESSAGE
	AXDLG 			/ 3LOG DOCUMENT
	AXDS4 			/ 4WRITE PASSWORD
	AXDS4 			/ 5READ/WRITE PASSWORD
	AXDS3 			/ 6TEST LIST
	AXDS5 			/ 7RE-DISPLAY THE MENU
	AXDGM 			/ 10 GOLD MENU TYPED FROM THE MAIN COM MENUS
	AXDS9 			/ 11 NO RESPONSE TO FIRST COM MENU
/
/	THIS IS THE TABLE OF ADDRESS FOR THE COMMUNICATIONS SETTINGS.  THAT ARE
/	USED BY THE COPY COMAND USING THE POSITIVE NON ZERO VALUE FROM MENU IN TMP1
/
AXPBA,
	DLSTAD
	IDSTAD
	LDSTAD
	WPSTAD
	BPSTAD
/
MNUFLG,	0 			/ IF ZERO DISPLAY THE FIRST MENU IF 1 THEN THE SECOND
AXDT6,	0 			/ TEMP FOR TEMP1 FORM MENU
/
	PAGE


/
/	DISPLAY THE DEFAULT SETTINGS
/
/	CALL:
/	JMS	AXDIL
/	IOA TEXT STRING ADDRESS
/	AX1
/	ARG2
/	ADDRESS OF BUFFER IF CONTENTS IS ZERO THEN NOT DISPLAYED
/	TERMINATOR = 0
/
/	THE ROUTINE CAN BE CALLED WITH TRIPPLES ENDING WITH A 0.
/
AXDIL,
	XX
AXDLP,
	TAD I	AXDIL 		/ GET THE FIRDT ARG AND CHECK FOR TERMINATOR
	ISZ	AXDIL
	SNA 			/ ++++
	JMP I	AXDIL
	DCA	AXDT1
/
	TAD I	AXDIL 		/ GET THE SECOND ARG
	ISZ	AXDIL
	DCA	AXDT2
/
	TAD I	AXDIL 		/ THE THIRD ARG
	ISZ	AXDIL
	DCA	AXDT3
/
	TAD I	AXDIL 		/ GET THE BUFFER ADDRESS IF CONTENTS IS ZERO DONT DISPLAY
	ISZ	AXDIL
	DCA	AXDT7
/
	TAD I	AXDT7 		/ SEE IF IT IS TO BE DISPLAYED
/
	SNA CLA 		/ ++++
	JMP	AXDLP
/
	CIFMNU
	JMS I	IOACAL
	0
AXDT1,	XX
AXDT2,	XX
AXDT3,	XX
AXDT7,	XX
/
	JMP	AXDLP



/
/	PROCESS THE LOG DOCUMENT
/
AXDLG,
	CDFMNU
	TAD I	(MUBUF+MNPOS	/ GET POINTER TO STRING			/M036
	DCA	AXDLT 		/ CAN ONLY BE DONE SINCE ON THE SAME PAGE
/
/ The following check removes the leading space if the Log Document
/  name is entered using the short form (ie  LD DOCUMENT)

	TAD I	AXDLT		/ GET FIRST CHAR IN INPUT STRING	/A021
	TAD	(-40		/ IS IT A SPACE (40)?			/A021
	SNA CLA			/ SKIP IF: NOT A SPACE			/A021
	ISZ	AXDLT		/ FIRST CHAR IS A SPACE, BUMP		/A021
				/ POINTER TO FIRST VALID CHAR		/A021
/
	TAD I	(MUBUF+MNFNO) 	/ GET THE DOCUMENT NUMBER
	CDFMYF
/
	DCA	LOGNO
/
	JMS	CUCOPY 		/ FIRST COPY OVER THE NAME TYPED IN
AXDLT,	XX
	CDFMNU
	LDSTAD
	CDFMYF
	BUFSIZ+1
/
	DCA	LDSTAD+BUFSIZ	/ THIS MAKES SURE OF A ASCIIZ STRING
/
	CDFMNU 			/ CHECK THE STATUS MNTMP2
	TAD I	(MUBUF+MNTMP2) 	/ IF + = DOCUMENT EXISTS, 0 = CREATE, - = NOTHING
	CDFMYF
/
	SMA SZA 		/ ++++
	JMP	AXDL2
	SZA CLA 		/ ++++
	JMP	AXDL3
/
	JMS	AXDL5		/ BEFORE CREATING THE DOCUMENT, CHECK	/A024
				/ THAT THE NAME IS .LT. OR .EQ. TO 64	/A024
				/ CHARACTERS				/A024
/
AXDL3,
	DCA	LOGNO
	JMP	AXDS5
AXJ1E,				/ROUTINE CLEARS LOG # & NAME IF CANNOT CREATE
/D021	CLA			/CLEAR AC				/A007
	AC0004 			/ PUT UP CANNOT CREATE MESSAGE
	CDFMNU
	DCA I	(MUBUF+MNTMP1)
	CDFMYF
/
/ The following 2 instructions were moved from AXJ1E to here in order
/  that the CLA could be removed to save room				/M021
	DCA	LOGNO 		/CLEAR LOG DOCUMENT NUMBER 		/A007
	DCA	LDSTAD		/CLEAR LOG DOCUMENT NAME		/AOO7
/
	CIFMNU
	JMS I	MNUCAL
	DLMAD7
/
	JMP	AXGLD
AXDL2,
	AC0002 			/ DOCUMENT EXISTS SO PUT UP THE HOW TO MODIFY MENU
/
	CDFMNU
	DCA I	(MUBUF+MNTMP1)
	CDFMYF
/
	JMS	A19SET		/ LIMIT INPUT BUFFER TO 64 CHARS	/A034

	CIFMNU
	JMS I	MNUCAL
	DLMAD6
/
	TAD 	T1		/ RESTORE INPUT BUFFER LENGTH		/A034
	CDFMNU
	DCA I (MUBUF+MNILEN)	/					/A034

	AC7776 			/ FIRST CHECK FOR GOLD MENU
	TAD I	(MUBUF+MNTMP1)
	CDFMYF
/
	SNA CLA 		/ ++++
	JMP	AXDL4
/
	CDFMNU
	TAD I	(MUBUF+MNTMP2) 	/ GET THE OPEN TYPE
	CDFMYF
/
	DCA	LOGMOD 		/ SAVE THE VALUE
/
	JMP	AXDS5
/
AXDL4,
	DCA	LOGNO 		/ CLEAR THE NUMBER
	DCA	LDSTAD 		/ AND THE DISPLAY
/
/ Need room - now fall through and use same return as does AXDS3	/M021
/D021	JMP	AXDS2


/
/	AXDS3 - CHECKS THE LIST DOCUMENT FOR VALID ENTRYS
/
AXDS3,
	JMP	AXDS2 		/ NORMAL RETURN
MESFT1,
	IFDEF ENGLSH < TEXT '^P&THE DEFAULT LIST IS:^P^A' >
/
/	CHANGED FOR ROOM
/	IFDEF CANADA < TEXT "^P&LA LISTE ATTRIBU[E PAR D[FAUT:^P^A" > /L.A.E, L.A.E
/
	IFDEF ITALIAN< TEXT /^P&LISTA STANDARD:^P^A/ >
	IFDEF CANADA < TEXT "^P&FAUTE DE LISTE:^P^A" >
	IFDEF FRENCH < TEXT "^P&FAUTE DE LISTE :^P^A" >
	IFDEF DUTCH < TEXT "^PAANNAME L[ST :^P^A" >
	IFDEF GERMAN < TEXT "^P&ANGENOMMENE &LISTE:^P^A" >
	IFDEF NORWAY < TEXT '^P"&DEFAULT"-LISTEN ER:^P^A' >
	IFDEF SWEDSH < TEXT '^P"&DEFAULT"-LISTAN [R:^P^A' > /L.U.A
	IFDEF DANISH < TEXT '^P"&DEFAULT"-LISTEN ER:^P^A' >
	IFDEF V30SWE < TEXT '^P&SK\VNSV\DRDESLISTAN \DR: ^P^A'>
/
/
	PAGE


/
/	ERROR MESSAGES FOR THE LOG DOCUMENT ERROR DISPLAY IN AXDIS
/
LOGER2,
	IFDEF ENGLSH < TEXT '^P&PRESS &R&E&T&U&R&N FOR THE &MAIN &MENU.' >
	IFDEF ITALIAN< 
	TEXT /^P&PREMERE !&RITORNO PER TORNARE AL &MENU &PRINCIPALE./>
	IFDEF CANADA <
	TEXT "^P&APPUYER SUR &RETOUR POUR RAPPELER LE &MENU."
	>
	IFDEF FRENCH < TEXT "^P&APPUYER SUR &RETOUR POUR RAPPELER LE &MENU" >
	IFDEF DUTCH < TEXT "^P&RETURN INTOETSEN VOOR &HOOFD &MENU" >
	IFDEF GERMAN < TEXT "^P&MIT &RETURN ZUR]CK ZUM &HAUPT &MEN]" > /L.U.U, L.U.U
	IFDEF NORWAY < TEXT "^P&TRYKK &RETUR FOR ] F] &HOVEDMENYEN." > /L.D.A, L.D.A
	IFDEF SWEDSH < TEXT "^P&TRYCK P] &RETUR F\R ATT F] &HUVUDMENYN." > /L.D.A, L.U.O, L.D.A
	IFDEF DANISH < TEXT "^P&TRYK &RETUR FOR AT F] &HOVEDMENUEN." > /L.D.A
	IFDEF V30SWE < TEXT "^P&TILLBAKA TILL HUVUDMENYN: ANV\DND GULD MENY">
/
LOGER1,
	IFDEF ENGLSH < TEXT '^P!E^P&LOG &DOCUMENT^P^A^PDOES NOT EXIST,' >
	IFDEF ITALIAN< 
	TEXT /^P!E^P&PROCEDURA DI COLLEGAMENTO^P^A^PNON ESISTE,/>
	IFDEF CANADA < TEXT "^P!E^P&LE DOCUMENT-R[PERTOIRE ^A N'EXISTE PAS," >
	IFDEF FRENCH < TEXT "^P!E^P&LE DOCUMENT ^A N'EXISTE PAS," >
	IFDEF DUTCH < TEXT "^P!E^P&LOGBOEK ^A BESTAAT NIET," >
	IFDEF GERMAN < TEXT "^P!E^P&LOG &DATEI ^A EXISTIERT NICHT,">
	IFDEF NORWAY < TEXT '^P!E^P"&LOG"-DOKUMENT ^A EKSISTERER IKKE.' >
	IFDEF SWEDSH < TEXT '^P!E^P"&LOG"-DOKUMENT ^A EXISTERAR INTE.' >
	IFDEF DANISH < TEXT '^P!E^P"&LOG"-DOKUMENT ^A EKSISTERER IKKE.' >
	IFDEF V30SWE < TEXT '^P!E^P"&INLOGGNINGSDOKUMENTET ^P^A^P FINNS INTE'>
/


/
/	CLASIX - INITALIZE THE VALUES IN REDSIX AND WRISIX
/
CLASIX,
	XX
	CLA
	RDF 			/ IF CROSS FIELD CALLED MAKE SURE RETURNS CORRECTLY
	TAD	CIDF0
	DCA	CLASXX
/
	CDFMYF
	DCA	WRSHIF 		/ WRITE SHIFT FLAG
	DCA	WRIVBF 		/ VERTICAL BAR ESCAPE FLAG
	DCA	WRIBES 		/ ESCAPE
/
	DCA	REDNXT 		/ BUFIF RETURNING A 2 CHARACTER ESCAPE THE SECOND CHARACTER
				/ IS STORED HERE FOR NEXT CALL
	DCA	REDESF
	DCA	REDSHF
	DCA	REDSXC
/
CLASXX,	XX
	JMP I	CLASIX


/
/	AXCRT - CREATE THE DOCUMENT TO RECEIVE
/
AXCRT,
	CLA
	TAD	AXSRT2 		/ IF RECEIVE RETURN ERROR
	SZA CLA 		/ ++++
	JMP	AXSNO
	JMS	ADRCRT
	JMP	AXSNO
/
	DCA	AXSRNO
	DCA	AXSRMO
/
	TAD	("C-200) 	/ SET THE MOD VALUE FOR LOG DOCUMENT IF SET FOR
				/ AX AND LOG IN AFFECT
	DCA	CUPMOD
/
	JMP	AXSROK 		/ RETURN


/
/	THE ROUTINE WILL SEND THE CHARACTER IN THE AC TO THE SCREEN
/
DELDIS,
	XX
	JMP	DELDI2
DELDI1,
	CIF 0 			/ ++++
	JWAIT
DELDI2,
	CIF 0 			/ ++++
	TTYOU
	JMP	DELDI1
	CLA
	JMP I	DELDIS

/
/	SPTEST - SEE IF THE SPFLAG IS SET WHICH MEANS TO RETURN
/
SPTEST,									/M018
	XX
	CLA
	CDFEDT
	TAD I	(SPFLAG)
	CDFMYF
/
	SNA CLA
	ISZ	SPTEST
	JMP I	SPTEST

/
/	PART OF WRISIX
/
WRSEND,									/A018
	XX								/A018
	CLA								/A018
	TAD	T1		/ IF ZERO THEN ENO OF FILE		/A018
	SZA CLA								/A018
	JMP I	WRSEND							/A018
	TAD	(74)		/ END OF DOCUMENT IN UPPER CASE		/A018
	CIFFIO								/A018
	FILEIO								/A018
	XPUTSB								/A018
	CLA								/A018
	JMP I	WRSEND							/A018

	PAGE


/
/	AXDST - WILL READ OR WRITE THE COMMUNICATIONS SETTINGS DEPENDING ON THE
/	VALUE IN THE AC.  THE AC CONTAINS THE FUNCTION TO EXECUTE.
/
AXDST,
	XX
	DCA	QUQBLK+RXQFNC 	/ SET THE FUNCTION
/
	CDFMYF
	TAD	.-1 		/ SET THE BUFFER FIELD
	DCA	QUQBLK+RXQBFD
/
/D035	TAD	USERNO 		/ SET THE DRIVE
/D035	TAD	USERNO
	DCA	QUQBLK+RXQDRV
/
	TAD	(DLDCOM) 	/ SET THE BLOCK TO READ
	DCA	QUQBLK+RXQBLK
/
	TAD	(DFCOMA) 	/ SET THE BUFFER TO READ INTO
	DCA	QUQBLK+RXQBAD
/
	JMS	QURX 		/ GET THE BLOCK
	CLA
/
	ISZ	QUQBLK+RXQBLK 	/ GET THE NEXT BLOCK
/
	TAD	(DFCOMA+400)
	DCA	QUQBLK+RXQBAD
/
	JMS	QURX
	CLA
/
	JMP I	AXDST

/
/	AXSNO - SENDS THE NO RESPONSE
/	THIS IS PART OF AXSR ROUTINE
/
AXSNO,
	JMS	AXSRPK
	NOANS
	TYPNO
/
	JMP	AXSNOX
/


/
/	AXSRPK - SENDS A PACKET USING AXSNP.  IT USES THE SAME CALL MINUS THE ERROR RETURNS
/	THIS ROUTINE CAN ONLY BE CALLED BY THE AXSR ROUTINE
/
/	CALL
/	JMS	AXSRPK
/	ADDRESS OF TEXT PART
/	TYPE OF PACKET
/
AXSRPK,
	XX
	TAD I	AXSRPK
	ISZ	AXSRPK
	DCA	AXSRP1
/
	TAD I	AXSRPK
	ISZ	AXSRPK
	DCA	AXSRP2
/
	JMS	AXSNP
AXSRP1,	XX
AXSRP2,	XX
/
	JMP	AXSNOX 		/ SPFLAG RETURN
	JMP	AXSNOX 		/ TIMED OUT
/
	JMP I	AXSRPK
/
/	AXSNO2 - SEND LIST NOT IMPLEMENTED YET MESSAGE IF THE USER TRIES TO USE
/	ALIST SPECIFICATION.
/
AXSNO2,
	JMS	AXSRPK
	NOEXST
	TYPNO
/
	JMP	AXSNOX
/
NOEXST,
IFDEF ENGLSH <
	"L-200 			/ L
	"I-200 			/ I
	"S-200 			/ S
	"T-200 			/ T
	" -200 			/ Space
	"D-200 			/ D
	"O-200 			/ O
	"C-200 			/ C
	"U-200 			/ U
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	" -200 			/ Space
	"O-200 			/ O
	"P-200 			/ P
	"T-200 			/ T
	"I-200 			/ I
	"O-200 			/ O
	"N-200 			/ N
	" -200 			/ Space
	"N-200 			/ N
	"O-200 			/ O
	"T-200 			/ T
	" -200 			/ Space
	"I-200 			/ I
	"M-200 			/ M
	"P-200 			/ P
	"L-200 			/ L
	"E-200 			/ E
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"E-200 			/ E
	"D-200 			/ D
	0000
	>

IFDEF ITALIAN <
	"O-200 			/ O
	"P-200 			/ P
	"Z-200 			/ Z
	"I-200 			/ I
	"O-200 			/ O
	"N-200 			/ N
	"E-200 			/ E
	" -200 			/ SPACE
	"D-200 			/ D
	"O-200 			/ O
	"C-200 			/ C
	"U-200 			/ U
	"M-200 			/ M
	"E-200			/ E
	"N-200 			/ N
	"T-200 			/ T
	"O-200 			/ O
	" -200 			/ SPACE
	"L-200 			/ L
	"I-200 			/ I
	"S-200 			/ S
	"T-200 			/ T
	"A-200 			/ A
	" -200 			/ SPACE
	"N-200 			/ N
	"O-200 			/ O
	"N-200 			/ N
	" -200 			/  
	"I-200 			/ I
	"M-200 			/ M
	"P-200 			/ P
	"L-200 			/ L
	"A-200 			/ A
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"A-200			/ A
	"T-200			/ T
	"A-200			/ A
	0000
	>

/
/	THIS ROUTINE WILL CHANGE THE BUFFER LENGTH IN THE MENU FIELD	/A034
/	AND SAVE THE OLD VALUE IN T1.					/A034
/	UPON RETURN FROM THE MENU CALL THE OLD VALUE MUST BE RESTORED	/A034
/

A19SET,	XX			/					/A034
	CLA			/					/A034
	CDFMNU			/					/A034
	TAD I	(MUBUF+MNILEN)	/ FETCH VALUE USED BY THE SYSTEM	/A034
	CDFMYF			/					/A034
	DCA	T1		/ SAVE HERE				/A034
	TAD	(-BUFSIZ-1	/ THIS WILL LIMIT INPUT TO 64 CHARS.	/A034
	CDFMNU			/					/A034
	DCA I	(MUBUF+MNILEN)	/ INTO MENU AREA			/A034
	CDFMYF			/					/A034
	JMP I A19SET		/					/A034

/
	PAGE


/
/	AXEC - WILL CONNECT THE DX USER TO THE AX SYSTEM.  IT
/	WILL PROMPT FOR THE INFORMATION NEEDED TO CONNECT.
/
AXEC,
	XX
	CLA
/
	CDFEDT
	TAD I	(GETBUA) 	/ GET THE ADDRESS OF GET AND PUT BUFFER
/
	DCA	GETBUF
/
	TAD I	(PUTBUA)
	DCA	PUTBUF
	CDFMYF
/
	TAD	(OPTALL) 	/ SET THE OPTIONS TO ALL INITALLY
	DCA	OPTFLG
/
/D016;	CIFMNU
/D016;	JMS I	IOACAL 		/ PUT UP THE MESSAGE OF CONNECTION
/D016;	0
/D016;	TRYCON
/D016;	505
/D016;	2700
/
AXSG2,
	TAD	IDSTAD 		/ SEE IF THERE IS AN ID MESSAGE TO SEND
	SNA CLA 		/ ++++
	JMP	AXECJ
/
	JMS	AXSPK 		/ SEND THE MESSAGE
	IDSTAD
	TYPMES
/
	CLA
	JMP	AXECJ
AXECX,
	CLA
	TAD	OPTFLG 		/ RETURN THE DX USER OPTIONS
/
	CDIEDT
	ISZ	AXEC 		/ A2- SKIP RETURN IF OK
	ISZ	AXEC
	JMP I	AXEC
AXSP,
	ISZ	AXEC 		/ GO AND WAIT FOR SOMETHING TO DO BUT DONT CONTINUE
				/ THE CONNECTION SEQUENCE
AXTO,
	CLA
	CDIEDT 			/ RESTART AFTER A TIME OUT
/
	JMP I	AXEC
AXFLE,
	0


/
/	AXSPK - SENDS A PACKET AND TAKES CARE OF ALL THE ERROR RETURNS
/	FOR AXEC ROUTINE.  IT CALLS AXSNP
/
AXSPK,
	XX
	CLA 			/ Clear the AC
	TAD I	AXSPK 		/ Get the pointer to the message list
	ISZ	AXSPK 		/ Set to skip it on return
	DCA	AXSPK1 		/ Store the argument
/
	TAD I	AXSPK 		/ Get the Next argument
	ISZ	AXSPK 		/ Set to skip it on return
	DCA	AXSPK2 		/ Store this argument too
/
	JMS	AXSNP 		/ Send the packet
AXSPK1,	XX 			/ Message address
AXSPK2,	XX 			/ Second parameter
/
	JMP	AXSP 		/ MAIN MENU SAID RETURN
	JMP	AXTO 		/ TIMED OUT TRYING TO SEND
/
	JMP I	AXSPK 		/ Return
/


/
/	AXEJC - CLEARS THE DX USERS SCREEN AFTER A BAD PASSWORD TYPED
/
AXEJC,
	CLA
	TAD	(-TRYPSW) 	/ SEE IF THERE WAS A MISTAKE MADE
	TAD	AXPCN
	SNA CLA 		/ ++++
	JMP	AXEJ3
/
	JMS	AXSPK
	CLAMES
	TYPMES
/
	JMP	AXEJ3


/
/	USED AXSR TO GET THE NAME OF THE DOCUMENT AND THE DRIVE NUMBER
/
AXSRFD,
	XX
	CLA
	CDFMNU
	TAD I	(MUBUF+MNDRV)
	CDFMYF
/
	DCA	CUPDRV
/
	JMS	CUCOPY 		/ NOW THE NAME
	MUBUF+MNIBUF
	CDFMNU
	CUPFNM
	CDFMYF
	BUFSIZ+1
/
	JMP I	AXSRFD
/

/ THIS ROUTINE CHECKS TO MAKE SURE THAT THE LD NAME TO BE CREATED IS
/  .LT. OR .EQ. TO 64 CHARACTERS IN LENGTH.  IF LONGER, TRUNCATE THE
/   NAME TO BE 64 CHARACTERS IN LENGTH, AND THEN CHECK TO SEE IF THIS
/    FILE ALREADY EXISTS.
AXDL5,									/A024
	XX			/ RETURN ADDRESS			/A024
	CDFMNU			/					/A029
	TAD	(MUBUF+MNIBUF)	/ POINTER TO THE INPUT STRING		/A029
	CIA			/ MAKE NEG FOR COMPARE			/A029
	CDFMYF			/					/A029
	TAD	AXDLT		/ TO START OF LOG DOC NAME		/A029
	TAD	(100)		/ POINT TO 65TH CHAR			/A028
	CDFMNU			/					/A028
	TAD 	(MUBUF+MNIBUF)	/ IN THE INPUT STRING (LD NAME)		/A028
	DCA	TEMP		/ AND SAVE THE POINTER			/A028
	TAD I	TEMP		/ GET THE 65TH CHAR			/A028
	SPA SNA CLA		/ SKIP IF: NON-VALID TERMINATOR		/A028
	JMP	AXDL6		/  VALID TERMINATOR			/A028
	DCA I	TEMP		/ INSERT THE LD TERMINATOR		/A028
	AC0001			/ 					/A027
	CDFMNU			/ MENU FIELD				/A027
	DCA I	(MUBUF+MNTMP5)	/ SIGNIFIES MENU TO CHECK FILENAME	/A027
	DCA I	(MUBUF+MNTMP3)	/ CLEAR TMP3				/A028
	CDFMYF			/ MY DATA FIELD				/A027
	CIFMNU			/					/A027
	JMS I	MNUCAL		/					/A027
	DLMDU7			/ CHECK TO SEE IF FILE EXISTS		/A027
	CDFMNU			/ RESULT OF CHECK 			/A027
	TAD I	(MUBUF+MNTMP3)	/ IS IN MNTMP3				/A027
	CDFMYF			/ BACK TO MY FIELD			/A027
	SMA CLA			/ SKIP IF: DOCUMENT DOES NOT EXISTS	/A027
/D030	JMP	AXDL2		/ DOCUMENT EXISTS, ASK HOW TO MODIFY	/A027
	JMP	AXDL7		/ DOC. EXISTS, FETCH LOGNO		/A030
AXDL6,	CDFMYF			/ BACK TO MY FIELD			/A027
	JMS	ADRCRT 		/ CREATE THE DOCUMENT			/M024
	JMP	AXJ1E 		/ ERROR					/M024
	JMP I	AXDL5		/ RETURN TO CALLER			/A024
/
TEMP,	0			/ POINTER TO LD NAME			/A024
AXDL7,	CLA			/ ....					/A030
	CDFMNU			/ MENU FIELD				/A030
	TAD I	(MUBUF+MNFNO)	/ FETCH LOGNO				/A030
	CDFMYF			/ THIS FIELD				/A030
	DCA	LOGNO		/ SAVE THE DOC. NUMBER			/A030
	JMP	AXDL2		/ NOW ASK HOW TO MODIFY			/A030

	PAGE


/
/	AXECJ - WILL CHECK FOR A VALID PASSWORD
/
AXECJ,
	TAD	BPSTAD 		/ SEE IF EITHER PASSWORD IS SET
	TAD	WPSTAD
	SNA CLA 		/ ++++
	JMP	AXEJ3
/
	TAD	(TRYPSW) 	/ ++++
	DCA	AXPCN 		/ SET THE LIMIT ON PASSWORD TYRS
/
AXEJ1,
	JMS	AXSPK 		/ ASK FOR THE PASSWORD
	PASPMT
	TYPPNE
/
AXEJ2,
	JMS	WAITDT 		/ WAIT FOR A STX
	JMP	AXSP 		/ RETURN THE MAIN PROGRAM SAYS TO
	JMP	AXTO 		/ TIMED OUT WAITENG
/
	TAD	(-TYPPAN) 	/ CHECK FOR PASSWORD
	SZA CLA 		/ ++++
	JMP	AXEJ2
/
	JMS	AXSAM 		/ CHECK FOR EQUAL
	JMP	AXDNO
/
	JMP	AXEJC
/
AXDNO,
	ISZ	AXPCN
	JMP	AXEJ5
/
	JMS	AXSPK 		/ ILLEGAL USER
	ILLUSE
	TYPMES
/
	JMP	AXSP
AXEJ5,
	JMS	AXSPK 		/ TELL THE USER HE TYPED THE WRONG PASSWORD
	BADPAS
	TYPMES
/
	JMP	AXEJ1


/
/	AXEJ3 - ASKS FOR IDENTIFICATION
/
AXEJ3,
	CLA
	TAD	LOGNO 		/ SEE IF IT IS NEEDED
	SNA CLA 		/ ++++
	JMP	AXECX
/
	JMS	AXSPK 		/ SEND THE PROMPT
	IDPMT
	TYPPMT
AXEJ4,
	JMS	WAITDT 		/ WAIT FOR A LEGAL STX
	JMP	AXSP 		/ RETURN SINCE SPFLAG IS SET
	JMP	AXTO 		/ TIMED OUT
/
	TAD	(-TYPPAN) 	/ LOOKING FOR AN ANSWER TO THE PROMPT SENT
	SZA CLA 		/ ++++
	JMP	AXEJ4
/
	JMS	CUCOPY 		/ STORE THE ID
	INMBLK+1
	CDFMYF
	AXIDB
	CDFMYF
	BUFSIZ
/
	JMP	AXECX 		/ DONE FOR NOW RETURN TO WPTRNS


/
/	AXSNP - SENDS A PACKET .
/
/	CALL
/	JMS	AXSNP
/	TYPE VALUE
/	ADDRES OF THE TEXT PART
/
/	SPFLAG SET RETURN
/	TIMED OUT
/
/	OK
/
AXSNP,
	XX
	CLA
	TAD I	AXSNP 		/ GET THE STARTING ADDRESS OF THE MESSAGE
	ISZ	AXSNP 		/ Set to skip it on return
	DCA	AXST2 		/ Store it for send
/
	JMP	AXSNG
AXSNW,
	CIFSYS 			/ ++++
	JWAIT
	JMS	SPTEST 		/ SEE IF THE MAIN PROGRAM SAID STOP
	JMP I	AXSNP 		/ SPFLAG SET MUST RETURN
AXSNG,
	CIFEDT
	JMS I	GETBUF 		/ ++++
	FREEPT 			/ GET A BUFFER
	JMP	AXSNW
	DCA	AXSNT 		/ SAVE THE STARTING ADDRESS
/
	TAD	AXSNT 		/ CLEAR A FEW LOCATIONS
	DCA	X1
	CDFEDT
	DCA I	X1 		/ THE STATUS
	DCA I	X1 		/ THE SEQ.
	CDFMYF
/
	TAD I	AXSNP 		/ GET THE TYPE CHARACTER
	ISZ	AXSNP
/
	CDFEDT
	DCA I	X1
	CDFMYF
AXSNL,
	TAD I	AXST2 		/ GET A CAHRACTER
	ISZ	AXST2
	SNA 			/ ++++
	JMP	AXSNZ
	CDFEDT
	DCA I	X1
	CDFMYF
	JMP	AXSNL
AXSNZ,
	CDFEDT
	DCA I	X1 		/ INSERT THE TRAILER
	CDFMYF
/
	TAD	AXSNT 		/ SEND THE BUFFER
	CIFEDT
	JMS I	PUTBUF 		/ ++++
	SENDPT
/
	AC0001
	TAD	AXSNT
	DCA	AXSNS 		/ GET THE STATUS POSITION
	JMP	AXSNB 		/ TEST IT
AXSNJ,
	CIFSYS 			/ ++++
	JWAIT
	JMS	SPTEST 		/ ++++
	JMP	AXSN2
AXSNB,
	CDFEDT
	TAD I	AXSNS 		/ CHECK FOR DONE
	CDFMYF
	SNA 			/ ++++
	JMP	AXSNJ
	DCA	AXST2
AXSN2,
/
	TAD	AXSNT 		/ RELEASE THE BUFFER
	CIFEDT
	JMS I	PUTBUF 		/ ++++
	FREEPT
	JMS	SPTEST 		/ ++++
	JMP I	AXSNP 		/ SEE IF HAVE TO RETURN
	TAD	AXST2
	SMA CLA 		/ ++++
	ISZ	AXSNP 		/ TIMED OUT
	ISZ	AXSNP
	JMP I	AXSNP
/
	PAGE


/
/	THIS IS THE SEND/RECEIVE PART OF AX.  THE AC IS = 0 FOR RECEIVE AND 1 = SEND
/	ON RETURN THE AC = DOCUMENT NUMBER AND THE MQ = MOD TYPE
/
/	CALL
/	CIFBUF
/	JMS I	AXSR
/	ADDRESS OF THE POINTER TO THE PACKET RECEIVED
/
/	NO RETURN
/	YES
/
AXSR,
	XX
/
	DCA	AXSRT2 		/ STORE THE VALUE OF THE ROUTINE CALLED IF 0 = RECEIVE
				/ AND 1 = SEND
/
	TAD I	AXSR 		/ GET THE BUFFER
	ISZ	AXSR 		/ THE DATA FIELD IS STILL SET FOR THE CALLING FIELD
/
	CDFMYF
/
	DCA	AXSRT3 		/ SAVE THE ADDRESS OF THE DOCUMENT NAME
	DCA	AXSRNO 		/ CLEAR THE DOCUMENT NUMBER
	DCA	AXSRMO 		/ AND THE MODIFICATION CODE FOR RECEIVE
	DCA	CUPMOD 		/ CLEAR FOR LOG DOCUMENT SO NO OLD INFO IS LEFT AROUND
	DCA	CUPDRV
	DCA	CUPFNM
/
	JMS	CUCOPY 		/ COPY THE NAME PART TO SEE IF VALID NAME
AXSRT3,	XX
	CDFEDT
	MUBUF+MNIBUF
	CDFMNU
	BUFSIZ+1
/
	TAD	(MUBUF+MNIBUF) 	/ SET THE MENU'S POINTERS FOR THE BUFFER
/
	CDFMNU
	DCA I	(MUBUF+MNPOS	/					/M036
	DCA I	(MUBUF+MNTMP1)
	TAD	AXSRT2		/ GET AXRS MODE (0/1)			/A017
	DCA I	(MUBUF+MNTMP2)	/ SAVE FOR MENU TO ALLOW SEND LOG	/A017
	CDFMYF
/
				/ IF TRIES TO RECEIVE A LIST
	TAD	(MUBUF+MNIBUF-1)
	DCA	X1
/
AXSRL8,
	CDFMNU
	TAD I	X1
	CDFMYF
/
	TAD	(-40) 		/ SKIP LEADING SPACES
	SNA 			/ ++++
	JMP	AXSRL8
	TAD	(40-"@+200)
	SNA CLA 		/ ++++
	JMP	AXSNO2
/
	CIFMNU
	JMS I	MNUCAL 		/ LET THE MENU CHECK FOR A VALID NAME
	DLMAD6
/
	JMS	AXSRFD 		/ GET THE NAME AND DRIVE
/
	CDFMNU
	TAD I	(MUBUF+MNTMP1) 	/ GET THE RETURN VALUE
	CDFMYF
/
	SNA 			/ ++++
	JMP	AXCRT 		/ SEE IF RECEIVE CREATE IT
	TAD	(-1)
	SZA CLA 		/ ++++
	JMP	AXSNO 		/ IF ANYTHING BUT EXITST THEN SEND A NO
/
	CDFMNU
	TAD I	(MUBUF+MNFNO) 	/ GET THE DOCUMENT NUMBER
	CDFMYF
	DCA	AXSRNO
/
	TAD	AXSRT2
	SZA CLA 		/ ++++
	JMP	AXSROK
	TAD	(TBOPT) 	/ IF EXISTS THEN SEND A OPTION PACKET IF RECEIVE
	DCA	ANSBUF
/
	JMS	AXSRPK 		/ SEND THE PACKET
	ANSBUF 			/ STARTING ADDRES OF TEXT PART
	TYPMOD 			/ TYPE
/
	JMS	WAITDT 		/ WAIT FOR A RESPONSE
	JMP	AXSNOP		/ NO RETURN				/M018
	JMP	AXSNOP		/ TIMED OUT				/M018
/
	TAD	(-TYPPAN) 	/ WAIT FOR RESPONSE IF GET SOMETHING ELSE SEND NO
	SZA CLA 		/ ++++
	JMP	AXSNOP							/M018
/
	TAD	INMBLK+1 	/ GET THE RESPONSE
	TAD	(-40) 		/ CHECK FOR GOLD MENU
	SNA 			/ ++++
	JMP	AXSNOP							/M018
	TAD	(-2) 		/ 40 = GM;41 = -1(OVERWRITE);42 = 0(TOP);43 = 1 (BOTTOM)
/
	DCA	AXSRMO
/
	TAD	AXSRMO 		/ SET THE VALUE FOR THE LOG DOCUMENT OF MODIFY
	SNA CLA 		/ ++++
	IFDEF ENGLSH <
	TAD	("T-"B)							/M023
	TAD	("B-200)						/M023
	>
	IFDEF ITALIAN <
	TAD	("I-"F)							/M023
	TAD	("F-200)						/M023
	>
	IFDEF V30SWE <
	TAD	("T-"B)							/M023
	TAD	("B-200)						/M023
	>
	DCA	CUPMOD
AXSROK,
	CLA
	TAD	AXSRNO		/ SEE IF DOC REQUESTED IS LOG DOC	/A018
   	CIA								/A018
	TAD	LOGNO							/A018
	SNA CLA								/A018
/	JMP	AXSRO2		/ JUMP IF OK				/A018
/	JMS	CLFILE							/A018
	JMP	AXSNO		/ SAY NO				/A018
AXSRO2,									/A018
	TAD	AXSRMO
	MQL
	TAD	AXSRNO 		/ THE AC = DOCUMENT NO AND THE MQ THE MODIFICATION
/
	CDIEDT
	ISZ	AXSR
	JMP I	AXSR 		/ RETURN
AXSNOX,
	CLA
	CDIEDT
	JMP I	AXSR
AXSRT2,	0 			/ HAS TO BE ON THIS PAGE
/
ANSBUF,
	ZBLOCK 2
AXSRNO,	0
AXSRMO,	0
AXINDF,	0
/


/	MOVED TO ANOTHER PAGE						/M018
/
/	SPTEST - SEE IF THE SPFLAG IS SET WHICH MEANS TO RETURN
/
/SPTEST,							
/	XX
/	CLA
/	CDFEDT
/	TAD I	(SPFLAG)
/	CDFMYF
/
/	SNA CLA 		/ ++++
/	ISZ	SPTEST
/	JMP I	SPTEST
/
AXSNOP,
	CLA			/ CLOSE FILE (IT'S CURRENTLY OPEN)	/A018
	JMP	AXSNOX		/ SEND 'NO'				/A018
/
	PAGE


/
/	AXSAM - COMPARES THE INPUT BUFFER TO THE PASSWORD
/
AXSAM,
	XX
	TAD	BPSTAD 		/ FIRST SEE IF THE READ/WRITE PWASSWORD IS SET
	SNA CLA 		/ ++++
	JMP	AXSA2
/
	JMS	AXCMP 		/ COMPARE WHAT WAS SET TO WHAT IT IS
	BPSTAD
	INMBLK+1
/
	JMP	AXSA2 		/ DOESNT MATCH
/
	AC0001 			/ DOES MATCH SET THE OPTFLG
/
	JMP	AXSRT
AXSA2,
	TAD	WPSTAD 		/ CHECK FOR WRITE PASSWORD
	SNA CLA 		/ ++++
	JMP I	AXSAM
/
	JMS	AXCMP
	WPSTAD
	INMBLK+1
/
	JMP I	AXSAM 		/ DOESNT MATCH EITHER
AXSRT,
	TAD	(OPTBMS) 	/ SET TO 43 TO NOT ALLOW READ
	DCA	OPTFLG 		/ 44 MEANS READ /WRITE ABILITY
/
	ISZ	AXSAM
	JMP I	AXSAM


/
/	AXCMP - COMPARES THE TEXT IN THE FIRST STRING WITH THE SECOND
/	IT RETURNS A MATCH IF THE SECOND ONE MATCHES THE FIRST.  IT IS
/	NOT CASE DEPENDENT
/	CALL
/	JMS	AXCMP
/	ADDRESS OF STRING ONE THE ONE IT HAS TO MATCH
/	ADDRESS OF THE STRING TO COMPARE
/
/	DOESNT MATCH RETURN
/	MATCH RETURN
/
AXCMP,
	XX
	AC7777
	TAD I	AXCMP 		/ GET THE FIRST STRINGS ADDRESS
	ISZ	AXCMP
	DCA	X1
/
	AC7777
	TAD I	AXCMP 		/ GET THE STRING TO COMPARE
	ISZ	AXCMP
	DCA	X2
AXCPL,
	TAD I	X1
	SNA 			/ ++++
	JMP	AXCPJ
/
	JMS	CNVUPR 		/ CONVERT THE STRING TO CAPS
	CIA
	DCA	AXCPT
/
	TAD I	X2
	JMS	CNVUPR
	TAD	AXCPT
	SNA CLA 		/ ++++
	JMP	AXCPL
	JMP I	AXCMP
AXCPJ,
	TAD I	X2		/ CK FOR EXTRA CHAR			/A031
	SNA CLA			/ IF PRESENT IT DOES NOT MATCH		/A031
	ISZ	AXCMP
	JMP I	AXCMP
AXCPT,	0


/
/	CNVUPR - IF THE CHARACTER IN THE AC IS LOWER CASE IT IS CONVERTED TO UPPER
/
CNVUPR,
	XX
	TAD	(-140)
	SPA 			/ ++++
	TAD	(40)
	TAD	(100)
	JMP I	CNVUPR


/
/	THE ROUTINE THAT MODIFIES THE FILE THAT KEEPS THE LOG IF WANTED
/
AXDON,
	XX
	CDFMYF
	CLA
	TAD	LOGNO 		/ SEE IF THE LOG IS WANTED
	SNA CLA 		/ ++++
	JMP	AXDDN
	TAD	LOGNO 		/ OPEN THE LOG DOCUMENT
	MQL
	TAD	LOGMOD
	CIFFIO 			/ ++++					/M013
	FILEIO 			/ ++++					/M013
	XDSKIN
	CLA
/
	CDFMNU
	TAD I	(DATESP) 	/ GET THE ADDRESS OF THE DATE
	CDFMYF
/
	DCA	DATEAD
/
	CIFMNU
	JMS I	TIMCAL 		/ SEE IF THE TIME HAS CHANGED
	NOP
/
	JMS	CUCOPY 		/ COPY THE TIME TO THIS FIELD
DATEAD,	0
	CDFMNU
	AXTIM
	CDFMYF
	26
/
	JMS	CUPSH2 		/ SKIP OVER THE HEADER AND RULER STUFF
/
	TAD	AXSRNO 		/ BREAK OUT FILE AND DRIVE NUMBERS
	AND	P377
	DCA	CUPDAT
	CIFMNU
	JMS I	IOACAL
	CUPOTD
	AXDMS
	CUPOS1
	AXIDB
	CUPOS1
	AXTIM
	CUPOS1
	CUPFNM
	CUPOS3
	CUPDRV
CUPDAT,	0
	CUPOS3
	CUPMOD
	CUPOS3
	CUPOS4
/
	CIFFIO 			/ ++++					/M013
	FILEIO 			/ ++++					/M013
	XDSKCL
/
AXDDN,
	TAD	LOGMOD
	SPA CLA
	DCA	LOGMOD
	CDIEDT
	JMP I	AXDON
CUPMOD,
	0 			/ ++++
	0
/
	PAGE


/
/	WAITING FOR SOMETHING TO BE SENT (RECEIVER)
/
WAITDT,
	XX
	CLA
	TAD	(MIN3) 		/ ++++
	DCA	DLYLIM
	JMP	WAITDG 		/ SEE IF THERE IS ANYTHING
WAITDW,
	CIFSYS 			/ ++++
	JWAIT
	JMS	SPTEST 		/ ++++
	JMP I	WAITDT 		/ SEE IF THE SPFLAG IS SET
	JMS	GETTM
	SNA CLA 		/ ++++
	JMP	WAITDG 		/ NO CHANGE IN THE TIME CONTINUE
	ISZ	DLYLIM 		/ SECOND WENT BY CHOW OT
	JMP	WAITDG
	ISZ	WAITDT
	JMP I	WAITDT 		/ WAITED TOO LONG
WAITDG,
	CIFEDT 			/ SEE IF A PACKET HAS BEEN RECEIVED
	JMS I	GETBUF 		/ ++++
	RECPT
	JMP	WAITDW
/
	DCA	WAITDA 		/ KEEP THE VALUE
/
	AC0003
	TAD	WAITDA 		/ GET THE START TO MOVE
	DCA	WAITT1
/
	JMS	CUCOPY 		/ COPY THE BUFFER FOUND
WAITT1,	XX
	CDFEDT
	INMBLK
	CDFMYF
	BUFSIZ+1
/
	TAD	WAITDA 		/ DONE WITH THE BUFFER RETURN IT
	CIFEDT
	JMS I	PUTBUF 		/ ++++
	FREEPT
/
	TAD	INMBLK
	ISZ	WAITDT
	ISZ	WAITDT
/
	JMP I	WAITDT 		/ RETURN WITH THE FLAG CHARACTER
WAITDA,
	0
DLYLIM,
	0


/
/	GET THE TIME CHANGE USING THE SYSTEMS CLOCK
/	IT RETURNS A 1 IF A SECOND WENT BY AND A 0 IF NO CHANGE
/
GETTM,
	XX
	CLA
	CDFSYS
	TAD I	(CLOCK+2) 	/ ++++
	CIA
	CDFMYF 			/ ACDF FOR THIS FIELD (MY FIELD)
	TAD	TMPTME 		/ COMPARE TO MY TIME FOR ANY CHANGE
	SNA 			/ ++++
	JMP I	GETTM 		/ NO CHANGE
	CIA 			/ ++++
	TAD	TMPTME 		/ IF CHANGE STORE THE NEW ONE
	DCA	TMPTME
	AC0001
	JMP I	GETTM
TMPTME,
	0
/


RDSIX1,	TAD	(74-41) 	/ CHECK IF ALPHA
	SMA
RDSIX3,	TAD	REDSHF 		/ ADD IN SHIFT
	TAD	(41+37) 	/ CONVERT TO ASCII
RDSIX2,	DCA	REDSXC 		/ STORE IT
	JMP	RDSIX4 		/ CLEAR ESCAPE FLAG AND RETURN
/
WRDWSF,	TAD	(40) 		/ SHIFT TO LOWERCASE
WRUPSF,	DCA	REDSHF 		/ STORE NEW CASE
	JMP	RDSIX4 		/ AND RETURN
/
REDSHF,	0 			/ SHIFT WORD
REDSXC,	0 			/ TEMP THAT HOLDS THE CHARACTER TO RETURN


/
/	THIS IS A CLOSE COPY OF THE WT78 REDSIX ROUTINE WHICH TOOK 6-BIT
/	INPUT AND STORED IT AS 7-BIT DATA.  THIS ROUTINE WILL READ 6-BIT DATA FROM DISK
/	AND RETURN 7-BIT.
/
REDSIX,	XX
/
	CLA
	RDF
	TAD	CIDF0 		/ MAKE CROSS FIELD CALLABLE
	DCA	REDS2X
	DCA	REDSXC 		/ CLEAR THE CHARACTER TO RETURN BUFFER
/
	CDFMYF
/
REDSIL,
	TAD	REDNXT 		/ SEE IF THERE IS A CHARACTER WAITING TO BE
				/ RETURNED
	SNA 			/ ++++
	JMP	REDSI2 		/ IF ZERO GET A CHAR IF NOT OUTPUT IT
	DCA	T1
	DCA	REDNXT 		/ CLEAR FLAG OUTPUT IT
	TAD	T1
	JMP	RDSIX2
REDSI2,
	CIFFIO 			/ ++++					/M013
	FILEIO 			/ ++++					/M013
	XRDFNB 			/ GET A CHAR
	SNA SPA 		/ ++++
	JMP	REDS2X 		/ DONE OR AN ERROR SO RETURN
	DCA	T1 		/ STORE UNTIL KNOW WHAT TO DO WITH IT
	TAD	REDESF 		/ SEE IF MIDDLE OF ESCAPE
	SZA CLA 		/ ++++
	JMP	REDESC 		/ YES
	TAD	T1
	TAD	(-74) 		/ SEE IF SPECIAL
	SPA 			/ ++++
	JMP	RDSIX1 		/ NO, NORMAL SIXBIT CHAR
	SNA 			/ ++++
	JMP	WRUPSF 		/ SHIFT TO UPPERCASE
	TAD	(74-75) 	/ 75 ?
	SNA 			/ ++++
	JMP	RDSIX4 		/ ILLEGAL, RETURN 0
	TAD	(75-76) 	/ 76 ?
	SNA CLA 		/ ++++
	JMP	WRDWSF 		/ SHIFT TO LOWERCASE
	AC7777 			/ MUST BE ESCAPE
RDSIX4,	DCA	REDESF 		/ SET FLAG
REDSXX,
	TAD	REDSXC 		/ IF CHARACTER IS ZERO THEN GET ANOTHER
	SNA 			/ ++++
	JMP	REDSIL
REDS2X,
	XX
	JMP I	REDSIX 		/ AND RETURN
/
REDESF,	0 			/ ESCAPE FLAG
/
	PAGE


/
/	THIS IS THE WT78 READ ROUTINE THAT READS 7-BIT CHARACTERS FROM THE DISK AND
/	TRANSLATES THEM TO 6-BIT.  WHAT IT IS DOING HERE IS TAKING THE
/	7-BIT INPUTAND STORING IT AS 6-BIT FOR THE WS SYSTEMS
/
WRISIX,	XX
	DCA	T1 		/ STORE CHARACTER
	RDF
	TAD	CIDF0
	DCA	WRSI2X
/
	CDFMYF
	TAD	WRIVBF 		/ SEE IF THE VERTICAL BAR FLAG IS SET
	SZA CLA 		/ ++++
	JMP	WRIVB2
	TAD	WRIBES 		/ NOW CHECK FOR LAST CHAR WAS A LEFT BRACKET ESCAPE CHAR
	SZA CLA 		/ ++++
	JMP	WRIBE2
WRSIXE,	CLA
	TAD	WRICHR 		/ SEE IF ANYTHING WAITING AROUND
	SZA 			/ ++++
	JMP	WRSIX1 		/ YES GO PROCESS IT
	TAD	T1 		/ NO, GET CHAR
	SNA 			/ ++++
	JMP	WRSIXX 		/ RETURN ON EOF
	TAD	(-173) 		/ CHECK IF ESCAPE SEQUENCE
	SPA 			/ ++++
	JMP	WRSIX5 		/ NO, NORMAL CHAR
	SNA CLA 		/ WHICH TYPE ?
	JMP	WRSIX2 		/ {ESCAPE
	AC0001 			/ ++++
	DCA	WRIVBF 		/ SET FLAG
	JMP	WRSIXX 		/ RETURN
WRIVB2,
	DCA	WRIVBF 		/ CLEAR FLAG
	TAD	T1
	SNA 			/ ++++
	JMP	WRSIXX 		/ RETURN ON EOF
	TAD	(-76) 		/ SEE IF JUST SUPPOSED TO BE 173 - 176
	SMA SZA 		/ ++++
	JMP	WRSIX3 		/ NO, LOOK IN TABLE
	TAD	(76+100) 	/ MAKE INTO REAL ASCII
	JMP	WRSIX1 		/ AND PROCESS AS NORMAL
/
WRSIX2,
	AC0001 			/ ++++
	DCA	WRIBES 		/ SET FLAG FOR ESCAPE SEQUENCE
	JMP	WRSIXX 		/ RETURN
WRIBE2,
	DCA	WRIBES 		/ CLEAR FLAG THAT GOT US HERE
	TAD	T1 		/ GET THE NEXT CHARACTER OF ESCAPE SEQUENCE
	SNA 			/ ++++
	JMP	WRSIXX 		/ RETURN ON EOF
	TAD	(-53) 		/ MAKE SURE IT'S LEGIT
	SMA SZA 		/ ++++
	JMP	WRSIXE 		/ ERROR
	TAD	(53-42)
	SPA 			/ ++++
	JMP	WRSIXE 		/ ERROR
	TAD	(WRITA2) 	/ COMPUTE TABLE ADDR
	JMP	WRSIX4
/
WRSIX3,	TAD	(76-117) 	/ CHECK IF VALID TABLE ENTRY
	SMA SZA 		/ ++++
	JMP	WRSIXE 		/ ERROR
	TAD	(117-107)
	SPA 			/ ++++
	JMP	WRSIXE 		/ ERROR
	TAD	(WRITAB) 	/ COMPUTE TABLE ADDR
WRSIX4,	DCA	T1
	TAD I	T1 		/ PICK UP ENTRY
WRSIX6,	DCA	WRICHR 		/ SAVE AS NEXT CHAR
	TAD	(77) 		/ AND RETURN AN ESCAPE
WRSIXX,
	SNA 			/ ++++
	JMP	WRSI3X
	CIFFIO 			/ ++++					/M013
	FILEIO 			/ ++++					/M013
	XPUTSB 			/ STORE CHARACTER
WRSI3X,
	TAD	WRICHR 		/ SEE IF ANOTHER TO STORE
	SZA CLA 		/ ++++
	JMP	WRSIXE
	JMS	WRSEND		/ END OF DOC. SO SHIFT TO UPPER		/A018
WRSI2X,
	XX
	JMP I	WRISIX
/
WRIVBF,	0
WRIBES,	0
WRICHR,	0
/
WRSIXA,	DCA	WRICHR 		/ CLEAR HOLD CHAR
	MQA 			/ ++++
	TAD	(-37) 		/ CONVERT TO SIXBIT
	JMP	WRSIXX 		/ AND RETURN
/
WRSIXC,	TAD	(61)
	JMP	WRSIX6


WRSIX5,	TAD	(173)
WRSIX1,	MQL 			/ ++++
	MQA 			/ SAVE CHAR IN MQ
	AND	(100) 		/ SEE IF SHIFTABLE
	SNA CLA 		/ ++++
	JMP	WRSIXA 		/ NO, CONVERT AND RETURN
	MQA 			/ ++++
	AND	(40) 		/ GET SHIFT BIT
	CIA 			/ ++++
	TAD	WRSHIF 		/ COMPARE WITH STATE WE'RE IN
	CLL
	SNA CLA 		/ ++++
	JMP	WRSIXB 		/ DIDN'T CHANGE
	MQA 			/ ++++
	AND	(40) 		/ STORE NEW STATE (SHIFT BIT)
	SZA 			/ ++++
	CML
	DCA	WRSHIF
	RAL 			/ FIGURE OUT IF NEED UPSHIFT OR DOWNSHIFT
	SZA 			/ ++++
	IAC
	TAD	(74)
	DCA	T1 		/ SAVE FOR A MINUTE
	MQA 			/ ++++
	DCA	WRICHR 		/ GET CHAR BACK AND SAVE FOR NEXT TIME
	TAD	T1 		/ RETURN WITH SHIFT CODE
	JMP	WRSIXX
/
WRSHIF,	0
/
	PAGE


/
/	THESE TABLES ARE USED BY THE GET SEVEN BIT AND PUT SEVEN BIT ROUTINES
/
WRITAB,	66
	46
	45
	52
	66 			/ ILLEGAL
	53
	47
	67
	70
/
WRITA2,	42 			/ ++++
	41
	44 			/ ++++
	43
	51 			/ ++++
	50
	55 			/ ++++
	54
	57 			/ ++++
	56
/
REDTAB,	7343 			/ ++++
	7342 			/ TABLE TO CONVERT SIXBIT TO WPW 7-BIT
	7345 			/ ++++
	7344
	7411
	7410
	7415
	7347 			/ ++++
	7346
	7412
	7414
	7351 			/ ++++
	7350
	7353 			/ ++++
	7352
	7407 			/ ILLEGAL
	133
	134
	135
	136
	137
	7407
	7416
	7417


/
/	MESSAGES
/
CLASCR,
	TEXT '^P!E'
/
MESFT2,
	IFDEF ENGLSH < TEXT '^P&IDENTIFICATION MESSAGE IS:^P^A' > 	/M022
	IFDEF ITALIAN< TEXT /^P&MESSAGGIO IDENTIFICAZIONE SISTEMA:^P^A/ >
	IFDEF CANADA < TEXT "^P&IDENTIFICATION DU TERMINAL:^P^A" >
	IFDEF FRENCH < TEXT "^P&IDENTIFICATION EST :^P^A" > /L.A.E
	IFDEF DUTCH < TEXT "^P&INDENTIFICATIE BERICHT IS:^P^A" >
	IFDEF GERMAN < TEXT "^P&TERMINAL &KENNUNG:^P^A" >
	IFDEF NORWAY < TEXT '^P&TERMINAL-&I&D ER:^P^A' >
	IFDEF SWEDSH < TEXT '^P&TERMINAL-&I&D [R:^P^A' > /L.U.A
	IFDEF DANISH < TEXT '^P&TERMINAL-&I&D ER:^P^A' >
	IFDEF V30SWE < TEXT '^P&IDENTIFIERINGSMEDDELANDET \DR:'>
/
MESFT3,
	IFDEF ENGLSH < TEXT '^P&LOG DOCUMENT IS:^P^A' >
	IFDEF ITALIAN< TEXT /^P&PROCEDURA DI COLLEGAMENTO:^P^A/ >
	IFDEF CANADA < TEXT "^P&DOCUMENT-R[PERTOIRE:^P^A" > /L.A.E
	IFDEF FRENCH < TEXT "^P&LE JOURNAL DE BORD EST :^P^A" >
	IFDEF DUTCH < TEXT "^P&LOGBOEK IS:^P^A" >
	IFDEF GERMAN < TEXT "^P&LOG &DATEI:^P^A" >
	IFDEF NORWAY < TEXT '^P"&LOG"-DOKUMENTET ER:^P^A' >
	IFDEF SWEDSH < TEXT '^P"&LOG"-DOKUMENTET [R:^P^A' > /L.U.A
	IFDEF DANISH < TEXT '^P"&LOG"-DOKUMENTET ER:^P^A' >
	IFDEF V30SWE < TEXT '^P"&INLOGGNINGSDOKUMENTET \DR:'>
/
MESFT4,
	IFDEF ENGLSH < TEXT '^P&SEND ONLY PASSWORD IS:^P^A' >
	IFDEF ITALIAN< TEXT /^P&PAROLA CHIAVE PER INVIO:^P^A/ >
	IFDEF CANADA < TEXT "^P&MOT DE PASSE D'ENVOI:^P^A" >
	IFDEF FRENCH < TEXT "^P&LE MOT DE PASSE POUR ENVOYER EST :^P^A" > /L.A.E
	IFDEF DUTCH < TEXT "^P&SLEUTELWOORD VOOR ALLEEN ZENDEN:^P^A" >
	IFDEF GERMAN < TEXT "^P&SENDE &PASSWORT:^P^A" >
	IFDEF NORWAY < TEXT "^P&PASSORDET FOR ] SENDE ER:^P^A" > /L.D.A
	IFDEF SWEDSH < TEXT '^P&L\SENORD F\R "S[ND" [R:^P^A' > /L.U.O, L.U.O, L.U.A, L.U.A
	IFDEF DANISH < TEXT "^P&PASORDET FOR AT SENDE ER:^P^A" >
	IFDEF V30SWE < TEXT '^P"&S\DND ENDAST L\VSENORD" \DR:'>
/
MESFT5,
	IFDEF ENGLSH < TEXT '^P&SEND AND RECEIVE PASSWORD IS:^P^A' >
	IFDEF ITALIAN< TEXT /^P&PAROLA CHIAVE PER INVIO E RICEZIONE:^P^A/ >
	IFDEF CANADA < TEXT "^P&MOT DE PASSE D'ENVOI-R[CEPTION:^P^A" > /L.A.E
	IFDEF FRENCH <
	TEXT "^P&LE MOT DE PASSE POUR ENVOYER ET RECEVOIR EST :^P^A" /L.A.E
	>
	IFDEF DUTCH < TEXT "^P&SLEUTEWOORD VOOR ZENDEN EN ONTVANGEN IS:^P^A" >
	IFDEF GERMAN < TEXT "^P&SENDE UND &EMPFANGS &PASSWORT:^P^A" >
	IFDEF NORWAY < TEXT "^P&PASSORDET FOR ] SENDE OG MOTTA ER:^P^A" > /L.D.A
	IFDEF SWEDSH < TEXT '^P&L\SENORD F\R "S[ND OCH MOTTAG" [R:^P^A' > /L.U.O, L.U.O, L.U.A, L.U.A
	IFDEF DANISH < TEXT "^P&PASORDET FOR AT SENDE OG MODTAGE ER:^P^A" >
	IFDEF V30SWE < TEXT '^P"&S\DND OCH TA EMOT L\VSENORD" \DR:'>
/
/D016;TRYCON,
/D016;	IFDEF ENGLSH < TEXT '^P!L^P--!L &COMMUNICATIONS ACTIVE --' >
/D016;	IFDEF CANADA < TEXT "^P!L^P--!L &COMMUNICATION EN COURS --" >
/D016;	IFDEF FRENCH < TEXT "^P!L^P--!L &COMMUNICATION EN COURS --" >
/D016;	IFDEF DUTCH < TEXT "^P!L^P--!L &COMMUNICATIE AKTIEF --" >
/D016;	IFDEF GERMAN < TEXT "^P!L^P--!L &KOMMUNIKATION AKTIV --" >
/D016;	IFDEF NORWAY < TEXT "^P!L^P--!L &KOMMUNIKASJON AKTIV --" >
/D016;	IFDEF SWEDSH < TEXT "^P!L^P--!L &KOMMUNIKATION AKTIV --" >
/D016;	IFDEF DANISH < TEXT "^P!L^P--!L &KOMMUNIKATION AKTIV --" >
/
	IFDEF ENGLSH <
NOANS,
	"C-200 			/ C
	"A-200 			/ A
	"N-200 			/ N
	"N-200 			/ N
	"O-200 			/ O
	"T-200 			/ T
	" -200 			/ Space
	"T-200 			/ T
	"R-200 			/ R
	"A-200 			/ A
	"N-200 			/ N
	"S-200 			/ S
	"F-200 			/ F
	"E-200 			/ E
	"R-200 			/ R
	" -200 			/ Space
	"D-200 			/ D
	"O-200 			/ O
	"C-200 			/ C
	"U-200 			/ U
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
CLAMES,
	0
BADPAS,
	"I-200 			/ I
	"N-200 			/ N
	"C-200 			/ C
	"O-200 			/ O
	"R-200 			/ R
	"R-200 			/ R
	"E-200 			/ E
	"C-200 			/ C
	"T-200 			/ T
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"W-200 			/ W
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	00000
PASPMT,
	164 			/ T
	150 			/ H
	145 			/ E
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"W-200 			/ W
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	00000
ILLUSE,
	"--200 			/ -
	"--200 			/ -
	" -200 			/ Space
	"I-200 			/ I
	"L-200 			/ L
	"L-200 			/ L
	"E-200 			/ E
	"G-200 			/ G
	"A-200 			/ A
	"L-200 			/ L
	" -200 			/ Space
	"U-200 			/ U
	"S-200 			/ S
	"E-200 			/ E
	"R-200 			/ R
	" -200 			/ Space
	"--200 			/ -
	"--200 			/ -
	0000
IDPMT,
	171 			/ Y
	157 			/ O
	165 			/ U
	162 			/ R
	" -200 			/ Space
	"i-200 			/ I
	"d-200 			/ D
	"e-200			/ E
	"n-200			/ N
	"t-200			/ T
	"i-200			/ I
	"f-200			/ F
	"i-200			/ I
	"c-200			/ C
	"a-200			/ A
	"t-200			/ T
	"i-200			/ I
	"o-200			/ O
	"n-200			/ N
	" -200			/ Space
	"m-200			/ M
	"e-200			/ E
	"s-200			/ S
	"s-200			/ S
	"a-200			/ A
	"g-200			/ G
	"e-200			/ E
	0000
	> 			/ END IFNDEF ENGLSH
	IFDEF ITALIAN <
NOANS,
	"T-200 			/ T
	"R-200 			/ R
	"A-200 			/ A
	"S-200 			/ S
	"F-200 			/ F
	"E-200 			/ E
	"R-200 			/ R
	"I-200 			/ I
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"O-200 			/ O
	" -200 			/ Space
	"D-200 			/ D
	"O-200 			/ O
	"C-200 			/ C
	"U-200 			/ U
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"O-200			/ O
	" -200			/ SPACE
	"I-200			/ I
	"M-200			/ M
	"P-200			/ P
	"O-200			/ O
	"S-200			/ S
	"S-200			/ S
	"I-200			/ I
	"B-200			/ B
	"I-200			/ I
	"L-200			/ L
	"E-200			/ E
CLAMES,
	0
BADPAS,
	"P-200 			/ P
	"A-200 			/ A
	"R-200 			/ R
	"O-200 			/ O
	"L-200 			/ L
	"A-200 			/ A
	" -200 			/ SPACE
	"C-200 			/ C
	"H-200 			/ H
	"I-200 			/ I
	"A-200 			/ A
	"V-200 			/ V
	"E-200 			/ E
	" -200 			/ SPACE
	"N-200 			/ N
	"O-200 			/ O
	"N-200 			/ N
	" -200 			/ SPACE
	"C-200			/ C
	"O-200			/ O
	"R-200			/ R
	"R-200			/ R
	"E-200			/ E
	"T-200			/ T
	"T-200			/ T
	"A-200			/ A
	00000
PASPMT,
	"L-200 			/ L
	"A-200 			/ A
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"R-200			/ R
	"O-200 			/ O
	"L-200 			/ L
	"A-200 			/ A
	" -200 			/ SPACE
	"C-200 			/ C
	"H-200 			/ H
	"I-200			/ I
	"A-200			/ A
	"V-200			/ V
	"E-200			/ E
	00000
ILLUSE,
	"--200 			/ -
	"--200 			/ -
	" -200 			/ Space
	"U-200 			/ U
	"T-200 			/ T
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"E-200 			/ E
	" -200 			/ Space
	"N-200 			/ N
	"O-200 			/ O
	"N-200 			/ N
	" -200 			/ SPACE
	"A-200			/ A
	"U-200			/ U
	"T-200			/ T
	"O-200			/ O
	"R-200			/ R
	"I-200			/ I
	"Z-200			/ Z
	"Z-200			/ Z
	"A-200			/ A
	"T-200			/ T
	"O-200			/ O
	" -200 			/ Space
	"--200 			/ -
	"--200 			/ -
	0000
IDPMT,
	"i-200 			/ I
	"l-200 			/ L
	" -200 			/ SPACE
	"m-200			/ M
	"e-200 			/ E
	"s-200 			/ S
	"s-200 			/ S
	"a-200			/ A
	"g-200			/ G
	"g-200			/ G
	"i-200			/ I
	"o-200			/ O
	" -200			/ SPACE
	"i-200			/ I
	"d-200			/ D
	"e-200			/ E
	"n-200			/ N
	"t-200			/ T
	"i-200			/ I
	"f-200			/ F
	"i-200			/ I
	"c-200			/ C
	"a-200			/ A
	"z-200			/ Z
	"i-200			/ I
	"o-200			/ O
	"n-200			/ N
	"e-200			/ E
	" -200			/ Space
	"s-200			/ S
	"i-200			/ I
	"s-200			/ S
	"t-200			/ T
	"e-200			/ E
	"m-200			/ M
	"a-200			/ A
	0000
	> 			/ END IFDEF ITALIAN
	IFDEF CANADA <
NOANS,
	"I-200 			/ I
	"M-200 			/ M
	"P-200 			/ P
	"O-200 			/ O
	"S-200 			/ S
	"S-200 			/ S
	"I-200 			/ I
	"B-200 			/ B
	"L-200 			/ L
	"E-200 			/ E
	" -200 			/ Space
	"D-200 			/ D
	"E-200 			/ E
	" -200 			/ Space
	"T-200 			/ T
	"R-200 			/ R
	"A-200 			/ A
	"N-200 			/ N
	"S-200 			/ S
	"M-200 			/ M
	"E-200 			/ E
	"T-200 			/ T
	"T-200 			/ T
	"R-200 			/ R
	"E-200 			/ E
	" -200 			/ Space
	"L-200 			/ L
	"E-200 			/ E
	" -200 			/ Space
	"D-200 			/ D
	"O-200 			/ O
	"C-200 			/ C
	".-200 			/ .
CLAMES,
	0
BADPAS,
	"M-200 			/ M
	"O-200 			/ O
	"T-200 			/ T
	" -200 			/ Space
	"D-200 			/ D
	"E-200 			/ E
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"E-200 			/ E
	" -200 			/ Space
	"I-200 			/ I
	"N-200 			/ N
	"C-200 			/ C
	"O-200 			/ O
	"R-200 			/ R
	"R-200 			/ R
	"E-200 			/ E
	"C-200 			/ C
	"T-200 			/ T
	0000
PASPMT,
	"L-200 			/ L
	"E-200 			/ E
	" -200 			/ Space
	"M-200 			/ M
	"O-200 			/ O
	"T-200 			/ T
	" -200 			/ Space
	"D-200 			/ D
	"E-200 			/ E
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"E-200 			/ E
	0000
ILLUSE,
	"--200 			/ -
	"U-200 			/ U
	"T-200 			/ T
	"I-200 			/ I
	"L-200 			/ L
	"I-200 			/ I
	"S-200 			/ S
	"A-200 			/ A
	"T-200 			/ T
	"E-200 			/ E
	"U-200 			/ U
	"R-200 			/ R
	" -200 			/ Space
	"N-200 			/ N
	"O-200 			/ O
	"N-200 			/ N
	"--200 			/ -
	"A-200 			/ A
	"U-200 			/ U
	"T-200 			/ T
	"O-200 			/ O
	"R-200 			/ R
	"I-200 			/ I
	"S-200 			/ S
	"[-200 			/ [
	"--200 			/ -
	0000
IDPMT,
	"V-200 			/ V
	"O-200 			/ O
	"T-200 			/ T
	"R-200 			/ R
	"E-200 			/ E
	" -200 			/ Space
	"I-200 			/ I
	"D-200 			/ D
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"I-200 			/ I
	"F-200 			/ F
	"I-200 			/ I
	"C-200 			/ C
	"A-200 			/ A
	"T-200 			/ T
	"I-200 			/ I
	"O-200 			/ O
	"N-200 			/ N
	0000
	> 			/ END IFDEF CANADA
/
	IFDEF FRENCH <
NOANS,
	"N-200 			/ N
	"E-200 			/ E
	" -200 			/ Space
	"P-200 			/ P
	"E-200 			/ E
	"U-200 			/ U
	"T-200 			/ T
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	" -200 			/ Space
	"O-200 			/ O
	"B-200 			/ B
	"T-200 			/ T
	"E-200 			/ E
	"N-200 			/ N
	"I-200 			/ I
	"R-200 			/ R
	" -200 			/ Space
	"L-200 			/ L
	"E-200 			/ E
	" -200 			/ Space
	"D-200 			/ D
	"O-200 			/ O
	"C-200 			/ C
	".-200 			/ .
CLAMES,
	0
BADPAS,
	"M-200 			/ M
	"A-200 			/ A
	"U-200 			/ U
	"V-200 			/ V
	"A-200 			/ A
	"I-200 			/ I
	"S-200 			/ S
	" -200 			/ Space
	"M-200 			/ M
	"O-200 			/ O
	"T-200 			/ T
	" -200 			/ Space
	"D-200 			/ D
	"E-200 			/ E
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"E-200 			/ E
	0000
PASPMT,
	"L-200 			/ L
	"E-200 			/ E
	" -200 			/ Space
	"M-200 			/ M
	"O-200 			/ O
	"T-200 			/ T
	" -200 			/ Space
	"D-200 			/ D
	"E-200 			/ E
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"E-200 			/ E
	0000
ILLUSE,
	"--200 			/ -
	"U-200 			/ U
	"T-200 			/ T
	"I-200 			/ I
	"L-200 			/ L
	"I-200 			/ I
	"S-200 			/ S
	"A-200 			/ A
	"T-200 			/ T
	"E-200 			/ E
	"U-200 			/ U
	"R-200 			/ R
	" -200 			/ Space
	"N-200 			/ N
	"O-200 			/ O
	"N-200 			/ N
	" -200 			/ Space
	"A-200 			/ A
	"U-200 			/ U
	"T-200 			/ T
	"O-200 			/ O
	"R-200 			/ R
	"I-200 			/ I
	"S-200 			/ S
	"[-200 			/ [
	"--200 			/ -
	0000
IDPMT,
	"V-200 			/ V
	"O-200 			/ O
	"T-200 			/ T
	"R-200 			/ R
	"E-200 			/ E
	" -200 			/ Space
	"I-200 			/ I
	"D-200 			/ D
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"I-200 			/ I
	"F-200 			/ F
	"I-200 			/ I
	"C-200 			/ C
	"A-200 			/ A
	"T-200 			/ T
	"I-200 			/ I
	"O-200 			/ O
	"N-200 			/ N
	0000
	> 			/ END IFDEF FRENCH
	IFDEF GERMAN <
NOANS,
	"K-200 			/ K
	"E-200 			/ E
	"I-200 			/ I
	"N-200 			/ N
	" -200 			/ Space
	"D-200 			/ D
	"A-200 			/ A
	"T-200 			/ T
	"E-200 			/ E
	"I-200 			/ I
	" -200 			/ Space
	"T-200 			/ T
	"R-200 			/ R
	"A-200 			/ A
	"N-200 			/ N
	"S-200 			/ S
	"F-200 			/ F
	"E-200 			/ E
	"R-200 			/ R
CLAMES,
	0
BADPAS,
	"F-200 			/ F
	"A-200 			/ A
	"L-200 			/ L
	"S-200 			/ S
	"C-200 			/ C
	"H-200 			/ H
	"E-200 			/ E
	"S-200 			/ S
	" -200 			/ Space
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"W-200 			/ W
	"O-200 			/ O
	"R-200 			/ R
	"T-200 			/ T
	0000
PASPMT,
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"W-200 			/ W
	"O-200 			/ O
	"R-200 			/ R
	"T-200 			/ T
	0000
ILLUSE,
	"--200 			/ -
	"K-200 			/ K
	"E-200 			/ E
	"I-200 			/ I
	"N-200 			/ N
	" -200 			/ Space
	"Z-200 			/ Z
	"U-200 			/ U
	"G-200 			/ G
	"R-200 			/ R
	"I-200 			/ I
	"F-200 			/ F
	"F-200 			/ F
	"--200 			/ -
	0000
IDPMT,
	"I-200 			/ I
	"H-200 			/ H
	"R-200 			/ R
	"E-200 			/ E
	" -200 			/
	"K-200 			/ K
	"E-200 			/ E
	"N-200 			/ N
	"N-200 			/ N
	"U-200 			/ U
	"N-200 			/ N
	"G-200 			/ G
	0000
	> 			/ END IFDEF GERMAN
	IFDEF DUTCH <
NOANS,
	"O-200 			/ O
	"N-200 			/ N
	"M-200 			/ M
	"O-200 			/ O
	"G-200 			/ G
	"E-200 			/ E
	"L-200 			/ L
	"I-200 			/ I
	"J-200 			/ J
	"K-200 			/ K
	" -200 			/
	"T-200 			/ T
	"E-200 			/ E
	" -200 			/
	"V-200 			/ V
	"E-200 			/ E
	"R-200 			/ R
	"Z-200 			/ Z
	"E-200 			/ E
	"N-200 			/ N
	"D-200 			/ D
	"E-200 			/ E
	"N-200 			/ N
CLAMES,
	0
BADPAS,
	"F-200 			/ F
	"O-200 			/ O
	"U-200 			/ U
	"T-200 			/ T
	"I-200 			/ I
	"E-200 			/ E
	"F-200 			/ F
	" -200 			/
	"S-200 			/ S
	"L-200 			/ L
	"E-200 			/ E
	"U-200 			/ U
	"T-200 			/ T
	"E-200 			/ E
	"L-200 			/ L
	"W-200 			/ W
	"O-200 			/ O
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	0000
PASPMT,
	"H-200 			/ H
	"E-200 			/ E
	"T-200 			/ T
	" -200 			/
	"S-200 			/ S
	"L-200 			/ L
	"E-200 			/ E
	"U-200 			/ U
	"T-200 			/ T
	"E-200 			/ E
	"L-200 			/ L
	"W-200 			/ W
	"O-200 			/ O
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	0000
ILLUSE,
	"--200 			/ -
	"V-200 			/ V
	"E-200 			/ E
	"R-200 			/ R
	"K-200 			/ K
	"E-200 			/ E
	"E-200 			/ E
	"R-200 			/ R
	"D-200 			/ D
	"E-200 			/ E
	" -200 			/
	"G-200 			/ G
	"E-200 			/ E
	"B-200 			/ B
	"R-200 			/ R
	"U-200 			/ U
	"I-200 			/ I
	"K-200 			/ K
	"E-200 			/ E
	"R-200 			/ R
	"--200 			/ -
	0000
IDPMT,
	"I-200 			/ I
	"D-200 			/ D
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
	"I-200 			/ I
	"F-200 			/ F
	"I-200 			/ I
	"C-200 			/ C
	"A-200 			/ A
	"T-200 			/ T
	"I-200 			/ I
	"E-200 			/ E
	" -200 			/
	"B-200 			/ B
	"E-200 			/ E
	"R-200 			/ R
	"I-200 			/ I
	"C-200 			/ C
	"H-200 			/ H
	"T-200 			/ T
	0000
	> 			/ END IFDEF DUTCH
	IFDEF NORWAY <
NOANS,
	"K-200 			/ K
	"A-200 			/ A
	"N-200 			/ N
	" -200 			/
	"I-200 			/ I
	"K-200 			/ K
	"K-200 			/ K
	"E-200 			/ E
	" -200 			/
	"O-200 			/ O
	"V-200 			/ V
	"E-200 			/ E
	"R-200 			/ R
	"F-200 			/ F
	"\-200 			/ \
	"R-200 			/ R
	"E-200 			/ E
	" -200 			/
	"D-200 			/ D
	"O-200 			/ O
	"K-200 			/ K
	"U-200 			/ U
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
CLAMES,
	0000
BADPAS,
	"U-200 			/ U
	"G-200 			/ G
	"Y-200 			/ Y
	"L-200 			/ L
	"D-200 			/ D
	"I-200 			/ I
	"G-200 			/ G
	" -200 			/
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	0000
/
PASPMT,
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"S-200 			/ S
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	"E-200 			/ E
	"T-200 			/ T
	0000
ILLUSE,
	"--200 			/ -
	"--200 			/ -
	"I-200 			/ I
	"K-200 			/ K
	"K-200 			/ K
	"E-200 			/ E
	" -200 			/
	"A-200 			/ A
	"U-200 			/ U
	"T-200 			/ T
	"O-200 			/ O
	"R-200 			/ R
	"I-200 			/ I
	"S-200 			/ S
	"E-200 			/ E
	"R-200 			/ R
	"T-200 			/ T
	" -200 			/
	"B-200 			/ B
	"R-200 			/ R
	"U-200 			/ U
	"K-200 			/ K
	"E-200 			/ E
	"R-200 			/ R
	"--200 			/ -
	"--200 			/ -
	0000
/
IDPMT,
	"d-200 			/ d
	"i-200 			/ i
	"n-200 			/ n
	" -200 			/
	"I-200 			/ I
	"D-200 			/ D
	0000
	> 			/ End IFDEF NORWAY
	IFDEF SWEDSH <
/
NOANS,
	"K-200 			/ K
	"A-200 			/ A
	"N-200 			/ N
	" -200 			/
	"I-200 			/ I
	"N-200 			/ N
	"T-200 			/ T
	"E-200 			/ E
	" -200 			/
	"\-200 			/ \
	"V-200 			/ V
	"E-200 			/ E
	"R-200 			/ R
	"F-200 			/ F
	"\-200 			/ \
	"R-200 			/ R
	"A-200 			/ A
	" -200 			/
	"D-200 			/ D
	"O-200 			/ O
	"K-200 			/ K
	"U-200 			/ U
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
CLAMES,
	0000
BADPAS,
	"U-200 			/ U
	"G-200 			/ G
	"I-200 			/ I
	"L-200 			/ L
	"T-200 			/ T
	"I-200 			/ I
	"G-200 			/ G
	" -200 			/
	"L-200 			/ L
	"\-200 			/ \
	"S-200 			/ S
	"E-200 			/ E
	"N-200 			/ N
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	0000
/
PASPMT,
	"L-200 			/ L
	"\-200 			/ \
	"S-200 			/ S
	"E-200 			/ E
	"N-200 			/ N
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	"E-200 			/ E
	"T-200 			/ T
	0000
ILLUSE,
	"--200 			/ -
	"I-200 			/ I
	"N-200 			/ N
	"T-200 			/ T
	"E-200 			/ E
	" -200 			/
	"A-200 			/ A
	"U-200 			/ U
	"T-200 			/ T
	"O-200 			/ O
	"R-200 			/ R
	"I-200 			/ I
	"S-200 			/ S
	"E-200 			/ E
	"R-200 			/ R
	"A-200 			/ A
	"T-200 			/ T
	" -200 			/
	"A-200 			/ A
	"N-200 			/ N
	"V-200 			/ V
	"[-200 			/ [
	"N-200 			/ N
	"D-200 			/ D
	"A-200 			/ A
	"R-200 			/ R
	"E-200 			/ E
	"--200 			/ -
	0000
/
IDPMT,
	"d-200 			/ d
	"i-200 			/ i
	"n-200 			/ n
	" -200 			/
	"I-200 			/ I
	"D-200 			/ D
	0000
	> 			/ End IFDEF SWEDSH
	IFDEF DANISH <
NOANS,
	"K-200 			/ K
	"A-200 			/ A
	"N-200 			/ N
	" -200 			/
	"I-200 			/ I
	"K-200 			/ K
	"K-200 			/ K
	"E-200 			/ E
	" -200 			/
	"O-200 			/ O
	"V-200 			/ V
	"E-200 			/ E
	"R-200 			/ R
	"F-200 			/ F
	"\-200 			/ \
	"R-200 			/ R
	"E-200 			/ E
	" -200 			/
	"D-200 			/ D
	"O-200 			/ O
	"K-200 			/ K
	"U-200 			/ U
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
CLAMES,
	0000
BADPAS,
	"U-200 			/ U
	"G-200 			/ G
	"Y-200 			/ Y
	"L-200 			/ L
	"D-200 			/ D
	"I-200 			/ I
	"G-200 			/ G
	" -200 			/
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	0000
/
PASPMT,
	"P-200 			/ P
	"A-200 			/ A
	"S-200 			/ S
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	"E-200 			/ E
	"T-200 			/ T
	0000
ILLUSE,
	"--200 			/ -
	"--200 			/ -
	"I-200 			/ I
	"K-200 			/ K
	"K-200 			/ K
	"E-200 			/ E
	" -200 			/
	"A-200 			/ A
	"U-200 			/ U
	"T-200 			/ T
	"O-200 			/ O
	"R-200 			/ R
	"I-200 			/ I
	"S-200 			/ S
	"E-200 			/ E
	"R-200 			/ R
	"E-200 			/ E
	"T-200 			/ T
	" -200 			/
	"B-200 			/ B
	"R-200 			/ R
	"U-200 			/ U
	"G-200 			/ G
	"E-200 			/ E
	"R-200 			/ R
	0000
/
IDPMT,
	"d-200 			/ d
	"i-200 			/ i
	"n-200 			/ n
	" -200 			/
	"I-200 			/ I
	"D-200 			/ D
	0000
	> 			/ End IFDEF DANISH
	IFDEF V30SWE <
/
NOANS,
	"K-200 			/ K
	"A-200 			/ A
	"N-200 			/ N
	" -200 			/
	"I-200 			/ I
	"N-200 			/ N
	"T-200 			/ T
	"E-200 			/ E
	" -200 			/
	"\-200 			/ \
	"V-200 			/ V
	"E-200 			/ E
	"R-200 			/ R
	"F-200 			/ F
	"\-200 			/ \
	"R-200 			/ R
	"A-200 			/ A
	" -200 			/
	"D-200 			/ D
	"O-200 			/ O
	"K-200 			/ K
	"U-200 			/ U
	"M-200 			/ M
	"E-200 			/ E
	"N-200 			/ N
	"T-200 			/ T
CLAMES,
	0000
BADPAS,
	"U-200 			/ U
	"G-200 			/ G
	"I-200 			/ I
	"L-200 			/ L
	"T-200 			/ T
	"I-200 			/ I
	"G-200 			/ G
	" -200 			/
	"L-200 			/ L
	"\-200 			/ \
	"S-200 			/ S
	"E-200 			/ E
	"N-200 			/ N
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	0000
/
PASPMT,
	"L-200 			/ L
	"\-200 			/ \
	"S-200 			/ S
	"E-200 			/ E
	"N-200 			/ N
	"O-200 			/ O
	"R-200 			/ R
	"D-200 			/ D
	"E-200 			/ E
	"T-200 			/ T
	0000
ILLUSE,
	"--200 			/ -
	"I-200 			/ I
	"N-200 			/ N
	"T-200 			/ T
	"E-200 			/ E
	" -200 			/
	"A-200 			/ A
	"U-200 			/ U
	"T-200 			/ T
	"O-200 			/ O
	"R-200 			/ R
	"I-200 			/ I
	"S-200 			/ S
	"E-200 			/ E
	"R-200 			/ R
	"A-200 			/ A
	"T-200 			/ T
	" -200 			/
	"A-200 			/ A
	"N-200 			/ N
	"V-200 			/ V
	"[-200 			/ [
	"N-200 			/ N
	"D-200 			/ D
	"A-200 			/ A
	"R-200 			/ R
	"E-200 			/ E
	"--200 			/ -
	0000
/
IDPMT,
	"d-200 			/ d
	"i-200 			/ i
	"n-200 			/ n
	" -200 			/
	"I-200 			/ I
	"D-200 			/ D
	0000
	> 			/ End IFDEF V30SWE

/
CRLF,
	15
CUPOS4,
	12 			/ ++++
	0
AXDMS,
/
/	The following foreign language code contains the closing angle bracket
/	character. This character causes the conditional code compilation to get
/	quite confused. Therefore it has been necessary to hide these characters
/	from PAL using their SIXBIT codes rather than the TEXT characters. This
/	makes quite a mess. The english for the following mess is:
/	TEXT "^AFROM>^A^ATIME>^A^AN>^A ^A#>!D.^D^Am>^A^A>^A"
/
	IFDEF ENGLSH <
	TEXT "^AFROM"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^ATIM"
	*.-1
	0576 			/ "E" and closing angle
	TEXT "^A^A"
	*.-1
	1676 			/ "N" and closing angle
	TEXT "^A ^A#"
	*.-1
	7641 			/ closing angle and "!"
	TEXT "D.^D^A"
	*.-1
	1576 			/ "M" and closing angle
	TEXT "^A^A"
	*.-1
	7636 			/ closing angle and uparrow
	0100 			/ "A" and null to terminate string
	> 			/ End IFNDEF ENGLSH
/
	IFDEF ITALIAN <
	TEXT "^ADA"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^ADATA-OR"
	*.-1
	0176 			/ "A" and closing angle
	TEXT "^A^A"
	*.-1
	1676 			/ "N" and closing angle
	TEXT "^A ^A="
	*.-1
	7641 			/ closing angle and "!"
	TEXT "D.^D^A"
	*.-1
	1576 			/ "M" and closing angle
	TEXT "^A^A"
	*.-1
	7636 			/ closing angle and uparrow
	0100 			/ "A" and null to terminate string
	> 			/ End IFDEF ITALIAN
/
	IFDEF CANADA <
	TEXT "^ADE"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^ADAT"						/M011
	*.-1
	0576 			/ "E" and closing angle 	/M011
	TEXT "^A^A"						/M011
	*.-1
	1676 			/ "N" and closing angle 	/M011
	TEXT "^A ^A#"						/M011
	*.-1
	7641 			/ closing bracket and "!"	/M011
	TEXT "D.^D^A"						/M011
	*.-1
	1576 			/ "M" and closing angle 	/M011
	TEXT "^A^A"						/M011
	*.-1
	7636 			/ closing angle and uparrow	/M011
	TEXT "A"						/M011
	>
/
	IFDEF FRENCH <
	TEXT "^ADE"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^ATEMPS"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^AN"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A ^A"
	*.-1
	4376 			/ "#" and closing bracket
	TEXT "!D.^D^AM"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^"
	*.-1
	0176 			/ "A" and closing angle
	TEXT "^A"
	>
/
	IFDEF DUTCH <
	TEXT "^AVA"
	*.-1
	1676 			/ "N" and closing angle
	TEXT "^A^ATIJD"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^AN"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A ^A"
	*.-1
	4376 			/ "#" and closing angle
	TEXT "!D.^D^AM"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^"
	*.-1
	0176 			/ "A" and closing angle
	TEXT "^A"
	>
/
	IFDEF GERMAN <
	TEXT "^AVO"
	*.-1
	1676 			/ "N" and closing angle
	TEXT "^A^AZEIT"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^AN"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A ^A"
	*.-1
	4376 			/ "#" and closing angle
	TEXT "!D.^D^AM"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^"
	*.-1
	0176 			/ "A" and closing angle
	TEXT "^A"
	>
	IFDEF NORWAY <
	TEXT "^AFR"
	*.-1
	0176 			/ "A"-closing bracket
	TEXT "^A^ATI"
	*.-1
	0476 			/ "D"-Closing bracket
	>
	IFDEF SWEDSH <
	TEXT "^AFR]N"
	*.-1
	7636 			/ Closing bracket-uparrow
	TEXT "A^ATID"
	*.-1
	4076 			/ Space-Closing bracket
	>
	IFDEF DANISH <
	TEXT "^AFR"
	*.-1
	0176 			/ "A"-closing bracket
	TEXT "^A^ATI"
	*.-1
	0476 			/ "D"-Closing bracket
	>
	IFDEF V30SWE <
	TEXT "^AFR\EN"
	*.-1
	7636 			/ closing angle and uparrow
	TEXT "A^ATIM"
	*.-1
	0576 			/ "E" and closing angle
	TEXT "^A^A"
	*.-1
	1676 			/ "N" and closing angle
	TEXT "^A ^A#"
	*.-1
	7641 			/ closing angle and "!"
	TEXT "D.^D^A"
	*.-1
	1576 			/ "M" and closing angle
	TEXT "^A^A"
	*.-1
	7636 			/ closing angle and uparrow
	0100 			/ "A" and null to terminate string
	> 			/ End IFDEF V30SWE



/
/	THE STRINGS THAT ARE USED FOR DELIMITERS
/
DEAX1,
	"<-200 			/ ++++
	156 			/ ++++
	">-200 			/ ++++
	0
DEAX2,
	"<-200 			/ ++++
	"#-200 			/ ++++
	">-200 			/ ++++
	0
DEAX3,
	"<-200 			/ ++++
	">-200 			/ ++++
	0
/
DECKDT,				/ USED TO COMPAY THE CURRENT CHARACTER IN DECKDS TO <
DEAX4,
	"<-200 			/ ++++
	0
/
	IFDEF GERMAN < PAGE 	/ The german TEXT is short enough to cause the code on
				/ the next page to have severe problems.
	>
	IFDEF ENGLSH	<PAGE>	/ DITTO FOR ENGLISH.
	IFDEF V30SWE	<PAGE>	/ DITTO FOR V30SWE?
/


/
/	PART OF REDSIX ROUTINE TO AHNDLE THE ESCAPE SEQUENCES
/
REDESC,	AC7776 			/ PART OF REDSIX ROUTINE
	TAD	T1 		/ SEE IF LEGAL ESCAPE SEQUENCE
	SPA 			/ ++++
	JMP	RDSIX4 		/ ERROR
	TAD	(2-31)
	SMA SZA 		/ ++++
	JMP	RDSIX4 		/ ERROR
	TAD	(REDTAB+31-2) 	/ COMPUTE TABLE ENTRY
	DCA	T1
	TAD I	T1 		/ PICK UP ENTRY
/
	DCA	T1 		/ STORE THE ORIGINAL CHARACTER OUT OF THE TABLE
	TAD	T1
/
	SMA 			/ ++++
	JMP	REDES2 		/ IF NEGATIVE IT IS A ESCAPE SEQUENCE
				/ IF POSITIVE IT IS EITHER 137 THAT IS SPECIAL
				/ OR A CHARACTER THAT IS CASE DEPENDENT
/
	CLA
	TAD	T1 		/ ESCAPE
	AND	P77 		/ GET THE SECOND BYTE THE CAHRACTER REPRESENTING
	DCA	T2 		/ THE TYPE
/
	TAD	T1 		/ NOW GET THE ESCAPE
	BSW
	AND	P77
	TAD	(100)
REDES3,
	DCA	T3
/
	TAD	T3 		/ IF THE ESCAPE IS A 174 OR VERTICAL BAR THEN
				/ ADD A 100 TO THE NEXT CHARACTER
	TAD	(-173)
	SZA CLA 		/ ++++
	AC0100
	TAD	T2
	AND	P177
	DCA	REDNXT 		/ SAVE IT FOR THE NEXT TIME THE ROUTINE IS CALLED
/
	TAD	T3
	JMP	RDSIX2 		/ SEND THE ESCAPE
REDES2,
	TAD	(-137) 		/ IF SPECIAL THEN DOESNT MATTER IF UPPER OR LOWER
	SNA CLA 		/ ++++
	JMP	REDES4 		/ SEND A 137 FOR UNDERSCORE
	TAD	REDSHF 		/ ELSE CASE DEPENDENT
	SNA 			/ ++++
	JMP	REDES4 		/ NO CASE CHANGE THE CHARACTER IS OK
	TAD	T1
	DCA	T2 		/ MAKE LOWER
/
	TAD	(174) 		/ SEND AS A 174 ESCAPE
	JMP	REDES3
REDES4,
	TAD	T1 		/ GET THE OROGINAL
	JMP	RDSIX2
REDNXT,
	0


/
/	PART OF THE REDSIX ROUTINE
/
WRSIXB,	DCA	WRICHR 		/ CLEAR HOLD CHAR
	MQA
	TAD	(-140) 		/ MAKE LOWER CASE
	SMA 			/ ++++
	TAD	(-40)
	TAD	(140-37)
	TAD	(-74) 		/ SEE IF SPECIAL CHAR
	SMA 			/ ++++
	JMP	WRSIXC 		/ YES, SEND ESCAPE SEQUENCE INSTEAD
	TAD	(74)
	JMP	WRSIXX
/


	PAGE


/
/	LOCDOC - WILL LOCK THE DOCUMENTS THAT WILL BE USED FOR AX.  THIS IS
/	THE LOG AND DEFAULT LIST DOCUMENTS
/	Why this routine worked in the English system is anyone's guess. It was
/	just luck. The XXXXX symbol causes WPCRE to be loaded right after the last
/	instruction in this routine. This caused all the literals on this page
/	to be overwritten. It seems that the key literal was not changed when this
/	occurred--in the English system, that is, in the FORINized systems it is
/	and AX didn't work. To correct this all literals on this page have been
/	labeled so that they won't get overwritten. Take care if adding code to
/	to this page that you label your literals too.
/
/D032;LOCDOC,
/D032;	XX
/D032;	CLA
/D032;	CDFMYF
/D015;	TAD I	PLOGNO 		/ Get the log document number via pointer
/D015;	SNA CLA 		/ ++++
/D015;	JMP	LOCDO2
/D014;/
/D014;	CIFPRT
/D014;	JMS I	PLCKFI 		/ Jump to subroutine via pointer
/D014;	LOGNO
/D014;	ALTER
/D014;	USERNO
/D014;/
/D014;	JMP	LOCER1
/D014;/
/D015;	CDFMNU			/ CHANGE DATA FIELD TO MENU.		/A014
/D015;	DCA I	PFLOCK		/ SET MENU LOCK WORD.			/A014
/D015;	CDFMYF			/ BACK TO US.				/A014
/D032;LOCDO2,	JMP I	LOCDOC
/D014;LOCER2,
/D014;	AC0001		/ DISPLAY THAT THE DEFAULT LIST DOCUMENT IS LOCKED
/D014;LOCER1,
/D014;	TAD	VFOUR 		/ LOG
/D014;/
/D014;	CDFMNU
/D014;	DCA I	PMNUST 		/ store via pointer to menu stuff
/D014;	CDFMYF
/D014;/
/D014;	CIFMNU
/D014;	JMS I	MNUCAL
/D014;	DLMA13
/D014;/
/D014;	JMP I	LOCDOC
/D014;/
/D015;PLOGNO,	LOGNO 			/ Pointer to log document number
/D014;VFOUR,	4 			/ The value four
/D014;
/D014;/This line was causing an undefined symbol error for the 78. Since it	/A010
/D014;/is only accessed when WS102 is defined I conditionalized it.		/A010
/D014;IFDEF WS102 <								/A010
/D014;PLCKFI,	LCKFIL 			/ Pointer to file locking routine
/D014;>									/A010
/D014;PMNUST,	MUBUF+MNTMP2 		/ Pointer to menu stuff
/D014;/
/D015;PFLOCK,	MUBUF+MNLOCK		/ POINTER TO MENU LOCK WORD.	/A014


/
/	CLEAR OUT THE SETTINGS WHEN AX IS LOADED OUT.  THE ZBLOCK
/	MAKES SURE WHAT WE LOAD OUT IS ZEROS.  THIS ALSO LIMITS THIS PROGRAM TO
/	THE VALUE OF DFCOMA
/
	XXXXXX=. 		/ CURRENT POSITION IS = XXXXXX
/
	*DFCOMA
/
	ZBLOCK 1000
/
	*XXXXXX 		/ RESET THE CURRENT LOCATION COUNTER




