File: TDFR50.LS of Disk: V50/Source/Source-Listing-PAL-1
(Source file text) 


/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 1

		/TD8E FORMATTER V50
		/
		/
		/
		/
		/
		/
		//
		/
		/
		/
		/
		/COPYRIGHT (C) 1971, 1975
		/DIGITAL EQUIPMENT CORPORATION, WVDMARK
		/
		/
		/
		/THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
		/SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU-
		/SION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANT OTHER
		/COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE
		/TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
		/AGREES TO THESE LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE
		/SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
		/
		/
		/THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
		/NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
		/EQUIPMRNT COROPATION.
		/
		/DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
		/SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
		/
		/
		/
		/
		/
		/

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 2




		/TD8E DECTAPE FORMATTER COPYRIGHT 1971
		/DIGITAL EQUIPMENT CORP.
		/MAYNARD , MASS





	0010		X1=10
	0011		X2=11

		/SYMBOL TABLE AUGMENTATION

	6771		SDSS=6771
	6772		SDST=6772
	6773		SDSQ=6773
	6774		SDLC=6774
	6775		SDLD=6775
	6776		SDRC=6776
	6777		SDRD=6777


	0000		*0
000000  0000		0
000001  5001		JMP	1	/HLT PROGRAM GOT INTERRUPTED SOMEHOW
000002  0002		2		
000003  0003		3
000004  0000		0
000005  0000		0

		/WORKING LOCATIONS

	0020		*20

000020  0000	W1,	0000
000021  0000	W2,	0000
000022  0000	W3,	0000
000023  0000	W4,	0000
000024  0000	W5,	0000
000025  0000	W6,	0000
000026  0000	BLOCKS,	0000
000027  0000	DTA,	0000
000030  0000	PHASE,	0000
000031  0000	TOTAL,	0000
000032  0000	VAR1,	0000
000033  0000	VAR2,	0000
		/CONSTANTS

000034  0017	C0017,	0017
000035  0070	C0070,	0070
000036  0077	C0077,	0077
000037  0007	C0007,	0007

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 2-1

000040  0700	C0700,	0700
000041  0203	C203,	0203
000042  0201	C201,	0201
000043  0260	C260,	0260
000044  0261	C261,	0261
000045  0270	C270,	0270
000046  0271	C271,	0271
000047  0277	C277,	0277
000050  1620	C1620,	1620
000051  7000	C7000,	7000
000052  7700	C7700,	7700
000053  7714	C7714,	7714
000054  7761	C7761,	7761
000055  0215	CRCOD,	0215
000056  0313	LETK,	0313
000057  0212	LFCOD,	0212
000060  7776	M2,	-2
000061  7775	M3,	-3
000062  7772	M6,	-6
000063  7771	M7,	-7
000064  7764	M14,	-14
000065  7634	M144,	-144
000066  0240	SPCOD,	0240

000067  3377	BADD,	BUFFER-1
000070  3400	BFR,	BUFFER
000071  0325	COMPAR,	COMPRE
000072  1066	IT,	INIT1
000073  0400	QU1,	Q1
000074  0410	QU2,	Q2
000075  0422	QU3,	Q3
000076  0434	QU4,	Q4
000077  0454	MESS,	MES
000100  1011	STX,	START
000101  0523	TYOCT,	TYCT
000102  0202	TYPE,	MESAGE
000103  0260	TYPIN,	TYPN
000104  0600	WAIT,	STALL
000105  0000	WC,	0
000106  0000	MTR,	0
000107  3120	SLRDRC,	SRDRC
000110  0000	DATRD,	0
000111  7723	M55,	-55
000112  7753	M25,	-25
000113  7752	M26,	-26
000114  7746	M32,	-32
000115  7770	M10,	-10
000116  7710	M70,	-70
000117  7705	M73,	-73
000120  7727	M51,	-51
000121  7733	M45,	-45
000122  7756	M22,	-22
000123  7635	M143,	-143
000124  7726	M52,	-52
000125  7747	M31,	-31

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 2-2

000126  7472	M306,	-306
000127  0000	CNT,	0
000130  7774	M4,	-4
000131  7471	M307,	-307
000132  3000	SSDSQT,	SDSQT
000133  3027	SA3LNS,	A3LNS
000134  3056	SCEXPC,	CEXPC
000135  0077	MSK77,	0077
000136  3133	NUD,	NUDTA
000137  0000	BLK,	0
000140  0000	REVBLK,	0
000141  3070	BCXOR,	SBCXOR
000142  0000	CHKSUM,	0
000143  0000	SBWORD,	0



		/TYPE THE CHARACTER IN THE AC ON THE KEYBOARD PRINTER

000144  0000	RSEND,	0000
000145  6046		TLS		/LOAD AND PRINT, CLEAR FLAG
000146  6041		TSF		/WAIT FOR CONFIRMATION
000147  5146		JMP   .-1	/ENDLESSLY
000150  6042		TCF		/CLEAR THE FLAG ANYWAY
000151  5544		JMP I RSEND


		/PRINT A "?" ON THE KEYBOARD TYPER

000152  0153	QU,	.+1
000153  6002		IOF
000154  7300		CLA   CLL	/C(AC)+C(L)=0
000155  1047		TAD   C277	/"?"
000156  4144		JMS   RSEND	/TYPE THE CHARACTER
000157  5560		JMP I .+1	/RESTART
000160  1072		INIT

		/DECTAPE CONTROL WORDS

000161  1400	DT1400,	1400
000162  0400	DT0400,	0400
000163  2000	DT2000,	2000
000164  3000	DT3000,	3000
000165  1000	DT1000,	1000

000166  3155	BINCO,	BINCON
000167  0724	SELTIM,	ZTIM
000170  0657	MARKER,	ZMKTK
000171  0613	BLKERR,	ZBLK
000172  0637	DATERR,	ZDATA
000173  0702	CHKERR,	ZPAR
000174  1400	DOMARK,	STMK
000175  0000	DBUFPT,	0	/POINTER TO CURRENT POSITION IN DTA LIST



/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 2-3


	0200	*200	/PAGE 1
		/TYPE CANNED MESSAGES.....
		/THANKS TO DIGITAL 8-18-U
000200  5601		JMP  I  .+1
000201  0515		PATCH

000202  0000	MESAGE,	0
000203  6002		IOF
000204  7240		CLA   CMA	/SET C(AC)=-1
000205  1202		TAD   MESAGE	/ADD LOCATION
000206  3010		DCA   10	/AUTO INDEX REGISTER
000207  1410		TAD I 10	/FETCH FIRST WORD
000210  3221		DCA   MSRGHT	/SAVE IT
000211  1221		TAD   MSRGHT
000212  7012		RTR
000213  7012		RTR		/ROTATE 6 BITS TO THE RIGHT
000214  7012		RTR
000215  4222		JMS   TYPECH	/TYPE IT
000216  1221		TAD   MSRGHT	/GET DATA AGAIN
000217  4222		JMS   TYPECH	/TYPE RIGHT HALF
000220  5207		JMP   MESAGE+5	/CONTINUE
000221  0000	MSRGHT,	0		/TEMPORARY STORAGE
000222  0000	TYPECH,	0		/TYPE CHARACTER IN C(AC)6-11
000223  0036		AND   C0077
000224  7450		SNA		/IS IT END OF MESSAGE?
000225  5410		JMP I 10	/YES: EXIT
000226  1253		TAD   M40	/SUBTRACT 40
000227  7500		SMA		/<40?
000230  5233		JMP   .+3	/NO
000231  1254		TAD   C340	/YES: ADD 300
000232  5246		JMP   MTP	/TO CODES <40
000233  1061		TAD   M3	/SUBTRACT 3
000234  7440		SZA		/IS IT ZERO?
000235  5240		JMP   .+3	/NO
000236  1255		TAD   C212	/YES: CODE 43 IS
000237  5246		JMP   MTP	/LINE-FEED (212)
000240  1060		TAD   M2	/SUBTRACT 2
000241  7440		SZA		/IS IT ZERO?
000242  5245		JMP   .+3	/NO
000243  1256		TAD   C215	/YES: CODE 45 IS
000244  5246		JMP   MTP	/CARRIAGE RETURN (215)
000245  1257		TAD   C245	/ADD 200 TO OTHERS >40
000246  6046	MTP,	TLS		/TRANSMIT CHARACTER
000247  6041		TSF		/WAIT FOR THE FLAG
000250  5247		JMP   .-1	/NOT SET YET
000251  7200		CLA 		/SET: CLEAR C(AC)
000252  5622		JMP I TYPECH	/RETURN

		/CONSTANTS

000253  7740	M40,	-40
000254  0340	C340,	340
000255  0212	C212,	212
000256  0215	C215,	215

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 2-4

000257  0245	C245,	245
		/ROUTINE WAITS UNTILL A COMPLETE MESSAGE HAS BEEN ENTERED
		/SIGNIFIED BY A CR.

000260  0000	TYPN,	0
000261  6002		IOF
000262  6032		KCC		/CLEAR AC, KEYBOARD FLAG
000263  1067		TAD   BADD	/GET BUFFER ADDRESS
000264  3020		DCA   W1	/STORE FOR THE CHARACTER STRING

		/READ AND RESPOND WITH THE CHARACTER

