SRCCOM V4

1)	/40	CCL  FOR  OS/8
2)	OXVER=6066	/40	CCL  FOR  OS/8

1)001	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/COPYRIGHT  (C)  1974 BY DIGITAL EQUIPMENT CORPORATION
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
1)	/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1)	/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
1)	/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
1)	/
1)	/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
1)	/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
1)	/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
1)	/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
1)	/
1)	/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
1)	/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
1)	/DIGITAL.
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)	/
1)002		MOFILE=7600
****
2)001		MOFILE=7600

********

1)004	/	FORMAT OF CCL TABLE
****
2)001		/AP01	TECO PASSES NO PARAMS
2)		/	PRINT & LIST INTERCHANGED
2)		/	FORTRAN REFERENCES REMOVED
2)		/	LOOKUP OF DEFAULT EXTENSIONS COMPRESSED
2)		/	.FP=FLAP
2)		/AP02/3	TECO RESTORED
2)		/	PRINT & LIST BACK TO NORMAL
2)		/	SOME ROGALGOL BITS INCLUDED
2)		/	.MA=MACROA, .AL=ALGCOM, .AP=ALGCOM, .AC=MACROA
2)		/	PLUS EXECUTE ADDITIONS: .AC=.AB=RALGOL
2)		/AP04	ADDED DEC PATCH TO EDIT COMMAND( S/W NEWS JAN76)
2)		/	PAL EXTENSION REPAIRED
2)		/	.AC EXTENSION FORCES /A OPTION ON
2)		/OX05	LOAD RECOGNISES .AC + .AB
2)		/	MAP HAS /P ON AND RUNS CORMAP.SV
2)		/	-EX CONSTRUCTION MAY CONTRADICT FIRST I/P FILE
2)		/		AND OVERRIDES IT 
2)		/		E.G. .EX FILE.BN-AB GOES TO RALGOL.SV
2)		/OX06	MOVED REMAMBER LINES - EDIT,CREATE,TECT,MAKE ALL USE
2)		/		LINE 0  -  COM,PAL USE LINE 1   - EX AND LOAD
2)		/		USE LINE 2 AS BEFORE
2)		/	ALSO FIX BUG IN EDIT COMMAND - EDIT DEV:FILE.EX
2)		/		WORKS BUT THEN EDIT ( +REMEMBER ) DOES NOT
2)002	/	FORMAT OF CCL TABLE

********

1)009		JMS I (LOOK
1)		YFORT		/LOOK FOR FORT.SV
1)		TAD (YF4-YFORT	/NOT FOUND, USE F4
1)		TAD (YFORT	/FOUND USE IT
1)		DCA I (FORTE
1)		TAD I (FORTE
1)		TAD (-YFORT
1)		SZA CLA
1)		TAD (YLOAD-YLOADER	/F4
1)		TAD (YLOADER
1)		DCA I (LOADE
1)		JMP I (WRITFT	/UNKLUTZ
1)010	L200,
****
2)004			/ FORTRAN BODGES REMOVED FROM HERE
2)		CIF CDF 00
2)		JMP I L7605
2)	L200,

********

1)017	XCOMPI,	5033;	EXTCOM;	0;0;0;		EXSUB;	YPAL8	/COM
1)	XCOP,	4001;	STAR;	1;0;0;		MOVRT;	YFOTP	/COPY
****
2)006	XCOMPI,	5023;	EXTCOM;	0;0;0;		COSUB;	YPAL8	/COM
2)	XCOP,	4001;	STAR;	1;0;0;		MOVRT;	YFOTP	/COPY

********

1)017	XEDI,	5220;	EXTNUL;	0;0;0;		EDSUB;	YEDIT	/EDIT
1)	XEOF,	0;				0;	YCAMP	/EOF
****
2)006	XEDI,	5210;	EXTNUL;	0;0;0;		EDSUB;	YEDIT	/EDIT
2)	XEOF,	0;				0;	YCAMP	/EOF

********

1)017	XMAP,	4001;	EXTBN;	0;0;0;		SETTTY;	YBITMAP	/MAP
1)	XMUN,	0;				MNGSUB;	YTECO	/MUNG
1)	XPAL,	5033;	EXTPA;	0;0;0;		EXSUB;	YPAL8	/PAL
1)	XPRI,	4000;	STAR;	0;0;0;		SETLPT;	YLPTSPL	/PRINT
1)	XPUN,	4001;	EXTNUL;	0;0;0;		SETPTP;	YPIP	/PUNCH
****
2)006	XMAP,	4001;	EXTBN;	0;400;0;	0;	YCORMAP	/MAP
2)	XMUN,	0;				MNGSUB;	YTECO	/MUNG
2)	XPAL,	5023;	EXTPA;	0;0;0;		COSUB;	YPAL8	/PAL
2)	XPRI,	4001;	EXTNUL;	0;0;0;		0;	YPRINT	/PRINT
2)	XPUN,	4001;	EXTNUL;	0;0;0;		SETPTP;	YPIP	/PUNCH

********

1)019	STAR,	5200;	0
1)		0;	0
1)	EXTSY,	2331;	0
1)		0;	0
1)	EXTBI,	0211;	0
1)		0;	0
1)	EXTCF,	2001;	COMPA
1)	/EXTLS,	1423;	COMLS
1)		0;	COMPA
1)	EXTPA,	2001;	COMPA
1)		0;	COMPA
1)	EXTBN,	0216;	0
1)		0;	COMBN
1)	EXTHL,	1014;	0
1)		0;	0
1)	EXTNUL,	0;	0
1)	EXTLO,	0216;	COMBN	/BN
1)		2214;	COMRL	/RL
1)		0;	0
1)	EXTCM,	0315;	0
1)		0;	0
1)020	EXTEXE,	2001;	COMPA	/PA
1)	EXTFT,	0624;	COMFT	/FT
1)	EXTBA,	0201;	COMBA	/BA
1)		0216;	COMBN	/BN
1)	EXTRL,	2214;	COMRL	/RL
1)	EXTRA,	2201;	COMRA	/RA
1)	EXTSB,	2302;	COMSB	/SB
1)		0;	0
1)		ZBLOCK 4
1)	EXTCOM,	2001;	COMPA	/PA
1)		0624;	COMFT	/FT
1)		0201;	COMBA	/BA
1)		2201;	COMRA	/RA
1)		2302;	COMSB	/SB
1)		0;	0
1)		ZBLOCK 4
1)021	/	TAD (-# OF LOCS TO MOVE
****
2)007	/	PATCH AN EXTENSION TO -1 TO FORCE TO IGNORE
2)	STAR,	5200;	0	/ *
2)		0;	0
2)	EXTSY,	2331;	0	/ SY
2)		0;	0
2)	EXTBI,	0211;	0	/ BI
2)		0;	0
2)	EXTHL,	1014;	0	/ HL
2)	EXTNUL,	0;	0
2)	EXTLO,	0216;	YABSLDR	/ BN
2)		0103;	YRALGOL	/ AC
2)		0102;	YRALGOL	/ AB
2)	EXTBN,	0216;	0	/ BN
2)		0;	0
2)	EXTCF,
2)	EXTPA,	2001;	YPAL8	/ PA
2)		0;	YPAL8
2)	EXTCM,	0315;	0	/ CM
2)		0;	0
2)	EXTEXE,	0216;	YABSLDR	/ BN
2)		0103;	YRALGOL	/ AC
2)		0102;	YRALGOL	/ AB
2)	EXTCOM,	2001;	YPAL8	/ PA
2)		0620;	YFLAP	/ FP
2)		1501;	YMACRO	/ MA
2)		0114;	YALGCOM	/ AL
2)		0120;	YALGCOM	/ AP
2)		0103;	YMACRO	/ AC INTO .AB
2)		0;	0
2)		ZBLOCK 10
2)	/	TAD (-# OF LOCS TO MOVE

********

1)022	/CAN PATCH AN EXTENSION TO -1 TO IGNORE IT IN ABOVE TABLE
1)	FORTE,	YF4		/COULD BE CHANGED TO YFORT BY .R CCL
1)	LOADE,	YLOAD		/MAY BECOME YLOADER
1)	COMBN,	0
1)		TAD I (EXTBN
1)		DCA SETEXT
1)		TAD (YABSLDR
1)		DCA DEFILE
1)		JMP I COMBN
1)	COMRL,	0
1)		TAD I (EXTRL
1)		DCA SETEXT
1)		TAD LOADE
1)		DCA DEFILE
1)		JMP I COMRL
1)	COMPA,	0
1)		TAD I (EXTPA
1)		DCA SETEXT
1)		TAD (YPAL8
1)		DCA DEFILE
1)		JMP I COMPA
1)	COMFT,	0
1)		TAD I (EXTFT
1)		DCA SETEXT
1)		TAD FORTE
1)		DCA DEFILE
1)		JMP I COMFT
1)	COMBA,	0
1)		TAD I (EXTBA
1)		DCA SETEXT
1)		TAD (YBASIC
1)		DCA DEFILE
1)		JMP I COMBA
1)	COMRA,	0
1)		TAD I (EXTRA
1)		DCA SETEXT
1)		TAD (YRALF
1)		DCA DEFILE
1)		JMP I COMRA
1)	COMSB,	0
1)		TAD I (EXTSB
1)		DCA SETEXT
1)		TAD (YSABR
1)		DCA DEFILE
1)		JMP I COMSB
1)023	DEFILE,	0		/PTR TO FILENAME TO CHAIN TO
1)	/COMLS,	0
1)	/	TAD I (EXTLS
1)	/	DCA SETEXT
1)	/	TAD (YCREF
1)	/	DCA DEFILE
1)	/	ISZ I (DONB	/CREF FOO.LS MAKES NO BINARY
1)	/	JMP I COMLS
1)	RDMON,	0
****
2)008	/	MDA'S REPLACEMENT FOR ALL THE ODD "COMXX" ROUTINES
2)	MDASET,	0
2)		TAD I DEF
2)		DCA MDAW1
2)		ISZ DEF
2)		TAD I DEF
2)		SNA CLA
2)		JMP I MDASET
2)		TAD I DEF
2)		DCA DEFILE
2)		TAD MDAW1
2)		DCA SETEXT
2)		TAD MDAW1
2)		TAD (-103
2)		SZA CLA
2)		JMP I MDASET	/ NOT .AC EXTENSION
2)		TAD I (7643
2)		RAL
2)		CLL CML RAR
2)		DCA I (7643	/A OPTION NOW ON
2)		JMP I MDASET
2)	MDAW1,	0
2)	COSUB,	0
2)		JMS I (REMEM
2)		1
2)		JMP I COSUB
2)	RDMON,	0