000265  2020	NTYRTN,	ISZ   W1	/NORMAL RETURN. INCREMENT BUFFER
000266  6031		KSF		/WAIT FOR KEYBOARD
000267  5266		JMP   .-1	/FLAG TO RAISE
000270  6036		KRB		/GOT FLAG, RESET IT, GET CHARACTER
000271  4144		JMS   RSEND	/SEND CHARACTER BACK
000272  0377		AND	(177	/TAKE CARE OF PARITY
000273  1376		TAD	(200
000274  3420		DCA I W1	/LOAD CHARACTER INTO BUFFER AREA
000275  1420		TAD I	W1	/CHECK FOR CTRL C
000276  7041		CIA
000277  1041		TAD	C203
000300  7640		SZA	CLA
000301  5306		JMP	CHKSP	/NO- CHECK FOR SPACE
000302  6007		6007		/CAF- CLEAR ALL FLAGS
000303  7000		NOP		/JUST IN CASE
000304  7200		CLA
000305  5775' 		JMP	7605

		/IF CHARACTER IS A SPACE, IGNORE IT

000306  1420	CHKSP,	TAD I W1	/CHARACTER INTO THE AC
000307  7041		CIA		/SUBTRACT FROM SPACE CODE (240)
000310  1066		TAD   SPCOD	/COMPLETE COMPARISON
000311  7650		SNA   CLA	/WAS IT A SPACE?
000312  5266		JMP   NTYRTN+1	/YES: DO NOT INCREMENT BUFFER

		/IF CHARACTER IS A CR, EXIT FROM ROUTINE

000313  1420		TAD I W1	/CHARACTER TO AC
000314  7041		CIA		/SET AC TO SUBTRACT CR (215)
000315  1055		TAD   CRCOD	/COMPLETE COMPARISON
000316  7640		SZA   CLA	/WAS IT CR?
000317  5265		JMP   NTYRTN	/NO: INCREMENT BUFFER + WAIT

		/CARRIAGE RETURN FOUND, EXIT FROM ROUTINE

000320  1057		TAD   LFCOD	/GIVE KEYBOARD LINE FEED
000321  4144		JMS   RSEND	/EXECUTE LINE FEED
000322  7300		CLA   CLL	/EXIT WITH C(ACC) + AND C(L)=0
000323  6002		IOF		
000324  5660		JMP I TYPN	/RETURN TO CALL

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 3



		/COMPARE A STRING OF CHARACTERS IN "BUFFER"
		/TO A CHARACTER STRING AFTER A JMS IN ASCII

000325  0000	COMPRE,	0
000326  7240		CLA   CMA	/C(AC)=7777
000327  1325		TAD   COMPRE	/SUBTRACT 1 FOR INDEX REG 1
000330  3010		DCA   10	/AUTO INDEX 1 SET TO CHA STRING
000331  1067		TAD   BADD	/AUTO INDEX 2 SET TO BUFFER-1
000332  3011		DCA   11	/LOAD X2

		/COMPARE CHARACTERS TILL ONE DOESN'T COMPARE OR TILL
		/A 0 IS FOUND IN X1. IF OK, RETURN TO TWO PLUS THE
		/ZERO, IF BAD ONE PLUS

000333  1410		TAD I X1	/CHARACTER FROM PROGRAM
000334  7041		CIA		/TO SUBTRACT FROM
000335  1411		TAD I X2	/CHARACTER IN BUFFER
000336  7640		SZA   CLA	/COMPARE?
000337  5345		JMP   CERR	/NO:RESYNC FOR NON COMPARE EXIT
000340  1410		TAD I X1	/YES: CHECK FOR GOOD EXIT
000341  7440		SZA		/IF 0, EXIT GOOD
000342  5334		JMP   .-6	/NO: TEST NEXT CHAACTER
000343  2010		ISZ   X1	/+1 TO X1(TOTAL 2 FROM THE 0)
000344  5410		JMP I X1	/+1 TO X1, EXIT

		/ERROR FOUND. RESYNC AND EXIT NO COMPARE

000345  1410	CERR,	TAD I X1	/CHARACTER FROM PROGRAM
000346  7640		SZA   CLA	/IS THIS EXIT KEY? (0000)
000347  5345		JMP   .-2	/NO: GET NEXT
000350  5410		JMP I X1	/YES: EXIT, NOT COMPARE

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 4



000375  7605
000376  0200
000377  0177
	0400	*400
		/VARIOUS ERROR MESSAGES
		/"NOT DECIMAL"

000400  4502	Q1,	JMS I TYPE
000401  1617		1617  /NO
000402  2440		2440  /T
000403  0405		0405  /DE
000404  0311		0311  /CI
000405  1501		1501  /MA
000406  1400		1400  /L
000407  5247		JMP   QUX

		/"TO MANY WORDS"

000410  4502	Q2,	JMS I TYPE
000411  2417		2417  /TO
000412  1740		1740	/O 
000413  1501		1501	/MA
000414  1631		1631	/NY
000415  4027		4027	/ W
000416  1722		1722	/OR
000417  0423		0423	/DS
000420  0000		0000	/00
000421  5247		JMP   QUX

		/"TO MANY BLOCKS"

000422  4502	Q3,	JMS I TYPE
000423  2417		2417  /TO
000424  1740		1740	/O 
000425  1501		1501	/MA
000426  1631		1631	/NY
000427  4002		4002	/ B
000430  1417		1417	/LO
000431  0313		0313	/CK
000432  2300		2300	/S0
000433  5247		JMP   QUX

		/"NOT DIVISIBLE BY 3"
000434  4502	Q4,	JMS I TYPE
000435  1617		1617  /NO
000436  2440		2440  /T
000437  0411		0411  /DI
000440  2611		2611  /VI
000441  2311		2311  /SI
000442  0214		0214  /BL
000443  0540		0540  /E
000444  0231		0231  /BY
000445  4063		4063  / 3

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 4-1

000446  0000		0000  /00
000447  4502	QUX,	JMS I TYPE
000450  4345		4345  /CR+LF
000451  0000		0000  /END
000452  5653		JMP I .+1
000453  1072		INIT
		/THE CODING BELOW CREATES THE BLOCK NUMBER
		/CONVERSION PRIOR TO THE TAPE WRITE.

000454  0000	MES,	0
000455  3023		DCA	W4	/SAVE WORD
000456  7100		CLL
000457  1023		TAD	W4
000460  7052		CMA	RTR
000461  7012		RTR
000462  0051		AND	C7000
000463  3306		DCA	V1
000464  1023		TAD	W4
000465  7046		CMA	RTL
000466  7004		RAL
000467  0040		AND	C0700
000470  3307		DCA	V2
000471  1023		TAD	W4
000472  7052		CMA	RTR
000473  7010		RAR
000474  0035		AND	C0070
000475  3313		DCA	V3
000476  1023		TAD	W4
000477  7046		CMA	RTL
000500  7006		RTL
000501  0037		AND	C0007
000502  1306		TAD	V1
000503  1307		TAD	V2
000504  1313		TAD	V3
000505  5654		JMP  I  MES

000506  0000	V1,	0000
000507  0000	V2,	0000
000510  7777		7777
000511  7700		7700
000512  0000		0000
000513  0000	V3,	0000
000514  0000		0000

000515  7200	PATCH,	CLA
000516  1322		TAD	.+4
000517  3001		DCA	1
000520  5721		JMP  I  .+1
000521  1000		STAR0
000522  7402		HLT
		/TYPE ONE FOUR CHARACTER OCTAL WORD GIVEN TO THE 
		/ROUTINE VIA C(ACC). C(ACC)=0 ON EXIT

000523  0000	TYCT,	0
000524  3363		DCA   TW1	/STORE WORD GIVEN

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 4-2

000525  1363		TAD   TW1	/TO C(ACC) AGAIN
000526  7012		RTR
000527  7012		RTR		/6 BITS RIGHT
000530  7012		RTR
000531  3360		DCA   TYCT1+2	/SAVE ROTATED VALUE, 1ST TWO
000532  1360		TAD   TYCT1+2	/TO C(ACC) AGAIN
000533  0037		AND   C0007	/ISOLATE SECOND CHARACTER
000534  1364		TAD   C6060	/CONVERT TO ASCII
000535  3357		DCA   TYCT1+1	/STORE AS FIRST PARTIAL 2
000536  1360		TAD   TYCT1+2	/ROTATED VALUE STORED ABOVE
000537  7006		RTL
000540  7004		RAL		/3 BITS LEFT
000541  0040		AND   C0700	/ISOLATE FIRST CHARACTER
000542  1357		TAD   TYCT1+1	/CONVERT 1ST TO ASCII
000543  3357		DCA   TYCT1+1	/1ST AND 2ND CHARACTERS READY
000544  1363		TAD   TW1	/ORIGIONAL WORD
000545  0037		AND   C0007	/ISOLATE 4TH CHARACTER
000546  1364		TAD   C6060	/CONVERT 4 TH TO ASCII
000547  3360		DCA   TYCT1+2	/STORE 4TH FOR A MOMENT
000550  1363		TAD   TW1	/ORIGIONAL WORD
000551  7006		RTL
000552  7004		RAL		/POSITION IT 3RD CHARACTER
000553  0040		AND   C0700	/ISOLATE 3RD CHARACTER
000554  1360		TAD   TYCT1+2	/CONVERT TO ASCII
000555  3360		DCA   TYCT1+2	/CONVERSION COMPLETE
000556  4502	TYCT1,	JMS I TYPE	/TYPE THE FOUR CHARACTERS
000557  0000		0		/FIRST 2
000560  0000		0		/SECOND 2
000561  0000		0		/KILL KEY
000562  5723		JMP I TYCT	/EXIT FROM ROUTINE

		/SOME CONSTANTS FOR THE ROUTINE

000563  0000	TW1,	0000
000564  6060	C6060,	6060

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 5



	0600	*600

000600  0000	STALL,	0
000601  7200		CLA
000602  1412		TAD I 12	/WORD TO BE WRITTEN
000603  6773		SDSQ		/WAIT FOR QUADLINE FLAG
000604  5203		JMP .-1
000605  6775		SDLD		/LOAD DATA REGISTERS
000606  6772		SDST		/CHECK FOR TIMING ERROR
000607  7410		SKP
000610  4567		JMS  I  SELTIM		/TIMING ERROR
000611  7200		CLA
000612  5600		JMP I STALL	/GO GET NEXT WORD



		/WAIT TILL WORD COUNT REGISTER GOES TO ZERO

		/BLOCK NUMBER ERROR
000613  0000	ZBLK,	0
000614  7200		CLA
000615  1027		TAD	DTA
000616  6774		SDLC		/STOP MOVEMENT OF TAPE
000617  4502		JMS  I  TYPE
000620  2003		2003		/PC
000621  4000		4000		/END
000622  7240		CLA	CMA
000623  1213		TAD	ZBLK
000624  4501		JMS  I  TYOCT
000625  4502		JMS  I  TYPE
000626  4040		4040		/DOUBLE SPACE
000627  0214		0214		/BL
000630  1703		1703		/OC
000631  1340		1340		/K
000632  1625		1625		/NU
000633  1502		1502		/MB
000634  0522		0522		/ER
000635  4000		4000		/END
000636  5344		JMP	ZCOM

			/DATA ERRORS
000637  0000	ZDATA,	0
000640  7200		CLA
000641  1027		TAD	DTA
000642  6774		SDLC		/STOP THE TAPE
000643  4502		JMS  I  TYPE
000644  2003		2003
000645  4000		4000
000646  7240		CLA	CMA
000647  1237		TAD	ZDATA
000650  4501		JMS  I  TYOCT
000651  4502		JMS  I  TYPE
000652  4040		4040

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 5-1

000653  0401		0401		/DA
000654  2401		2401		/TA
000655  4000		4000		/END
000656  5344		JMP	ZCOM

		/MARK TRACK ERROR

000657  0000	ZMKTK,	0
000660  7200		CLA
000661  1027		TAD	DTA
000662  6774		SDLC		/STOP THE TAPE
000663  4502		JMS  I  TYPE
000664  2003		2003		/PC
000665  4000		4000		/END
000666  7240		CLA	CMA
000667  1257		TAD	ZMKTK
000670  4501		JMS  I  TYOCT
000671  4502		JMS I TYPE
000672  4040		4040
000673  1501		1501   /MA
000674  2213		2213   /RK
000675  4024		4024   / T
000676  2201		2201   /RA
000677  0313		0313   /CK
000700  4000		4000   / 0
000701  5344		JMP   ZCOM
		/PARITY ERROR

000702  0000	ZPAR,	0
000703  7200		CLA
000704  1027		TAD	DTA
000705  6774		SDLC		/STOP THE TAPE
000706  4502		JMS  I  TYPE
000707  2003		2003		/PC
000710  4000		4000		/END
000711  7240		CLA	CMA
000712  1302		TAD	ZPAR
000713  4501		JMS  I  TYOCT
000714  4502		JMS I TYPE
000715  4040		4040
000716  0310		0310		/CH
000717  0503		0503		/EC
000720  1323		1323		/KS
000721  2515		2515		/UM
000722  4000		4000		/0
000723  5344		JMP   ZCOM


		/TIMING ERROR

000724  0000	ZTIM,	0
000725  7200		CLA
000726  1027		TAD	DTA
000727  6774		SDLC		/STOP THE TAPE
000730  4502		JMS  I  TYPE

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 5-2

000731  2003		2003
000732  4000		4000
000733  7240		CLA	CMA
000734  1324		TAD	ZTIM
000735  4501		JMS  I  TYOCT
000736  4502		JMS  I  TYPE
000737  4040		4040
000740  2411		2411   /TI
000741  1511		1511   /MI
000742  1607		1607   /NG
000743  4000		4000   / 0

		/TYPE "ERROR PHASE X"

000744  1030	ZCOM,	TAD   PHASE	/WHAT PHASE OF OPERATION
000745  1363		TAD   PFORM	/WAS THE MACHINE IN
000746  3356		DCA   TFORM	/WHEN ERROR OCCURED
000747  4502		JMS I TYPE
000750  0522		0522   /ER
000751  2217		2217   /RO
000752  2240		2240   /R 
000753  2010		2010   /PH
000754  0123		0123   /AS
000755  0540		0540   /E
000756  4060	TFORM,	4060   / X
000757  4543		4543   /CR+LF
000760  0000		0000   /END
000761  5762		JMP  I  .+1
000762  2726		RETRY
000763  4060	PFORM,	4060



/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 6



		/HERE STARTS THIS PROGRAM. IT WILL ASK THE
		/OPERATOR FOR  DRIVE NUMBERS, THEN ASK HIM FOR
		/A DIRECTION ON WHAT TO DO WITH THE DRIVES.

		/THE SEQUENCE FOR MARKING A TAPE WOULD APPEAR AS:


		/UNIT? (0 OR 1 OR 0 1)
		/FORMAT? (MARK 1215)
		/2277 WORDS, 0256 BLOCKS.OK? YES OR NO
		/(YES)


		/THAT DATA IN PARENTHESIS IS TYPED BY THE OPERATOR
		/(HE DOESN'T TYPE THE PARENTHESIS)
		/IF HE HAD ANSWERED NO, "FORMAT?" WOULD BE TYPED OUT.
		/IF THE DRIVE WAS WRONG, HE WOULD TYPE RESTART.
		/IF HE HAD TYPED "MARK" IN RESPONSE TO "FORMAT?" THE
		/TAPE WOULD BE MARKED WITH THE STANDARD PDP-8 CONFIGURATION.
		/IF HE HAD TYPED "MARK 384" THE TAPE WOULD
		/BE MARKED WITH THE STANDARD PDP-10 CONFIGURATION
		/NOTE: THE WORD AND BLOCK NUMBERS ARE TYPED IN OCTAL
		/IF A MISTAKE OCCURS ON THE OPERATORS PART (WITH REFERANCE
		/TO BLOCK + WORD SIZE) HE WILL BE TOLD ABOUT IT





	1000	*1000

		/MAKE A CALL FOR THE DECTAPE NUMBERS TO BE
		/WORKED.

001000  4502	STAR0,	JMS I	TYPE	/TYPE VERSION NUMBER
001001  4543		4543		/CR+LF
001002  4300		4300		/LF+0
001003  4502		JMS I	TYPE
001004  2404		TEXT	/TDFMT V50/
001005  0615
001006  2440
001007  2665
001010  6000
001011  4502	START,	JMS I TYPE	/SET UP TYPER
001012  4543		4543  /CR+LF
001013  4300		4300  /LF+END

001014  4502	TYQU,	JMS I TYPE	/"UNIT?"
001015  2516		2516	/UN
001016  1124		1124	/IT
001017  7740		7740	/?
001020  0000		0000	/END


/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 6-1

		/WAIT FOR A REPLY

001021  4503		JMS I TYPIN	/GET NUMBERS
001022  1067		TAD	BADD	/INITIALIZE POINTER (BFR)
001023  7001		IAC		/(BADD=BUFFER-1, SO BUMP THE AC)
001024  3070		DCA	BFR	/TO START OF INPUT BUFFER
001025  3777' 		DCA	DCTR	/INITIALIZE DTA COUNTER TO 0
001026  3357		DCA	CRFLAG	/CLEAR FLAG SO CR NOT ACCEPTIBLE
001027  1055	CRCHK,	TAD	CRCOD	/GET CODE FOR CAR. RETN
001030  7041		CIA		/NEGATE IT
001031  1470		TAD I	BFR	/SEE IF NEXT CHAR. IN
001032  7450		SNA		/BUFFER IS CAR. RETN.
001033  5255		JMP	OKCR	/YES: SEE IF C.R. LEGAL HERE
001034  3357		DCA	CRFLAG	/NO: SO C.R. IS LEGAL NOW
001035  1043	VALCHK,	TAD	C260	/SEE IF # IS LESS THAN
001036  7041		CIA		/ASCII 0 (260)
001037  1470		TAD I BFR	/SUBTRACT BUFFER DATA
001040  7710		SPA   CLA	/IS IT LESS THAN ASII 0?
001041  5214		JMP   TYQU	/YES: TELL OUTSIDE WORLD
001042  1044		TAD   C261	/NO: SEE IF GREATER THAN
001043  7040		CMA		/ASC II 1 (261)
001044  1470		TAD I BFR	/SUBTRACT BUFFER DATA
001045  7700		SMA   CLA	/GREATER THAN ASCII 7?
001046  5214		JMP   TYQU	/YES: TELL OUTSIDE WORLD
001047  1470		TAD I BFR	/NO: ACCEPT BUFFER 
001050  7012		RTR
001051  0051		AND   C7000	/ISOLATE DTA
001052  4776' 		JMS	REPEAT	/GO CHECK FOR REPEATED DTA AND STORE #
001053  2070		ISZ	BFR	/INCREMENT INPUT BUF. PTR.
001054  5227		JMP	CRCHK	/GO LOOK AT NEXT CHAR.

		/THIS SECTION CHECKS TO SEE IF THERE HAS BEEN ANY
		/VALID INPUT ONCE A CARRIAGE RETURN IS SEEN
001055  7200	OKCR,	CLA		/CLEAR AC
001056  1357		TAD	CRFLAG	/LOAD CR FLAG; 0 MEANS NO GOOD
001057  7650		SNA	CLA
001060  5211		JMP	START	/0: NO VALID INPUT; RESTART
001061  1777' 		TAD	DCTR	/NOT 0: SO HAVE VALID INPUT
001062  1775' 		TAD	DBUFAD	/CALCULATE END OF DTA LIST +1
001063  3175		DCA	DBUFPT	/STORE IT IN BUFFER POINTER, THEN
001064  7040		CMA		/COMPLEMENT THE AC AND
001065  3575		DCA I	DBUFPT	/TERMINATE DTA LIST WITH 7777
001066  7200	INIT1,	CLA		/CLEAR AC IF COME THRU LOC IT
001067  1775' 		TAD	DBUFAD	/AND RESET LIST POINTER
001070  3175		DCA	DBUFPT	/TO START OF LIST
001071  4756		JMS I	GETDTA	/GO GET A DTA NUMBER

		/INFORM THE OPERATOR THAT THE PROGRAM IS SET TO START
		/TYPE "FORMAT" AND WAIT FOR THE REPLY

001072  4502	INIT,	JMS I TYPE	/MESSAGE OUT
001073  0617		0617		/FO
001074  2215		2215		/RM
001075  0124		0124		/AT
001076  7740		7740  /?

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 6-2

001077  0000		0000  /END
001100  4503		JMS I TYPIN	/WAIT FOR A REPLY
001101  4471		JMS I COMPAR	/DID HE TYPE "MARK"?
001102  0315		0315  /M
001103  0301		0301  /A
001104  0322		0322  /R
001105  0313		0313  /K
001106  0000		0000  /END
001107  5312		JMP   .+3
001110  5711		JMP I .+1
001111  1200		MARK		/TO MARK A TAPE
		/SEE IF HE TYPED "RDR" (READ AND TYPE FIRST 12
		/BLOCK NUMBERS IN REVERSE).

001112  4471		JMS I COMPAR
001113  0322		0322  /R
001114  0304		0304  /D
001115  0322		0322  /R
001116  0000		0000  /0
001117  5322		JMP   .+3
001120  5721		JMP I .+1
001121  2677		RDR		/TYPE BLOCKS 

		/SEE IF HE TYPED "RDF" (READ AND TYPE FIRST 12
		/BLOCK NUMBERS FORWARD).

001122  4471		JMS I COMPAR
001123  0322		0322  /R
001124  0304		0304  /D
001125  0306		0306  /F
001126  0000		0000  /0
001127  5332		JMP   .+3
001130  5731		JMP I .+1
001131  2600		RDFA		/TYPE BLOCKS

		/SEE IF HE TYPED "SAME" (MEANING MARK A TAPE
		/USING THE SAME CONSTANTS AS BEFORE).

001132  4471		JMS I COMPAR
001133  0323		0323  /S
001134  0301		0301  /A
001135  0315		0315  /M
001136  0305		0305  /E
001137  0000		0000  /0
001140  5343		JMP   .+3
001141  5742		JMP I .+1
001142  3200		SWCHK		/TO MARK AS BEFORE

		/SEE IF HE TYPED "RESTART"

001143  4471		JMS I COMPAR
001144  0322		0322  /R
001145  0305		0305  /E
001146  0323		0323  /S
001147  0324		0324  /T

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 6-3

001150  0301		0301  /A
001151  0322		0322  /R
001152  0324		0324  /T
001153  0000		0000  /0
001154  4152		JMS   QU	/MUST BE NONSENSE
001155  5211		JMP	START	/START ALL OVER
001156  3133	GETDTA,	NUDTA		/POINTER TO ROUTINE TO SWITCH UNITS
001157  0000	CRFLAG,	0		/=0, CR NO GOOD; NOT 0, CR IS OK

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 7



/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 8



001175  2544
001176  2525
001177  2543
	1200		*1200
		/MARK WAS TYPED IN, IF W1-1 IS NOT A "K",ASSUME THAT
		/A NUMBER WAS TYPED IN, AND VERIFY THIS. IF W1-1 IS
		/A "K", ASSUME STANDARD FORMAT.(W1=LAST ENTRY INTO THE BUFFER)

001200  1566	MARK,	TAD  I   BINCO	/ADDRESS OF FIRST BINARY
001201  3024		DCA   W5	/CONSTANT FOR DEC TO BIN
001202  3031		DCA   TOTAL	/WILL BE BINARY EQUIVILANT

		/SAVE C(X1) FOR DECREMENT THROUGH BUFFER

001203  7240	DNC,	CLA   CMA	/DECREMENT BUFFER ADDRESS
001204  1020		TAD   W1	/ADDRESS BY 1
001205  3020		DCA   W1	/W1=SWEEP ADDRESS

		/LOOK FOR END OF PROCESSING BY LOOKING FOR A "K" IN BUFFER

001206  1056		TAD   LETK	/LETTER ASCII "K"
001207  7041		CIA		/SUBTRACT FROM CHARACTER
001210  1420		TAD I W1	/IN BUFFER
001211  7650		SNA   CLA	/EQUAL?
001212  5244		JMP   DIV3	/YES: SEE IF DIVISIBLE BY 3

		/VERIFY THIS CHARACTER AS BEING OF DECIMAL ORIGIN

001213  1043		TAD   C260	/ASCII FOR 0
001214  7041		CIA		/TO SEE IF CHARACTER
001215  1420		TAD I W1	/IS LESS THAN 260
001216  7710		SPA   CLA	/IS IT?
001217  5473		JMP I QU1	/YES: NOT DECIMAL CHARACTER
001220  1046		TAD   C271	/ASCII FOR 9
001221  7040		CMA		/TO SEE IF GREATER THAN
001222  1420		TAD I W1	/9
001223  7700		SMA   CLA	/IS IT?
001224  5473		JMP I QU1	/NOT A DECIMAL CHARACTER
		/CHARACTER IS DECIMAL. NOW CONVERT IT TO BINARY
		/REMEMBER POSITION OF CHARACTER IN BUFFER MAY BE
		/10,100,1000.

001225  1420		TAD I W1	/ISOLATE THE NUMBER
001226  0034		AND   C0017	/FOR PROPER CONVERSION
001227  7450		SNA 		/IF 0, NO BINARY CONVERSION NEEDED
001230  5242		JMP   IBS	/YES: 0: INCREMENT BINARY CONVERSION

		/NOT 0, SET UP CONVERSION LOOP

001231  7141		CLL   CIA	/NUMBER OF ADDITIONS
001232  3023		DCA   W4	/TO NEGATIVE FOR ISZ
001233  1424		TAD I W5	/BINARY POSITION TO C(ACC)
001234  1031		TAD   TOTAL	/ADD TO PRESENT TOTAL

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 8-1

001235  7430		SZL		/CHECK ON TO MANY WORDS
001236  5474		JMP I QU2	/TO MANY WORDS CALLED FOR
001237  3031		DCA   TOTAL	/KEEP RUNNING SUM
001240  2023		ISZ   W4	/LAST ADDITION?
001241  5233		JMP   .-6	/NO: ADD AGAIN

		/FINAL ADDITION FOR THIS POSITION COMPLETED

001242  2024	IBS,	ISZ   W5	/NEXT POSITION
001243  5203		JMP   DNC	/DO NEXT CHARACTER

		/LAST CHARACTER COMPLETED. SEE IF DIVISIBLE BY 3
		/IF NOT A NORMAL INPUT

001244  1031	DIV3,	TAD   TOTAL	/GET TOTAL WORDS
001245  7450		SNA		/IF TOTAL 0, NORMAL INPUT
001246  1042		TAD   C201	/129 OCT. THIS TEST REDUNDANT
001247  1034		TAD   C0017	/ADD CONSTANT 15 TO TOTAL
001250  3031		DCA   TOTAL	/FOR FUTURE CONSIDERATIONS
001251  3032		DCA   VAR1	/# OF WORDS/3 FOR MARK TRACK WRITING
001252  1031		TAD   TOTAL	/RESTORE IN THE ACC
001253  7100		CLL		/TO DIVIDE BY 3, LINK KEEPS OVERFLOW
001254  1061		TAD   M3	/SUBTRACT 3
001255  2032		ISZ   VAR1	/ON EACH DIVISION, KEEP RUNNING SUM
001256  7440		SZA		/IF AC = 0,NO REMAINDER
001257  7420		SNL		/WHEN LINC GOES TO 0, DIVISION ENDED
001260  7410		SKP		/NOW SEE IF IT DIVIDED EVENLY
001261  5253		JMP   .-6	/SUBTRACT 3 MORE
001262  7640		SZA   CLA	/IF 0,OK. OTHERWISE ERROR
001263  5476		JMP I QU4	/NOT DIVISIBLE BY 3

		/CORRECT "VAR1" ( THE NUMBER OF WORDS/3) FOR THE +15
		/ADDED JUST ABOVE AND AN INHERANT +2 DUE TO MARK TRACK
		/CONFIGURATION TO BE WRITTEN.

001264  1063		TAD   M7	/SUBTRACT 7 FROM PHONY SETUP
001265  1032		TAD   VAR1	/GIVING THE NUMBER OF TIMES
001266  7041		CIA		/TO BE USED LATER IN A ISZ
001267  3032		DCA   VAR1	/DATA MARK WILL BE WRITTEN
		/COMPUTE A VALUE FOR TOTAL NUMBER OF BLOCKS
		/RECORD SIZE + 15 INTO 636160 OCT.

001270  1053		TAD   C7714	/EXTENDED 64 VALUE. SETS AC#2
001271  3020		DCA   W1	/SET FOR 640000
001272  4755		JMS I FORM10	/PATCH TO CHECK FOR STD.10 FORMAT
001273  1050		TAD   C1620	/VERNIER ADJUSTMENT FOR FORMULA
001274  7100		CLL		/ACC#2 CARRY FUNCTION
001275  1031		TAD   TOTAL	/WORD COUNT
001276  2026		ISZ   BLOCKS	/+1 TO BLOCK COUNT
001277  7410		SKP
001300  5475		JMP I QU3	/TO MANY BLOCKS CALLED FOR
001301  7420		SNL		/CARRY INTO ACC#2?
001302  5275		JMP   .-5	/NO: CONTINUE COUNT
001303  2020		ISZ   W1	/YES: FULLY DIVIDED?
001304  5274		JMP   .-10	/NO: CONTINUE PROCESS

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 8-2

001305  7300		CLA   CLL	/C(ACC)+ C(L)=0
001306  1026	F10RTN,	TAD   BLOCKS	/FOR MARK TRACK (COME HERE FR F10PAT IF 10 FRMT)
001307  7040		CMA		/WRITING
001310  3033		DCA   VAR2	/SEE MARK WRITE

		/VALUES FOR BLOCK AND RECORD SIZE HAVE BEEN
		/COMPUTED. TELL OUTSIDE WORLD AND GET THE OK.

001311  1031		TAD   TOTAL	/SUBTRACT 15 FROM TOTAL
001312  1054		TAD   C7761	/WORDS FOOLING OPERATOR
001313  3031		DCA   TOTAL	/CORRECTED FOR TAPE WRITING
001314  1031		TAD   TOTAL	/FOR OCTAL TYPEOUT
001315  4501		JMS I TYOCT	/TYPE OCTAL WORDS
001316  4502		JMS I TYPE	/TYPE MESSAGE
001317  4027		4027  / W
001320  1722		1722  /OR
001321  0423		0423  /DS
001322  5400		5400  /, END
001323  1026		TAD   BLOCKS	/TYPE OUT BLOCK #S
001324  7001		IAC		/TO FOOL THE OPERATOR
001325  4501		JMS I TYOCT	/IN OCTAL
001326  4502		JMS I TYPE	/TYPE MESSAGES
001327  4002		4002  / B
001330  1417		1417  /LO
001331  0313		0313  /CK
001332  2356		2356  /S.
001333  1713		1713  /OK
001334  7733		7733  /?(
001335  3105		3105  /YE
001336  2340		2340  /S
001337  1722		1722  /OR
001340  4016		4016  / N
001341  1735		1735  /O)
001342  4543		4543  /CR+LF
001343  0000		0000  /END
001344  4503		JMS I TYPIN	/WAIT FOR REPLY
		/SEE IF A YES OR NO ANSWER WAS GIVEN

001345  4471		JMS I COMPAR
001346  0331		0331   /Y
001347  0305		0305   /E
001350  0323		0323   /S
001351  0000		0000   /END
001352  5472		JMP I IT

001353  5754		JMP  I  .+1
001354  3200		SWCHK
001355  1556	FORM10,	F10PAT



/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 9



	1400	*1400
		/SET THE TAPE INTO MOTION. ALL VARIABLES ARE SET.

		/WRITE TIMING AND MARK TRACK

001400  7200	STMK,	CLA
001401  3030		DCA	PHASE
001402  1161		TAD   DT1400	/FWD, WRITE, GO
001403  1027		TAD   DTA	/GET UNIT NUMBER
001404  6774		SDLC		/LOAD COMMAND REGISTER
001405  1033		TAD   VAR2	/TO MAKE A RESTART FOR THE SAME
001406  3025		DCA   W6	/OPTION POSSIBLE

		/WRITE ABOUT 10 FEET OF END ZONE
001407  3020		DCA   W1
001410  1310	CEZ,	TAD   REZ	/ADDRESS OF DATA
001411  4270		JMS   SETUP
001412  2020		ISZ   W1
001413  5210		JMP   CEZ	/NOT END FOOTAGE
001414  1065		TAD   M144	/OK WRITE INTERBLOCK SYNC
001415  3020		DCA   W1
001416  4222		JMS   INBLSY
001417  2020		ISZ   W1
001420  5216		JMP   .-2
001421  5230		JMP   WDZ

			/WRITE INTERBLOCK SYNC
001422  0000	INBLSY,	0
001423  1032		TAD   VAR1	/RESET THE WORDS
001424  3024		DCA   W5
001425  1314		TAD   IBZ	/ADDRESS OF DATA
001426  4270		JMS   SETUP	/GO OUT AND WRITE 1
001427  5622		JMP I INBLSY	/GO DO AGAIN

			/WRITE FORWARD BLOCKMARK AND REVERSE GUARD
001430  1320	WDZ,	TAD   FBM	/ADDRESS OF PATTERN
001431  4270		JMS   SETUP

			/WRITE LOCKMARK, REVERSE CHECKSUM, REV FINAL, REV PREFINAL
001432  1324	LRCFP,	TAD   WLMRF
001433  4300		JMS   SETUP1

			/WRITE THE DATA TRACK
001434  1333	DTRK,	TAD   DZ	/ADDRESS OF PATTERN
001435  4270		JMS   SETUP
001436  2024		ISZ   W5
001437  5234		JMP   DTRK	/NOW WRITE DATA MARK TRACK AGAIN
			/WRITE PREFINAL, FINAL, CHECKSUM, AND REVERSE LOCK
001440  1337	PFCRC,	TAD   FEZ	/ADDRESS OF DATA
001441  4300		JMS   SETUP1

			/WRITE GUARD REVERSE BLOCK
001442  1346	GRB,	TAD   GRZ

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 9-1

001443  4270		JMS   SETUP

			/THIS COMPLETES 1 BLOCK, GO BACK AND WRITE THE REST
001444  4222		JMS   INBLSY	/WRITE INTERBLOCK SYNC
001445  2025		ISZ   W6	/TOTAL NUMBER OF BLOCKS
001446  5230		JMP   WDZ	/WRITTEN? NO:

			/ALL DATA BLOCKS WRITTEN NOW WRITE BUFFER ZONE OF INTERBLOCK SYNC
001447  1123		TAD   M143	/198 EXPAND CODES AT END OF BLOCKS
001450  3020		DCA   W1
001451  4222		JMS   INBLSY
001452  2020		ISZ   W1
001453  5251		JMP   .-2

			/FINISHED BLOCK WRITTING, WRITE ANOTHER 10(1) OF END ZONES
001454  3020		DCA   W1
001455  1352	WEZF,	TAD   EZM
001456  4270		JMS   SETUP
001457  2020		ISZ   W1
001460  5255		JMP   WEZF
001461  6772		SDST
001462  7610		SKP	CLA
001463  4567		JMS  I  SELTIM		/TIMING ERROR
001464  1373		TAD	C1
001465  3030		DCA	PHASE
001466  5667		JMP I .+1
001467  1600		MWTM

001470  0000	SETUP,	0
001471  3012		DCA   12	/WORD TO BE WRITTEN ON MARK TRACK
001472  1061		TAD   M3
001473  3105		DCA   WC
001474  4504		JMS I WAIT
001475  2105		ISZ   WC
001476  5274		JMP   .-2
001477  5670		JMP I SETUP

001500  0000	SETUP1,	0
001501  3012		DCA   12
001502  1062		TAD   M6
001503  3105		DCA   WC
001504  4504		JMS I WAIT
001505  2105		ISZ   WC
001506  5304		JMP   .-2
001507  5700		JMP I SETUP1
		/THESE ARE THE DATA CONFIGURATIONS FOR THE MARK TRACK


		/REVERSE END ZONE

001510  1510	REZ,	.
001511  4044		4044	/ON TAPE AS 5555 (OCT)
001512  0440		0440
001513  4404		4404


/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 9-2

		/INTERBLOCK SYNC

001514  1514	IBZ,	.
001515  0404		0404	/ON TAPE AS 2525 (OCT)
001516  0404		0404
001517  0404		0404

		/FORWARD BLOCK MARK AND REVERSE GUARD

001520  1520	FBM,	.
001521  0404		0404	/ON TAPE AS 2632 (OCT)
001522  4004		4004
001523  4040		4040

		/LOCK MARK, REVERSE CHECKSUM, REVERSE FINAL
		/AND REVERSE PREFINAL

001524  1524	WLMRF,	.
001525  0040		0040	/ON TAPE AS 10101010 (OCT)
001526  0000		0000
001527  4000		4000
001530  0040		0040
001531  0000		0000
001532  4000		4000

		/DATA MARK

001533  1533	DZ,	.
001534  4440		4440	/ON TAPE AS 7070 (OCT)
001535  0044		0044
001536  4000		4000

		/PREFINAL, FINAL, FWD CHECKSUM, AND REVERSE LOCK

001537  1537	FEZ,	.
001540  4440		4440	/ON TAPE AS 73737373 (OCT)
001541  4444		4444
001542  4044		4044
001543  4440		4440
001544  4444		4444
001545  4044		4044
		/FORWARD GUARD AND REVERSE BLOCK NUMBER

001546  1546	GRZ,	.
001547  4040		4040	/ON TAPE AS 5145 (OCT)
001550  0440		0440
001551  0404		0404

		/FORWARD END ZONE

001552  1552	EZM,	.
001553  0400		0400	/ON TAPE AS 2222 (OCT)
001554  4004		4004
001555  0040		0040
		/SUBROUTINE TO SEE IF USER TYPED MARK 384

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 9-3

		/TO SPECIFY STANDARD PDP-10 FORMAT
001556  0000	F10PAT,	0
001557  3026		DCA	BLOCKS	/CLEAR LOC. BLOCKS IN CASE NOT 10-FORMAT
001560  1031		TAD	TOTAL	/AND GET NUMBER TYPED BY USER
001561  1371		TAD	M617	/WAS IT 384?
001562  7640		SZA	CLA
001563  5756		JMP I	F10PAT	/NO-RETURN
001564  3020		DCA	W1	/YES-CLEAR W1 FOR WAIT LOOP
001565  1372		TAD	C1101	/AND ADJUST BLOCK TOTAL FOR
001566  3026		DCA	BLOCKS	/1102(OCTAL) BLOCKS.
001567  5770		JMP I	.+1
001570  1306	F10BAK,	F10RTN
001571  7161	M617,	-617
001572  1101	C1101,	1101
001573  0001	C1,	0001

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 10



	1600		*1600
		/THE MARK TRACK HAS BEEN WRITTEN, AND TAPE IS
		/MOVING FORWARD IN THE FORWARD END ZONE. STOP
		/THE TAPE AND SEE IF THERE ARE ANY TAPES LEFT TO
		/MARK--IF SO GO DO THEM, ELSE TELL OPERATOR TO THROW THE
		/"OFF/WTM" SWITCH TO "OFF"
		/HE WILL THEN CONTINUE AFTER THIS ACTION


			/KILL WRITE,STOP TAPE

001600  7200	MWTM,	CLA
001601  1027		TAD	DTA	/UNIT
001602  6774		SDLC
001603  4777' 		JMS	NUDTA
001604  5574		JMP  I  DOMARK

			/MESSAGE TO THE OPERATOR
001605  4502	OFF,	JMS I	TYPE
001606  2305		2305		/SE
001607  2440		2440		/T
001610  2327		2327		/SW
001611  1124		1124		/IT
001612  0310		0310		/CH
001613  4024		4024		/T
001614  1740		1740		/O
001615  1706		1706		/OF
001616  0600		0600		/F
001617  4503		JMS  I	TYPIN	/WAIT FOR CR
001620  5621		JMP  I  .+1
001621  3327		SWOFF		/CHECK TO MAKE SURE THAT SWITCH IS OFF
			/REVERSE TAPE AND READ MARK TRACK
001622  1164	PSER,	TAD	DT3000	/REVERSE GO
001623  1027		TAD	DTA		/UNIT
001624  6774		SDLC		/LOAD COMMAND REGISTER
001625  3020		DCA	W1	/STALL ROUTINE TO GET UP TO SPEED
001626  6773		SDSQ
001627  5226		JMP	.-1
001630  6776		SDRC
001631  2020		ISZ	W1
001632  5226		JMP	.-4
001633  6773		SDSQ		/SKIP ON QUAD LINE IF SET AFTER WAIT ROUTINE
001634  7410		SKP
001635  5240		JMP	.+3	/FLAG WAS SET
001636  6771		SDSS		/READ IN A LINE OF TAPE
001637  5236		JMP	.-1
001640  6776		SDRC		/READ THE COMMAND REGISTER
001641  6772		SDST		/CHECK FOR A TIMING ERROR
001642  7410		SKP
001643  4567		JMS  I  SELTIM		/TIMING ERROR
001644  0135		AND	MSK77	/CHECK TO SEE IF TAPE IS STILL IN END ZONE
001645  1111		TAD	M55
001646  7640		SZA	CLA

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 10-1

001647  5236		JMP	.-11	/NOT A 55 YET
001650  4532		JMS  I	SSDSQT	/YES,READ IN SOME MORE
001651  1111		TAD	M55	/IS IT END ZONE
001652  7650		SNA	CLA
001653  5250		JMP	.-3	/STILL IN END ZONE
001654  1106		TAD	MTR	/GET THE MARK TRACK
001655  1112		TAD 	M25	/IS IT EXPAND CODE
001656  7640		SZA	CLA
001657  4534		JMS  I	SCEXPC	/NOT YET,CHECK FOR A 52,AND ADVANCE 3 LINES
001660  7200		CLA		/YES IT IS EXPAND CODE
001661  1126		TAD	M306	/SET UP FOR 198 EXPAND CODES
001662  3127		DCA	CNT
001663  4532		JMS  I	SSDSQT	/THE TAPE SHOULD BE IN SYNC NOW
001664  1112		TAD	M25	/READ THE REST OF EXPAND CODE
001665  7640		SZA	CLA
001666  4570		JMS  I  MARKER	/MARK TRACK ERROR
001667  2127		ISZ	CNT	/INCREMENT COUNTER
001670  5263		JMP	.-5
001671  1033		TAD	VAR2	/NUMBER OF BLOCKS
001672  3025		DCA	W6
001673  4532	RSTBLK,	JMS  I  SSDSQT	/START OF A STANDARD BLOCK
001674  1112		TAD	M25	/FIRST EXPAND CODE AT BEGINNING
001675  7640		SZA	CLA	/OF BLOCK
001676  4570		JMS  I  MARKER	/MARK TRACK ERROR
001677  4532		JMS  I  SSDSQT	/READ MARK BLOCK NUMBER
001700  1113		TAD	M26
001701  7640		SZA	CLA
001702  4570		JMS  I  MARKER	/MARK TRACK ERROR
001703  4532		JMS  I  SSDSQT	/READ MARK GUARD
001704  1114		TAD	M32
001705  7640		SZA	CLA
001706  4570		JMS  I  MARKER	/MARK TRACK ERROR
001707  1130		TAD	M4
001710  3127		DCA	CNT
001711  4532		JMS  I  SSDSQT	/READ L,CK,F,PF
001712  1115		TAD	M10
001713  7640		SZA	CLA
001714  4570		JMS  I  MARKER	/MARK TRACK ERROR
001715  2127		ISZ	CNT
001716  5311		JMP	.-5
001717  7300		CLA	CLL
001720  1032		TAD	VAR1
001721  7004		RAL
001722  3024		DCA	W5	/NUMBER OF DATA MARKS
001723  4532		JMS  I  SSDSQT	/READ DATA MARKS
001724  1116		TAD	M70
001725  7640		SZA	CLA
001726  4570		JMS  I  MARKER		/MARK TRACK ERROR
001727  2024		ISZ	W5	/COUNT FOR NUMBER OF BLOCKS
001730  5323		JMP	.-5
001731  1130		TAD	M4
001732  3127		DCA	CNT
001733  4532		JMS  I  SSDSQT	/READ PF,F,CK,L
001734  1117		TAD	M73
001735  7640		SZA	CLA

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 10-2

001736  4570		JMS  I  MARKER	/MARK TRACK ERROR
001737  2127		ISZ	CNT
001740  5333		JMP	.-5
001741  4532		JMS  I  SSDSQT	/READ REVERSE GUARD
001742  1120		TAD	M51
001743  7640		SZA	CLA
001744  4570		JMS  I  MARKER

001745  4532		JMS  I  SSDSQT	/READ BLOCK NUMBER
001746  1121		TAD	M45
001747  7640		SZA	CLA
001750  4570		JMS  I  MARKER	/MARK TRACK ERROR
001751  4532		JMS  I  SSDSQT	/READ EXPAND CODE
001752  1112		TAD	M25
001753  7640		SZA	CLA
001754  4570		JMS  I  MARKER	/END OF ONE BLOCK,MARK TRACK ERROR

001755  2025		ISZ	W6	/FINISHED ALL BLOCKS
001756  5273		JMP	RSTBLK	/NO:DO OTHER BLOCKS
001757  1131		TAD	M307	/SET UP FOR INTERBLOCK SYNC AT END OF TAPE
001760  3127		DCA	CNT
001761  4532		JMS  I  SSDSQT	/CHECK FOR 199 EXPAND CODES
001762  1112		TAD	M25
001763  7640		SZA	CLA
001764  4570		JMS  I  MARKER	/MARK TRACK ERROR
001765  2127		ISZ	CNT
001766  5361		JMP	.-5
001767  4532		JMS  I  SSDSQT
001770  1122		TAD	M22
001771  7640		SZA	CLA
001772  4570		JMS  I  MARKER
001773  1027		TAD	DTA
001774  6774		SDLC
001775  5776		JMP  I  .+1
001776  2000	WDBLKN,	DBLKN	/GO OUT TO WRITE DATA AND BLOCK NUMBERS FORWARD



/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 11



001777  3133
	2000	*2000
002000  1356	DBLKN,	TAD	C2
002001  3030		DCA	PHASE
002002  1033		TAD	VAR2	/NUMBER OF BLOCKS

002003  3025		DCA	W6
002004  3137		DCA	BLK	/INITIAL BLOCK IS 0
002005  1137		TAD	BLK
002006  4477		JMS  I  MESS	/COMPUTE THE COMP OBVERSE OF REV BLK
002007  3140		DCA	REVBLK
002010  6775		SDLD
002011  1161		TAD	DT1400	/FORWARD,WRITE,GO
002012  1027		TAD	DTA	/UNIT
002013  6774		SDLC		/LOAD THE COMMAND REGISTER
002014  6776		SDRC		/CHECK TO MAKE SURE WRITE IS SET
002015  7006		RTL
002016  7004		RAL
002017  7700		SMA	CLA
002020  4357		JMS	WLO	/WRITE FAILED TO SET
002021  1062		TAD	M6
002022  3127		DCA	CNT
002023  6773		SDSQ		/ROUTINE TO GET UP TO SPEED
002024  5223		JMP	.-1
002025  6775		SDLD
002026  2127		ISZ	CNT
002027  5223		JMP	.-4
002030  6775		SDLD
002031  6772		SDST
002032  7410		SKP
002033  4567		JMS  I  SELTIM		/TIMING ERROR
002034  6771	LINE,	SDSS		/WRITE ALL ZEROES TO THE FIRST BLOCK
002035  5234		JMP	.-1
002036  6775		SDLD		/LOAD THE DATA BUFFER 
002037  6776		SDRC
002040  6772		SDST
002041  7410		SKP
002042  4567		JMS  I  SELTIM		/TIMING ERROR
002043  0135		AND	MSK77
002044  3106		DCA	MTR
002045  1106		TAD	MTR
002046  1113		TAD	M26
002047  7640		SZA	CLA
002050  5234		JMP	LINE
002051  6775		SDLD
002052  6772		SDST
002053  7410		SKP
002054  4567		JMS  I  SELTIM		/TIMING ERROR
002055  5265		JMP	WDOBLK	/GO AND WRITE REVERSE GUARD
002056  7300	WDBLK,	CLA CLL		/BEGINNING OF BLOCK,WRITE DATA AND BLOCK NUMBER
002057  4346		JMS	W4L	/WRITE EIGHT LINES
002060  4346		JMS	W4L	/END OF EXPAND CODE,BEGINNING OF BLK NUMBER
002061  1137		TAD	BLK	/GET FORWARD BLOCK NUMBER

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 11-1

002062  4346		JMS	W4L	/WRITE IT
002063  7200		CLA
002064  4346		JMS	W4L	/WRITE FIRST WORD OF REV GUARD
002065  7200	WDOBLK,	CLA
002066  4346		JMS	W4L	/SECOND WORD OF REVERSE GUARD
002067  4346		JMS	W4L
002070  4346		JMS	W4L	/FIRST WORD OF REVERSE CHECKSUM
002071  1031	WDATA,	TAD	TOTAL	/NUMBER OF DATA WORDS TO BE WRITTEN
002072  7041		CIA
002073  3024		DCA	W5	/SET UP COUNTER
002074  4346		JMS	W4L
002075  2024		ISZ	W5	/INCREMENT COUNTER
002076  5274		JMP	.-2
002077  7300		CLA	CLL
002100  1135		TAD	MSK77	/COME BACK TO WRITE LAST WORD AND CHECKSUM
002101  4346		JMS	W4L
002102  7200		CLA
002103  4346		JMS	W4L	/FINISH CHECKSUM
002104  4346		JMS	W4L	/FIRST WORD OF REVERSE LOCK
002105  4346		JMS	W4L	/LAST WORD OF RL. AND HALF OF GUARD
002106  4346		JMS	W4L	/REST OF GUARD
002107  1140		TAD	REVBLK	/GET REVERSE BLOCK NUMBER
002110  4346		JMS	W4L
002111  7240		CLA	CMA
002112  4346		JMS	W4L	/END OF BLOCK NUMBER AND HALF OF EXPAND CODE
002113  4346		JMS	W4L	/END OF EXPAND CODE
002114  2137		ISZ	BLK
002115  7200		CLA
002116  1137		TAD	BLK
002117  4477		JMS  I  MESS	/COMPUTE NEW BLK NUMBER
002120  3140		DCA	REVBLK
002121  6772		SDST
002122  7410		SKP
002123  4567		JMS  I  SELTIM		/TIMING ERROR
002124  2025		ISZ	W6	/IS IT DONE WRITING BLK AND DATA
002125  5256		JMP	WDBLK	/NO
002126  6773		SDSQ
002127  5326		JMP	.-1
002130  6777		SDRD
002131  7200		CLA
002132  1165		TAD	DT1000	/SEARCH FOR END ZONE
002133  1027		TAD	DTA	/GET UNIT
002134  6774		SDLC		/LOAD THE COMMAND REG
002135  6771		SDSS
002136  5335		JMP	.-1
002137  6776		SDRC
002140  0135		AND	MSK77
002141  1122		TAD	M22
002142  7640		SZA	CLA
002143  5335		JMP	.-6
002144  5745		JMP  I  .+1
002145  2400		DBLOCK

002146  0000	W4L,	0
002147  6773		SDSQ

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 11-2

002150  5347		JMP	.-1	/SKIP ON QUAD LINE FLAG
002151  6775		SDLD		/LOAD THE DATA BUFFER
002152  6772		SDST		/CHECK FOR A TIMING ERROR
002153  7410		SKP
002154  4567		JMS  I  SELTIM		/TIMING ERROR
002155  5746		JMP  I  W4L

002156  0002	C2,	0002

002157  0000	WLO,	0
002160  1027		TAD	DTA	/STOP THE TAPE
002161  6774		SDLC		/LOAD THE COMMAND REGISTER
002162  4502		JMS  I  TYPE
002163  2003		2003		/PC
002164  4000		4000		/END
002165  7240		CLA	CMA
002166  1357		TAD	WLO
002167  4501		JMS  I  TYOCT
002170  4502		JMS  I  TYPE
002171  4040		4040
002172  2722		2722		/WR
002173  1124		1124		/IT
002174  0540		0540		/E
002175  0000		0000		/END
002176  5777		JMP  I  .+1
002177  0744		ZCOM




/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 12



	2200	*2200
002200  1372	BLCSD,	TAD	C4
002201  3030		DCA	PHASE
002202  7300		CLA	CLL
002203  1033		TAD	VAR2
002204  3025		DCA	W6	/SET UP FOR THE NUMBER OF BLOCKS
002205  3137		DCA	BLK	/SET BLK TO 0
002206  1165		TAD	DT1000	/FORWARD READ
002207  1027		TAD	DTA	/UNIT
002210  6774		SDLC		/LOAD THE COMMAND REG
002211  1137		TAD	BLK
002212  4477		JMS  I  MESS	/CALCULATE THE COMPLEMENT OBVERSE
002213  3140		DCA	REVBLK
002214  6772		SDST
002215  7410		SKP
002216  4567		JMS  I  SELTIM		/TIMING ERROR
002217  1062		TAD	M6	/WAIT TO GET UP TO SPEED
002220  3127		DCA	CNT	/SET UP COUNTER
002221  6773		SDSQ		/SKIP ON A QUAD LINE FLAG
002222  5221		JMP	.-1
002223  6777		SDRD		/READ THE DATA BUFFER TO CLEAR FLAG
002224  2127		ISZ	CNT
002225  5221		JMP	.-4
002226  7200		CLA
002227  3142	BLCSDA,	DCA	CHKSUM
002230  4507		JMS  I  SLRDRC	/READ A SINGLE LINE AT A TIME
002231  1113		TAD	M26
002232  7640		SZA	CLA	/IS IT BLOCK MARK
002233  5777' 		JMP	SRDRC+4	/NO,GO BACK
002234  6772		SDST
002235  7410		SKP
002236  4567		JMS  I  SELTIM		/TIMING ERROR
002237  1110		TAD	DATRD
002240  7041		CIA
002241  1137		TAD	BLK
002242  7640		SZA	CLA
002243  4571		JMS  I  BLKERR	/BLK NUMBER ERROR
002244  4532		JMS  I  SSDSQT	/READ GUARD
002245  4532		JMS  I  SSDSQT	/READ REVERSE LOCK
002246  4532		JMS  I  SSDSQT	/READ CHECKSUM
002247  6777		SDRD		/READ THE DATA BUFFER
002250  6772		SDST
002251  7410		SKP
002252  4567		JMS  I  SELTIM		/TIMING ERROR
002253  0135		AND	MSK77
002254  4541		JMS  I  BCXOR	/GO OUT TO CHECKSUM ROUTINE
002255  1031	RDATA,	TAD	TOTAL	/NUMBER OF WORDS PER BLOCK
002256  7041		CIA
002257  3024		DCA	W5	/SET UP COUNTER
002260  6773		SDSQ
002261  5260		JMP	.-1
002262  6777		SDRD		/READ THE DATA BUFFER
002263  6772		SDST

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 12-1

002264  7410		SKP
002265  4567		JMS  I  SELTIM		/TIMING ERROR
002266  3110		DCA	DATRD
002267  1110		TAD	DATRD	/SAVE THE DATA WORD
002270  7640		SZA	CLA
002271  4572		JMS  I  DATERR	/DATA ERROR
002272  1110		TAD	DATRD
002273  4541		JMS  I  BCXOR
002274  6772		SDST		/CHECK FOR A TIMING ERROR
002275  7410		SKP
002276  4567		JMS  I  SELTIM		/TIMING ERROR
002277  2024		ISZ	W5
002300  5260		JMP	RDATA+3
002301  6773		SDSQ		/READ REVERSE CHECKSUM
002302  5301		JMP	.-1
002303  6777		SDRD		/READ IT IN
002304  6772		SDST
002305  7410		SKP
002306  4567		JMS  I  SELTIM		/TIMING ERROR
002307  0052		AND	C7700
002310  4541		JMS  I  BCXOR	/CHECK CHECK SUM
002311  1142		TAD	CHKSUM
002312  0135		AND	MSK77
002313  7001		IAC
002314  1052		TAD	C7700
002315  7640		SZA	CLA
002316  4573		JMS  I  CHKERR	/CHECKSUM ERROR
002317  6772		SDST
002320  7410		SKP
002321  4567		JMS  I  SELTIM		/TIMING ERROR
002322  4507		JMS  I  SLRDRC	/ADVANCE A SINGLE LINE FLAG
002323  1125		TAD	M31	/LOOK FOR REV BLK NUMBER
002324  7640		SZA	CLA
002325  5777' 		JMP	SRDRC+4
002326  6772		SDST
002327  7410		SKP
002330  4567		JMS  I  SELTIM		/TIMING ERROR
002331  1110		TAD	DATRD
002332  7041		CIA
002333  1140		TAD	REVBLK	/COMPARE BLOCK READ WITH ONE COMPUTED
002334  7640		SZA	CLA
002335  4571		JMS  I  BLKERR	/BLOCK NUMBER ERROR
002336  6773		SDSQ	
002337  5336		JMP	.-1
002340  6777		SDRD
002341  6772		SDST
002342  7410		SKP
002343  4567		JMS  I  SELTIM		/TIMING ERROR
002344  7300		CLA	CLL
002345  2137		ISZ	BLK
002346  1137		TAD	BLK
002347  4477		JMS  I  MESS
002350  3140		DCA	REVBLK
002351  6772		SDST
002352  7410		SKP

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 12-2

002353  4567		JMS  I SELTIM		/TIMING ERROR
002354  2025		ISZ	W6
002355  5227		JMP	BLCSDA
002356  1165		TAD	DT1000
002357  1027		TAD	DTA
002360  6774		SDLC
002361  6771		SDSS
002362  5361		JMP	.-1
002363  6776		SDRC
002364  0135		AND	MSK77
002365  1122		TAD	M22
002366  7640		SZA	CLA
002367  5361		JMP	.-6
002370  5771		JMP  I  .+1
002371  2442		RDBLKS

002372  0004	C4,	0004


/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 13



002377  3124
	2400	*2400
002400  1240	DBLOCK,	TAD	C3
002401  3030		DCA	PHASE
002402  7300		CLA	CLL
002403  3235		DCA	DISBLK
002404  1164		TAD	DT3000	/REVERSE,GO
002405  1027		TAD	DTA		/UNIT
002406  6774		SDLC		/LOAD THE COMMAND REGISTER
002407  7300		CLA	CLL
002410  6771	DISLUP,	SDSS
002411  5210		JMP	.-1
002412  7300		CLA	CLL
002413  6777		SDRD
002414  3236		DCA	DISDAT	/SAVE THE DATA BUFFER
002415  6776		SDRC
002416  0135		AND	MSK77	/MASK OUT THE MARK TRACK
002417  1113		TAD	M26	/CHECK FOR BLOCK NUMBER
002420  7440		SZA
002421  5226		JMP	DISEND	/NOT BLK MARK,CHECK FOR END ZONE
002422  1236		TAD	DISDAT	/DISPLAY THE NUMBER IN THE AC
002423  2235		ISZ	DISBLK
002424  5223		JMP	.-1
002425  5210		JMP	DISLUP	/GO SEARCH FOR THE NEXT BLOCK
002426  1237	DISEND,	TAD	FOUR	/IS IT END ZONE
002427  7640		SZA	CLA
002430  5210		JMP	DISLUP	/NO,GO GET NEXT LINE
002431  1027		TAD	DTA	/STOP GET READY TO READ
002432  6774		SDLC		/LOAD THE COMMAND REGISTER
002433  5634		JMP  I  .+1
002434  2200		BLCSD
002435  0000	DISBLK,	0
002436  0000	DISDAT,	0
002437  0004	FOUR,	4
002440  0003	C3,	0003
002441  0005	C5,	0005

002442  1241	RDBLKS,	TAD	C5
002443  3030		DCA	PHASE
002444  1033		TAD	VAR2
002445  3024		DCA	W5	/SET UP FOR NUMBER OF BLOCKS
002446  7001		IAC
002447  1033		TAD	VAR2
002450  3025		DCA	W6	/SET UP TO CHECK BLK REVERSE
002451  1164		TAD	DT3000	/READ REVERSE GO
002452  1027		TAD	DTA	/UNIT
002453  6774		SDLC		/LOAD THE COMMAND REGISTER
002454  1062		TAD	M6
002455  3127		DCA	CNT
002456  6771		SDSS
002457  5256		JMP	.-1
002460  6776		SDRC
002461  7200		CLA

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 13-1

002462  2127		ISZ	CNT
002463  5256		JMP	.-5
002464  6771	RDBLK,	SDSS
002465  5264		JMP	.-1
002466  6777		SDRD		/READ THE DATA BUFFER AND STORE IT AWAY
002467  3127		DCA	CNT
002470  6776		SDRC
002471  0135		AND	MSK77
002472  1113		TAD	M26
002473  7640		SZA	CLA	/IS IT BLOCK NUMBER
002474  5264		JMP	RDBLK
002475  1127		TAD	CNT
002476  1025		TAD	W6
002477  7640		SZA	CLA
002500  4571		JMS  I  BLKERR	/BLOCK NUMBER ERROR
002501  7001		IAC
002502  1025		TAD	W6	/INCREMENT A NUMBER FOR COMPARE COUNTER
002503  3025		DCA	W6
002504  2024		ISZ	W5	/INCREMENT BLK COUNTER
002505  5264		JMP	RDBLK
002506  6771		SDSS
002507  5306		JMP	.-1
002510  6776		SDRC
002511  0135		AND	MSK77
002512  1122		TAD	M22
002513  7640		SZA	CLA
002514  5306		JMP	.-6
002515  1027		TAD	DTA
002516  6774		SDLC		/LOAD THE COMMAND REGISTER WITH UNIT STOP
002517  7001		IAC
002520  3030		DCA	PHASE
002521  4777' 		JMS	NUDTA
002522  5776' 		JMP	PSER
002523  5724		JMP  I  .+1
002524  1072		INIT		/END GO BACK TO DIRECT
		/
		/
		/SUBROUTINE TO CHECK FOR REPEATED DTA NUMBERS
		/DTA # TO COMPARE TO LIST IS IN AC ON ENTRY--THIS
		/ROUTINE STORES THE DTA # IF IT IS NEW AND IGNORES IT
		/IF IT IS NOT-CALL BY JMS REPEAT WITH DTA # IN AC
002525  0000	REPEAT,	0
002526  3345		DCA 	DNUM	/TEM STORAGE FOR NEW DTA #
002527  1344		TAD	DBUFAD	/INITIALIZE POINTER (DBUFPT)
002530  3175		DCA	DBUFPT	/TO START OF DTA LIST
002531  1343		TAD	DCTR	/LOAD NUM. OF DTAS STORED
002532  7040		CMA		/COMPLEMENT IT
002533  3342		DCA	COMCTR	/STORE IN COMPARE COUNTER
002534  2342	COMCHK,	ISZ	COMCTR	/DONE WITH ALL COMPARES?
002535  5346		JMP	DOCOMP	/NO: GO DO COMPARE
002536  1345		TAD	DNUM	/YES: STORE NEW DTA#
002537  3575		DCA I	DBUFPT	/AT END OF LIST
002540  2343		ISZ	DCTR	/INCR. # OF DTAS STORED
002541  5725		JMP I	REPEAT	/RETURN


/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 13-2

002542  0000	COMCTR,	0	/COUNTER FOR # OF LIST COMPARISONS TO BE DONE
002543  0000	DCTR,	0	/COUNTER FOR # OF DTAS IN LIST
002544  3162	DBUFAD,	DTABUF	/START OF DTA NUM. LIST
002545  0000	DNUM,	0	/TEM STORAGE FOR DTA #
		/
		/
		/THIS SECTION DOES THE ACTUAL COMPARISON BETWEEN
		/THE DTA# PASSED TO THE ROUTINE AND A NUMBER ON THE LIST

002546  1575	DOCOMP,	TAD I	DBUFPT	/GET NXT DTA NUMBER PASSED
002547  7041		CIA		/NEGATE IT
002550  1345		TAD	DNUM	/ADD IN DTA NUMBER PASSED
002551  7650		SNA CLA	/ARE THEY THE SAME
002552  5725		JMP I	REPEAT	/YES: RETURN
002553  2175		ISZ	DBUFPT	/NO: INCREMENT LIST POINTER
002554  5334		JMP	COMCHK	/SEE IF DONE ALL COMPARES
		/
		/


/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 14



002576  1622
002577  3133
	2600	*2600

002600  7300	RDFA,	CLA	CLL
002601  1164		TAD	DT3000	/REVERSE READ GO
002602  1027		TAD	DTA	/GET UNIT
002603  6774		SDLC		/LOAD THE COMMAND REGISTER
002604  6771		SDSS		/SKIP ON A SINGLE LINE FLAG
002605  5204		JMP	.-1
002606  6776		SDRC		/READ THE COMMAND REGISTER
002607  0135		AND	MSK77
002610  1122		TAD	M22	/IS IT END ZONE
002611  7640		SZA	CLA	/YES
002612  5204		JMP	.-6	/NO GO BACK AND LOOK AGAIN
002613  1165		TAD	DT1000	/FORWARD READ GO
002614  1027		TAD	DTA	/UNIT
002615  6774		SDLC		/LOAD THE COMMAND REGISTER
002616  1062		TAD	M6
002617  3127		DCA	CNT
002620  6771		SDSS
002621  5220		JMP	.-1
002622  6776		SDRC
002623  7200		CLA
002624  2127		ISZ	CNT
002625  5220		JMP	.-5
002626  1113	RDFA1,	TAD	M26
002627  3022		DCA	W3	/SET UP COUNTER TO READ 22 BLOCKS
002630  1067		TAD	BADD	/SET UP BUFFER ADDRESS
002631  3011		DCA	X2
002632  6771		SDSS		/GO SINGLE LINE FLAGS
002633  5232		JMP	.-1
002634  6777		SDRD		/READ THE DATA BUFFER
002635  3127		DCA	CNT
002636  6776		SDRC		/READ THE COMMAND REGISTER
002637  0135		AND	MSK77
002640  1113		TAD	M26	/SEARCH FOR BLOCK NUMBER
002641  7640		SZA	CLA
002642  5232		JMP	RDFA1+4	/NOT BLOCK NUMBER YET GO BACK AGAIN
002643  1127		TAD	CNT	/OK BLK NUMBER STORE IT AWAY
002644  3411		DCA  I  X2
002645  2022		ISZ	W3	/INCREMENT COUNTER
002646  5232		JMP	RDFA1+4	/NOT 22 BLOCKS YET
002647  1027		TAD	DTA
002650  6774		SDLC		/STOP THE DTA

		/TYPE OUT BLOCK NUMBERS AND DTA UNIT#

002651  4502		JMS  I  TYPE
002652  0424		0424		/DT
002653  0140		0140		/A
002654  0000		0000		/END
002655  1027		TAD	DTA	/GET UNIT NUMBER

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 14-1

002656  7006		RTL
002657  4501		JMS  I  TYOCT	/AND TYPE IT OUT
002660  4502		JMS  I  TYPE
002661  4345		4345		/CR&LF
002662  0000		0000		/END
002663  1113		TAD	M26	/WILL TYPE ALL
002664  3020		DCA	W1	/22 WORDS
002665  1067		TAD	BADD	/ADDRESS OF BLOCK
002666  3011		DCA	X2	/NUMBERS TO INDEX
002667  1411		TAD  I  X2	/FIRST OR NEXT BLOCK
002670  4501		JMS  I  TYOCT	/TYPE IT OUT
002671  4502		JMS  I  TYPE	/CR&LF
002672  4345		4345		/CR&LF
002673  0000		0000		/END
002674  2020		ISZ	W1	/COMPLETE
002675  5267		JMP	.-6
002676  5472		JMP  I  IT	/GO ASK FOR FORMAT

002677  7300	RDR,	CLA 	CLL
002700  1165		TAD	DT1000	/FORWARD READ GO
002701  1027		TAD	DTA	/UNIT
002702  6774		SDLC		/LOAD THE COMMAND REGISTER
002703  6771		SDSS		/SKIP ON A SINGLE LINE FLAG
002704  5303		JMP	.-1
002705  6776		SDRC		/READ THE COMMAND REGISTER
002706  0135		AND	MSK77
002707  1122		TAD	M22	/CHECK FOR END ZONE
002710  7640		SZA	CLA
002711  5303		JMP	.-6	/NOT YET GO BACK
002712  1164		TAD	DT3000	/REVERSE READ GO
002713  1027		TAD	DTA	/UNIT
002714  6774		SDLC		/LOAD THE COMMAND REGISTER
002715  1062		TAD	M6
002716  3127		DCA	CNT
002717  6771		SDSS
002720  5317		JMP	.-1
002721  6776		SDRC
002722  7200		CLA
002723  2127		ISZ	CNT
002724  5317		JMP	.-5
002725  5226		JMP	RDFA1	/STORE NUMBERS IN REVERSE

002726  4503	RETRY,	JMS  I  TYPIN
002727  4471		JMS  I  COMPAR
002730  0322		0322		/R
002731  0305		0305		/E
002732  0324		0324		/T
002733  0322		0322		/R
002734  0331		0331		/Y
002735  0000		0000		/END
002736  5472		JMP  I  IT	/GUESS HE DOESN'T WANT TO TRY AGAIN
002737  7200		CLA
002740  1165		TAD	DT1000	/FORWARD READ GO
002741  1027		TAD	DTA	/UNIT
002742  6774		SDLC		/LOAD THE COMMAND REGISTER

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 14-2

002743  1062		TAD	M6
002744  3127		DCA	CNT	/WAIT 6 LINES
002745  6771		SDSS
002746  5345		JMP	.-1
002747  6776		SDRC		/READ THE COMMAND REGISTER
002750  2127		ISZ	CNT
002751  5345		JMP	.-4
002752  6771		SDSS
002753  5352		JMP	.-1
002754  6776		SDRC
002755  0135		AND	MSK77
002756  1122		TAD	M22
002757  7640		SZA	CLA
002760  5352		JMP	.-6
002761  1164		TAD	DT3000
002762  1027		TAD	DTA
002763  6774		SDLC
002764  7201		CLA	IAC
002765  3030		DCA	PHASE
002766  5767		JMP  I  .+1
002767  1633		PSER+11



/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 15



	3000	*3000


003000  0000	SDSQT,	0
003001  6773		SDSQ		/ADVANCE SIX LINES
003002  5201		JMP	.-1	/SKIP ON QUAD LINE FLAG
003003  6776		SDRC		/READ COMMAND REGISTER
003004  6772		SDST
003005  7410		SKP
003006  4567		JMS  I  SELTIM		/TIMING ERROR
003007  6771		SDSS
003010  5207		JMP	.-1	/SKIP ON SINGLE LINE FLAG
003011  6776		SDRC
003012  6772		SDST
003013  7410		SKP
003014  4567		JMS  I  SELTIM		/TIMING ERROR
003015  6771		SDSS
003016  5215		JMP	.-1
003017  6776		SDRC		/READ THE COMMAND REGISTER
003020  6772		SDST
003021  7410		SKP
003022  4567		JMS  I  SELTIM		/TIMING ERROR
003023  0135		AND	MSK77	/SAVE THE MARK TRACK LAST 6 BITS
003024  3106		DCA	MTR
003025  1106		TAD	MTR
003026  5600		JMP  I  SDSQT

003027  0000	A3LNS,	0		/ADVANCE THREE LINES
003030  6771		SDSS
003031  5230		JMP	.-1	/SKIP ON SINGLE LINE FLAG
003032  6776		SDRC
003033  6772		SDST
003034  7410		SKP
003035  4567		JMS  I  SELTIM		/TIMING ERROR
003036  6771		SDSS
003037  5236		JMP	.-1
003040  6776		SDRC
003041  6772		SDST
003042  7410		SKP
003043  4567		JMS  I  SELTIM		/TIMING ERROR
003044  6771		SDSS
003045  5244		JMP	.-1
003046  6776		SDRC
003047  6772		SDST
003050  7410		SKP
003051  4567		JMS  I  SELTIM		/TIMING ERROR
003052  0135		AND	MSK77
003053  3106		DCA	MTR
003054  1106		TAD	MTR
003055  5627		JMP  I  A3LNS

003056  0000	CEXPC,	0
003057  1106		TAD	MTR

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 15-1

003060  1124		TAD	M52
003061  7640		SZA	CLA
003062  4570		JMS  I  MARKER	/MARK TRACK ERROR
003063  4227		JMS	A3LNS	/READ THREE MORE LINES
003064  1112		TAD	M25	/IS IT 25 NOW
003065  7640		SZA	CLA
003066  4570		JMS  I  MARKER	/NO ,MARK TRACK ERROR
003067  5656		JMP  I  CEXPC	/YES:IT IS EXPAND CODE NUMBER 1

			/SIXBIT COMPLEMENT XOR SUBROUTINE
			/SUBROUTINE IS ENTERED WITH DATA WORD TO BE XORED IN AC
			/TWO SIX-BIT COMPLEMENT XORS WILL TAKE PLACE TO LOC CHKSUM
			/WITH THE RESULT IN CHKSUM

003070  0000	SBCXOR,	0
003071  7040		CMA		/COMPLEMENT WORD
003072  3143		DCA	SBWORD	/AND SAV
003073  1143		TAD	SBWORD
003074  0142		AND	CHKSUM
003075  7041		CIA
003076  7104		CLL	RAL
003077  1143		TAD	SBWORD
003100  1142		TAD	CHKSUM
003101  3142		DCA	CHKSUM
003102  1143		TAD	SBWORD
003103  7112		RTR CLL;RTR;RTR
003104  7012
003105  7012
003106  3143		DCA	SBWORD
003107  1143		TAD	SBWORD
003110  0142		AND	CHKSUM
003111  7041		CIA
003112  7104		CLL	RAL
003113  1143		TAD	SBWORD
003114  1142		TAD	CHKSUM
003115  0135		AND	MSK77
003116  3142		DCA	CHKSUM
003117  5670		JMP  I  SBCXOR

003120  0000	SRDRC,	0
003121  6773		SDSQ
003122  7410		SKP
003123  5326		JMP	.+3
003124  6771		SDSS
003125  5324		JMP	.-1
003126  6777		SDRD
003127  3110		DCA	DATRD
003130  6776		SDRC
003131  0135		AND	MSK77
003132  5720		JMP  I  SRDRC

003133  0000	NUDTA,	0
003134  1754		TAD  I  LSTPT	/GET CURRENT VALUE OF DATA LIST PTR
003135  3353		DCA	TBUFPT	/STORE IT AS TEM,BUF,PTR
003136  1753		TAD  I  TBUFPT	/GET A DTA # FROM THE LIST

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 15-2

003137  0037		AND	C0007
003140  7640		SZA	CLA	/IS IT A 7777
003141  5346		JMP	LSTEND	/YES END OF LIST
003142  1753		TAD  I  TBUFPT	/NO;GET IT BACK
003143  3027		DCA	DTA
003144  2754		ISZ  I  LSTPT	/INCREMENT LIST POINTER
003145  5733		JMP  I  NUDTA	/RETURN
		/COME HERE AT END OF LIST TO RESET POINTERS AND RETURN TO CALL+2
003146  2333	LSTEND,	ISZ	NUDTA	/INCREMENT RETURN POINTER
003147  1752		TAD  I  STRTPT	/GET ADR OF START OF LIST
003150  3754		DCA  I  LSTPT
003151  5334		JMP	NUDTA+1	/GO GET FIRST DTA# AND RETURN
003152  2544	STRTPT,	DBUFAD	/POINTER TO START OF DATA LIST
003153  0000	TBUFPT,	0		/TEM STORAGE FOR BOT PTR
003154  0175	LSTPT,	DBUFPT		/POINTER TO CURRENT VALUE OF DTA LIST PTR

		/CONSTANTS FOR FORMULA TRANSLATION SECTION
003155  3156	BINCON,	.+1
003156  0001		0001
003157  0012		0012
003160  0144		0144
003161  1750		1750
003162  0000	DTABUF,	0





/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 16



	3200	*3200
			/CHECK SWITCH TO SEE IF SET TO WTM POSITION
003200  4502	SWCHK,	JMS  I  TYPE		/TYPE OUT MESSAGE
003201  2305		2305			/SE
003202  2440		2440			/T
003203  2327		2327			/SW
003204  1124		1124			/IT
003205  0310		0310			/CH
003206  4024		4024			/T
003207  1740		1740			/O
003210  2724		2724			/WT
003211  1500		1500			/M
003212  4503		JMS  I  TYPIN		/WAIT FOR CR
003213  7200		CLA
003214  3256		DCA	CNTERL
003215  6775		SDLD			/CLEAR SINGLE AND QUAD FLAGS
003216  6771		SDSS
003217  7410		SKP
003220  5224		JMP	.+4
003221  2256		ISZ	CNTERL
003222  5216		JMP	.-4
003223  5267		JMP	SWCHER		/ERROR,TYPE ERROR MESSAGE AND GO TO SWCHK
			/SEE IF THE DRIVE IS OK
003224  6774	RSTSM,	SDLC		/LOAD CR TO CLEAR TIMEING ERROR
003225  6775		SDLD			/LOAD DATA BUFFER TO CLEAR S Q FLAGS
003226  1162		TAD	DT0400		/SET WRITE
003227  1027		TAD	DTA		/GET UNIT
003230  3257		DCA	SAV		/STORE IT AWAY
003231  1257		TAD	SAV
003232  6771		SDSS
003233  5232		JMP	.-1
003234  6774		SDLC
003235  1257		TAD	SAV
003236  6774		SDLC			/LOAD THE TRANSPORT
003237  6776		SDRC			/READ THE COMMAND REGISTER AND CHECK IT
003240  7006		RTL
003241  7004		RAL
003242  7500		SMA			/CHECK WRITE TO BE SET
003243  5260		JMP	ERCHK		/WRITE IS NOT SET
003244  7004		RAL			/CHECK WLO
003245  7510		SPA
003246  5260		JMP	ERCHK		/WLO 
003247  7004		RAL			/CHECK SELECT AND TIMING ERROR
003250  7710		SPA	CLA
003251  5260		JMP	ERCHK		/SELECT OR TIMING ERROR
003252  4777' 		JMS	NUDTA		/CHECK OTHER DRIVE IF ANY
003253  5213		JMP	RSTSM-11	/CHECK OTHER DRIVE
003254  5655		JMP  I  .+1
003255  1400		STMK
003256  0000	CNTERL,	0
003257  0000	SAV,	0

003260  4502	ERCHK,	JMS  I  TYPE		/INCORRECT SETUP

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 16-1

003261  2305		2305			/SE
003262  2425		2425			/TU
003263  2077		2077			/P
003264  0000		0000			/END
003265  5666		JMP  I  .+1
003266  1011		START

003267  4502	SWCHER,	JMS  I  TYPE
003270  2327		2327			/SW
003271  1124		1124			/IT
003272  0310		0310			/CH
003273  4016		4016			/N
003274  1724		1724			/OT
003275  4023		4023			/S
003276  0524		0524			/ET
003277  4024		4024			/T
003300  1740		1740			/O
003301  2724		2724			/WT
003302  1540		1540			/M
003303  1722		1722			/OR
003304  4023		4023			/S
003305  1116		1116			/IN
003306  0714		0714			/GL
003307  0540		0540			/E
003310  1411		1411			/LI
003311  1605		1605			/NE
003312  4006		4006			/F
003313  1401		1401			/LA
003314  0740		0740			/G
003315  0601		0601			/FA
003316  1114		1114			/IL
003317  0504		0504			/ED
003320  4024		4024			/T
003321  1740		1740			/O
003322  2305		2305			/SE
003323  2440		2440			/T
003324  4543		4543			/CR LF
003325  0000		0000			/END
003326  5200		JMP	SWCHK

003327  7200	SWOFF,	CLA
003330  3256		DCA	CNTERL
003331  6775		SDLD			/CLEAR ANY FLAGS THAT ARE SET
003332  6771		SDSS
003333  7410		SKP
003334  5776' 		JMP	OFF		/FLAG SHOULDN'T BE SET
003335  2256		ISZ	CNTERL
003336  5332		JMP	.-4
003337  7200		CLA
003340  5741		JMP  I  .+1
003341  1622		PSER


003376  1605
003377  3133

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 16-2

	3400	*3400
		/INPUT BUFFER FOR TELETYPE THIS MUST BE AT THE END OF PROGRAM

003400  0000	BUFFER,	0

		$

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 17

A3LNS  3027      DATERR 0172      MSRGHT 0221      RETRY  2726
BADD   0067      DATRD  0110      MTP    0246      REVBLK 0140
BCXOR  0141      DBLKN  2000      MTR    0106      REZ    1510
BFR    0070      DBLOCK 2400      MWTM   1600      RSEND  0144
BINCO  0166      DBUFAD 2544      M10    0115      RSTBLK 1673
BINCON 3155      DBUFPT 0175      M14    0064      RSTSM  3224
BLCSD  2200      DCTR   2543      M143   0123      SAV    3257
BLCSDA 2227      DISBLK 2435      M144   0065      SA3LNS 0133
BLK    0137      DISDAT 2436      M2     0060      SBCXOR 3070
BLKERR 0171      DISEND 2426      M22    0122      SBWORD 0143
BLOCKS 0026      DISLUP 2410      M25    0112      SCEXPC 0134
BUFFER 3400      DIV3   1244      M26    0113      SDLC   6774
CERR   0345      DNC    1203      M3     0061      SDLD   6775
CEXPC  3056      DNUM   2545      M306   0126      SDRC   6776
CEZ    1410      DOCOMP 2546      M307   0131      SDRD   6777
CHKERR 0173      DOMARK 0174      M31    0125      SDSQ   6773
CHKSP  0306      DTA    0027      M32    0114      SDSQT  3000
CHKSUM 0142      DTABUF 3162      M4     0130      SDSS   6771
CNT    0127      DTRK   1434      M40    0253      SDST   6772
CNTERL 3256      DT0400 0162      M45    0121      SELTIM 0167
COMCHK 2534      DT1000 0165      M51    0120      SETUP  1470
COMCTR 2542      DT1400 0161      M52    0124      SETUP1 1500
COMPAR 0071      DT2000 0163      M55    0111      SLRDRC 0107
COMPRE 0325      DT3000 0164      M6     0062      SPCOD  0066
CRCHK  1027      DZ     1533      M617   1571      SRDRC  3120
CRCOD  0055      ERCHK  3260      M7     0063      SSDSQT 0132
CRFLAG 1157      EZM    1552      M70    0116      STALL  0600
C0007  0037      FBM    1520      M73    0117      START  1011
C0017  0034      FEZ    1537      NTYRTN 0265      STAR0  1000
C0070  0035      FORM10 1355      NUD    0136      STMK   1400
C0077  0036      FOUR   2437      NUDTA  3133      STRTPT 3152
C0700  0040      F10BAK 1570      OFF    1605      STX    0100
C1     1573      F10PAT 1556      OKCR   1055      SWCHER 3267
C1101  1572      F10RTN 1306      PATCH  0515      SWCHK  3200
C1620  0050      GETDTA 1156      PFCRC  1440      SWOFF  3327
C2     2156      GRB    1442      PFORM  0763      TBUFPT 3153
C201   0042      GRZ    1546      PHASE  0030      TFORM  0756
C203   0041      IBS    1242      PSER   1622      TOTAL  0031
C212   0255      IBZ    1514      QU     0152      TW1    0563
C215   0256      INBLSY 1422      QUX    0447      TYCT   0523
C245   0257      INIT   1072      QU1    0073      TYCT1  0556
C260   0043      INIT1  1066      QU2    0074      TYOCT  0101
C261   0044      IT     0072      QU3    0075      TYPE   0102
C270   0045      LETK   0056      QU4    0076      TYPECH 0222
C271   0046      LFCOD  0057      Q1     0400      TYPIN  0103
C277   0047      LINE   2034      Q2     0410      TYPN   0260
C3     2440      LRCFP  1432      Q3     0422      TYQU   1014
C340   0254      LSTEND 3146      Q4     0434      VALCHK 1035
C4     2372      LSTPT  3154      RDATA  2255      VAR1   0032
C5     2441      MARK   1200      RDBLK  2464      VAR2   0033
C6060  0564      MARKER 0170      RDBLKS 2442      V1     0506
C7000  0051      MES    0454      RDFA   2600      V2     0507
C7700  0052      MESAGE 0202      RDFA1  2626      V3     0513
C7714  0053      MESS   0077      RDR    2677      WAIT   0104
C7761  0054      MSK77  0135      REPEAT 2525      WC     0105

/TD8E FORMATTER V50			  PAL8-V50Y 31-DEC-22 PAGE 17-1

WDATA  2071      
WDBLK  2056      
WDBLKN 1776      
WDOBLK 2065      
WDZ    1430      
WEZF   1455      
WLMRF  1524      
WLO    2157      
W1     0020      
W2     0021      
W3     0022      
W4     0023      
W4L    2146      
W5     0024      
W6     0025      
X1     0010      
X2     0011      
ZBLK   0613      
ZCOM   0744      
ZDATA  0637      
ZMKTK  0657      
ZPAR   0702      
ZTIM   0724      



ERRORS DETECTED: 0
LINKS GENERATED: 13