********

1)024		TAD SETEXT
1)		SZA
1)		TAD T		/NEG OF SWITCH REQUEST
1)		SZA CLA
1)		JMP I (CCERA	/CAN'T HAVE 2ND DEFAULT EXTENSION
1)		TAD T
****
2)008	/	TAD SETEXT
2)	/	SZA
2)	/	TAD T		/NEG OF SWITCH REQUEST
2)	/	SZA CLA
2)	/	JMP I (CCERA	/CAN'T HAVE 2ND DEFAULT EXTENSION
2)		TAD T

********

1)024		ISZ DEF		/YES
1)		TAD I (JMSUB	/ALLOW RECURSIVE CALL
1)		DCA HOLD
1)		TAD I DEF
1)		JMS I (JMSUB	/CALL ITS SUBR
1)		TAD HOLD
1)		DCA I (JMSUB
1)		JMP I UNKN
****
2)008		JMS MDASET
2)		JMP I UNKN

********

1)024	SETEXT,	0		/EXT WHICH HAS BEEN SET BY A CCL SWITCH
1)	HOLD,	0
1)025	WRITFT,	JMS I (LOOK
1)		YCCL
1)		JMP I (IOERR	/CCL.SV NOT FOUND
1)		TAD I (BLK
1)		TAD (4		/*3400 IS 4TH BLOCK OF CCL NOT COUNTING CCB
1)		DCA FBLK
1)		CDF 10
1)		CIF 0
1)		JMS I (7607
1)		4210		/WRITE 1 RECORD FROM FILED 1
1)		3400		/LOCS 3400-3777
1)	FBLK,	0
1)		JMP I (IOERR
1)		CIF CDF 0
1)		JMP I (7605
1)		PAGE
****
2)008	DEFILE,	0		/ PTR TO FILENAME TO CHAIN TO
2)	SETEXT,	0		/EXT WHICH HAS BEEN SET BY A CCL SWITCH
2)		PAGE

********

1)035		ISZ DEF		/POINT TO FOLLOW-UP SUBROUTINE
1)		TAD I DEF
1)		JMS JMSUB	/CALL IT
1)		TAD LENGTH
****
2)012		JMS I (MDASET
2)		TAD LENGTH

********

1)055		1
1)		JMP I EDSUB
****
2)017		0		/ EDIT AND TECO NOW SHARE LINE 0
2)		JMP I EDSUB

********

1)067	/0	USED BY TECO, MAKE COMMANDS
1)	/1	USED BY EDIT, CREATE COMMANDS
1)	/2	USED BY COMPILE, EXECUTE COMMANDS & PAL.
1)	/	DEPENDENT WORD IS PTR TO FIRST ENTRY IN MAIN TABLE
****
2)022	/0	USED BY TECO, MAKE, EDIT, CREATE COMMANDS
2)	/1	USED BY COMPILE, PAL COMMANDS
2)	/2	USED BY LOAD, EXECUTE COMMANDS
2)	/	DEPENDENT WORD IS PTR TO FIRST ENTRY IN MAIN TABLE

********

1)077		JMP CCERB	/ON OUTPUT SIDE
1)		TAD I NMOVE
1)		ISZ NMOVE
1)		DCA PT1
1)		TAD I PT1
1)		SNA
1)		IAC
1)		DCA I PT1	/SET DEVICE TO SYS IF NONE
1)		ISZ PT1
1)		TAD I PT1	/WAS THERE A SPECIFICATION THERE?
1)		SZA CLA
1)		JMP I NMOVE	/YES, DO NOTHING
1)		TAD I (FLAG
1)		AND (200	/GET 'COPY EXTENSION' BIT
1)		SZA CLA
1)		STA		/COPY 4 WORDS IF BIT 4 WAS ON
1)		TAD (-3		/OTHERWISE ONLY COPY 3 WORDS
1)		JMS I (MOVE
****
2)025		JMP CCERB	/ ON OUTPUT SIDE
2)		CLA IAC
2)		TAD I NMOVE
2)		DCA PT1		/ PTS TO O/P 1ST NAME WORD
2)		TAD I PT1
2)		SZA CLA
2)		JMP NMOVX	/ ALREADY THERE
2)		TAD I (FLAG
2)		AND (200
2)		SZA CLA		/ SKIP IF NO COPY EXT BIT 
2)		STA		/ -4
2)		TAD (-3		/ OR -3 USED AS COUNT
2)		JMS I (MOVE

********

1)077		TAD I (FLAG	/LOOK AT 'COPY EXT' BIT
1)		AND (200
1)		SNA CLA
1)		JMP I NMOVE	/IT WASN'T SET
1)		TAD I (7617	/GET FIRST INPUT DEVICE
1)		AND (17		/ISOLATE DEVICE BITS
1)		DCA I (7600	/FORCE THIS TO BE FIRST OUTPUT DEVICE
1)		JMP I NMOVE
****
2)025		TAD I (FLAG
2)		AND (200
2)		SNA CLA
2)		JMP NMOVX	/ NOT ALLOWED TO COPY DEV: OVER
2)		TAD I (7600
2)		SZA CLA
2)		JMP NMOVX	/ ALREADY THERE ANYWAY
2)		TAD I (7617
2)		AND (17
2)		DCA I (7600
2)	NMOVX,	TAD I NMOVE
2)		ISZ NMOVE
2)		DCA PT1
2)		TAD I PT1
2)		SNA
2)		CLA CLL CML RTL	/ SET AC=2
2)		DCA I PT1	/ I.E. DSK: IF NONE GIVEN
2)		JMP I NMOVE

********

1)094	VMES,	TEXT	\OS/8 VERSION  3  (CCL VERSION A)\
1)		VLOC=VMES+7
1)		*.-2
1)		CCLVER&77^100+51	/  X)
1)		*.+1
1)095	YEDIT,	FILENAME EDIT.SV
****
2)028	VMES,	TEXT "OS/8 V3  (CCL VA, OX00, TAB A)"
2)		AAAB=.
2)		VLOC=VMES+3
2)		*VMES+7;	CCLVER&77+2600
2)		*VMES+12;	OXVER
2)		*VMES+16;	CCLTAB&77^100+51
2)		*AAAB
2)	YEDIT,	FILENAME EDIT.SV

********

1)095	YFORT,	FILENAME FORT.SV
1)		*.-1
1)	YF4,	FILENAME F4.SV
1)		*.-1
1)	YBITMAP,FILENAME BITMAP.SV
1)		*.-1
****
2)028	YCORMAP,FILENAME CORMAP.SV
2)		*.-1

********

1)095	YBASIC,	FILENAME BCOMP.SV
1)		*.-1
1)	YPAL8,	FILENAME PAL8.SV
1)		*.-1
****
2)028	YPAL8,	FILENAME PAL8.SV
2)		*.-1
2)	YFLAP,	FILENAME FLAP.SV
2)		*.-1

********

1)096	YLOADER,FILENAME LOADER.SV
1)		*.-1
1)	YLOAD,	FILENAME LOAD.SV
1)		*.-1
1)	YTECO,	FILENAME TECO.SV
1)		*.-1
1)	YLPTSPL,FILENAME LPTSPL.SV
1)		*.-1
****
2)028	YTECO,	FILENAME TECO.SV
2)		*.-1
2)	YPRINT,	FILENAME PRINT.SV
2)		*.-1
2)	YALGCOM,	FILENAME ALGCOM.SV
2)		*.-1
2)	YRALGOL,	FILENAME RALGOL.SV
2)		*.-1
2)	YMACRO,	FILENAME MACROA.SV
2)		*.-1

********

1)096	YRALF,	FILENAME RALF.SV
1)		*.-1
1)	YSABR,	FILENAME SABR.SV
1)		*.-1
1)	YDATE,	FILENAME DATE.SV
****
2)028	YDATE,	FILENAME DATE.SV

********
