File: M8.LS of Disk: V50/Multi8/Multi-1
(Source file text) 

0200	ENDF60=ENDF60+177&7600
	0200	ENDF70=ENDF70+177&7600
		/THE MONITOR AREA IN FIELD 0:
003324  7775	IFNZRO ENDF00&200 <-3>
003325  7775	IFNZRO ENDF00&400 <-3;-3>
003326  7775
		IFNZRO ENDF00&1000 <-3;-3;-3;-3>
		IFNZRO ENDF00&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
003327  7775	IFNZRO ENDF00&4000 <-3;-3;-3;-3;-3;-3;-3;-3
003330  7775
003331  7775
003332  7775
003333  7775
003334  7775
003335  7775
003336  7775
003337  7775			    -3;-3;-3;-3;-3;-3;-3;-3>
003340  7775
003341  7775
003342  7775
003343  7775
003344  7775
003345  7775
003346  7775
		/THE EMPTY AREA IN FIELD 0:
003347  0000		ZBLOCK CORMAP+37-.
		/DON'T TOUCH THE LAST PAGE (OS8):
003363  7775		-3
		/NOW FOR FIELD 1:
		IFZERO FIELDS-2&4000 <
		IFNZRO ENDF10&200 <-3>


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 154-1

003364  7775	IFNZRO ENDF10&400 <-3;-3>
003365  7775
		IFNZRO ENDF10&1000 <-3;-3;-3;-3>
		IFNZRO ENDF10&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
003366  7775	IFNZRO ENDF10&4000 <-3;-3;-3;-3;-3;-3;-3;-3
003367  7775
003370  7775
003371  7775
003372  7775
003373  7775
003374  7775
003375  7775
003376  7775			    -3;-3;-3;-3;-3;-3;-3;-3>
003377  7775
003400  7775
003401  7775
003402  7775
003403  7775
003404  7775
003405  7775
		/FREE AREA IN FIELD 1:
003406  0000		ZBLOCK CORMAP+77-.
003423  7775		-3		/LAST PAGE IS FOR OS/8
		/NOW FOR FIELD 2:
		IFZERO FIELDS-3&4000 <
003424  7775	IFNZRO ENDF20&200 <-3>
		IFNZRO ENDF20&400 <-3;-3>
		IFNZRO ENDF20&1000 <-3;-3;-3;-3>
		IFNZRO ENDF20&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
		IFNZRO ENDF20&4000 <-3;-3;-3;-3;-3;-3;-3;-3
				    -3;-3;-3;-3;-3;-3;-3;-3>
003425  0000		ZBLOCK CORMAP+140-.
		IFDEF SYRL01 <*.-1;-3	/RETAIN SYSTEM HANDLER FOR RL01 >
		IFDEF SYRX02 <*.-1;-3	/RETAIN SYSTEM HANDLER FOR RX02 >
		/NOW FOR FIELD 3:
		IFZERO FIELDS-4&4000 <
		IFNZRO ENDF30&200 <-3>
		IFNZRO ENDF30&400 <-3;-3>
		IFNZRO ENDF30&1000 <-3;-3;-3;-3>
		IFNZRO ENDF30&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
		IFNZRO ENDF30&4000 <-3;-3;-3;-3;-3;-3;-3;-3
				    -3;-3;-3;-3;-3;-3;-3;-3>
			ZBLOCK CORMAP+200-.
		/NOW FOR FIELD 4:
		IFZERO FIELDS-5&4000 <
		IFNZRO ENDF40&200 <-3>
		IFNZRO ENDF40&400 <-3;-3>
		IFNZRO ENDF40&1000 <-3;-3;-3;-3>
		IFNZRO ENDF40&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
		IFNZRO ENDF40&4000 <-3;-3;-3;-3;-3;-3;-3;-3
				    -3;-3;-3;-3;-3;-3;-3;-3>
			ZBLOCK CORMAP+240-.
		/NOW FOR FIELD 5:
		IFZERO FIELDS-6&4000 <
		IFNZRO ENDF50&200 <-3>


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 154-2

		IFNZRO ENDF50&400 <-3;-3>
		IFNZRO ENDF50&1000 <-3;-3;-3;-3>
		IFNZRO ENDF50&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
		IFNZRO ENDF50&4000 <-3;-3;-3;-3;-3;-3;-3;-3
				    -3;-3;-3;-3;-3;-3;-3;-3>
			ZBLOCK CORMAP+300-.
		/NOW FOR FIELD 6:
		IFZERO FIELDS-7&4000 <
		IFNZRO ENDF60&200 <-3>
		IFNZRO ENDF60&400 <-3;-3>
		IFNZRO ENDF60&1000 <-3;-3;-3;-3>
		IFNZRO ENDF60&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
		IFNZRO ENDF60&4000 <-3;-3;-3;-3;-3;-3;-3;-3
				    -3;-3;-3;-3;-3;-3;-3;-3>
			ZBLOCK CORMAP+340-.
		/NOE FOR FIELD 7:
		IFZERO FIELDS-10&4000 <
		IFNZRO ENDF70&200 <-3>
		IFNZRO ENDF70&400 <-3;-3>
		IFNZRO ENDF70&1000 <-3;-3;-3;-3>
		IFNZRO ENDF70&2000 <-3;-3;-3;-3;-3;-3;-3;-3>
		IFNZRO ENDF70&4000 <-3;-3;-3;-3;-3;-3;-3;-3
				    -3;-3;-3;-3;-3;-3;-3;-3>
			ZBLOCK CORMAP+400-.	/ >>>>>>>
						/END OF PASS2 CONDITION >
		/NOW COMES THE END OF THE MAP. FOR PROPPER OPERATION OF
		/THE ROUTINE HOLE, THE MAP SHOULD END IN -3;0:
003464  7775		-3
003465  0000	MAPEND,	0


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 155




003466  0000	NAMLST,	ZBLOCK MAXNAM+17
003554  0000	LASTNM,	0			/ONE LOC EXTRA FOR SEARCH LOOP

	4000	IFZERO .&4000 <*4000	/TCBP'S MUST ALWAYS BE NEGATIVE >

		TCBTAB,			/THE TABLE OF TASK CONTROL BLOCKS

004000  2711		"T^100+"I&3777;1;DGNTIM;0
004001  0001
004002  3112
004003  0000
004004  0000		0;CDF+00%2;0;0
004005  3100
004006  0000
004007  0000

004010  2631		"S^100+"Y&3777;0;SY;0
004011  0000
004012  2600
004013  0000
004014  0000		0;CDF+00%2;0;0
004015  3100
004016  0000
004017  0000

		IFDEF SYRX02 <
			"S^100+"Z&3777;0;SZ;0
			0;CDF+00%2;0;0		/ >

		IFDEF SYRL01 <			/FAKE SY FOR RLC
			"S^100+"C&3777;0;SC;0
			0;CDF+00%2;0;0		/ >

		IFDEF DKUSED <
			"D^100+"K&3777;0;DK;0
			10;CDF 00%2;0;0	/ >

	0000	IFNDEF KL8XX <TT1LST=0;KK1LST=0>
	0000
004020  2661		"T^100+"1&3777;0;TT;TT1LST
004021  0000
004022  0200
004023  0000
004024  0010	T1TCBP,	10;CDF 00%2;0;0
004025  3100
004026  0000
004027  0000

004030  1561		"K^100+"1&3777;0;KK;KK1LST
004031  0000
004032  0315
004033  0000


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 155-1

004034  0010	K1TCBP,	10;CDF+00%2;0;0
004035  3100
004036  0000
004037  0000

		IFDEF KL8E2 <
			"T^100+"2&3777;0;TT;TT2LST;10;CDF 00%2;0;0

			"K^100+"2&3777;0;KK;KK2LST;10;CDF 00%2;0;0	/ >

		IFDEF KL8E3 <
			"T^100+"3&3777;0;TT;TT3LST;10;CDF 00%2;0;0

			"K^100+"3&3777;0;KK;KK3LST;10;CDF 00%2;0;0	/ >

		IFDEF KL8E4 <
			"T^100+"4&3777;0;TT;TT4LST;10;CDF 00%2;0;0

			"K^100+"4&3777;0;KK;KK4LST;10;CDF 00%2;0;0	/ >

		IFDEF KL8E5 <
			"T^100+"5&3777;0;TT;TT5LST;10;CDF 00%2;0;0

			"K^100+"5&3777;0;KK;KK5LST;10;CDF 00%2;0;0	/ >

		IFDEF KL8E6 <
			"T^100+"6&3777;0;TT;TT6LST;10;CDF 00%2;0;0

			"K^100+"6&3777;0;KK;KK6LST;10;CDF 00%2;0;0	/ >

		IFDEF KL8E7 <
			"T^100+"7&3777;0;TT;TT7LST;10;CDF 00%2;0;0

			"K^100+"7&3777;0;KK;KK7LST;10;CDF 00%2;0;0	/ >
		IFDEF KL8A1 <
			"T-"K^100+KL8NAM+0;0;TT;TY0LST;10;CDF%2;0;0
			KL8NAM+0;0;KK;KB0LST;10;CDF%2;0;0
			"T-"K^100+KL8NAM+1;0;TT;TY1LST;10;CDF%2;0;0
			KL8NAM+0;0;KK;KB1LST;10;CDF%2;0;0
			"T-"K^100+KL8NAM+2;0;TT;TY2LST;10;CDF%2;0;0
			KL8NAM+0;0;KK;KB2LST;10;CDF%2;0;0
			"T-"K^100+KL8NAM+3;0;TT;TY3LST;10;CDF%2;0;0
			KL8NAM+0;0;KK;KB3LST;10;CDF%2;0;0
		/END IFDEF KL8A1 >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 156




		IFNZRO BGMAX <
004040  1361	KHIBG1,	"I^100+"1&3777;1;KHIST	;BG1;10;CDF 00%2;0;0
004041  0001
004042  2026
004043  4057
004044  0010
004045  3100
004046  0000
004047  0000
004050  2161	KHOBG1,	"O^100+"1&3777;0;KHO	;BG1;10;CDF 00%2;0;0
004051  0000
004052  2403
004053  4057
004054  0010
004055  3100
004056  0000
004057  0000
004060  0761	EMBG1,	"E^100+"1&3777;1;EMSTRT	;BG1;10;CDF 00%2;0;0
004061  0001
004062  1476
004063  4057
004064  0010
004065  3100
004066  0000
004067  0000

		IFZERO BGMAX-2&4000 <
004070  1362	KHIBG2,	"I^100+"2&3777;1;KHIST	;BG2;10;CDF 00%2;0;0
004071  0001
004072  2026
004073  4145
004074  0010
004075  3100
004076  0000
004077  0000
004100  2162	KHOBG2,	"O^100+"2&3777;0;KHO	;BG2;10;CDF 00%2;0;0
004101  0000
004102  2403
004103  4145
004104  0010
004105  3100
004106  0000
004107  0000
004110  0762	EMBG2,	"E^100+"2&3777;1;EMSTRT	;BG2;10;CDF 00%2;0;0
004111  0001
004112  1476
004113  4145
004114  0010
004115  3100
004116  0000
004117  0000



/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 156-1

		IFZERO BGMAX-3&4000 <
		KHIBG3,	"I^100+"3&3777;1;KHIST	;BG3;10;CDF 00%2;0;0
		KHOBG3,	"O^100+"3&3777;0;KHO	;BG3;10;CDF 00%2;0;0
		EMBG3,	"E^100+"3&3777;1;EMSTRT	;BG3;10;CDF 00%2;0;0

		IFZERO BGMAX-4&4000 <
		KHIBG4,	"I^100+"4&3777;1;KHIST	;BG4;10;CDF 00%2;0;0
		KHOBG4,	"O^100+"4&3777;0;KHO	;BG4;10;CDF 00%2;0;0
		EMBG4,	"E^100+"4&3777;1;EMSTRT	;BG4;10;CDF 00%2;0;0

		IFZERO BGMAX-5&4000 <
		KHIBG5,	"I^100+"5&3777;1;KHIST	;BG5;10;CDF 00%2;0;0
		KHOBG5,	"O^100+"5&3777;0;KHO	;BG5;10;CDF 00%2;0;0
		EMBG5,	"E^100+"5&3777;1;EMSTRT	;BG5;10;CDF 00%2;0;0

		IFZERO BGMAX-6&4000 <
		KHIBG6,	"I^100+"6&3777;1;KHIST	;BG6;10;CDF 00%2;0;0
		KHOBG6,	"O^100+"6&3777;0;KHO	;BG6;10;CDF 00%2;0;0
		EMBG6,	"E^100+"6&3777;1;EMSTRT	;BG6;10;CDF 00%2;0;0

		IFZERO BGMAX-7&4000 <
		KHIBG7,	"I^100+"7&3777;1;KHIST	;BG7;10;CDF 00%2;0;0
		KHOBG7,	"O^100+"7&3777;0;KHO	;BG7;10;CDF 00%2;0;0
		EMBG7,	"E^100+"7&3777;1;EMSTRT	;BG7;10;CDF 00%2;0;0 >>>>>>>

004120  0000	LOADPT,	0		/ZERO IS TERMINATOR

		IFNZRO MAXNAM^10+TCBTAB-.&4000 <TCBOVF,XERROR> /TO MANY TASKS !

004121  0000		ZBLOCK MAXNAM^10+TCBTAB-. /THE REST OF TCBTAB IS
						  /FOR DISK-RESIDENT TASKS
004470  0000		ZBLOCK .+200&7600-.&7770  /USE THE REST OF THIS PAGE TOO !
	4600		*.

		IFNZRO PASS1 <ENDF00=.-1>
		IFZERO ENDF00+200&4000 <F00ERR,XERROR /CORE OVERFLOW >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 157




		/**********************************************************
		/**********  D A T A   A R E A    F I E L D   1  **********
		/**********************************************************

	0001		FIELD 1
	3000		*DOTF10
		IFNZRO BGMAX <
		/THE TERMINAL BUFFERS AND THE TERMINAL BUFFER POOL
	7740		O=-BSIZE
	3000		*.+BSIZE-1&O	/BUFFERS START AT 'NICE' ADDRESS
		IFZERO BGMAX-1&4000 <
013000  0000	BG1IN,	0;"R;215;ZBLOCK BSIZE-3	/FIRST BLOCK OF INPUT BUFFER
013001  0322
013002  0215
013003  0000
013040  0000	BG1OUT,	ZBLOCK BSIZE	/FIRST BLOCK OF OUTPUT BUFFER >
		IFZERO BGMAX-2&4000 <
013100  0000	BG2IN,	0;"R;215;ZBLOCK BSIZE-3	/FIRST BLOCK OF INPUT BUFFER
013101  0322
013102  0215
013103  0000
013140  0000	BG2OUT,	ZBLOCK BSIZE	/FIRST BLOCK OF OUTPUT BUFFER >
		IFZERO BGMAX-3&4000 <
		BG3IN,	0;"R;215;ZBLOCK BSIZE-3	/FIRST BLOCK OF INPUT BUFFER
		BG3OUT,	ZBLOCK BSIZE	/FIRST BLOCK OF OUTPUT BUFFER >
		IFZERO BGMAX-4&4000 <
		BG4IN,	0;"R;215;ZBLOCK BSIZE-3	/FIRST BLOCK OF INPUT BUFFER
		BG4OUT,	ZBLOCK BSIZE	/FIRST BLOCK OF OUTPUT BUFFER >
		IFZERO BGMAX-5&4000 <
		BG5IN,	0;"R;215;ZBLOCK BSIZE-3	/FIRST BLOCK OF INPUT BUFFER
		BG5OUT,	ZBLOCK BSIZE	/FIRST BLOCK OF OUTPUT BUFFER >
		IFZERO BGMAX-6&4000 <
		BG6IN,	0;"R;215;ZBLOCK BSIZE-3	/FIRST BLOCK OF INPUT BUFFER
		BG6OUT,	ZBLOCK BSIZE	/FIRST BLOCK OF OUTPUT BUFFER >
		IFZERO BGMAX-7&4000 <
		BG7IN,	0;"R;215;ZBLOCK BSIZE-3	/FIRST BLOCK OF INPUT BUFFER
		BG7OUT,	ZBLOCK BSIZE	/FIRST BLOCK OF OUTPUT BUFFER >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 158




013200  0000		ZBLOCK BSIZE	/LAST BLOCK IN THE POOL
		IFNZRO POOLN-1&1 <
013240  3200		.-BSIZE;ZBLOCK BSIZE-1 >
013241  0000
		IFNZRO POOLN-1&2 <
013300  3240		.-BSIZE;ZBLOCK BSIZE-1
013301  0000
013340  3300		.-BSIZE;ZBLOCK BSIZE-1 >
013341  0000
		IFNZRO POOLN-1&4 <
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1 >
		IFNZRO POOLN-1&10 <
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1 >
		IFNZRO POOLN-1&20 <
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1 >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 159




		IFNZRO POOLN-1&40 <
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1
			.-BSIZE;ZBLOCK BSIZE-1 >
013400  3340	FQLAST,	.-BSIZE;ZBLOCK BSIZE-1 /LAST BLOCK OF FREE QUEUE
013401  0000


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 160




013440  3466	FRESLT,	FBLKO			/POINTER TO FREE SLOT IN SWPTAB
013441  0000	BSTAB,	0			/STARTBLOCK OF SWPFIL.M8
		IFZERO BGMAX-1&4000 <
	0001		BGID=BG1-BGDATA+1
013442  0001		0000+BGID		/BG1, FIELD 0
		IFNDEF SINGL8 <
013443  0000		ZBLOCK	BGFLDS-1	/REAL MEMORY INITIALLY EMPTY >
013447  1001		1000+BGID		/BG1, FIELD 1
		IFZERO BGCORE-3&4000 <
013450  2001		2000+BGID		/BG1, FIELD 2 >
		IFZERO BGCORE-4&4000 <
013451  3001		3000+BGID		/BG1, FIELD 3 >
		IFZERO BGCORE-5&4000 <
013452  4001		4000+BGID		/BG1, FIELD 4 >
		IFZERO BGCORE-6&4000 <
013453  5001		5000+BGID		/BG1, FIELD 5 >
		IFZERO BGCORE-7&4000 <
013454  6001		6000+BGID		/BG1, FIELD 6 >
		IFZERO BGCORE-10&4000 <
013455  7001		7000+BGID		/BG1, FIELD 7 >>
		IFZERO BGMAX-2&4000 <
	0067		BGID=BG2-BGDATA+1
013456  0067		0000+BGID		/BG2, FIELD 0
013457  1067		1000+BGID		/BG2, FIELD 1
		IFZERO BGCORE-3&4000 <
013460  2067		2000+BGID		/BG2, FIELD 2 >
		IFZERO BGCORE-4&4000 <
013461  3067		3000+BGID		/BG2, FIELD 3 >
		IFZERO BGCORE-5&4000 <
013462  4067		4000+BGID		/BG2, FIELD 4 >
		IFZERO BGCORE-6&4000 <
013463  5067		5000+BGID		/BG2, FIELD 5 >
		IFZERO BGCORE-7&4000 <
013464  6067		6000+BGID		/BG2, FIELD 6 >
		IFZERO BGCORE-10&4000 <
013465  7067		7000+BGID		/BG2, FIELD 7 >>
		IFZERO BGMAX-3&4000 <
			BGID=BG3-BGDATA+1
			0000+BGID		/BG3, FIELD 0
			1000+BGID		/BG3, FIELD 1
		IFZERO BGCORE-3&4000 <
			2000+BGID		/BG3, FIELD 2 >
		IFZERO BGCORE-4&4000 <
			3000+BGID		/BG3, FIELD 3 >
		IFZERO BGCORE-5&4000 <
			4000+BGID		/BG3, FIELD 4 >
		IFZERO BGCORE-6&4000 <
			5000+BGID		/BG3, FIELD 5 >
		IFZERO BGCORE-7&4000 <
			6000+BGID		/BG3, FIELD 6 >
		IFZERO BGCORE-10&4000 <
			7000+BGID		/BG3, FIELD 7 >>


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 160-1

		IFZERO BGMAX-4&4000 <
			BGID=BG4-BGDATA+1
			0000+BGID		/BG4, FIELD 0
			1000+BGID		/BG4, FIELD 1
		IFZERO BGCORE-3&4000 <
			2000+BGID		/BG4, FIELD 2 >
		IFZERO BGCORE-4&4000 <
			3000+BGID		/BG4, FIELD 3 >
		IFZERO BGCORE-5&4000 <
			4000+BGID		/BG4, FIELD 4 >
		IFZERO BGCORE-6&4000 <
			5000+BGID		/BG4, FIELD 5 >
		IFZERO BGCORE-7&4000 <
			6000+BGID		/BG4, FIELD 6 >
		IFZERO BGCORE-10&4000 <
			7000+BGID		/BG4, FIELD 7 >>
		IFZERO BGMAX-5&4000 <
			BGID=BG5-BGDATA+1
			0000+BGID		/BG5, FIELD 0
			1000+BGID		/BG5, FIELD 1
		IFZERO BGCORE-3&4000 <
			2000+BGID		/BG5, FIELD 2 >
		IFZERO BGCORE-4&4000 <
			3000+BGID		/BG5, FIELD 3 >
		IFZERO BGCORE-5&4000 <
			4000+BGID		/BG5, FIELD 4 >
		IFZERO BGCORE-6&4000 <
			5000+BGID		/BG5, FIELD 5 >
		IFZERO BGCORE-7&4000 <
			6000+BGID		/BG5, FIELD 6 >
		IFZERO BGCORE-10&4000 <
			7000+BGID		/BG5, FIELD 7 >>
		IFZERO BGMAX-6&4000 <
			BGID=BG6-BGDATA+1
			0000+BGID		/BG6, FIELD 0
			1000+BGID		/BG6, FIELD 1
		IFZERO BGCORE-3&4000 <
			2000+BGID		/BG6, FIELD 2 >
		IFZERO BGCORE-4&4000 <
			3000+BGID		/BG6, FIELD 3 >
		IFZERO BGCORE-5&4000 <
			4000+BGID		/BG6, FIELD 4 >
		IFZERO BGCORE-6&4000 <
			5000+BGID		/BG6, FIELD 5 >
		IFZERO BGCORE-7&4000 <
			6000+BGID		/BG6, FIELD 6 >
		IFZERO BGCORE-10&4000 <
			7000+BGID		/BG6, FIELD 7 >>
		IFZERO BGMAX-7&4000 <
			BGID=BG7-BGDATA+1
			0000+BGID		/BG7, FIELD 0
			1000+BGID		/BG7, FIELD 1
		IFZERO BGCORE-3&4000 <
			2000+BGID		/BG7, FIELD 2 >
		IFZERO BGCORE-4&4000 <


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 160-2

			3000+BGID		/BG7, FIELD 3 >
		IFZERO BGCORE-5&4000 <
			4000+BGID		/BG7, FIELD 4 >
		IFZERO BGCORE-6&4000 <
			5000+BGID		/BG7, FIELD 5 >
		IFZERO BGCORE-7&4000 <
			6000+BGID		/BG7, FIELD 6 >
		IFZERO BGCORE-10&4000 <
			7000+BGID		/BG7, FIELD 7 >>
013466  0000	FBLKO,	0			/ONE EMPTY SLOT IN SWPFIL
	3447	SWPTAB=BSTAB+1+BGFLDS		/THESE 3 LISTS MUST BE TOGETHER!!!  >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 161




		IFDEF KL8XX <	/LIST FOR THE REENTRANT TTY DRIVERS
		IFNDEF KL8A1 <O=2>
		IFDEF KL8A1  <O=3>
		TT1LST,	0		/TTCHAR
			TTY1		/TTEVNT
			0		/TTRET
			TLS		/TTTLS
			ZBLOCK O	/TTSAV,(TTLINE),TTCOUNT
			-T1CHAR		/TTFCHR
			-T1FILL		/TTFILL
			0		/TTTMP
			T1BACK-210	/TTBACK MUST BE IN THIS ORDER!!
		KK1LST,	KB1
			-T1ESCP
		IFDEF KL8E2 <
		TT2LST,	0
			TTY2
			0
			6016+KL8E2
			ZBLOCK O
			-T2CHAR
			-T2FILL
			0
			T2BACK-210
		KK2LST,	KB2
			-T2ESCP	/ >
		IFDEF KL8E3<
		TT3LST,	0
			TTY3
			0
			6016+KL8E3
			ZBLOCK O
			-T3CHAR
			-T3FILL
			0
			T3BACK-210
		KK3LST,	KB3
			-T3ESCP	/ >
		IFDEF KL8E4 <
		TT4LST,	0
			TTY4
			0
			6016+KL8E4
			ZBLOCK O
			-T4CHAR
			-T4FILL
			0
			T4BACK-210
		KK4LST,	KB4
			-T4ESCP	/ >
		IFDEF KL8E5 <
		TT5LST,	0


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 161-1

			TTY5
			0
			6016+KL8E5
			ZBLOCK O
			-T5CHAR
			-T5FILL
			0
			T5BACK-210
		KK5LST,	KB5
			-T5ESCP	/ >
		IFDEF KL8E6<
		TT6LST,	0
			TTY6
			0
			6016+KL8E6
			ZBLOCK O
			-T6CHAR
			-T6FILL
			0
			T6BACK-210
		KK6LST,	KB6
			-T6ESCP	/ >
		IFDEF KL8E7 <
		TT7LST,	0
			TTY7
			0
			6016+KL8E7
			ZBLOCK O
			-T7CHAR
			-T7FILL
			0
			T7BACK-210
		KK7LST,	KB7
			-T7ESCP	/ >
		IFDEF KL8A1 <
		TY0LST,	0
			MUX1TT
			0
			KL8A1+6004
			0
			400^0
			0
			-C0CHAR
			-C0FILL
			0
			C0BACK-210
		KB0LST,	MUX1KB
			-C0ESCP
		TY1LST,	0
			MUX1TT+1
			0
			KL8A1+6004
			0
			400^1
			0


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 161-2

			-C1CHAR
			-C1FILL
			0
			C1BACK-210
		KB1LST,	MUX1KB+1
			-C1ESCP
		TY2LST,	0
			MUX1TT+2
			0
			KL8A1+6004
			0
			400^2
			0
			-C2CHAR
			-C2FILL
			0
			C2BACK-210
		KB2LST,	MUX1KB+2
			-C2ESCP
		TY3LST,	0
			MUX1TT+3
			0
			KL8A1+6004
			0
			400^3
			0
			-C3CHAR
			-C3FILL
			0
			C3BACK-210
		KB3LST,	MUX1KB+3
			-C3ESCP
					/END IFDEF KL8A1 >
					/END IFDEF KL8XX >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 162




		IFNZRO BGMAX <
		/DISPATCH TABLE FOR FAKEHANDLER:
013467  6263	HNDTAB,	-EMCHNL+EMDOT	/0 EMULATOR FOR CHANNEL 0-3
	0010		SYSCHN=.-HNDTAB^10
013470  0723		"D^100+"S&3777	/1  FOR SYSTEM-DISK PUBLIC DEVICES
		IFDEF DSK <
			DSKCHN=.-HNDTAB^10
			"D^100+"N&3777	/T  FOR NON-SYSTEM DISK PUBLIC DEVICES >
		IFDEF TAPE <
	0020		DTACHN=.-HNDTAB^10
013471  2705		"T^100+"E&3777	/U  FOR DTA0:-DTA7: (TUA0:-TUA7:) >
		IFDEF LPT <
	0030		LPTCHN=.-HNDTAB^10
013472  1705		"L^100+"E&3777	/V  FOR LPT: >
		IFDEF RXA <
			RXACHN=.-HNDTAB^10
			"F^100+"E&3777	/W  FOR RXA0:-RXA7: >
		IFDEF SYRL01 <RL01DS=1 >
		IFDEF NSRL01 <RL01DS=1>
		IFDEF RL01DS <
			RLCCHN=.-HNDTAB^10
			"D^100+"C&3777	/X  FOR RLC DEVICES >
		IFDEF CRD <
			CRDCHN=.-HNDTAB^10
			"K^100+"E&3777	/Y  FOR CDR: >
013473  7604	IFZERO HNDTAB+07-.&4000 <	-EMERROR+EMDOT	/ RESERVED >
013474  7604	IFZERO HNDTAB+07-.&4000 <	-EMERROR+EMDOT	/ RESERVED >
013475  7604	IFZERO HNDTAB+07-.&4000 <	-EMERROR+EMDOT	/ RESERVED >
013476  7604	IFZERO HNDTAB+07-.&4000 <	-EMERROR+EMDOT	/ RESERVED >
		IFZERO HNDTAB+07-.&4000 <	-EMERROR+EMDOT	/ RESERVED >
		IFZERO HNDTAB+07-.&4000 <	-EMERROR+EMDOT	/ RESERVED >
		IFNZRO HNDTAB+10-.&4000 <CHNOVR,__		/ >

		/TABLE OF EXECUTABLE IOT'S	/0=NOT EXECUTABLE
		/.GT.0="N^100+"A&3777 TASK'S NAME /.LT.0= RELATIVE DISTANCE TO SERVICE CODE
013477  7433	EMTAB,	-EM00+EMDOT	/600X
013500  0000		ZBLOCK EMTAB+3-.
013502  7775		-EM03+EMDOT	/603X
013503  7775		-EM03+EMDOT	/604X
013504  0000		ZBLOCK EMTAB+20-.
013517  7772		-EM20+EMDOT	/620X
013520  7772		-EM20+EMDOT	/621X
013521  7772		-EM20+EMDOT	/622X
013522  7772		-EM20+EMDOT	/623X
013523  7772		-EM20+EMDOT	/624X
013524  7772		-EM20+EMDOT	/625X
013525  7772		-EM20+EMDOT	/626X
013526  7772		-EM20+EMDOT	/627X 
		IFDEF KT8A <
			ZBLOCK EMTAB+30-.
013527  7773		-EM30+EMDOT	/630X
013530  7773		-EM30+EMDOT	/631X


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 162-1

013531  7773		-EM30+EMDOT	/632X
013532  7773		-EM30+EMDOT	/633X
013533  7773		-EM30+EMDOT	/634X
013534  7773		-EM30+EMDOT	/635X
013535  7773		-EM30+EMDOT	/636X
013536  7773		-EM30+EMDOT	/637X >
		IFDEF FPP <
			ZBLOCK EMTAB+55-.
			-EM55+EMDOT	/655X
			-EM55+EMDOT	/656X >
013537  0000		ZBLOCK EMTAB+77-.
013576  7766		-EMGIGA+EMDOT	/GIANT IOT =6770


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 163




		/
		/TABLE FOR GROUP 6200-6277 IOT'S WHICH NEED SPECIAL DECODING
		/
013577  7575	EM20TB,	-EMXNOP+EMDOT		/6200 LXM OF KT8A
013600  7704		-EMCDIF+EMDOT		/6201 CDF 0
013601  7704		-EMCDIF+EMDOT		/6202 CIF 0
013602  7704		-EMCDIF+EMDOT		/6203 CDI 0
013603  7604		-EMERROR+EMDOT		/6204 CINT: ????
013604  7575		-EMXNOP+EMDOT		/6205 CDF 100 OR DM8E: RTM
013605  7604		-EMERROR+EMDOT		/6206 CIF 100
013606  7604		-EMERROR+EMDOT		/6207 CDI 100
013607  7604		-EMERROR+EMDOT		/6210 GTS OF KT8A
013610  7704		-EMCDIF+EMDOT		/6211 CDF 10
013611  7704		-EMCDIF+EMDOT		/6212 CIF 10
013612  7704		-EMCDIF+EMDOT		/6213 CDI 10
013613  7604		-EMERROR+EMDOT		/6214 RDF (SHOULD UNTRAP)
013614  7575		-EMXNOP+EMDOT		/6215 CDF 110 OR DM8E: SKME
013615  7604		-EMERROR+EMDOT		/6216 CIF 110
013616  7604		-EMERROR+EMDOT		/6217 CDI 110
013617  7604		-EMERROR+EMDOT		/6220 RTS OF KT8A
		IFZERO BGCORE-3&4000 <
013620  7704		-EMCDIF+EMDOT		/6221 CDF 20
013621  7704		-EMCDIF+EMDOT		/6222 CIF 20
013622  7704		-EMCDIF+EMDOT		/6223 CDI 20 >
		IFNZRO BGCORE-3&4000 <
			-EMXNOP+EMDOT		/
			-EMERROR+EMDOT		/
			-EMERROR+EMDOT		/ >
013623  7604		-EMERROR+EMDOT		/6224 RIF (SHOULD UNTRAP)
013624  7575		-EMXNOP+EMDOT		/6225 CDF 120 OR DM8E: SKMM
013625  7604		-EMERROR+EMDOT		/6226 CIF 120
013626  7604		-EMERROR+EMDOT		/6227 CDI 120
013627  7575		-EMXNOP+EMDOT		/6230 RXM OF KT8A (NOP FOR ODT)
		IFZERO BGCORE-4&4000 <
013630  7704		-EMCDIF+EMDOT		/6231 CDF 30
013631  7704		-EMCDIF+EMDOT		/6232 CIF 30
013632  7704		-EMCDIF+EMDOT		/6233 CDI 30 >
		IFNZRO BGCORE-4&4000 <
			-EMXNOP+EMDOT		/
			-EMERROR+EMDOT		/
			-EMERROR+EMDOT		/ >
013633  7604		-EMERROR+EMDOT		/6234 RIB
013634  7575		-EMXNOP+EMDOT		/6235 CDF 130 OR DM8E: LTM
013635  7604		-EMERROR+EMDOT		/6236 CIF 130
013636  7604		-EMERROR+EMDOT		/6237 CDI 130
013637  7604		-EMERROR+EMDOT		/6240 LRR OF KT8A
		IFZERO BGCORE-5&4000 <
013640  7704		-EMCDIF+EMDOT		/6241 CDF 40
013641  7704		-EMCDIF+EMDOT		/6242 CIF 40
013642  7704		-EMCDIF+EMDOT		/6243 CDI 40 >
		IFNZRO BGCORE-5&4000 <
			-EMXNOP+EMDOT		/


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 163-1

			-EMERROR+EMDOT		/
			-EMERROR+EMDOT		/ >
013643  7604		-EMERROR+EMDOT		/6244 RMF
013644  7575		-EMXNOP+EMDOT		/6245 CDF 140 OR DM8E: LRM
013645  7604		-EMERROR+EMDOT		/6246 CIF 140
013646  7604		-EMERROR+EMDOT		/6247 CDI 140
013647  7604		-EMERROR+EMDOT		/6250 RRR OF KT8A
		IFZERO BGCORE-6&4000 <
013650  7704		-EMCDIF+EMDOT		/6251 CDF 50
013651  7704		-EMCDIF+EMDOT		/6252 CIF 50
013652  7704		-EMCDIF+EMDOT		/6253 CDI 50 >
		IFNZRO BGCORE-6&4000 <
			-EMXNOP+EMDOT		/
			-EMERROR+EMDOT		/
			-EMERROR+EMDOT		/ >
013653  7576		-EMXSKP+EMDOT		/6254 SINT: SKIP-0N-MULTI8
013654  7575		-EMXNOP+EMDOT		/6255 CDF 150
013655  7604		-EMERROR+EMDOT		/6256 CIF 150
013656  7604		-EMERROR+EMDOT		/6257 CDI 150
013657  7604		-EMERROR+EMDOT		/6260 LUSR OF KT8A
		IFZERO BGCORE-7&4000 <
013660  7704		-EMCDIF+EMDOT		/6261 CDF 60
013661  7704		-EMCDIF+EMDOT		/6262 CIF 60
013662  7704		-EMCDIF+EMDOT		/6263 CDI 60 >
		IFNZRO BGCORE-7&4000 <
			-EMXNOP+EMDOT		/
			-EMERROR+EMDOT		/
			-EMERROR+EMDOT		/ >
013663  6772		-EMSPY+EMDOT		/6264 CUF: LOOK-INTO-REAL-MEMORY
013664  7575		-EMXNOP+EMDOT		/6265 CDF 160 OR DM8E: SMME
013665  7604		-EMERROR+EMDOT		/6266 CIF 160
013666  7604		-EMERROR+EMDOT		/6267 CDI 160
013667  7604		-EMERROR+EMDOT		/6270 RUSR OF KT8A
		IFZERO BGCORE-10&4000 <
013670  7704		-EMCDIF+EMDOT		/6271 CDF 70
013671  7704		-EMCDIF+EMDOT		/6272 CIF 70
013672  7704		-EMCDIF+EMDOT		/6273 CDI 70 >
		IFNZRO BGCORE-10&4000 <
			-EMXNOP+EMDOT		/
			-EMERROR+EMDOT		/
			-EMERROR+EMDOT		/ >
013673  7604		-EMERROR+EMDOT		/6274 SUF: ????
013674  7575		-EMXNOP+EMDOT		/6275 CDF 170 OR DM8E: CMME
013675  7604		-EMERROR+EMDOT		/6276 CIF 170
013676  7604		-EMERROR+EMDOT		/6277 CDI 170
			
		IFDEF KT8A <
		/
		/TABLE FOR GROUP 6300-6377 IOT'S WHICH NEED SPECIAL DECODING
		/
013677  7575	EM30TB,	-EMXNOP+EMDOT		/6300 CDTI OF DM8E
013700  7575		-EMXNOP+EMDOT		/6301 CDF 200
013701  7604		-EMERROR+EMDOT		/6302 CIF 200
013702  7604		-EMERROR+EMDOT		/6303 CDI 200
013703  7575		-EMXNOP+EMDOT		/6304 RTM OF DM8E


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 163-2

013704  7575		-EMXNOP+EMDOT		/6305 CDF 300
013705  7604		-EMERROR+EMDOT		/6306 CIF 300
013706  7604		-EMERROR+EMDOT		/6307 CDI 300
013707  7575		-EMXNOP+EMDOT		/6310 NOP
013710  7575		-EMXNOP+EMDOT		/6311 CDF 210
013711  7604		-EMERROR+EMDOT		/6312 CIF 210
013712  7604		-EMERROR+EMDOT		/6313 CDI 210
013713  7575		-EMXNOP+EMDOT		/6314 SKME OF DM8E
013714  7575		-EMXNOP+EMDOT		/6315 CDF 310 
013715  7604		-EMERROR+EMDOT		/6316 CIF 310
013716  7604		-EMERROR+EMDOT		/6317 CDI 310
013717  7575		-EMXNOP+EMDOT		/6320 NOP
013720  7575		-EMXNOP+EMDOT		/6321 CDF 220
013721  7604		-EMERROR+EMDOT		/6322 CIF 220
013722  7604		-EMERROR+EMDOT		/6323 CDI 220 
013723  7575		-EMXNOP+EMDOT		/6324 SKMM OF DM8E
013724  7575		-EMXNOP+EMDOT		/6325 CDF 320 
013725  7604		-EMERROR+EMDOT		/6326 CIF 320
013726  7604		-EMERROR+EMDOT		/6327 CDI 320
013727  7575		-EMXNOP+EMDOT		/6330 NOP
013730  7575		-EMXNOP+EMDOT		/6331 CDF 230
013731  7604		-EMERROR+EMDOT		/6332 CIF 230
013732  7604		-EMERROR+EMDOT		/6333 CDI 230 
013733  7575		-EMXNOP+EMDOT		/6334 LTM OF DM8E
013734  7575		-EMXNOP+EMDOT		/6335 CDF 330 
013735  7604		-EMERROR+EMDOT		/6336 CIF 330
013736  7604		-EMERROR+EMDOT		/6337 CDI 330
013737  7575		-EMXNOP+EMDOT		/6340 NOP
013740  7575		-EMXNOP+EMDOT		/6341 CDF 240
013741  7604		-EMERROR+EMDOT		/6342 CIF 240
013742  7604		-EMERROR+EMDOT		/6343 CDI 240 
013743  7575		-EMXNOP+EMDOT		/6344 LRM OF DM8E
013744  7575		-EMXNOP+EMDOT		/6345 CDF 340 
013745  7604		-EMERROR+EMDOT		/6346 CIF 340
013746  7604		-EMERROR+EMDOT		/6347 CDI 340
013747  7575		-EMXNOP+EMDOT		/6350 NOP
013750  7575		-EMXNOP+EMDOT		/6351 CDF 250
013751  7604		-EMERROR+EMDOT		/6352 CIF 250
013752  7604		-EMERROR+EMDOT		/6353 CDI 250
013753  7575		-EMXNOP+EMDOT		/6354 NOP
013754  7575		-EMXNOP+EMDOT		/6355 CDF 350
013755  7604		-EMERROR+EMDOT		/6356 CIF 350
013756  7604		-EMERROR+EMDOT		/6357 CDI 350
013757  7575		-EMXNOP+EMDOT		/6360 NOP
013760  7575		-EMXNOP+EMDOT		/6361 CDF 260
013761  7604		-EMERROR+EMDOT		/6362 CIF 260
013762  7604		-EMERROR+EMDOT		/6363 CDI 260 
013763  7575		-EMXNOP+EMDOT		/6364 SMME OF DM8E
013764  7575		-EMXNOP+EMDOT		/6365 CDF 360 
013765  7604		-EMERROR+EMDOT		/6366 CIF 360
013766  7604		-EMERROR+EMDOT		/6367 CDI 360
013767  7575		-EMXNOP+EMDOT		/6370 NOP
013770  7575		-EMXNOP+EMDOT		/6371 CDF 270
013771  7604		-EMERROR+EMDOT		/6372 CIF 270
013772  7604		-EMERROR+EMDOT		/6373 CDI 270


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 163-3

013773  7575		-EMXNOP+EMDOT		/6374 CMME OF DM8E
013774  7575		-EMXNOP+EMDOT		/6375 CDF 370 
013775  7604		-EMERROR+EMDOT		/6376 CIF 370
013776  7604		-EMERROR+EMDOT		/6377 CIF 370
		>


		/TABLE OF PROCESSOR (GROUP 00) IOT'S
013777  6312	EM00TB,	-EMHAND+EMDOT	/'SKON': IS HANDLER CALL IN MULTI8
014000  7604		-EMERROR+EMDOT	/'ION' : NOT ON VIRTUAL MACHINE
014001  7314		-EMREDY+EMDOT	/'IOF' : INTERRUPT IS VIRTUALLY OFF
014002  7314		-EMREDY+EMDOT	/'SRQ' : NO INTERRUPT REQUEST
014003  7604		-EMERROR+EMDOT	/'GTF' : NO GOOD
014004  7604		-EMERROR+EMDOT	/'RTF' : RESTORE WHAT?
		IFNDEF EAE <
			-EMREDY+EMDOT	/'SGT' : NO EAE, NO SKIP >
		IFDEF EAE <
014005  7325		-EMSGT+EMDOT	/'SGT' : EAE, TEST IF SKIP >
014006  7611		-EMCLCA+EMDOT	/'CAF' : DO ALL WE CAN

		/DISPATCH TABLE FOR TERMINAL IOT'S
014007  7021	EM03TB,	-DO6030+EMDOT		/6030
014010  7043		-DO6031+EMDOT		/6031
014011  7023		-DO6032+EMDOT		/6032
014012  7604		-EMERROR+EMDOT		/6033
014013  7002		-DO6034+EMDOT		/6034
014014  7604		-EMERROR+EMDOT		/6035
014015  7026		-DO6036+EMDOT		/6036
014016  7604		-EMERROR+EMDOT		/6037
014017  7314		-EMREDY+EMDOT		/6040
014020  7576		-EMXSKP+EMDOT		/6041
014021  7314		-EMREDY+EMDOT		/6042
014022  7604		-EMERROR+EMDOT		/6043
014023  7127		-DO6044+EMDOT		/6044
014024  7604		-EMERROR+EMDOT		/6045
014025  7127		-DO6046+EMDOT		/6046
014026  7604		-EMERROR+EMDOT		/6047

		IFDEF FPP <
		/DISPATCH TABLE FOR FPP8A HARDWARE INSTRUCTIONS
		EM55TB,	-EMERROR+EMDOT	/FFST  : START MAINTENANCE FIRMWARE
			-EMXSKP+EMDOT	/FPINT : FPP IS ALWAYS READY
			-FPICL+EMDOT	/FPICL : CLEAR STATUS AND AC
			-FPCOM+EMDOT	/FPCOM : SET APTHI AND SELECT FP/DP
			-EMREDY+EMDOT	/FPHLT : IMPOSSIBLE FOR EMULATOR (BUT ^C)
			-FPST+EMDOT	/FPST  : SET APTLOW, START EMULATOR AND SKIP
			-FPRST+EMDOT	/FPRST : READ STATUS
			-FPIST+EMDOT	/FPIST : SKIP, READ STATUS, CLEAR STATUS
			-EMERROR+EMDOT	/6560  : NOT USED
			-EMERROR+EMDOT	/FMODE : ENTER MAINTENANCE MODE
			-EMERROR+EMDOT	/6562  : NOT USED
			-EMERROR+EMDOT	/FMRB  : READ DATA BUFFER
			-EMERROR+EMDOT	/FMRP  : READ MUPC
			-EMERROR+EMDOT	/FMDO  : EXECUTE ONE STEP
			-EMERROR+EMDOT	/6566  : NOT USED


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 163-4

			-FPEP+EMDOT	/FPEP  : SELECT EP IF AC0=1


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 164




		/FPP EMULATOR INSTRUCTION DISPATCH LISTS

		SPCLST,	LDADX		/SPECIAL INSTRUCTIONS
			JUMPS
			FFJXN
			FFTRP3
			FFTRP4
			FFNOP		/LTR?
			FFNOP		/LEA,IMUL?
			FFNOP		/LEAI,IMULI?

		LAXLST,	FFLDX		/LDADX GROUP
			FFADDX
			FFNOP
			FFNOP
			FFNOP
			FFNOP
			FFNOP
			FFNOP

		JMPLST,	FFJEQ		/VARIOUS JUMP INSTR.
			FFJGE
			FFJLE
			FFJA
			FFJNE
			FFJLT
			FFJGT
			FFJAL
			FFSETX		/MUST FOLLOW JMPLST
			FFSETB
			FFJSA
			FFJSR
			FFNOP
			FFNOP
			FFNOP
			FFNOP

		XRLST,	FFALN		/MAINLY XR INSTRUCTIONS
			FFATX		/LIST ONLY 7 LONG!
			FFXTA
			FFNOP
			FFSTRE
			FFNOP
			FFNOP

		OPRLST,	FFEXIT		/AND THE OPERATES
			FFPAUS
			FFCLA
			FFNEG
			FFNORM
			FFSTRF
			FFSTRD


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 164-1

			FFJAC		/ END IFDEF FPP >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 165




		/TABLE OF "GIANT IOT'S", UAC IS INDEX AFTER 6770
014027  6562	GIGATB,	-EMTIME+EMDOT	/0 TIME-OF-DAY REQUEST
014030  7727		-EMNUMB+EMDOT	/1 GET MACHINE AND TERMINAL NUMBER
014031  7550		-EMQUIT+EMDOT	/2 DISABLE KEYBOARD ECHO
014032  7547		-EMECHO+EMDOT	/3 ENABLE KEYBOARD ECHO
014033  2701		"T^100+"A&3777	/4 TALK
014034  6073		-EMOPEN+EMDOT	/5 OPEN/CLOSE PROCESSOR
014035  7172		-EMSTLL+EMDOT	/6 STALL THE BG FOR N SECONDS
014036  7177		-ACCRST+EMDOT	/7 RESET ACCOUNT REGISTERS
014037  7206		-ACCRD+EMDOT	/10 READ ACCOUNT REGISTERS
014040  7604		-EMERROR+EMDOT	/11 FREE SLOT
014041  7327		-EMVER+EMDOT	/12 6-BIT PACKED MULTI8 VERSION
014042  7435		-BGREL+EMDOT	/13 RELEASE DEVICES FOR INTERACTIVE JOB
014043  7604		-EMERROR+EMDOT	/14 RESERVED
014044  7604		-EMERROR+EMDOT	/15 RESERVED
014045  7604		-EMERROR+EMDOT	/16 RESERVED
014046  7604		-EMERROR+EMDOT	/17 RESERVED
014047  0000		ZBLOCK GIGATB+GIGAMX-.	/END OF GIGATB



/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 166




		/DEFINITIONS FOR BG DATA AREA;ALL RELATIVE

		BGDATA,
	0000	BG1,	RELOC 0		/ALL FOLLOWING SYMBOLS ARE RELATIVE

010000* 5400	USTAT,	INACTIVE+BGSTOP+ONDISK	/STATUS WORD
010001* 0000	UMQ,	0		/USERS MEMORY QUOTIENT REGISTER
010002* 0000	USC,	0		/MSS.SSS.FFF.XXXA/B MODE,
					/STEPCOUNTER AND LOCKED FIELD
010003* 7201	UPC,	7201		/USERS CURRENT PROGRAM COUNTER
010004* 0100	UFLDS,	100		/LGX.XXU.III.FFF: LINK, GREATER-THAN,
					/USER MODE, VIRTUAL INSTRUCTION & DATAFIELD
010005* 0000	UAC,	0		/USERS CURRENT ACCUMULATOR
010006* 0000	UINST,	0		/LAST EMULATED INSTRUCTION
010007* 0000	USW,	0		/USERS SWITCH REGISTER (VIRTUAL)
010010* 0000	UTEMP,	0		/SCRATCH LOCATION #1
010011* 0000	UTEM2,	0		/SCRATCH LOCATION #2
010012* 0000	UDTV,	ZBLOCK 3	/TRANSFER VECTOR
010015* 0000	UASEM,	ZBLOCK ASEMMX	/EMULATORS PLUG THEIR NAMES HERE
010025* 0003	UBUFIN,	3		/COUNTER OF INPUT BUFFER
010026* 3001		BG1IN+1		/READ POINTER
010027* 3004		BG1IN+1+3	/WRITE POINTER
010030* 0000	UBUFOUT,0		/COUNTER OF OUTPUT BUFFER
010031* 3041		BG1OUT+1	/READ POINTER
010032* 3041		BG1OUT+1	/WRITE POINTER
010033* 4054	UWRTR,	KHOBG1+4	/TCBP OF OUTPUT WRITER
010034* 4064	UCUR,	EMBG1+4		/TCBP OF EMULATOR
		IFDEF USESY1 <
010035* 2631	UCHNL0,	USYS1		/DRIVER FOR USERS' SYS: >
		IFNDEF USESY1 <
		UCHNL0,	"D^100+"K&3777	/DRIVER FOR USERS' SYS: >

010036* 4511	UNUMB,	4511		/FILE STRUCTURED, DEVICE TYPE 51, UNIT #
010037* 2631		"S^100+"Y&3777	/ENTRY FOR DSK0:
010040* 6500		6500		/READ ONLY, OS/8 SYSTEM, UNIT 0
010041* 0000		ZBLOCK 4	/CHANNEL 2-3
010045* 0000	UECHO,	0		/ECHO FLAG, 4000=NO ECHO
		IFNDEF SINGL8 <
010046* 0030	UFLD0,	FIELDS^10	/FIRST FIELD OF BG1 IN CORE
010047* 0000		ZBLOCK BGCORE-1	/TABLE OF REAL FIELDS, 0=NOT-RESIDENT >
		IFDEF SINGL8 <
		UFLD0,	20;30;40;50	/ALL FIELDS IN CORE FOR BG1 >
010056* 0000	UCHAR,	0		/THE CURRENT INPUT CHARACTER
		IFZERO TTYMAX-1&4000 <
010057* 4034	UKB,	K1TCBP+0	/TCBP OF INPUT TASK
010060* 4024	UTTY,	T1TCBP+0	/TCBP OF OUTPUT HANDLER >
		IFNZRO TTYMAX-1&4000 <
		UKB,	0		/DETACHED BACKBGOUND
		UTTY,	0		/DETACHED BACKGROUND >
010061* 0000	UCOUNT,	0		/COUNTER FOR "BS"
010062* 0035	USLOT,	MAXSLOT+1	/WAIT-FOR-BG-IN-CORE SLOT
010063* 0000	UACCNT,	ZBLOCK 2	/LOWORDER, HIGHORDER CPU USAGE


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 166-1

					/IN UNITS OF DGNTICK
		IFDEF FPP <
		UFPST,	0		/FPP STATUS
		UAPTH,	0		/HIGH 3 BITS OF APT ADDRESS
		UAPTL,	0		/LOW 12 BITS OF APT ADDRES >
		UNEXT,
010065* 4145	IFNZRO BGMAX-1 <BG2	/POINTER TO NEXT BG >
		IFZERO BGMAX-1 <BG1	/POINTER TO FIRST BG >
	0066	UEND=.			/END FOR THIS BG

	4145		RELOC		/END OF RELATIVE DEFINITIONS


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 167




		IFZERO BGMAX-2&4000 <	/THE SECOND BG:
	0000	BG2,	RELOC 0		/ALL FOLLOWING SYMBOLS ARE RELATIVE

010000* 5400	USTAT,	INACTIVE+BGSTOP+ONDISK	/STATUS FOR BACKGROUND SCHEDULER
010001* 0000	UMQ,	0		/USERS MEMORY QUOTIENT REGISTER
010002* 0000	USC,	0		/MSS.SSS.FFF.XXXA/B MODE,
					/STEPCOUNTER AND LOCKED FIELD
010003* 7201	UPC,	7201		/USERS CURRENT PROGRAM COUNTER
010004* 0100	UFLDS,	100		/LGX.XXU.III.FFF: LINK, GREATER-THAN,
					/USER MODE, VIRTUAL INSTRUCTION & DATAFIELD
010005* 0000	UAC,	0		/USERS CURRENT ACCUMULATOR
010006* 0000	UINST,	0		/LAST EMULATED INSTRUCTION
010007* 0000	USW,	0		/USERS SWITCH REGISTER (VIRTUAL)
010010* 0000	UTEMP,	0		/SCRATCH LOCATION #1
010011* 0000	UTEM2,	0		/SCRATCH LOCATION #2
010012* 0000	UDTV,	ZBLOCK 3	/TRANSFER VECTOR
010015* 0000	UASEM,	ZBLOCK ASEMMX	/EMULATORS PLUG THEIR NAMES HERE
010025* 0003	UBUFIN,	3		/COUNTER OF INPUT BUFFER
010026* 3101		BG2IN+1		/READ POINTER
010027* 3104		BG2IN+1+3	/WRITE POINTER
010030* 0000	UBUFOUT,0		/COUNTER OF OUTPUT BUFFER
010031* 3141		BG2OUT+1	/READ POINTER
010032* 3141		BG2OUT+1	/WRITE POINTER
010033* 4104	UWRTR,	KHOBG2+4	/TCBP OF OUTPUT WRITER
010034* 4114	UCUR,	EMBG2+4		/TCBP OF EMULATOR
		IFDEF USESY2 <
010035* 2631	UCHNL0,	USYS2		/DRIVER FOR USERS' SYS: >
		IFNDEF USESY2 <
		UCHNL0,	"D^100+"K&3777	/DRIVER FOR USERS' SYS: >

010036* 4522	UNUMB,	4522		/FILE STRUCTURED, DEVICE TYPE 52, UNIT #
010037* 2631		"S^100+"Y&3777	/ENTRY FOR DSK0:
010040* 6500		6500		/READ ONLY, OS/8 SYSTEM, UNIT 0
010041* 0000		ZBLOCK 4	/CHANNEL 2-3
010045* 0000	UECHO,	0		/ECHO FLAG, 4000=NO ECHO
		IFNDEF SINGL8 <
010046* 0000	UFLD0,	ZBLOCK BGCORE	/TABLE OF REAL FIELDS >
		IFDEF SINGL8 <
		UFLD0,	60;70;0;0	/FIELD 0 & 1 IN CORE FOR BG2 >
010056* 0000	UCHAR,	0		/THE CURRENT INPUT CHARACTER
		IFZERO TTYMAX-2&4000 <
		UKB,	K1TCBP+20	/TCBP OF INPUT TASK
		UTTY,	T1TCBP+20	/TCBP OF OUTPUT HANDLER >
		IFNZRO TTYMAX-2&4000 <
010057* 0000	UKB,	0		/DETACHED BACKBGOUND
010060* 0000	UTTY,	0		/DETACHED BACKGROUND >
010061* 0000	UCOUNT,	0		/COUNTER FOR "BS"
010062* 0036	USLOT,	MAXSLOT+2	/WAIT-FOR-BG-IN-CORE SLOT
010063* 0000	UACCNT,	ZBLOCK 2	/LOWORDER, HIGHORDER CPU USAGE
					/IN UNITS OF DGNTICK
		IFDEF FPP <
		UFPST,	0		/FPP STATUS


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 167-1

		UAPTH,	0		/HIGH 3 BITS OF APT ADDRESS
		UAPTL,	0		/LOW 12 BITS OF APT ADDRES >
		UNEXT,
010065* 4057	IFZERO BGMAX-2 <BG1>	/POINTER TO FIRST BG
		IFNZRO BGMAX-2 <BG3>	/POINTER TO NEXT BG
	0066	UEND=.			/END FOR THIS BG

	4233		RELOC		/END OF RELATIVE DEFINITIONS >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 168




		IFZERO BGMAX-3&4000 <	/THE THIRD BG:
		BG3,	RELOC 0		/ALL FOLLOWING SYMBOLS ARE RELATIVE

		USTAT,	INACTIVE+BGSTOP+ONDISK	/STATUS FOR BACKGROUND SCHEDULER
		UMQ,	0		/USERS MEMORY QUOTIENT REGISTER
		USC,	0		/MSS.SSS.FFF.XXXA/B MODE,
					/STEPCOUNTER AND LOCKED FIELD
		UPC,	7201		/USERS CURRENT PROGRAM COUNTER
		UFLDS,	100		/LGX.XXU.III.FFF: LINK, GREATER-THAN,
					/USER MODE, VIRTUAL INSTRUCTION & DATAFIELD
		UAC,	0		/USERS CURRENT ACCUMULATOR
		UINST,	0		/LAST EMULATED INSTRUCTION
		USW,	0		/USERS SWITCH REGISTER (VIRTUAL)
		UTEMP,	0		/SCRATCH LOCATION #1
		UTEM2,	0		/SCRATCH LOCATION #2
		UDTV,	ZBLOCK 3	/TRANSFER VECTOR
		UASEM,	ZBLOCK ASEMMX	/EMULATORS PLUG THEIR NAMES HERE
		UBUFIN,	3		/COUNTER OF INPUT BUFFER
			BG3IN+1		/READ POINTER
			BG3IN+1+3	/WRITE POINTER
		UBUFOUT,0		/COUNTER OF OUTPUT BUFFER
			BG3OUT+1	/READ POINTER
			BG3OUT+1	/WRITE POINTER
		UWRTR,	KHOBG3+4	/TCBP OF OUTPUT WRITER
		UCUR,	EMBG3+4		/TCBP OF EMULATOR
		IFDEF USESY3 <
		UCHNL0,	USYS3		/DRIVER FOR USERS' SYS: >
		IFNDEF USESY3 <
		UCHNL0,	"D^100+"K&3777	/DRIVER FOR USERS' SYS: >

		UNUMB,	4533		/FILE STRUCTURED, DEVICE TYPE 53, UNIT #
			"S^100+"Y&3777	/ENTRY FOR DSK0:
			6500		/READ ONLY, OS/8 SYSTEM, UNIT 0
			ZBLOCK 4	/CHANNEL 2-3
		UECHO,	0		/ECHO FLAG, 4000=NO ECHO
		UFLD0,	ZBLOCK BGCORE	/TABLE OF REAL FIELDS
		UCHAR,	0		/THE CURRENT INPUT CHARACTER
		IFZERO TTYMAX-3&4000 <
		UKB,	K1TCBP+40	/TCBP OF INPUT TASK
		UTTY,	T1TCBP+40	/TCBP OF OUTPUT HANDLER >
		IFNZRO TTYMAX-3&4000 <
		UKB,	0		/DETACHED BACKBGOUND
		UTTY,	0		/DETACHED BACKGROUND >
		UCOUNT,	0		/COUNTER FOR "BS"
		USLOT,	MAXSLOT+3	/WAIT-FOR-BG-IN-CORE SLOT
		UACCNT,	ZBLOCK 2	/LOWORDER, HIGHORDER CPU USAGE
					/IN UNITS OF DGNTICK
		IFDEF FPP <
		UFPST,	0		/FPP STATUS
		UAPTH,	0		/HIGH 3 BITS OF APT ADDRESS
		UAPTL,	0		/LOW 12 BITS OF APT ADDRES >
		UNEXT,


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 168-1

		IFZERO BGMAX-3 <BG1>	/POINTER TO FIRST BG
		IFNZRO BGMAX-3 <BG4>	/POINTER TO NEXT BG
		UEND=.			/END FOR THIS BG

			RELOC		/END OF RELATIVE DEFINITIONS >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 169




		IFZERO BGMAX-4&4000 <	/THE FOURTH BG:
		BG4,	RELOC 0		/ALL FOLLOWING SYMBOLS ARE RELATIVE

		USTAT,	INACTIVE+BGSTOP+ONDISK	/STATUS FOR BACKGROUND SCHEDULER
		UMQ,	0		/USERS MEMORY QUOTIENT REGISTER
		USC,	0		/MSS.SSS.FFF.XXXA/B MODE,
					/STEPCOUNTER AND LOCKED FIELD
		UPC,	7201		/USERS CURRENT PROGRAM COUNTER
		UFLDS,	100		/LGX.XXU.III.FFF: LINK, GREATER-THAN,
					/USER MODE, VIRTUAL INSTRUCTION & DATAFIELD
		UAC,	0		/USERS CURRENT ACCUMULATOR
		UINST,	0		/LAST EMULATED INSTRUCTION
		USW,	0		/USERS SWITCH REGISTER (VIRTUAL)
		UTEMP,	0		/SCRATCH LOCATION #1
		UTEM2,	0		/SCRATCH LOCATION #2
		UDTV,	ZBLOCK 3	/TRANSFER VECTOR
		UASEM,	ZBLOCK ASEMMX	/EMULATORS PLUG THEIR NAMES HERE
		UBUFIN,	3		/COUNTER OF INPUT BUFFER
			BG4IN+1		/READ POINTER
			BG4IN+1+3	/WRITE POINTER
		UBUFOUT,0		/COUNTER OF OUTPUT BUFFER
			BG4OUT+1	/READ POINTER
			BG4OUT+1	/WRITE POINTER
		UWRTR,	KHOBG4+4	/TCBP OF OUTPUT WRITER
		UCUR,	EMBG4+4		/TCBP OF EMULATOR
		IFDEF USESY4 <
		UCHNL0,	USYS4		/DRIVER FOR USERS' SYS: >
		IFNDEF USESY4 <
		UCHNL0,	"D^100+"K&3777	/DRIVER FOR USERS' SYS: >

		UNUMB,	4544		/FILE STRUCTURED, DEVICE TYPE 54, UNIT #
			"S^100+"Y&3777	/ENTRY FOR DSK0:
			6500		/READ ONLY, OS/8 SYSTEM, UNIT 0
			ZBLOCK 4	/CHANNEL 2-3
		UECHO,	0		/ECHO FLAG, 4000=NO ECHO
		UFLD0,	ZBLOCK BGCORE	/TABLE OF REAL FIELDS
		UCHAR,	0		/THE CURRENT INPUT CHARACTER
		IFZERO TTYMAX-4&4000 <
		UKB,	K1TCBP+60	/TCBP OF INPUT TASK
		UTTY,	T1TCBP+60	/TCBP OF OUTPUT HANDLER >
		IFNZRO TTYMAX-4&4000 <
		UKB,	0		/DETACHED BACKBGOUND
		UTTY,	0		/DETACHED BACKGROUND >
		UCOUNT,	0		/COUNTER FOR "BS"
		USLOT,	MAXSLOT+4	/WAIT-FOR-BG-IN-CORE SLOT
		UACCNT,	ZBLOCK 2	/LOWORDER, HIGHORDER CPU USAGE
					/IN UNITS OF DGNTICK
		IFDEF FPP <
		UFPST,	0		/FPP STATUS
		UAPTH,	0		/HIGH 3 BITS OF APT ADDRESS
		UAPTL,	0		/LOW 12 BITS OF APT ADDRES >
		UNEXT,


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 169-1

		IFZERO BGMAX-4 <BG1>	/POINTER TO FIRST BG
		IFNZRO BGMAX-4 <BG5>	/POINTER TO NEXT BG
		UEND=.			/END FOR THIS BG

			RELOC		/END OF RELATIVE DEFINITIONS >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 170




		IFZERO BGMAX-5&4000 <	/THE FIFTH BG:
		BG5,	RELOC 0		/ALL FOLLOWING SYMBOLS ARE RELATIVE

		USTAT,	INACTIVE+BGSTOP+ONDISK	/STATUS FOR BACKGROUND SCHEDULER
		UMQ,	0		/USERS MEMORY QUOTIENT REGISTER
		USC,	0		/MSS.SSS.FFF.XXXA/B MODE,
					/STEPCOUNTER AND LOCKED FIELD
		UPC,	7201		/USERS CURRENT PROGRAM COUNTER
		UFLDS,	100		/LGX.XXU.III.FFF: LINK, GREATER-THAN,
					/USER MODE, VIRTUAL INSTRUCTION & DATAFIELD
		UAC,	0		/USERS CURRENT ACCUMULATOR
		UINST,	0		/LAST EMULATED INSTRUCTION
		USW,	0		/USERS SWITCH REGISTER (VIRTUAL)
		UTEMP,	0		/SCRATCH LOCATION #1
		UTEM2,	0		/SCRATCH LOCATION #2
		UDTV,	ZBLOCK 3	/TRANSFER VECTOR
		UASEM,	ZBLOCK ASEMMX	/EMULATORS PLUG THEIR NAMES HERE
		UBUFIN,	3		/COUNTER OF INPUT BUFFER
			BG5IN+1		/READ POINTER
			BG5IN+1+3	/WRITE POINTER
		UBUFOUT,0		/COUNTER OF OUTPUT BUFFER
			BG5OUT+1	/READ POINTER
			BG5OUT+1	/WRITE POINTER
		UWRTR,	KHOBG5+4	/TCBP OF OUTPUT WRITER
		UCUR,	EMBG5+4		/TCBP OF EMULATOR
		IFDEF USESY5 <
		UCHNL0,	USYS5		/DRIVER FOR USERS' SYS: >
		IFNDEF USESY5 <
		UCHNL0,	"D^100+"K&3777	/DRIVER FOR USERS' SYS: >

		UNUMB,	4555		/FILE STRUCTURED, DEVICE TYPE 55, UNIT #
			"S^100+"Y&3777	/ENTRY FOR DSK0:
			6500		/READ ONLY, OS/8 SYSTEM, UNIT 0
			ZBLOCK 4	/CHANNEL 2-3
		UECHO,	0		/ECHO FLAG, 4000=NO ECHO
		UFLD0,	ZBLOCK BGCORE	/TABLE OF REAL FIELDS
		UCHAR,	0		/THE CURRENT INPUT CHARACTER
		IFZERO TTYMAX-5&4000 <
		UKB,	K1TCBP+100	/TCBP OF INPUT TASK
		UTTY,	T1TCBP+100	/TCBP OF OUTPUT HANDLER >
		IFNZRO TTYMAX-5&4000 <
		UKB,	0		/DETACHED BACKBGOUND
		UTTY,	0		/DETACHED BACKGROUND >
		UCOUNT,	0		/COUNTER FOR "BS"
		USLOT,	MAXSLOT+5	/WAIT-FOR-BG-IN-CORE SLOT
		UACCNT,	ZBLOCK 2	/LOWORDER, HIGHORDER CPU USAGE
					/IN UNITS OF DGNTICK
		IFDEF FPP <
		UFPST,	0		/FPP STATUS
		UAPTH,	0		/HIGH 3 BITS OF APT ADDRESS
		UAPTL,	0		/LOW 12 BITS OF APT ADDRES >
		UNEXT,


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 170-1

		IFZERO BGMAX-5 <BG1>	/POINTER TO FIRST BG
		IFNZRO BGMAX-5 <BG6>	/POINTER TO NEXT BG
		UEND=.			/END FOR THIS BG

			RELOC		/END OF RELATIVE DEFINITIONS >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 171




		IFZERO BGMAX-6&4000 <	/THE SIXTH BG:
		BG6,	RELOC 0		/ALL FOLLOWING SYMBOLS ARE RELATIVE

		USTAT,	INACTIVE+BGSTOP+ONDISK	/STATUS FOR BACKGROUND SCHEDULER
		UMQ,	0		/USERS MEMORY QUOTIENT REGISTER
		USC,	0		/MSS.SSS.FFF.XXXA/B MODE,
					/STEPCOUNTER AND LOCKED FIELD
		UPC,	7201		/USERS CURRENT PROGRAM COUNTER
		UFLDS,	100		/LGX.XXU.III.FFF: LINK, GREATER-THAN,
					/USER MODE, VIRTUAL INSTRUCTION & DATAFIELD
		UAC,	0		/USERS CURRENT ACCUMULATOR
		UINST,	0		/LAST EMULATED INSTRUCTION
		USW,	0		/USERS SWITCH REGISTER (VIRTUAL)
		UTEMP,	0		/SCRATCH LOCATION #1
		UTEM2,	0		/SCRATCH LOCATION #2
		UDTV,	ZBLOCK 3	/TRANSFER VECTOR
		UASEM,	ZBLOCK ASEMMX	/EMULATORS PLUG THEIR NAMES HERE
		UBUFIN,	3		/COUNTER OF INPUT BUFFER
			BG6IN+1		/READ POINTER
			BG6IN+1+3	/WRITE POINTER
		UBUFOUT,0		/COUNTER OF OUTPUT BUFFER
			BG6OUT+1	/READ POINTER
			BG6OUT+1	/WRITE POINTER
		UWRTR,	KHOBG6+4	/TCBP OF OUTPUT WRITER
		UCUR,	EMBG6+4		/TCBP OF EMULATOR
		IFDEF USESY6 <
		UCHNL0,	USYS6		/DRIVER FOR USERS' SYS: >
		IFNDEF USESY6 <
		UCHNL0,	"D^100+"K&3777	/DRIVER FOR USERS' SYS: >

		UNUMB,	4566		/FILE STRUCTURED, DEVICE TYPE 56, UNIT #
			"S^100+"Y&3777	/ENTRY FOR DSK0:
			6500		/READ ONLY, OS/8 SYSTEM, UNIT 0
			ZBLOCK 4	/CHANNEL 2-3
		UECHO,	0		/ECHO FLAG, 4000=NO ECHO
		UFLD0,	ZBLOCK BGCORE	/TABLE OF REAL FIELDS
		UCHAR,	0		/THE CURRENT INPUT CHARACTER
		IFZERO TTYMAX-6&4000 <
		UKB,	K1TCBP+120	/TCBP OF INPUT TASK
		UTTY,	T1TCBP+120	/TCBP OF OUTPUT HANDLER >
		IFNZRO TTYMAX-6&4000 <
		UKB,	0		/DETACHED BACKBGOUND
		UTTY,	0		/DETACHED BACKGROUND >
		UCOUNT,	0		/COUNTER FOR "BS"
		USLOT,	MAXSLOT+6	/WAIT-FOR-BG-IN-CORE SLOT
		UACCNT,	ZBLOCK 2	/LOWORDER, HIGHORDER CPU USAGE
					/IN UNITS OF DGNTICK
		IFDEF FPP <
		UFPST,	0		/FPP STATUS
		UAPTH,	0		/HIGH 3 BITS OF APT ADDRESS
		UAPTL,	0		/LOW 12 BITS OF APT ADDRES >
		UNEXT,


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 171-1

		IFZERO BGMAX-6 <BG1>	/POINTER TO FIRST BG
		IFNZRO BGMAX-6 <BG7>	/POINTER TO NEXT BG
		UEND=.			/END FOR THIS BG

			RELOC		/END OF RELATIVE DEFINITIONS >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 172




		IFZERO BGMAX-7&4000 <	/THE SEVENTH BG:
		BG7,	RELOC 0		/ALL FOLLOWING SYMBOLS ARE RELATIVE

		USTAT,	INACTIVE+BGSTOP+ONDISK	/STATUS FOR BACKGROUND SCHEDULER
		UMQ,	0		/USERS MEMORY QUOTIENT REGISTER
		USC,	0		/MSS.SSS.FFF.XXXA/B MODE,
					/STEPCOUNTER AND LOCKED FIELD
		UPC,	7201		/USERS CURRENT PROGRAM COUNTER
		UFLDS,	100		/LGX.XXU.III.FFF: LINK, GREATER-THAN,
					/USER MODE, VIRTUAL INSTRUCTION & DATAFIELD
		UAC,	0		/USERS CURRENT ACCUMULATOR
		UINST,	0		/LAST EMULATED INSTRUCTION
		USW,	0		/USERS SWITCH REGISTER (VIRTUAL)
		UTEMP,	0		/SCRATCH LOCATION #1
		UTEM2,	0		/SCRATCH LOCATION #2
		UDTV,	ZBLOCK 3	/TRANSFER VECTOR
		UASEM,	ZBLOCK ASEMMX	/EMULATORS PLUG THEIR NAMES HERE
		UBUFIN,	3		/COUNTER OF INPUT BUFFER
			BG7IN+1		/READ POINTER
			BG7IN+1+3	/WRITE POINTER
		UBUFOUT,0		/COUNTER OF OUTPUT BUFFER
			BG7OUT+1	/READ POINTER
			BG7OUT+1	/WRITE POINTER
		UWRTR,	KHOBG7+4	/TCBP OF OUTPUT WRITER
		UCUR,	EMBG7+4		/TCBP OF EMULATOR
		IFDEF USESY7 <
		UCHNL0,	USYS7		/DRIVER FOR USERS' SYS: >
		IFNDEF USESY7 <
		UCHNL0,	"D^100+"K&3777	/DRIVER FOR USERS' SYS: >

		UNUMB,	4577		/FILE STRUCTURED, DEVICE TYPE 57, UNIT #
			"S^100+"Y&3777	/ENTRY FOR DSK0:
			6500		/READ ONLY, OS/8 SYSTEM, UNIT 0
			ZBLOCK 4	/CHANNEL 2-3
		UECHO,	0		/ECHO FLAG, 4000=NO ECHO
		UFLD0,	ZBLOCK BGCORE	/TABLE OF REAL FIELDS
		UCHAR,	0		/THE CURRENT INPUT CHARACTER
		IFZERO TTYMAX-7&4000 <
		UKB,	K1TCBP+140	/TCBP OF INPUT TASK
		UTTY,	T1TCBP+140	/TCBP OF OUTPUT HANDLER >
		IFNZRO TTYMAX-7&4000 <
		UKB,	0		/DETACHED BACKBGOUND
		UTTY,	0		/DETACHED BACKGROUND >
		UCOUNT,	0		/COUNTER FOR "BS"
		USLOT,	MAXSLOT+7	/WAIT-FOR-BG-IN-CORE SLOT
		UACCNT,	ZBLOCK 2	/LOWORDER, HIGHORDER CPU USAGE
					/IN UNITS OF DGNTICK
		IFDEF FPP <
		UFPST,	0		/FPP STATUS
		UAPTH,	0		/HIGH 3 BITS OF APT ADDRESS
		UAPTL,	0		/LOW 12 BITS OF APT ADDRES >
		UNEXT,	BG1		/NOTE! BG7 IS ALWAYS THE LAST ONE


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 172-1

		UEND=.			/END FOR THIS BG

			RELOC		/END OF RELATIVE DEFINITIONS >
					/END OF BGMAX CONDITIONAL >


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 173




		/END OF FIELD 1 DATA AREA.
	4400	PAGE
	4400	DOTF10=.
		IFNZRO PASS1 <
		ENDF10=DOTF10-1
		ENDF20=DOTF20-1
		ENDF30=DOTF30-1
		ENDF40=DOTF40-1
		ENDF50=DOTF50-1
		ENDF60=DOTF60-1
		ENDF70=DOTF70-1>


/M4.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 174






/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 175

		/M5.PA 01-02-2023
		/EQUATES:

	7746	JSW=7746	/ADDRESS OF OS/8 JOB STATUS WORD
	1000	NO=1000		/DON'T RESTART BIT IN JSW
	7607	SYSHND=7607	/ENTRYPOINT OF SYSTEM HANDLER
	7700	USR=7700	/USER SERVICE ROUTINE.
	0001	FETCH=1		/FETCH HANDLER REQUEST CODE
	0002	LOOKUP=2	/FILENAME LOOKUP REQUEST CODE
	0003	ENTER=3		/ENTER NEW OUTPUT FILE
	0004	CLOSE=4		/CLOSE PERMANENT FILE
	0005	CD=5		/COMMAND DECODE
	0010	USRIN=10	/CALL USR INTO CORE REQUEST CODE
	0011	USROUT=11	/DISMISS USR REQUEST CODE
	0012	INQUIRE=12	/GET DEVICE NUMBER REQUEST CODE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 176



	0003		FIELD BGFLD%10
	0000		*0
030000  0000	TEMP,	0
030001  0000	TEMP1,	0
030002  0000	TEMP2,	0
030003  0000	TEMP3,	0
030004  0000		ZBLOCK 3	/ODT BREAKPOINT
030007  0000	TEMP4,	0
030010  0000	AUTO10,	0
030011  0000	AUTO11,	0
030012  0000	AUTO12,	0
030013  0000	AUTO13,	0
030014  0000	AUTO14,	0
030015  0000	AUTO15,	0
030016  0000	AUTO16,	0
030017  0000	AUTO17,	0
030020  0000	TEMP5,	0
030021  0000	TEMP6,	0
030022  0000	TEMP7,	0
030023  0000	ZNUM,	0
030024  0000	BINAC,	0
030025  0000	CHANGD,	0	/IF ZERO, CORE IMAGE MUST BE SAVED
030026  7777	CHAIND,	-1	/CHAIN SWITCH
	0200		*200

030200  7300	PWRUP,	CLA CLL		/
030201  1177		TAD [NO		/SET NOT-RESTART BIT
030202  6201		CDF 0		//
030203  3576		DCA I [JSW	//
030204  1175		TAD [GTF	//
030205  3574		DCA I [200	//RESTORE SKIPCHAIN
030206  6231		CDF BGFLD	/
030207  7301		AC0001		/ON SYS:
030210  6212		CIF 10
030211  4573		JMS I [7700	/DELETE THE OLD COPY OF MULTI8.SV
030212  0004		   CLOSE	/SOME INEXPERIENCED USERS GET
030213  0352		   MULTI8	/VERY CONFUSED BY AN OLD DATE!!
030214  0000		   0		/0 MEANS DELETE
030215  7200		CLA		/SO WHAT?
030216  4572		JMS I [COPYZ	/COPY PAGE ZERO IN FOREGROUND FIELDS
030217  4571		JMS I [SETNAM	/ENTER PREASSEMBLED TASKS IN NAMLST
030220  4570		JMS I [LNKTCB	/LINK THE FREE TASK CONTROL BLOCKS
030221  4567		JMS I [SAVE	/SAVE THE COMPLETE IMAGE IN 'MULTI8.SV'
030222  5577		JMP I [STRT	/AND START TASKBUILDING PHASE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 177



030223  0000	SAVE,	0		/SAVE CORE IN 'MULTI8.SV'
030224  1025		TAD CHANGD
030225  7640		SZA CLA		/NEED TO SAVE ?
030226  5623		 JMP I SAVE	/NO, NOTHING CHANGED
030227  2025		ISZ CHANGD	/YES, RESET CHANGED FLAG
030230  1166		TAD [MULTI8
030231  3236		DCA STBLK
030232  7301		AC0001		/DEVICE IS SYS:
030233  6212		CIF 10		/
030234  4573		JMS I [7700	/LOOKUP THE FILE 'MULTI8.SV'
030235  0002		   LOOKUP
030236  0352	STBLK,	   MULTI8
030237  0000	LNGTH,	   0
030240  4314		 JMS NEWSAV	/CREATE THE SAVE FILE
030241  1237		TAD LNGTH	/GET MINUS FILE LENGTH
030242  1342		TAD NEWLEN
030243  7740		SMA SZA CLA	/LONG ENOUGH ?
030244  4314		 JMS NEWSAV	/TOO SHORT, MAKE A NEW SAVE FILE
030245  1236		TAD STBLK	/GET STARTING BLOCK NUMBER
030246  3255		DCA STBLK1	/AND MOVE IT TO THE FIRST WRITE REQUEST
030247  1236		TAD STBLK
030250  3565		DCA I [OFSET	/UPDATE OFFSET FOR TASKBUILDER
030251  6202		CIF 0		/WRITE THE CORE CONTROL BLOCK
030252  4564		JMS I [SYSHND	/IN THE FIRST BLOCK OF THE FILE
030253  4230		   4200+BGFLD
030254  0356		   CCB
030255  0000	STBLK1,	   0
030256  4563	ERR3,	 JMS I [ERROR	/?WRITING SYS:?
030257  1162		TAD [CCBLST-1	/POINTER TO CORE PARAMETERS LIST
030260  3010		DCA AUTO10	/WE USE IT IN SAVING THE FILE TOO
030261  1255		TAD STBLK1	/SET BLOCK NUMBER
030262  7001		IAC		/+1 FOR CCB
030263  3277		DCA STBLK2	/
030264  1356		TAD CCB		/NUMBER OF SEGMENTS
030265  3000		DCA TEMP	/IN COUNTER
030266  1410	SAVLOP,	TAD I AUTO10	/GET CORE ADDRESS
030267  3276		DCA ADR		/
030270  7330		AC4000		/SET WRITE-BIT
030271  1410		TAD I AUTO10	/
030272  3275		DCA FUN		/SET FUNCTION WORD
030273  6202		CIF 0		/WRITE THIS SEGMENT
030274  4564		JMS I [SYSHND	/
030275  0000	FUN,	   0
030276  0000	ADR,	   0
030277  0000	STBLK2,	   0
030300  4563	ERR3A,	 JMS I [ERROR	/?WRITING SYS:?


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 178



030301  1275		TAD FUN		/UPDATE BLOCKNUMBER
030302  0161		AND [3700
030303  7002		BSW
030304  7111		IAC CLL RAR	/ROUND UP TO # OF BLOCKS
030305  7450		SNA
030306  1160		 TAD [20
030307  1277		TAD STBLK2
030310  3277		DCA STBLK2
030311  2000		ISZ TEMP	/ALL SEGMENTS DONE ?
030312  5266		 JMP SAVLOP	/NO, CYCLE
030313  5623		JMP I SAVE	/YES, RETURN

030314  0000	NEWSAV,	0
030315  1256	ERR23A,	TAD ERR3
030316  3315		DCA ERR23A	/ONCE ONLY !
030317  1166		TAD [MULTI8
030320  3325		DCA STBLK0	/SETUP POINTER TO FILENAME
030321  7301		AC0001
030322  6212		CIF 10
030323  4573		JMS I [7700	/ENTER NEW FILE
030324  0003		   ENTER
030325  0352	STBLK0,	   MULTI8	/POINTER TO FILENAME
030326  0000	TENTLN,	   0
030327  4563	ERR4,	JMS I [ERROR	/CAN'T CLOSE SAVE FILE
030330  1326		TAD TENTLN
030331  7100		CLL
030332  1342		TAD NEWLEN
030333  7630		SZL CLA		/IS THIS HOLE LARGE ENOUGH ?
030334  4563	ERR4A,	 JMS I [ERROR	/NO, NO ROOM FOR MULTI8.SV
030335  7301		AC0001
030336  6212		CIF 10
030337  4573		JMS I [7700
030340  0004		   CLOSE
030341  0352		   MULTI8
030342  0114	NEWLEN,	   SVLNGT
030343  4563	ERR4B,	 JMS I [ERROR
030344  1342		TAD NEWLEN
030345  7041		CIA
030346  3237		DCA LNGTH
030347  1325		TAD STBLK0
030350  3236		DCA STBLK
030351  5714		JMP I NEWSAV	/RETURN TO MAIN SAVE ROUTINE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 179



		/DATA FOR SAVE ROUTINE:
		MULTI8,
		IFNDEF SINGL8 <
030352  1525		FILENAME MULTI8.SV	/ >
030353  1424
030354  1170
030355  2326
		IFDEF SINGL8 <
			FILENAME ZM16.SV	/ >

	0000	O1=0
030356  7774	CCB,	-FIELDS-1	/NUMBER OF SEGMENTS
030357  6233		CDF CIF BGFLD	/STARTING FIELD
030360  1000		STRT		/STARTING ADDRESS
030361  0000		0000		/JOB STATUS WORD
030362  0000	CCBLST,	0000		/SEGMENT FOR BGFLD
	3230		O=ENDPWR%2+BGFLD;O1=O+100%200+O1;O
	0015
030363  3230
		IFZERO FIELDS-7&4000 <
			0000		/SEGMENT FOR FIELD 6
			O=ENDF60%2+60;O1=O+100%200+O1;O	/ >
		IFZERO FIELDS-6&4000 <
			0000		/SEGMENT FOR FIELD 5
			O=ENDF50%2+50;O1=O+100%200+O1;O	/ >
		IFZERO FIELDS-5&4000 <
			0000		/SEGMENT FOR FIELD 4
			O=ENDF40%2+40;O1=O+100%200+O1;O	/ >
		IFZERO FIELDS-4&4000 <
			0000		/SEGMENT FOR FIELD 3
			O=ENDF30%2+30;O1=O+100%200+01;O	/ >
		IFZERO FIELDS-3&4000 <
030364  0000		0000		/SEGMENT FOR FIELD 2
	0120		O=ENDF20%2+20;O1=O+100%200+O1;O	/ >
	0016
030365  0120
030366  0000		0000		/SEGMENT FOR FIELD 1
	2210		O=ENDF10%2+10;O1=O+100%200+O1;O
	0027
030367  2210
030370  0000		0000		/SEGMENT FOR FIELD 0
	2300		O=ENDF00%2+00;O1=O+100%200+O1;O
	0041
030371  2300

		/THE REST OF THE FIRST BLOCK CONTAINS THE MAP OF THE FILE, E.G.
		/WHERE ALL TASKS IN THE TASKLIBRARY ARE STORED:
030372  0042	DSKMAP,	O1+1	/OFFSET TO FIRST TASK (OVER THE SAVE PART)
030373  0000		ZBLOCK CCB+400-. /GOOD FOR AT LEAST 235 BLOCKS
	0755	ENDMAP=.-1
	0012		O2=LOADPT-TCBTAB%10
	0072		O3=MAXNAM-O2^2
	0133		SVLNGT=O1+O3


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 179-1

		IFNZRO BGMAX <
030756  0000	COPDSK,	0		/SETUP DSKMAP
030757  1157		TAD [XDSKTAB-1	/COPY XDSKTAB TO DSKTAB
030760  3017		DCA AUTO17
030761  1156		TAD [DSKTAB-1
030762  3016		DCA AUTO16
030763  1155		TAD [-40
030764  3001		DCA TEMP1
030765  1417	DSKCO1,	TAD I AUTO17
030766  6211		CDF 10
030767  3416		DCA I AUTO16
030770  6231		CDF BGFLD
030771  2001		ISZ TEMP1
030772  5365		 JMP DSKCO1
030773  5756		JMP I COPDSK	/RETURN
	7600	DSKTAB=7600		/V7 NOW IN CD AREA, 17600 >


	1000	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 180



		/*****************************************************************
		/********   T A S K B U I L D I N G   P H A S E   ****************
		/*****************************************************************

		/HERE STARTS THE TASKBUILDING PHASE:
031000  7240	STRT,	ACM1		/IF R MULTI8, SET SWITCH TO -1
031001  3026		DCA CHAIND	/IF CHAINED SET TO 0
031002  1177		TAD [NO		/SET NON-RESTATABLE BIT
031003  6201		CDF 0		//IN OS8 JOB STATUS WORD
031004  3576		DCA I [JSW	//
031005  6231		CDF BGFLD	/
031006  1166		TAD [MULTI8
031007  3214		DCA OFSET	/LOOKUP PRESENT SAVE FILE
031010  7301		AC0001		/SYS:=1
031011  6212		CIF 10
031012  4573		JMS I [7700	/CALL USR
031013  0002		   LOOKUP
031014  0352	OFSET,	   MULTI8	/POINTER TO FILENAME/ STARTBLOCK OF FILE
031015  0000	ACTLEN,	   0		/GET FILE LENGTH
031016  4563	ERR6,	 JMS I [ERROR	/?MULTI8.SV NOT ON SYS:?
031017  2026		ISZ CHAIND	/WAS IT A CHAIN ?
031020  5554		 JMP I [GO	/YES, START MULTI8 RIGHT AWAY
031021  6212	TKBNXT,	CIF 10		/CALL COMMAND DECODER
031022  4573		JMS I [7700	/
031023  0005		   CD
031024  0216		   0216		/DEFAULT EXTENSION FOR TASKS IS 'BN'
031025  4553		JMS I [TSKBLD	/TASKBUILD WHATEVER IS SPECIFIED
031026  6211		CDF 10		//LOOK AT ALTMODE FLAG
031027  1552		TAD I [7642	//
031030  6231		CDF BGFLD	/
031031  7700		SMA CLA		/FINISHED TASKBUILDING ?
031032  5221		 JMP TKBNXT	/NO, MORE EXPECTED
031033  4567		JMS I [SAVE	/SAVE UPDATED IMAGE WITH NEW TASKS
031034  6211		CDF 10
031035  1551		TAD I [7644
031036  6231		CDF BGFLD
031037  0150		AND [2000
031040  7650		SNA CLA		/ /N OPTION SET ?
031041  5554		 JMP I [GO	/NO, GO START MULTI8
031042  6203		CDF CIF 0
031043  5547		JMP I [7600	/YES, BACK TO OS/8


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 181



		/UPDATE BLOCK NUMBERS OF TASKS IN TASK CONTROL BLOCK TABLE:
031044  0000	SETBLK,	0		/ABSOLUTIZE BLOCKNUMBERS IN TCB'S
031045  6201		CDF 0		//
031046  1146		TAD [LOADPT+3	//START OF DISK RESIDENT TASKS
031047  3000	PWR1,	DCA TEMP
031050  1400		TAD I TEMP	//FETCH RELATIVE BLOCK NUMBER
031051  7450		SNA		//IF ZERO, W'RE PAST THE LAST ONE
031052  5262		 JMP PWR1A	//DONE
031053  6231		CDF BGFLD	/
031054  1214		TAD OFSET	/ADD STARTBLOCK OF MULTI8.SV
031055  6201		CDF 0		//
031056  3400		DCA I TEMP	//STORE UPDATED BLOCK NUMBER
031057  1000		TAD TEMP
031060  1145		TAD [10		//NEXT BLOCK # IS 10 WORDS FURTHER
031061  5247		JMP PWR1	//CYCLE
031062  6231	PWR1A,	CDF BGFLD	/
031063  5644		JMP I SETBLK	/RETURN

031064  0000	LNKTCB,	0		/LINK THE FREE TCB'S
031065  6201		CDF 0		//
031066  1544		TAD I [FHEAD	//ADDRESS OF FIRST FREE BLOCK
031067  3001	LNKTC1,	DCA TEMP1	//
	4561		O=MAXNAM^10+TCBTAB+200&7600-17
031070  1143		TAD [-O
031071  1001		TAD TEMP1
031072  7700		SMA CLA		//END OF TCBTAB ?
031073  5301		 JMP LNKTC2	//LAST TCB
031074  1001		TAD TEMP1	//
031075  1145		TAD [10		//COMPUTE ADDRESS OF NEXT BLOCK
031076  3401		DCA I TEMP1	//AND STORE IN LINK WORD
031077  1401		TAD I TEMP1
031100  5267		JMP LNKTC1	//NO, CYCLE
031101  3401	LNKTC2,	DCA I TEMP1	//WHICH GETS A ZERO LINK
031102  6231		CDF BGFLD	/
031103  5664		JMP I LNKTCB	/RETURN


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 182



		/LOOKUP THE SWAP-FILE 'SWPFIL.M8'
		IFNZRO BGMAX <
031104  0000	SETSWP,	0		/SETUP THE SWAPFILE
031105  7301		AC0001
031106  6212		CIF 10
031107  4573		JMS I [USR	/LOOKUP 'SWPFIL.M8' ON SYS:
031110  0002		   LOOKUP
031111  2227	SWBLOK,	   SWPFIL	/THIS GETS THE STARTING BLOCK #
031112  0000	SWPLEN,	   0		/THIS GETS MINUS THE LENGTH
031113  5331		 JMP NEWSWP	/NO SWAPFILE YET
031114  1311		TAD SWBLOK
031115  0142		AND [TRACK-1	/COMPUTE NUMBER OF EXTRA BLOCKS
031116  1312		TAD SWPLEN	/CHECK IF SWAPFILE LONG ENOUGH
		IFNDEF SINGL8 <
031117  1141		TAD [BGCORE^BGMAX^20 >
		IFDEF SINGL8 <
			TAD [BGCORE^BGMAX-BGFLDS+1^20 >
031120  7740		SMA SZA CLA
031121  5331		 JMP NEWSWP	/MUST MAKE A LONGER SWAPFILE
031122  1311	SWAP1,	TAD SWBLOK	/PUT BEGIN OF SWPFIL.M8 IN
031123  1142		TAD [TRACK-1
031124  0140		AND [-TRACK
031125  6211	SETSW1,	CDF 10		//
031126  3537		DCA I [BSTAB	//FIRST LOC OF BSTAB
031127  6231		CDF BGFLD	/
031130  5704		JMP I SETSWP	/RETURN


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 183



031131  7301	NEWSWP,	AC0001		/FIRST DELETE THE OLD SWPFIL
031132  6212		CIF 10		/
031133  4573		JMS I [USR	/
031134  0004		   CLOSE	/
031135  2227		   SWPFIL	/POINTER TO FILE NAME
031136  0000		   0		/LENGTH IS ZERO: DELETE FILE
031137  7000		 NOP		/MAYBE IT ISN'T THERE AT ALL
031140  7301		AC0001		/CREATE A NEW SWPFIL.M8
031141  6212		CIF 10		/
031142  4573		JMS I [USR	/
031143  0003		   ENTER	/ENTER THE NEW FILE
031144  2227		   SWPFIL	/POINTER TO FILENAME
031145  0000	NEWLNG,	   0		/GETS MAXIMUM LENGTH
031146  4563	ERR5,	 JMS I [ERROR	/?CAN'T ENTER SWPFIL.M8?
031147  1344		TAD NEWLNG-1	/GET STARTING BLOCK
031150  7041		CIA		/COMPUTE EXTRA BLOCKS TO ALLIGN WITH DISK
031151  0142		AND [TRACK-1	/COMPUTE NUMBER OF EXTRA BLOCKS
		IFNDEF SINGL8 <
031152  1141		TAD [BGCORE^BGMAX^20 >
		IFDEF SINGL8 <
			TAD [BGCORE^BGMAX-BGFLDS+1^20 >
031153  3366		DCA CLNGTH	/AND STORE IN CLOSE REQUEST
031154  7120		STL		/
031155  1366		TAD CLNGTH	/SEE IF THERE IS ENOUGH ROOM
031156  1345		TAD NEWLNG
031157  7660		SNL SZA CLA	/ENOUGH ?
031160  4563	ERR5B,	 JMS I [ERROR	/?NO ROOM FOR SWPFIL.M8?
031161  7301		AC0001
031162  6212		CIF 10		/NOW CLOSE THE FILE
031163  4573		JMS I [USR	/
031164  0004		   CLOSE
031165  2227		   SWPFIL
031166  0000	CLNGTH,	   0
031167  4563	ERR5A,	 JMS I [ERROR	/?CAN'T CLOSE SWPFIL.M8?
031170  1344		TAD NEWLNG-1	/GET STARTING BLOCK
031171  3311		DCA SWBLOK
031172  1366		TAD CLNGTH
031173  3312		DCA SWPLEN
031174  5322		JMP SWAP1	/CARRY ON >

	1200	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 184



		IFNZRO BGMAX <
031200  2625	PTEMP1,	FAKHND
031201  4372	PTEMP2,	FAKSYS
031202  7644	PTEMP3,	-FAKLEN
031203  3062	PTEMP4,	BOBOOT
031204  3563	PTEMP5,	BOOBUF
031205  7340	PTEMP6,	-BOBOEND
031206  7752	PTEMP7,	BOBOEND-447-17
031207  2761	PTEMP8,	DEVLST
031210  7623	PTEMP9,	FASSGN
031211  4410	PTEMP0,	FASSGN+2-SYSHND+FAKSYS
031212  1713	PRBOOT,	RBOOT

031213  0000	SETFAK,	0		/ROUTINE TO SETUP FAKEHANDLER STUFF
031214  4612		JMS I PRBOOT	/READ BOOTSTRAP FROM OS8 DEV
031215  6212		CIF 10
031216  4573		JMS I [USR
031217  0010		   USRIN
		/MOVE FAKEHANDLER OVER SYSTEM-HANDLER
031220  1600	PWR4,	TAD I PTEMP1
031221  3601		DCA I PTEMP2
031222  2200		ISZ PTEMP1
031223  2201		ISZ PTEMP2
031224  2202		ISZ PTEMP3	/DONE ?
031225  5220		 JMP PWR4	/NO, CYCLE
031226  6201		CDF 0
031227  1536		TAD I [7777	/GET DATE EXTENSION BITS
031230  6231		CDF BGFLD
031231  0135		AND [4707
		IFNDEF SINGL8 <
031232  1134		TAD [BGFLDS-1^10+1000 /RTS8-BIT & SOFTWARE CORE SIZE >
		IFDEF SINGL8 <
			TAD [BGCORE-1^10+1000 /RTS8-BIT & SOFTWARE CORE SIZE >
031233  3533		DCA I [BGCORW	/CORE-SIZE SET INITIALLY AT #FLDS-FGRND
		/COPY SYSTEM BOOTSTRAP
031234  1603	PWR4A,	TAD I PTEMP4
031235  3604		DCA I PTEMP5
031236  2203		ISZ PTEMP4
031237  2204		ISZ PTEMP5
031240  2205		ISZ PTEMP6
031241  5234		 JMP PWR4A
		/CLEAR DEVICE RESIDENCY TABLE
031242  3604		DCA I PTEMP5
031243  2204		ISZ PTEMP5
031244  2206		ISZ PTEMP7
031245  5242		 JMP .-3


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 185



		/PUT FAKEHANDLER ENTRY POINTS IN DEVICE RESIDENCY TABLE
031246  1164		TAD [SYSHND
031247  3532		DCA I [DVRSTB	/ENTRYPOINT SYS:
031250  1164		TAD [SYSHND
031251  3531		DCA I [DVRSTB+1	/ENTRYPOINT DSK:
031252  5315		JMP PWR5B
031253  3263	PWR5,	DCA DEVNAM
031254  2207		ISZ PTEMP8
031255  1607		TAD I PTEMP8
031256  3264		DCA DEVNAM+1	/SECOND WORD OF DEVICE NAME
031257  2207		ISZ PTEMP8	/PTEMP8 POINTS TO DEVICE TYPE
031260  6212		CIF 10
031261  4574		JMS I [200
031262  0012		   INQUIRE	/ASK USR WHAT INTERNAL DEVICE # IT HAS
031263  0000	DEVNAM,	   ZBLOCK 3	/GETS DEVICE NAME
031266  5313		 JMP PWR5A	/DEVICE DOES NOT EXIST, THAT'S
					/A PITY FOR HIM
031267  1264		TAD DEVNAM+1	/THIS IS THE INTERNAL DEV NUMBER NOW
031270  1130		TAD [DVRSTB-1	/INDEX IN DEVICE RESIDENCY TABLE
					/(THE ONE THAT IS IN THE BOOTBUFFER)
031271  3002		DCA TEMP2
031272  1210		TAD PTEMP9	/GET NEXT ENTRYPOINT IN FAKEHANDLER
031273  3402		DCA I TEMP2	/AND DROP IN DEVICE RESIDENCY TABLE.
					/SO OS/8 WILL THINK THE HANDLER IS
031274  1264		TAD DEVNAM+1	/CORESIDENT WITH SYS:
031275  1127		TAD [DVTYPT-1
031276  3002		DCA TEMP2
031277  1607		TAD I PTEMP8
031300  3402		DCA I TEMP2	/SET CORRECT DEVICE TYPE
031301  2207		ISZ PTEMP8	/POINTS TO FAKEHANDLER CODE NUMBER
031302  1607		TAD I PTEMP8	/GET CODE NUMBER
031303  3611		DCA I PTEMP0	/AND STORE IN FAKEHANDLER
031304  7325		AC0003		/ADVANCE POINTERS
031305  1210		TAD PTEMP9
031306  3210		DCA PTEMP9
031307  7325		AC0003
031310  1211		TAD PTEMP0
031311  3211		DCA PTEMP0
031312  7410		SKP
031313  2207	PWR5A,	ISZ PTEMP8
031314  2207		ISZ PTEMP8
031315  1607	PWR5B,	TAD I PTEMP8
031316  7440		SZA		/DONE ?
031317  5253		 JMP PWR5	/NO, CYCLE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 186



031320  6212		CIF 10
031321  4574		JMS I [200
031322  0011		   USROUT	/DISMISS USR
031323  6202		CIF 0
031324  4564		JMS I [SYSHND
031325  4430		   4400+BGFLD	/WRITE THE FAKED BOOTBLOK IN BLOCK 40
031326  3563		   BOOBUF
031327  0040		   40		/OS/8 SCRATCH BLOCK
031330  4563	ERR8,	 JMS I [ERROR	/?WRITING BOOBLK.M8?
031331  7200		CLA		/YES
031332  5613		JMP I SETFAK	/RETURN

	1400	PAGE			/ >


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 187



		/NOW WE SETUP THE FOREGROUND PAGE 0'S
031400  0000	COPYZ,	0		/SETUP FOREGROUND FIELDS PAGE ZERO
031401  1126		TAD [-FIELDS+1
031402  3001		DCA TEMP1	/COUNTER
031403  1125	PWR8,	TAD [-COMPNT
031404  3002		DCA TEMP2	/COUNTER
031405  3003		DCA TEMP3	/POINTER STARTS AT ZERO
031406  6201	PWR9,	CDF 00
031407  1403		TAD I TEMP3	/GET A WORD FROM 00
031410  6211	PWR10,	CDF 00+10
031411  3403		DCA I TEMP3	/PUT A WORD INTO ANOTHER FIELD
031412  2003		ISZ TEMP3	/BUMP THE POINTER
031413  2002		ISZ TEMP2	/200 DONE ?
031414  5206		 JMP PWR9	/NO, CYCLE
031415  1210		TAD PWR10
031416  3524		DCA I [MYCDF
031417  7301		AC0001
031420  1210		TAD PWR10
031421  3523		DCA I [MYCIF
031422  7326		AC0002
031423  1210		TAD PWR10
031424  3522		DCA I [MYCDIF
031425  1210		TAD PWR10
031426  1145		TAD [10
031427  3210		DCA PWR10
031430  2001		ISZ TEMP1
031431  5203		 JMP PWR8	/NEXT FIELD
031432  6231		CDF BGFLD
031433  5600		JMP I COPYZ	/RETURN

		/FILL IN CLRTAB WITH THE ORIGINAL CLEAR-IOT'S FROM THE SKIPCHAIN
031434  0000	COPCLR,	0		/SETUP CLRTAB
031435  6201		CDF 00
031436  1121		TAD [-INTDEV+1
031437  3022		DCA ZTEM2	/WE MAY USE THE ZTEM'S NOW!
031440  1120		TAD [CLRTAB-1
031441  3010		DCA AUTO10
031442  1117		TAD [SKP0-1+4
031443  3021	PWR12,	DCA ZTEM1
031444  1421		TAD I ZTEM1
031445  3410		DCA I AUTO10
031446  1021		TAD ZTEM1
031447  1116		TAD [4
031450  2022		ISZ ZTEM2
031451  5243		 JMP PWR12
031452  6231		CDF BGFLD
031453  7300		CLA CLL
031454  5634		JMP I COPCLR


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 188



		IFNZRO BGMAX <
		/CALL: 	JMS SETLEN
		/	   PROG NAME POINTER
		/	   BLOCK OFFSET
		/	   - TEST VALUE OF 1'ST WORD
		/	   ADDRESS OFFSET	/MAY RETURN THRU
		/	   TABLE INCREMENT	/THESE TWO

031455  0000	SETLEN,	0		/PATCH PROGRAM DEVICE LENGTH TABLE
031456  1655		TAD I SETLEN
031457  3265		DCA PRGBLK	/SET NAME POINTER
031460  2255		ISZ SETLEN	/NEXT ARG
031461  7301		AC0001		/PROG.SV IS ON SYS: USUALLY
031462  6212		CIF 10
031463  4777		JMS I (USR	/LOOKUP PROG.SV
031464  0002		   LOOKUP
031465  1234	PRGBLK,	   1234
031466  0000		   0		/(GETS -LENGTH OF PROG.SV)
031467  5343		 JMP SETEX1	/SORRY, PROG NOT FOUND
031470  7307		AC0004		/PROG MUST BE 4 BLOCKS AT LEAST
031471  1266		TAD PRGBLK+1	/GET -LENGTH OF PROG.SV
031472  7700		SMA CLA		/OK ?
031473  5343		 JMP SETEX1	/NO, MAYBE IT'S A SHSAVE FILE
031474  1655		TAD I SETLEN	/GET BLOCK OFFSET
031475  2255		ISZ SETLEN
031476  1265		TAD PRGBLK
031477  3306		DCA PRGB1
031500  1306		TAD PRGB1
031501  3340		DCA PRGB2
031502  6202		CIF 0
031503  4776		JMS I (SYSHND
031504  0230		   200+BGFLD	/READ 1 BLOCK IN THIS FIELD
031505  5600	PRGBUF,	   BUFST	/USE INPUT BUFFER OF TSKBLD
031506  0000	PRGB1,	   0		/GETS BLOCK NUMBER
031507  5344		 JMP SETEX2	/SORRY, YOUR PROG IS POOH
031510  1655		TAD I SETLEN	/GET TEST VALUE
031511  2255		ISZ SETLEN
031512  1705		TAD I PRGBUF	/TEST FIRST VALUE OF BUFFER
031513  7640		SZA CLA		/OK?
031514  5345		 JMP SETEX	/NO, BAD VERSION: FALL THRU ARGS
031515  1375		TAD (-10
031516  3306		DCA PRGB1	/FOR A COUNTER
031517  1374		TAD (LNGLST-1-BGNUMB+BOBOOT
031520  3010		DCA AUTO10	/RELOCATED IN BOOT BLOCK
031521  1655		TAD I SETLEN	/GET ADDRESS OFFSET
031522  2255		ISZ SETLEN
031523  1373		TAD (BUFST
031524  3265		DCA PRGBLK
031525  1410	PRGLOP,	TAD I AUTO10
031526  3665		DCA I PRGBLK
031527  1655		TAD I SETLEN	/ADD INCREMENT
031530  1265		TAD PRGBLK
031531  3265		DCA PRGBLK


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 188-1

031532  2306		ISZ PRGB1
031533  5325		 JMP PRGLOP	/ENTER DEVICE LENGTH FOR DEV 50-57
031534  6202		CIF 0
031535  4776		JMS I (SYSHND	/AND WRITE IT BACK TO PROG
031536  4230		   4200+BGFLD
031537  5600		   BUFST
031540  0000	PRGB2,	   0
031541  5345		 JMP SETEX	/WRITE ERROR ? PITY
031542  5345		JMP SETEX
031543  2255	SETEX1,	ISZ SETLEN
031544  2255	SETEX2,	ISZ SETLEN
031545  7200	SETEX,	CLA
031546  5655		JMP I SETLEN	/RETURN >

031573  5600
031574  3062
031575  7770
031576  7607
031577  7700
	1600	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 189



		GO,
031600  4777	IFNZRO BGMAX <JMS I (SETPIP /PATCH PIP DEVICE LENGTH TABLE >
031601  4776		JMS I (SETDMP	/SETUP TO RUN MONDUM @ 7757
031602  4775		JMS I (PDPTST	/CHECK THE AVAILABLE HARDWARE
		IFNZRO BGMAX <
031603  4774		JMS I (SETSWP	/CREATE SWAPFILE
031604  4773		JMS I (SETMEM	/SETUP BSTAB FOR AVAILABLE MEMORY
031605  4772		JMS I (SETFAK	/SETUP FAKE HANDLER
031606  4771		JMS I (COPDSK	/SETUP DSKTAB >
031607  4770		JMS I (SETBLK	/RELOCATE TASK BLOCK NUMBERS
031610  4767		JMS I (COPCLR	/COPY CLEARIOTS IN CLRTAB
031611  4766	IFNZRO BGMAX <JMS I (SETTRP /SETUP THE MMU >
		/NOW COMES A DIRTY PIECE OF CODE, THAT INITIALIZES ALL SORTS
		/OF PERIPHERALS; MAYBE YOU HAVE TO EDIT THIS PART FOR YOUR
		/SPECIALTIES !
031612  6007			CAF
031613  6046			TLS	/THATS AN EASY ONE
		IFDEF KL8E2 <	6016+KL8E2	/ >
		IFDEF KL8E3 <	6016+KL8E3	/ >
		IFDEF KL8E4 <	6016+KL8E4	/ >
		IFDEF KL8E5 <	6016+KL8E5	/ >
		IFDEF KL8E6 <	6016+KL8E6	/ >
		IFDEF KL8E7 <	6016+KL8E7	/ >
031614  7200			CLA
031615  6024	IFDEF PP8E <	6024	/ >
		IFDEF LE8E <
		IFZERO LE8E&1 <	6666	/ >
031616  6574	IFNZRO LE8E&1 < 6574	/ >>
		IFDEF DR8EA1 <DR8EA1+6000	/DISABLE INTERRUPTS >
		IFDEF DR8EA2 <DR8EA2+6000	/DISABLE INTERRUPTS >
		IFDEF KL8A1 <
			KL8A1+6010
			TAD (KL8TAB
			KL8A1+6012
			AC0001
			KL8A1+6000	/ >
		IFDEF KL8A2 <
			KL8A2+6010
			TAD (KL8TAB+10
			KL8A2+6012
			AC0001
			KL8A2+6000	/ >


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 190



		/STARTING THE CLOCKS:
		IFDEF RFCLOCK <	6601
				TAD (RFINTS
				6615	/ >
		IFDEF DK8EA <	DK8EA+6001	/ >
		IFDEF DK8EB <	DK8EB+6003	/ >
		IFDEF DK8EC <	DK8EC+6001	/ >
		IFDEF DK8EP < 
		IFNDEF DK8EA < IFNDEF DK8EB < IFNDEF DK8EC < IFNDEF DKC8AA <
031617  1365			TAD (-1750
031620  6133			6003+DK8EP	/AC IS NOT CLEARED, BUT ...
031621  1115			TAD [5410+1750
031622  6132			6002+DK8EP
031623  7200			CLA	/ >>>>>
		IFDEF DKC8AA <	AC0001
				6135
				CLA		/ >
		IFDEF AX08 <	6364
				ISZ .-1
				JMP .-1
				6362		/CLEAR ADC DONE FLAG
				CLA		/? >
		IFDEF FPP <
				AC2000		/SEE IF M&S FPP INSTALLED
				6144		/SEMO DP AS TRIAL
				SNA CLA		/DID IT CLEAR AC ?
				 JMP .+5	/YES, OK
				TAD (FPICL+2&177+5200	/NO, DO 'JMP FPICL+2' SO THAT
				CDF 10
				DCA I (FPST+2	/FPSTART DOES NOT SKIP, BUT 'JMP EMREDY'
				CDF BGFLD	/ >


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 191



		/NOW WE WILL SCHEDULE THE AUTO-START TASKS TO GET THE WORLD
		/GOING. BECAUSE THIS POWERUP CODE IS NOT IN A
		/FOREGROUND FIELD, WE CAN'T SIMULATE IT TO BE A TASK,
		/THAT CALLS THE OTHER TASKS. THUS WE MUST STRING THEM
		/IN THE SYSTEM'S QUEUE'S AND SET THEIR BACKLINK BUSY
		/'BY HAND'.

031624  1114		TAD [TCBTAB+1	/LOOK FOR EACH TASKS' THREAD IN
031625  3001		DCA TEMP1	/HIS TCBP. IF NONZERO HE MUST BE STARTED
031626  1113		TAD [-MAXNAM
031627  3022		DCA TEMP7	/COUNTER
031630  6201	PWR14,	CDF 0
031631  1401		TAD I TEMP1
031632  7650		SNA CLA		/AUTO-START ?
031633  5257		 JMP PWR15	/NO TRY NEXT ONE
031634  7240		ACM1
031635  1001		TAD TEMP1
031636  3002		DCA TEMP2
031637  7301		AC0001
031640  3402		DCA I TEMP2	/SET HIS BACKLINK TO 'RUNNED'
031641  1512		TAD I [MTAIL	/PUT HIM ON THE MAINQUEUE
031642  3002		DCA TEMP2
031643  1001		TAD TEMP1
031644  3402		DCA I TEMP2
031645  1001		TAD TEMP1
031646  3512		DCA I [MTAIL
031647  3401		DCA I TEMP1
031650  2001		ISZ TEMP1
031651  1001		TAD TEMP1
031652  1111		TAD [5
031653  3002		DCA TEMP2	/ADDRESS OF PC
031654  1401		TAD I TEMP1	/GET HIS START ADDRESS
031655  3402		DCA I TEMP2	/AND DROP IT INTO HIS PC
031656  7240		ACM1
031657  1001	PWR15,	TAD TEMP1	/GET POINTER AND
031660  1145		TAD [10
031661  3001		DCA TEMP1	/ADVANCE TO NEXT THREAD
031662  2022		ISZ TEMP7	/ALL TASKS DONE ?
031663  5230		 JMP PWR14	/NO
031664  6203		CDF CIF 00
031665  5510		JMP I [DISPATCH	/...............


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 192



		IFNZRO BGMAX <
031666  0000	SETTRP,	0		/SETUP THE TRAP/UNTRAP RAM
031667  1173		TAD [-100
031670  3021		DCA ZTEM1
031671  1107		TAD [6000
031672  3022		DCA ZTEM2
031673  1022		TAD ZTEM2
031674  6334		LTM		/LOAD TRAP REGISTER, CLA
031675  1022		TAD ZTEM2
031676  1145		TAD [10
031677  2021		ISZ ZTEM1
031700  5272		 JMP .-6
031701  7200		CLA
031702  1106		TAD [TRPTAB-1
031703  3010		DCA AUTO10
031704  1410		TAD I AUTO10
031705  7450		SNA
031706  5311		 JMP .+3
031707  6334		LTM		/LOAD TRAP REGISTER, CLA
031710  5304		JMP .-4
031711  6364		SMME		/ENABLE MEMORY MANAGEMENT !
031712  5666		JMP I SETTRP	/RETURN

031713  0000	RBOOT,	0		/READ BOOTSTRAP
031714  6202		CIF 0
031715  4564		JMS I [SYSHND
031716  0230		   200+BGFLD
031717  4163		   BOOBUF+400
031720  0000		   0
031721  5335		 JMP ERR2
031722  6201		CDF 0
031723  7346		AC7775
031724  1737		TAD I P7612	/TEST IF 2 PAGE SYS HANDLER
031725  6231		CDF BGFLD	
031726  7640		SZA CLA
031727  5713		 JMP I RBOOT	/IT WAS'NT
031730  6202		CIF 0
031731  4564		JMS I [SYSHND	/IT WAS, READ 17600 PART
031732  0130		   100+BGFLD
031733  4163		   BOOBUF+400
031734  0066		   66		/FROM BLOCK 66
031735  4563	ERR2,	 JMS I [ERROR	/?READING BLOCK 0 (OR 66)?
031736  5713		JMP I RBOOT
031737  7612	P7612,	7612		>

031765  6030
031766  1666
031767  1434
031770  1044
031771  0756
031772  1213
031773  2035
031774  1104


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 192-1

031775  2065
031776  2000
031777  2200
	2000	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 193



032000  0000	SETDMP,	0		/SETUP .R MONDUM
032001  7301		AC0001
032002  6212		CIF 10
032003  4573		JMS I [USR	/LOOKUP MONDUM.SV
032004  0002		   LOOKUP
032005  2031	DMPBLK,	   MONDUM
032006  0000		   0
032007  5600		 JMP I SETDMP	/MONDUM.SV NOT FOUND
032010  1105		TAD [CIF CDF BGFLD /RUN MONDUM IN FIRST BG FIELD
032011  6201		CDF 0
		IFNZRO OS8-50 <
			DCA I [7772	/STARTING FIELD >
		IFZERO OS8-50 <
032012  3504		DCA I [7773	/STARTING FIELD V40 >
032013  1103		TAD [201	/MONDUM CHAIN ADDRESS
032014  3502		DCA I [7775
032015  1205		TAD DMPBLK
032016  7001		IAC
032017  3501		DCA I [7762	/BLOCK NUMBER
032020  3500		DCA I [7761
032021  1077		TAD [1000+BGFLD
032022  3540		DCA I [7760	/FUNCTION WORD [READ 10 PAGES)
032023  1076		TAD [5372
032024  3475		DCA I [7764
032025  1164		TAD [SYSHND
032026  3474		DCA I [7756
032027  6231		CDF BGFLD
032030  5600		JMP I SETDMP

032031  1517	MONDUM,	FILENAME MONDUM.SV
032032  1604
032033  2515
032034  2326


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 194



		IFNZRO BGMAX <
		/ROUTINE TO ENABLE MEMORY FIELDS THAT SEEM TO BE PRESENT IN
		/THIS MACHINE.
032035  0000	SETMEM,	0
032036  1121		TAD [-BGFLDS+1
032037  3000		DCA TEMP	/COUNT FIELD BGFLD+1 ... 7
032040  1073		TAD [CDF BGFLD+10
032041  3244		DCA SETMM1	/CDF TO FIRST FIELD TO TEST
032042  1072		TAD [BSTAB+1+1
032043  3001		DCA TEMP1	/POINTER TO CORRESPONDING BSTAB ENTRY
032044  6201	SETMM1,	CDF
032045  1245		TAD .		/THERE IT IS AGAIN, LARY
032046  3544		DCA I [FHEAD	/SOME PAGE ZERO LOCATION
032047  1544		TAD I [FHEAD
032050  6211		CDF 10
032051  7650		SNA CLA
032052  7240		ACM1		/LOCK BAD FIELDS
032053  7440		SZA
032054  3401		DCA I TEMP1	/
032055  2001		ISZ TEMP1
032056  1244		TAD SETMM1
032057  1145		TAD [10
032060  3244		DCA SETMM1	/NEXT FIELD
032061  2000		ISZ TEMP	/ALL DONE ?
032062  5244		 JMP SETMM1	/NO, CONTINUE
032063  6231		CDF BGFLD	/YES, RETURN
032064  5635		JMP I SETMEM	/ >

032065  0000	PDPTST,	0		/A SUBROUTINE THAT TESTS IF WE ARE
032066  7300		CLA CLL		/AT A REASONABLE KIND OF MACHINE.
		/TEST IF WE WORK IN THE BACKGROUND. (6254 ONLY FOR MULTI8)
032067  6042		TCF
032070  6041		TSF
032071  7410		SKP
032072  4563	ERR0,	 JMS I [ERROR	/?VIRTUIAL MACHINE?
		IFNZRO BGMAX <
032073  6324		SKMM		/SKIP IF MEMORY MANAGEMENT INSTALLED
032074  4563	ERR7,	 JMS I [ERROR	/*?MEMORY MANAGEMENT?* >
032075  5665		JMP I PDPTST


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 195



032076  0000	ERROR,	0		/GENERAL ERROR MESSAGE HANDLER
032077  7300		CLA CLL
032100  6231		CDF BGFLD	/YOU NEVER KNOW
032101  1071		TAD [ERRLST-1
032102  3010		DCA AUTO10
032103  1276		TAD ERROR
032104  7041		CIA
032105  7001		IAC
032106  3276		DCA ERROR
032107  1410	ERRLOP,	TAD I AUTO10
032110  7440		SZA		/TEST FOR END OF LIST
032111  1276		TAD ERROR
032112  7650		SNA CLA
032113  5317		 JMP ERRFND	/THIS MUST BE THE ERROR
032114  2010		ISZ AUTO10
032115  2010		ISZ AUTO10
032116  5307		JMP ERRLOP

032117  1410	ERRFND,	TAD I AUTO10
032120  3322		DCA .+2
032121  4327		JMS TXTOUT	/PRINT THE MESSAGE
032122  0000		   0
032123  4362		JMS CRLF
032124  1410		TAD I AUTO10
032125  3276		DCA ERROR
032126  5676		JMP I ERROR	/GO TO CONTINUATION ADDRESS

032127  0000	TXTOUT,	0
032130  7300		CLA CLL
032131  6231		CDF BGFLD
032132  1727		TAD I TXTOUT	/GET POINTER TO STRING
032133  3353		DCA TXTPNT
032134  2327		ISZ TXTOUT
032135  1753	TXT1,	TAD I TXTPNT
032136  7420		SNL
032137  7002		 BSW
032140  0070		AND [77
032141  7450		SNA		/END OF STRING ?
032142  5727		 JMP I TXTOUT	/YES, QUIT
032143  1067		TAD [240
032144  0070		AND [77
032145  1067		TAD [240
032146  4354		JMS OUT
032147  7020		CML
032150  7420		SNL
032151  2353		 ISZ TXTPNT
032152  5335		JMP TXT1

032153  0000	TXTPNT,	0


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 196



032154  0000	OUT,	0
032155  6046		TLS
032156  6041		TSF
032157  5356		JMP .-1
032160  7200		CLA
032161  5754		JMP I OUT

032162  0000	CRLF,	0
032163  1066		TAD [215
032164  4354		JMS OUT
032165  1065		TAD [212
032166  4354		JMS OUT
032167  5762		JMP I CRLF
	2200		PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 197



		IFNZRO BGMAX <
032200  0000	SETPIP,	0
032201  4616		JMS I PSETL	/SET LENGHTS IN PIP
032202  2217		   PIPNAM
032203  0004		   4		/BLOCK 4
032204  7010		   -770		/TEST
032205  0250		   50+200	/ADDRESS
032206  0001		   1		/INCREMENT
032207  4616		JMS I PSETL	/SET LENGTHS IN RESORC
032210  2223		   RESNAM
032211  0007		   7
032212  5354		   -2424
032213  0242		   50^4+2
032214  0004		   4
032215  5600		JMP I SETPIP
032216  1455	PSETL,	SETLEN
032217  2011	PIPNAM,	FILENAME PIP.SV
032220  2000
032221  0000
032222  2326
032223  2205	RESNAM,	FILENAME RESORC.SV / >
032224  2317
032225  2203
032226  2326
032227  2327	SWPFIL,	FILENAME SWPFIL.M8
032230  2006
032231  1114
032232  1570

032233  6203	E,	CDF CIF 0
032234  5547		JMP I [7600


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 198



		ERRLST,	/LIST OF ERROR ADRESSES, STRING POINTERS AND CONTINUATION
			/ADDRESSES:
032235  2072	ERR0;MSG0;E
032236  2353
032237  2233
		IFNZRO BGMAX <
032240  1735	ERR2;MSG2;E >
032241  2364
032242  2233
032243  0256	ERR3;MSG3;E
032244  2401
032245  2233
032246  0300	ERR3A;MSG3;E
032247  2401
032250  2233
032251  0327	ERR4;MSG4;E
032252  2411
032253  2233
032254  0334	ERR4A;MSG4;E
032255  2411
032256  2233
		IFNZRO BGMAX <
032257  1146	ERR5;MSG5;E
032260  2425
032261  2233
032262  1167	ERR5A;MSG5;E
032263  2425
032264  2233
032265  1160	ERR5B;MSG5;E >
032266  2425
032267  2233
032270  1016	ERR6;MSG6;E
032271  2441
032272  2233
		IFNZRO BGMAX <
032273  2074	ERR7;MSG7;E
032274  2455
032275  2233
032276  1330	ERR8;MSG8;E >
032277  2401
032300  2233
032301  5421	ERR9;MSG9;E
032302  2467
032303  2233
032304  5440	ERR10;MSG10;E
032305  2503
032306  2233
032307  4652	ERR21;MSG21;E
032310  2512
032311  2233
032312  4657	ERR21A;MSG21;E
032313  2512
032314  2233


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 198-1

032315  4664	ERR21B;MSG21;E
032316  2512
032317  2233
032320  5250	ERR22;MSG22;E
032321  2523
032322  2233
032323  5132	ERR23;MSG23;E
032324  2532
032325  2233
032326  0315	ERR23A;MSG23;E
032327  2532
032330  2233
032331  4673	ERR25;MSG25;E
032332  2545
032333  2233
032334  4731	ERR26;MSG26;E
032335  2553
032336  2233
032337  4766	ERR27;MSG27;E
032340  2562
032341  2233
032342  4751	ERR28;MSG28;E
032343  2574
032344  2233
032345  5147	ERR29;MSG29;E
032346  2605
032347  2233
		/END OF ERROR LIST:
032350  0000	0;MSG99;E
032351  2614
032352  2233


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 199



032353  7726	MSG0,	TEXT	*?VIRTUAL MACHINE?*
032354  1122
032355  2425
032356  0114
032357  4015
032360  0103
032361  1011
032362  1605
032363  7700
032364  7722	MSG2,	TEXT	*?READING BLOCK 0 (OR 66)?*
032365  0501
032366  0411
032367  1607
032370  4002
032371  1417
032372  0313
032373  4060
032374  4050
032375  1722
032376  4066
032377  6651
032400  7700
		MSG8,
		MSG11,
032401  7727	MSG3,	TEXT	*?WRITING SYS:?*
032402  2211
032403  2411
032404  1607
032405  4023
032406  3123
032407  7277
032410  0000
032411  7716	MSG4,	TEXT	*?NO ROOM FOR MULTI8.SV?*
032412  1740
032413  2217
032414  1715
032415  4006
032416  1722
032417  4015
032420  2514
032421  2411
032422  7056
032423  2326
032424  7700
032425  7716	MSG5,	TEXT *?NO ROOM FOR SWPFIL.M8?*
032426  1740
032427  2217
032430  1715
032431  4006
032432  1722
032433  4023
032434  2720
032435  0611


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 199-1

032436  1456
032437  1570
032440  7700
		MSG6,
		IFNDEF SINGL8 <
032441  7715		TEXT	*?MULTI8.SV NOT ON SYS:?*	 / >
032442  2514
032443  2411
032444  7056
032445  2326
032446  4016
032447  1724
032450  4017
032451  1640
032452  2331
032453  2372
032454  7700
		IFDEF SINGL8 <
			TEXT	*?ZM16.SV NOT ON SYS:?*	/ >

032455  7715	MSG7,	TEXT	*?MEMORY MANAGEMENT?*
032456  0515
032457  1722
032460  3140
032461  1501
032462  1601
032463  0705
032464  1505
032465  1624
032466  7700
032467  7716	MSG9,	TEXT	*?NON-RESIDENT HANDLER?*
032470  1716
032471  5522
032472  0523
032473  1104
032474  0516
032475  2440
032476  1001
032477  1604
032500  1405
032501  2277
032502  0000
032503  7722	MSG10,	TEXT	*?READ ERROR?*
032504  0501
032505  0440
032506  0522
032507  2217
032510  2277
032511  0000
032512  7720	MSG21,	TEXT *?PREAMBLE ERROR?*
032513  2205
032514  0115
032515  0214
032516  0540
032517  0522


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 199-2

032520  2217
032521  2277
032522  0000
032523  7702	MSG22,	TEXT *?BAD BINARY?*
032524  0104
032525  4002
032526  1116
032527  0122
032530  3177
032531  0000
032532  7715	MSG23,	TEXT *?MULTI8.SV TOO SHORT?*
032533  2514
032534  2411
032535  7056
032536  2326
032537  4024
032540  1717
032541  4023
032542  1017
032543  2224
032544  7700
032545  7703	MSG25,	TEXT *?CHECKSUM?*
032546  1005
032547  0313
032550  2325
032551  1577
032552  0000
032553  7724	MSG26,	TEXT *?TASK LENGTH?*
032554  0123
032555  1340
032556  1405
032557  1607
032560  2410
032561  7700
032562  7724	MSG27,	TEXT *?TASK LIBRARY FULL?*
032563  0123
032564  1340
032565  1411
032566  0222
032567  0122
032570  3140
032571  0625
032572  1414
032573  7700
032574  7716	MSG28,	TEXT *?NAME LIST FULL?*
032575  0115
032576  0540
032577  1411
032600  2324
032601  4006
032602  2514
032603  1477
032604  0000
032605  7727	MSG29,	TEXT *?WRITE ERROR?*
032606  2211


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 199-3

032607  2405
032610  4005
032611  2222
032612  1722
032613  7700
032614  7725	MSG99,	TEXT *?UNDEFINED ERROR?*
032615  1604
032616  0506
032617  1116
032620  0504
032621  4005
032622  2222
032623  1722
032624  7700


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 200



	0015		FAKVER="M&77
		IFNZRO BGMAX <
	7607	FAKHND,	RELOC SYSHND
037607* 0015	FSYS,	FAKVER		/ENTRY SYSTEM HANDLER
037610* 4270		JMS FGENIO
037611* 0000		   00		/AC-CODE^10+UNIT BITS
037612* 0015		FAKVER
037613* 4270		JMS FGENIO
037614* 0001		   01
037615* 0015		FAKVER
037616* 4270		JMS FGENIO
037617* 0002		   02
037620* 0015		FAKVER
037621* 4270		JMS FGENIO
037622* 0003		   03
037623* 0015	FASSGN,	FAKVER
037624* 4270		JMS FGENIO
037625* 0000		   0
037626* 0015		FAKVER
037627* 4270		JMS FGENIO
037630* 0000		   0
037631* 0015		FAKVER
037632* 4270		JMS FGENIO
037633* 0000		   0
037634* 0015		FAKVER
037635* 4270		JMS FGENIO
037636* 0000		   0
037637* 0015		FAKVER
037640* 4270		JMS FGENIO
037641* 0000		   0
037642* 0015		FAKVER
037643* 4270		JMS FGENIO
037644* 0000		   0
037645* 0015		FAKVER
037646* 4270		JMS FGENIO
037647* 0000		   0
037650* 0015		FAKVER
037651* 4270		JMS FGENIO
037652* 0000		   0
037653* 0015		FAKVER
037654* 4270		JMS FGENIO
037655* 0000		   0
037656* 0015		FAKVER
037657* 4270		JMS FGENIO
037660* 0000		   0
037661* 0015		FAKVER
037662* 4270		JMS FGENIO
037663* 0000		   0
037664* 0015		FAKVER
037665* 4270		JMS FGENIO
037666* 0000		   0


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 201



		M8BITS,	IFNZRO .-7667 <XERROR> /SOME OPTION BITS THAT BG PROGRAMS MAY
						/WANT TO KNOW.
	0000		O=0
		IFDEF DKUSED <O=O+4000	/BIT 0 IS DKUSED >
		IFDEF SINGL8 <O=O+2000	/BIT 1 SHOWS SINGL8 >
		IFDEF UBITS <O=UBITS&77+O /FREE BITS FOR USER APPLICATIONS:
					/EG. SPECIFY ONE OF SEVERAL INSTALLATIONS >
037667* 0000		O		/THERE WE ARE !
037670* 0000	FGENIO,	0		/SETUP DTV,ISUE 6000
037671* 7344		ACM2
037672* 1270		TAD FGENIO	/AC POINTS TO ENTRY OF HANDLER
037673* 1340		TAD F1400	/FORM TAD FSYS, TAD FDTA0,...
037674* 3275		DCA FGTMP	/EXECUTE INLINE
037675* 0000	FGTMP,	0		/INSTRUCTION OR POINTER
037676* 3275		DCA FGTMP	/FGTMP IS MOVED ENTRY NOW
037677* 1675		TAD I FGTMP	/GET FUNCTION
037700* 2275		ISZ FGTMP
037701* 3330		DCA FUNC	/FIRST WORD OF DTV
037702* 1675		TAD I FGTMP	/GET CORE ADDRESS
037703* 2275		ISZ FGTMP
037704* 3331		DCA FUNC+1
037705* 1675		TAD I FGTMP	/GET BLOCK
037706* 2275		ISZ FGTMP
037707* 3332		DCA FUNC+2
037710* 6214		RDF		/SET RETURN FIELD
037711* 6201		CDF 0
037712* 1337		TAD FCDIF
037713* 3335		DCA FEXIT
037714* 1670		TAD I FGENIO
037715* 0342		AND F0076	/
037716* 7640		SZA CLA		/SYS: OR DSK0: ?
037717* 6031		 KSF		/FLAG UP ?
037720* 5325		 JMP FGNOSYS	/NO, DON'T TEST
037721* 6034		KRS		/YES
037722* 1341		TAD FM203	/TYPED ^C ?
037723* 7650		SNA CLA
037724* 5200		 JMP 7600	/YES, NO TRANSFER
037725* 1670	FGNOSYS,TAD I FGENIO	/GET UNIT+FUNCTION
037726* 6000		   6000		/THE REST IS NOT OUR BISNESS
037727* 5333		JMP .+4		/SKIP THE PARAMETER WORDS
037730* 0000	FUNC,	   ZBLOCK 3	/THE 3 PARAMETERS
037733* 7450		SNA		/ERROR ?
037734* 2275		 ISZ FGTMP	/NORMAL RETURN
037735* 6203	FEXIT,	CDF CIF		/CDF CIF RETURN
037736* 5675		JMP I FGTMP	/RETURN

037737* 6203	FCDIF,	CIF CDF 0
037740* 1400	F1400,	1400
037741* 7575	FM203,	-203
037742* 0076	F0076,	0076

	0134	FAKLEN=.-SYSHND	/LENGTH OF FAKEHANDLER CODE
		IFNZRO 7743-.&4000 <FAKERR,XERROR>


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 201-1


	2761		RELOC


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 202



		DEVLST,
		IFDEF TC08 <TAPEDCB=4160>
	4210	IFDEF TD8E <TAPEDCB=4210>
		IFDEF TAPE <
032761  0424		DEVICE DTA0;TAPEDCB;DTACHN+0
032762  0160
032763  4210
032764  0020
032765  0424		DEVICE DTA1;TAPEDCB;DTACHN+1
032766  0161
032767  4210
032770  0021
032771  0424		DEVICE DTA2;TAPEDCB;DTACHN+2
032772  0162
032773  4210
032774  0022
032775  0424		DEVICE DTA3;TAPEDCB;DTACHN+3
032776  0163
032777  4210
033000  0023
033001  0424		DEVICE DTA4;TAPEDCB;DTACHN+4
033002  0164
033003  4210
033004  0024
033005  0424		DEVICE DTA5;TAPEDCB;DTACHN+5
033006  0165
033007  4210
033010  0025
033011  0424		DEVICE DTA6;TAPEDCB;DTACHN+6
033012  0166
033013  4210
033014  0026
033015  0424		DEVICE DTA7;TAPEDCB;DTACHN+7
033016  0167
033017  4210
033020  0027
			>
		IFDEF LPT <
033021  1420		DEVICE LPT;1040;LPTCHN+0
033022  2400
033023  1040
033024  0030
			>
		IFDEF RX01 <RXDCB=4250>
		IFDEF RX02 <RXDCB=4320>
		IFDEF RXA <
		IFNDEF SYRX02 <
			DEVICE RXA0;RXDCB;RXACHN+0
			DEVICE RXA1;RXDCB;RXACHN+1
			>
		IFDEF SYRXO2 <
			DEVICE RXA1;RXDCB;SYSCHN+1	/RXA1 IS PUBLIC IN SINGL8
			DEVICE RXA2;RXDCB;RXACHN+0


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 202-1

			DEVICE RXA3;RXDCB;RXACHN+1
			>
			DEVICE RBA0;4410;RXACHN+2
			DEVICE RBA1;4410;RXACHN+3	/BYTE MODE FLOPPY
			>
		IFDEF SYRK8E <
			DEVICE RKB0;4230;SYSCHN+1
			DEVICE RKA1;4230;SYSCHN+2
			DEVICE RKB1;4230;SYSCHN+3
			DEVICE RKA2;4230;SYSCHN+4
			DEVICE RKB2;4230;SYSCHN+5
			DEVICE RKA3;4230;SYSCHN+6
			DEVICE RKB3;4230;SYSCHN+7
			>
		IFDEF SY3040 <
033025  2213		DEVICE RKB0;4400;SYSCHN+1
033026  0260
033027  4400
033030  0011
033031  2213		DEVICE RKA1;4400;SYSCHN+2
033032  0161
033033  4400
033034  0012
033035  2213		DEVICE RKB1;4400;SYSCHN+3
033036  0261
033037  4400
033040  0013
033041  2213		DEVICE RKA2;4400;SYSCHN+4
033042  0162
033043  4400
033044  0014
033045  2213		DEVICE RKB2;4400;SYSCHN+5
033046  0262
033047  4400
033050  0015
033051  2213		DEVICE RKA3;4400;SYSCHN+6
033052  0163
033053  4400
033054  0016
033055  2213		DEVICE RKB3;4400;SYSCHN+7
033056  0263
033057  4400
033060  0017
			>
		IFDEF NSRK8E <
			DEVICE RKA0;4230;DSKCHN+0
			DEVICE RKB0;4230;DSKCHN+1
			DEVICE RKA1;4230;DSKCHN+2
			DEVICE RKB1;4230;DSKCHN+3
			DEVICE RKA2;4230;DSKCHN+4
			DEVICE RKB2;4230;DSKCHN+5
			DEVICE RKA3;4230;DSKCHN+6
			DEVICE RKB3;4230;DSKCHN+7
			>
		IFDEF SYRL01 <


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 202-2

			DEVICE RL0B;4260;SYSCHN+1
			DEVICE RL1A;4260;SYSCHN+2
			DEVICE RL1B;4260;SYSCHN+3
			DEVICE RL2A;4260;SYSCHN+4
			DEVICE RL2B;4260;SYSCHN+5
			DEVICE RL3A;4260;SYSCHN+6
			DEVICE RL3B;4260;SYSCHN+7

			DEVICE RL0C;4310;RLCCHN+0
			DEVICE RL1C;4310;RLCCHN+1
			DEVICE RL2C;4310;RLCCHN+2
			DEVICE RL3C;4310;RLCCHN+3
			>
		IFDEF NSRL01 <
			DEVICE RL0A;4260;DSKCHN+0
			DEVICE RL0B;4260;DSKCHN+1
			DEVICE RL1A;4260;DSKCHN+2
			DEVICE RL1B;4260;DSKCHN+3
			DEVICE RL2A;4260;DSKCHN+4
			DEVICE RL2B;4260;DSKCHN+5
			DEVICE RL3A;4260;DSKCHN+6
			DEVICE RL3B;4260;DSKCHN+7

			DEVICE RL0C;4310;RLCCHN+0
			DEVICE RL1C;4310;RLCCHN+1
			DEVICE RL2C;4310;RLCCHN+2
			DEVICE RL3C;4310;RLCCHN+3
			>
		IFDEF CRD <
		CDRPAT,	DEVICE CDR;2030;CRDCHN+0	/MUST BE THE LAST IN THE LIST !!!
			>
033061  0000		0000				/END OF LIST !


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 203



	7000	BOBOOT,	RELOC 7000
037000* 0000	BGNUMB,	0		/GETS DEVICE TYPE ON BOOT OR RESTORE

		LNGLST,			/LIST OF DISK LENGTH'S
037001* 1520		-SIZE0		/DSK0: = SYS:
037002* 1520		-SIZE1		/DSK1:
037003* 1520		-SIZE2		/DSK2:
037004* 1520		-SIZE3		/DSK3:
037005* 1520		-SIZE4		/DSK4:
037006* 1520		-SIZE5		/DSK5:
037007* 1520		-SIZE6		/DSK6:
037010* 1520		-SIZE7		/DSK7:

037011* 0000	BOTRNS,	0		/LOCAL 'HANDLER' TO KEEP SYS: VIRGIN
037012* 3235		DCA TRTEMP
037013* 1611		TAD I BOTRNS
037014* 2211		ISZ BOTRNS
037015* 3227		DCA BOCALL
037016* 1611		TAD I BOTRNS
037017* 2211		ISZ BOTRNS
037020* 3230		DCA BOCALL+1
037021* 1611		TAD I BOTRNS
037022* 2211		ISZ BOTRNS
037023* 3231		DCA BOCALL+2
037024* 1235		TAD TRTEMP
037025* 6000		6000
037026* 5232		JMP .+4
037027* 0000	BOCALL,	ZBLOCK 3
037032* 7440		SZA
037033* 7402		HLT
037034* 5611		JMP I BOTRNS
037035* 0000	TRTEMP,	0


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 204



037036* 0000	ASKDIR,	0		/ASK PERMISSION TO ZERO THE DIRECTORY
037037* 4211		JMS BOTRNS	/READ DIRECTORY FROM THIS SYS:
037040* 0200		   200
037041* 0000		   0
037042* 0001		   1
037043* 1001		TAD 1		/LOOK AT INITIAL BLOCK
037044* 1377		TAD (-70	/IS IT A SYSTEM DIRECTORY?
037045* 7650		SNA CLA
037046* 5636		 JMP I ASKDIR	/YES, GO ON
037047* 1274	BTXT1,	TAD ZEROMS	/NO, WRITE MESSAGE FOR OK TO ZERO
037050* 2247		ISZ BTXT1	/
037051* 6046		TLS		/
037052* 7640		SZA CLA		/
037053* 5247		 JMP BTXT1	/
037054* 6032		KCC		/
037055* 6031		KSF		/WAIT FOR ANSWER
037056* 5255		 JMP .-1	/
037057* 6036		KRB		/
037060* 0376		AND (337	/STRIP LOWERCASE BIT
037061* 1375		TAD (-"Y	/
037062* 7440		SZA		/
037063* 1374		 TAD ("Y-"J	/
037064* 7640		SZA CLA		/
037065* 7402		 HLT		/STOP THIS THING ...!!!
037066* 1373		TAD (215	/CRLF
037067* 6046		TLS		/
037070* 1372		TAD (212-215	/
037071* 6046		TLS		/
037072* 2236		ISZ ASKDIR	/'ZERO' RETURN
037073* 5636		JMP I ASKDIR	/AC RANDOM !

		ZEROMS,
		IFNDEF GERMAN <
		"N;"O;" ;"v;"a;"l;"i;"d;" ;"d;"i;"r;"e;"c;"t;"o;"r;"y;" ;"o
			"n;" ;"t;"h;"i;"s;" ;"a;"r;"e;"a;" ;"-;" ;"s;"h;"a;"l
			"l;" ;"I;" ;"Z;"E;"R;"O;" ;"i;"t;" ;"?;" ;0	/ >

		IFDEF GERMAN <
037074* 0313	"K;"E;"I;"N;" ;"V;"e;"r;"z;"e;"i;"c;"h;"n;"i;"s;" ;"a;"u
037075* 0305
037076* 0311
037077* 0316
037100* 0240
037101* 0326
037102* 0345
037103* 0362
037104* 0372
037105* 0345
037106* 0351
037107* 0343
037110* 0350
037111* 0356
037112* 0351


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 204-1

037113* 0363
037114* 0240
037115* 0341
037116* 0365
037117* 0346		"f;" ;"d;"i;"e;"s;"e;"m;" ;"B;"e;"r;"e;"i;"c;"h;" ;"-
037120* 0240
037121* 0344
037122* 0351
037123* 0345
037124* 0363
037125* 0345
037126* 0355
037127* 0240
037130* 0302
037131* 0345
037132* 0362
037133* 0345
037134* 0351
037135* 0343
037136* 0350
037137* 0240
037140* 0255
037141* 0240		" ;"s;"o;"l;"l;" ;"i;"c;"h;" ;"Z;"E;"R;"O;" ;"m;"a;"c
037142* 0363
037143* 0357
037144* 0354
037145* 0354
037146* 0240
037147* 0351
037150* 0343
037151* 0350
037152* 0240
037153* 0332
037154* 0305
037155* 0322
037156* 0317
037157* 0240
037160* 0355
037161* 0341
037162* 0343
037163* 0350		"h;"e;"n;" ;"?;" ;0	/ >
037164* 0345
037165* 0356
037166* 0240
037167* 0277
037170* 0240
037171* 0000

037172* 7775
037173* 0215
037174* 0017
037175* 7447
037176* 0337
037177* 7710
	7200	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 205



037200* 5330		JMP BOOT	/ENTRY FOR NORMAL BOOTSTRAP OPERATION
037201* 4777	B0,	JMS I (ASKDIR	/READ DIR AND ASK PERMISSION TO ZERO IF BAD
037202* 5230		 JMP DIROK	/DIRECTORY WAS OK, GO ON
037203* 7240		ACM1		/DIR WAS BAD BUT WE GOT OK, MAKE NEW DIRECTORY
037204* 3000		DCA 0		/ONE EMPTY
037205* 1376		TAD (70
037206* 3001		DCA 1		/FILE STORAGE START
037207* 3002		DCA 2		/NO LINK
037210* 3003		DCA 3		/NO OPEN OUTPUT FILES
037211* 7240		ACM1
037212* 3004		DCA 4		/1 ADD. INFO WORD (DATE)
037213* 3005		DCA 5		/EMPTY ENTRY
037214* 1775		TAD I (BGNUMB	/WHO AM I?
037215* 7112		CLL RTR
037216* 7010		RAR		/045X
037217* 1374		TAD (LNGLST-451	/INDEX INTO BACKGROUND LENGTH LIST
037220* 3010		DCA 10
037221* 1410		TAD I 10	/GET NEGATIVE LENGTH
037222* 1376		TAD (70		/--70 BLOCKS FOR SYSTEM
037223* 3006		DCA 6		/INTO LENGTH OF FIRST ENTRY
037224* 4773		JMS I (BOTRNS	/WRITE IN MY DIRECTORY
037225* 4200		   4200		/HOPE I HAVEN'T KILLED ANYTHING
037226* 0000		   0
037227* 0001		   1


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 206



037230* 7301	DIROK,	AC0001
037231* 4773		JMS I (BOTRNS	/READ MONITOR FROM DSK0:
037232* 0010		   10
037233* 0000		   0
037234* 0007		   7		/KM-USR-DVHS-ENTER(TM8E)
			 		/7  13  16   26
037235* 1775		TAD I (BGNUMB	/GET OUR DEVICE TYPE
037236* 3772		DCA I (7560	/SET OUR SYS: TYPE
037237* 1775		TAD I (BGNUMB
037240* 3771		DCA I (7561	/SAME FOR DSK:
037241* 1370		TAD (7447+15-1-1
037242* 3010		DCA 10		/SET POINTER TO RESIDENCY TABLE
037243* 1367		TAD (7560+15-1-1
037244* 3011		DCA 11		/SET POINTER TO DEVICE TYPE TABLE
		IFDEF SINGL8 <
			TAD (7620	/ENTRY POINT DSK2:
			DCA I 10	/
			TAD (6520	/DEVICE TYPE DSK2:
			DCA I 11	/ >
		IFNDEF SINGL8 <
037245* 2010		ISZ 10		/
037246* 2011		ISZ 11		/ >
		IFDEF SINGL8 <
			TAD (7615	/ENTRY POINT DSK1:
			DCA I 10	/
			TAD (6510	/DEVICE TYPE DSK1:
			DCA I 11	/ >
		IFNDEF SINGL8 <
037247* 2010		ISZ 10		/
037250* 2011		ISZ 11		/ >
037251* 1366		TAD (7612	/ENTRY POINT DSK0:
037252* 3410		DCA I 10	/
037253* 1365		TAD (6500	/DEVICE TYPE DSK0:
037254* 3411		DCA I 11	/


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 207



037255* 6211		CDF 10		//
037256* 1764		TAD I (36+2000	//
		IFDEF SINGL8 <
			TAD (2000+15-1-1// >
		IFNDEF SINGL8 <
037257* 1363		TAD (2000+17-1-1// >
037260* 3010		DCA 10		//SET POINTER TO PERMANENT DEVICE NAME TABLE
		IFDEF SINGL8 <
			TAD (6005	//CODE FOR DSK2:
			DCA I 10	//
			TAD (6004	//CODE FOR DSK1:
			DCA I 10	// >
037261* 1362		TAD (6003	//CODE FOR DSK0:
037262* 3410		DCA I 10	//
037263* 1761		TAD I (37+2000	//
037264* 1274		TAD BO2000	//
037265* 3000		DCA 0		//SET POINTER TO DEVICE HANDLER INFO
037266* 6201	BRSLP,	CDF 0		/ONCE ONLY CODE
037267* 1735		TAD I RESTEM	/IS THIS DEVICE RESIDENT?
037270* 6211		CDF 10		//
037271* 7640		SZA CLA		//
037272* 3400		DCA I 0		//ZERO DEVICE HANDLER INFO FOR THIS DEVICE
037273* 2335		ISZ RESTEM	//
037274* 2000	BO2000,	ISZ 0		//TO NEXT
037275* 2336		ISZ RESCNT	//MORE?
037276* 5266		JMP BRSLP	//YES
037277* 6201		CDF 0
037300* 4773		JMS I (BOTRNS	/WRITE ON SYS:
037301* 4010		   4010
037302* 0000		   0
037303* 0007		   7
037304* 7301		AC0001		/READ NEXT PART OF MONITOR
037305* 4773		JMS I (BOTRNS	/FROM DSK0:
037306* 3610		   3610
037307* 0000		   0000
037310* 0051		   51		/CD-SADA-ERR-CHN-ODT-MRG-REM-BOO-CCL
					/51 54   56  57  60  64  65  66  67
		IFZERO OS8-50 <		/MAKE CCL RUN FROM DSK0:
037311* 6211		CDF 10
037312* 1360		TAD (17		/MOVE DSK0: DEV # TO CCL OVERLAY
037313* 3757		DCA I (7205
037314* 1366		TAD (7612	/ALSO DSK0: HANDLER ENTRY POINT
037315* 3756		DCA I (7206
037316* 6201		CDF 0		/ >
037317* 4773		JMS I (BOTRNS	/WRITE IT BACK ON THIS SYS:
037320* 7610		   7610
037321* 0000		   0
037322* 0051		   51


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 208



037323* 4773		JMS I (BOTRNS	/WRITE BLOCK 0 ON SYS:
037324* 4200		   4200
037325* 7400		   7400
037326* 0000		   0000
037327* 5755		JMP I (BOOT1

037330* 4773	BOOT,	JMS I (BOTRNS	/READ BLOCK 0
037331* 0200		   200		/WHICH HAS OUR SPECIFIC INFO
037332* 7400		   7400
037333* 0000		   0000
037334* 5755		JMP I (BOOT1
037335* 7447	RESTEM,	7447		/ONCE ONLY
037336* 7761	RESCNT,	-17		/ONCE ONLY
037355* 7400
037356* 7206
037357* 7205
037360* 0017
037361* 2037
037362* 6003
037363* 2015
037364* 2036
037365* 6500
037366* 7612
037367* 7573
037370* 7462
037371* 7561
037372* 7560
037373* 7011
037374* 6330
037375* 7000
037376* 0070
037377* 7036
	7400		PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 209



037400* 6211	BOOT1,	CDF 10
037401* 1247	BOLOOP,	TAD BOOT1+47
037402* 3611		DCA I BOPNT
037403* 2201		ISZ BOLOOP
037404* 2211		ISZ BOPNT
037405* 5201		 JMP BOLOOP
037406* 6201		CDF 0
037407* 5610		JMP I .+1	/SLIP INTO 7600
037410* 7605		7605
037411* 7647	BOPNT,	7647
		IFDEF SYRX02 <
			NOPUNC		/IT TOOK MORE TIME TO FIGURE OUT
			*.+2		/RX02 LOADS AT 2
			ENPUNC	/ >
		IFNDEF SINGL8 <
037412* 0207	BOMESS,	207;"M;"8;" ;"D;"A;"T;"A;"-;"D;"I;"S;"K / >
037413* 0315
037414* 0270
037415* 0240
037416* 0304
037417* 0301
037420* 0324
037421* 0301
037422* 0255
037423* 0304
037424* 0311
037425* 0323
037426* 0313
		IFDEF SINGL8 <
		BOMESS,	207;"Z;"M;" ;"D;"A;"T;"A;"-;"D;"I;"S;"K	/ >

		IFDEF SYRK8E <
			NOP
		RK0030,	6741		/WAIT TILL RK8E READY
			 JMP .-1	/ >
		IFDEF SYRL01 <
			NOP
			NOP
		RL0031,	6601		/WAIT TILL RL01 READY
			 JMP .-1	/ >
		IFDEF SYRX02 <
			NOP
			NOP
		RX0033,	6755		/WAIT TILL RX02 READY, 'LOAD' JUMPS TO HERE
			 JMP RXLOAD+1	/FIGURE 8 WAIT WITH 'LOAD' SUBR >
037427* 7200		CLA
037430* 1212	BOMSLP,	TAD BOMESS
037431* 6046		TLS		/TYPE A WARNING MESSAGE IF BOOTED
037432* 6041		TSF		/ON A REAL MACHINE
037433* 5232		 JMP .-1
037434* 2230		ISZ BOMSLP	/SETUP FOR NEXT CHARACTER
037435* 7740		SMA SZA CLA
037436* 5230		 JMP BOMSLP	/GO FOR NEXT CHARACTER


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 209-1

037437* 7402		HLT
		IFDEF SYRX02 <
			JMS RXLOAD	/EMPTY SILO
			JMP .-1		/RX02 PRIMARY BOOT JUMPS TO HERE
			NOPUNC
			*.-2		/BACK TO NORMAL (RELOC'D)
			ENPUNC
			RXLOAD=53	/DEF FROM PRIMARY BOOT >
	3522		RELOC
	0440	BOBOEND=.-BOBOOT


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 210



		TRPTAB,
		IFDEF UNTRP1 <UNTRP1^10+6001>
		IFDEF UNTRP2 <UNTRP2^10+6001>
		IFDEF UNTRP3 <UNTRP3^10+6001>
		IFDEF UNTRP4 <UNTRP4^10+6001>
		IFDEF UNTRP5 <UNTRP5^10+6001>
		IFDEF UNTRP6 <UNTRP6^10+6001>
		IFDEF UNTRP7 <UNTRP7^10+6001>
		IFDEF UNTRP8 <UNTRP8^10+6001>
		IFDEF UNTRP9 <UNTRP9^10+6001>
033522  0000		0000	/END OF LIST

033523  2631	XDSKTAB,"S^100+"Y&3777;0;0;SIZE0
033524  0000
033525  0000
033526  6260
033527  2631		USYS1;UNIT1;FROM1;FROM1+SIZE1
033530  0001
033531  0000
033532  6260
033533  2631		USYS2;UNIT2;FROM2;FROM2+SIZE2
033534  0002
033535  0000
033536  6260
033537  2631		USYS3;UNIT3;FROM3;FROM3+SIZE3
033540  0003
033541  0000
033542  6260
033543  2631		USYS4;UNIT4;FROM4;FROM4+SIZE4
033544  0004
033545  0000
033546  6260
033547  2631		USYS5;UNIT5;FROM5;FROM5+SIZE5
033550  0005
033551  0000
033552  6260
033553  2631		USYS6;UNIT6;FROM6;FROM6+SIZE6
033554  0006
033555  0000
033556  6260
033557  2631		USYS7;UNIT7;FROM7;FROM7+SIZE7
033560  0007
033561  0000
033562  6260

033563  0000	BOOBUF,	ZBLOCK 1000	/BUFFER IN WHICH THE BOOTBLK IS ASSEMBLED
	4232	DVRSTB=BOOBUF+447  /SYS:-ENTRY DEVICE RESIDENCY TABLE
	4343	DVTYPT=BOOBUF+560 /SYS:-ENTRY IN DEVICE TYPE TABLE
	4372	FAKSYS=BOOBUF+607 /POSITION OF SYS: ENTRYP. IN BLOCK 0
	4562	BGCORW=BOOBUF+777 /BACKGROUND CORE-WORD
				/END IFNZRO BGMAX >




/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 210-1

	4600	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 211



		/***************** TASKBUILDER *************************
		/9 FILES CAN BE LOADED IN ONE SINGLE COMMAND LINE.
		/ONE SINGLE FILE MAY CONTAIN MORE THAN 1 TASK.

		/OPTIONS:

		/PAGE 0 VARIABLES
	0020	BINPC=TEMP5		/LOAD POINTER
	0001	ZNAME=TEMP1	/TASK'S NAME
	0002	ZLENG=TEMP2	/LENGTH IN PAGES
	0003	ZWC=TEMP3	/LENGTH OF TASK IN WORDS
	0007	ZCNT=TEMP4	/TEMPORARY COUNTER
	0021	ZBLK=TEMP6	/RELATIVE STARTING BLOCK
	0022	ZADDR=TEMP7	/STARTING ADDRESS WITHIN THE TASK


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 212



		/ACTIVATE THE PRE-ASSEMBLED CORE-RESIDENT TASKS.
034600  0000	SETNAM,	0		/
034601  1064		TAD [NAMLST-1	/SET UP POINTERS
034602  3016		DCA AUTO16
034603  1063		TAD [TCBTAB
034604  6201		CDF 0		//
034605  3000	SETNM1,	DCA TEMP	//
034606  1400		TAD I TEMP	//FIRST ITEM IS NAME OR 00
034607  7450		SNA
034610  5600		 JMP I SETNAM	//ZERO IS TERMINATOR
034611  3416		DCA I AUTO16
034612  3400		DCA I TEMP	//CLEAR THE BACKLINK!!
034613  1000		TAD TEMP	//MOVE ONE BLOCKLET FURTHER
034614  1145		TAD [10
034615  5205		JMP SETNM1	//CYCLE

034616  0000	TSKBLD,	0		/TASKBUILD ROUTINE
034617  4462	RSTRT,	JMS I [OS8IN	/READ CHAR FROM OS8IN
034620  5616		 JMP I TSKBLD	/NO INPUT, RETURN

		/START LOADING ALL FILES, ONE BEHIND THE OTHER
		XL4,
034621  1061		TAD [200-1	/V2
034622  3010		DCA AUTO10	/V2
034623  1060		TAD [-4600	/DON'T SPOIL  BATCH (5000 AND UP)
034624  3000		DCA TEMP	/V2
034625  6241		CDF BGFLD+10	/V2
034626  3410		DCA I AUTO10	/V2 CLEAR LOADER AREA
034627  2000		ISZ TEMP	/V2
034630  5226		 JMP .-2	/V2
034631  6231		CDF BGFLD	/V2
034632  7240		ACM1		/RESET TO LEADER PHASE
034633  4457	XL5,	JMS I [BINL	/READ FIRST FRAME AND SO ON
034634  5616		  JMP I TSKBLD	/CTRL/Z DETECTED
034635  5272		  JMP XL6	/CHECKSUM DETECTED
034636  1020		TAD BINPC	/AC=0;INSPECT BEFORE LOADING
034637  7650		SNA CLA		/
034640  5246		 JMP XTABLS	/LOAD PAGE ZERO: PATCH MONITOR TABLES
034641  1024		TAD BINAC
034642  6241		CDF BGFLD+10	//THERE WILL THE TASK BE LOADED
034643  3420		DCA I BINPC	//
034644  6231		CDF BGFLD	/
034645  5233		JMP XL5		/READ NEXT FRAME


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 213



034646  1024	XTABLS,	TAD BINAC
034647  0056		AND [7707
034650  1055		TAD [-6201
034651  7640		SZA CLA		/MUST BE A CDF
034652  4563	ERR21,	JMS I [ERROR	/PREAMBLE ERROR
034653  1024		TAD BINAC
034654  3266		DCA YCDF
034655  4457		JMS I [BINL	/GET NEXT WORD
034656  7000		 NOP
034657  4563	ERR21A,	 JMS I [ERROR	/PREABLE ERROR
034660  1024		TAD BINAC	/POINTER TO WORD TO PATCH
034661  3000		DCA TEMP	/
034662  4457		JMS I [BINL	/GET NEXT WORD
034663  7000		 NOP
034664  4563	ERR21B,	 JMS I [ERROR	/PREABLE ERROR
034665  1024		TAD BINAC	/THAT'S THE VALUE
034666  7402	YCDF,	HLT		/GETS A CDF
034667  3400		DCA I TEMP	/AND PATCH IT NOW
034670  6231		CDF BGFLD	/RESTORE DATAFIELD
034671  5233		JMP XL5		/AND JUMP BACK TO NORMAL LOADING

034672  7640	XL6,	SZA CLA		/CHECKSUM IN AC
034673  4563	ERR25,	 JMS I [ERROR	/CKECKSUM ERROR
		/FETCH NAME AND LENGTH FROM TASK HEADER.
		/ALSO COMPUTE THE RELATIVE STARTING ADDRESS
034674  7350		AC3777
034675  6241		CDF BGFLD+10
034676  0574		AND I [200	//
034677  7450		SNA		//
034700  5221		 JMP XL4	//EMPTY BINARY, SKIP IT
034701  3001		DCA ZNAME	//
034702  1503		TAD I [201	//GET LENGTH WORD
034703  0147		AND [7600	//MAKE CORRECT WORDCOUNT
034704  3003		DCA ZWC		//
034705  1503		TAD I [201	//
034706  0070		AND [77		//TASK CONNECTED?
034707  7104		CLL RAL		//# OF WORDS FOR 'CONNECT' IN AC
034710  1103		TAD [201	//SKIP THEM
034711  3022		DCA ZADDR	//
034712  1422		TAD I ZADDR	//NOW SCAN THE RELOCATE POINTERS
034713  2022		ISZ ZADDR	//
034714  7640		SZA CLA		//
034715  5312		 JMP .-3	//
034716  6231		CDF BGFLD
034717  1003		TAD ZWC		/SAVE ALSO LENGTH IN # OF PAGES
034720  7110		CLL RAR
034721  7002		BSW
034722  3002		DCA ZLENG	/LOADED BEYOND LENGTH OF TASK?
034723  1003		TAD ZWC
034724  1174		TAD [200
034725  7041		CIA
034726  7100		CLL
034727  1020		TAD BINPC	/BINPC FROM 200 UP


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 213-1

034730  7630		SZL CLA
034731  4563	ERR26,	 JMS I [ERROR	/LOADED BEYOND LENGTH


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 214



		/MAKE A TASK-CONTROL BLOCKLET
		/FIRST OF ALL GET AN ENTRY IN NAMLST.
		/SEARCH NAMLST IN CASE THIS IS A REPLACE OPERATION
		/THEN CHECK WHETHER THE
		/NEW VERSION CAN BE DROPPED INTO THE SAME HOLE.
034732  1113	XL90,	TAD [-MAXNAM	/TEST FOR MAX NUMBER OF ENTRIES
034733  3007		DCA ZCNT
034734  1054		TAD [NAMLST
034735  3000		DCA TEMP
034736  6201		CDF 0		//
034737  1400	XL9,	TAD I TEMP
034740  7041		CIA
034741  1001		TAD ZNAME	//SAME NAME?
034742  7650		SNA CLA
034743  5453		 JMP I [XL91	//Y
034744  2000		ISZ TEMP	//NEXT ENTRY
034745  2007		ISZ ZCNT	//ALL DONE ?
034746  5337		 JMP XL9	//NO, CYCLE
034747  1544		TAD I [FHEAD	//MUST BE A NEW NAME, ALLOCATE NEW TCB
034750  7450		SNA		//ANY SPARE TCB'S ?
034751  4563	ERR28,	 JMS I [ERROR	//NAMELIST EXHAUSTED
034752  3000		DCA TEMP	//POINTER TO NEW TCB
034753  1400		TAD I TEMP	//GET NEXT FREE TCB ADDRESS
034754  3544		DCA I [FHEAD	//AND STORE IN FHEAD
034755  6231		CDF BGFLD	/

		/SEARCH A HOLE IN DISKMAP.
034756  1052	XL75,	TAD [DSKMAP
034757  3010		DCA AUTO10
034760  1410	LOOP,	TAD I AUTO10
034761  7640		SZA CLA
034762  5360		 JMP .-2	/LOOP
034763  1010		TAD AUTO10
034764  1051		TAD [-ENDMAP	/COMPARE WITH END OF MAP
034765  7650		SNA CLA		/IS THIS THE END ?
034766  4563	ERR27,	 JMS I [ERROR	/DISKMAP FULL
034767  1002		TAD ZLENG
034770  7171		STL CIA RAR	/CONVERT TO - # BLOCKS
034771  3007		DCA ZCNT	/SETUP COUNTER
034772  5376		JMP LOOP2	/JUMP IN LOOP TO CHECK LENGTH
034773  1410	LOOP1,	TAD I AUTO10	/GET NEXT WORD
034774  7640		SZA CLA		/ALSO FREE ?
034775  5360		 JMP LOOP	/NO, LOOK FOR NEXT HOLE
034776  2007	LOOP2,	ISZ ZCNT	/LONG ENOUGH ?
034777  5373		 JMP LOOP1	/NO, SEE IF THERE IS MORE ROOM
		/OK, FOUND HOLE THAT'S LARGE ENOUGH
035000  1002		TAD ZLENG
035001  7171		STL CIA RAR	/- # BLOCKS
035002  1010		TAD AUTO10	/SAVE POSITION IN DISKMAP
035003  1050		TAD [-DSKMAP	/RELATIVE BLOCK#
035004  1452		TAD I [DSKMAP	/ADD OFFSET IN SAVE FILE
035005  3021		DCA ZBLK


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 215



		/FILL IN THE DISKMAP
035006  1002		TAD ZLENG	/COUNTS # OF PAGES
035007  7171		STL CIA RAR	/V3 CONVERT TO -# OF BLOCKS
035010  3007		DCA ZCNT
035011  1002		TAD ZLENG	/SET POINTER TO BEGIN OF HOLE
035012  7171		STL CIA RAR	/
035013  1010		TAD AUTO10
035014  3010		DCA AUTO10
035015  1001		TAD ZNAME	/NAME MUST BE UNEQ 0
035016  3410		DCA I AUTO10
035017  2007		ISZ ZCNT
035020  5215		 JMP .-3
035021  5267		JMP XL10

		/NAME DOES ALREADY EXIST IN THE SYSTEM, DELETE THE OLD
		/TASK FIRST
035022  3400	XL91,	DCA I TEMP	/ZERO THE NAME ENTRY
035023  1000		TAD TEMP
035024  1047		TAD [-NAMLST
035025  7104		CLL RAL		/^10
035026  7006		RTL		/FIND PLACE IN TCBTAB
035027  1063		TAD [TCBTAB
035030  3000		DCA TEMP
035031  1544		TAD I [FHEAD
035032  3400		DCA I TEMP
035033  1000		TAD TEMP
035034  3544		DCA I [FHEAD
035035  2000		ISZ TEMP
035036  2000		ISZ TEMP
035037  2000		ISZ TEMP
035040  1400		TAD I TEMP	/GET BLOCKNUMBER OFFSET

035041  7041		CIA
035042  6231		CDF BGFLD
035043  1452		TAD I [DSKMAP	/SUBSTRACT OFFSET IN SAVEFILE
035044  7040		CMA		/CIA: BUG, CORRECTED 13-JAN-80
035045  1052		TAD [DSKMAP
035046  3010		DCA AUTO10
035047  1010		TAD AUTO10
035050  3011		DCA AUTO11
035051  1410	DELETE,	TAD I AUTO10
035052  7041		CIA
035053  1001		TAD ZNAME
035054  7640		SZA CLA		/STILL THE SAME NAME ?
035055  5260		 JMP ENDDEL	/NO, ENTRY IS DELETED
035056  3411		DCA I AUTO11	/DELETE THIS ENTRY
035057  5251		JMP DELETE
035060  6211	ENDDEL,	CDF 10
035061  1446		TAD I [7643
035062  6231		CDF BGFLD
035063  0141		AND [400
035064  7640		SZA CLA		/DELETE OPTION SWITCH (/D) ?
035065  5445		 JMP I [XL4	/YES, DON'T INSTALL THIS TASK


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 215-1

035066  5444		JMP I [XL90	/NO, GO INSTALL THIS TASK


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 216



		/START FILLING IN THE PARAMETERS:
035067  1000	XL10,	TAD TEMP	/POINTER IN TCBTAB
035070  3011		DCA AUTO11
035071  6201		CDF 0		//
035072  3400		DCA I TEMP	//ZERO BACKLINK
035073  6241		CDF BGFLD+10
035074  7203		AC0100		/EXTRACT AUTO-START BIT
035075  0503		AND I [201
035076  6201		CDF 0
035077  3411		DCA I AUTO11	/SET 0 OR 100 IN THREAD WORD
035100  1022		TAD ZADDR	/STARTING ADDRESS FROM *200 ON
035101  0061		AND [177	/V3 MAKE IT PAGE ZERO
035102  3411		DCA I AUTO11	/RELATIVE STARTING ADDRESS
035103  1021		TAD ZBLK
035104  3411		DCA I AUTO11	/RELATIVE BLOCK NUMBER
035105  1003		TAD ZWC		/LENGTH,FIELD AND ONDISK BIT
035106  7110		CLL RAR		/V7A BREAK-FLAG=0
035107  1043		TAD [FIELDS^10+1 /V3 SET ONDISK BIT,
035110  3411		DCA I AUTO11	/RELATE TO HIGHEST+1 FG-FIELD
035111  1042		TAD [CDF%2
035112  3411		DCA I AUTO11

		/UPDATE NAMLST.
		/POSITION IN NAMLST.
035113  1000		TAD TEMP
035114  1063		TAD [-TCBTAB
035115  7110		CLL RAR
035116  7110		CLL RAR
035117  7110		CLL RAR
035120  1054		TAD [NAMLST
035121  3000		DCA TEMP
035122  1001		TAD ZNAME
035123  3400		DCA I TEMP

		/WRITE TASK ONTO DISK
035124  6231		CDF BGFLD
035125  1002		TAD ZLENG
035126  7111		CLL IAC RAR	/# OF BLOCKS
035127  1021		TAD ZBLK	/+ RELATIVE BLOCK #
035130  1777		TAD I (ACTLEN	/-ACTUAL FILE LENGTH
035131  7700		SMA CLA
035132  4563	ERR23,	 JMS I [ERROR	/?MULTI8.SV TOO SHORT?
035133  1003		TAD ZWC		/MAKE FUNCTIONWORD
035134  7130		STL RAR		/WRITE; WLL.LLL.FFF.000
035135  1041		TAD [BGFLD+10
035136  3344		DCA XLDTV
035137  1565		TAD I [OFSET	/BLOCK# ON DISK
035140  1021		TAD ZBLK
035141  3346		DCA XLBLK
035142  6202		CIF 0
035143  4564		JMS I [SYSHND
035144  0000	XLDTV,	  0		/FUNCTION WORD
035145  0200		  200		/ADDRESS IN CORE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 216-1

035146  0000	XLBLK,	  0		/BLOCK # ON DISK
035147  4563	ERR29,	 JMS I [ERROR	/WRITE ERROR
035150  3025		DCA CHANGD	/SET SAVE FLAG
035151  5445		JMP I [XL4

035177  1015
	5200	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 217



		/BINARY LOADER SUBROUTINE READ A BINAIRY FILE AND
		/PRODUCES TWO PARAMETERS OF 
		/INTEREST:THE LOAD POINTER 'BINPC', AND THE CONTENTS
		/OF THE DATA 'BINAC'. THE USER CAN TEST FORMATS AND
		/BOUNDARIES, AND HAS TO DEPOSIT THE DATA HIMSELF.
		/DURING LEADER PHASE THE ROUTINE IGNORES LEADER
		/CODE. A JMS TO BINL WITH AC UNEQ 0 ALSO
		/RESETS ALL PARAMETERS AND RETURNS TO LEADER MODE.

		/HOW TO USE THE ROUTINE AS A STANDARD BINARY LOADER
		/START,	JMS BINL
		/	   HLT	/EOT RETURN;AC=0
		/	   HLT	/READY RETURN;AC=DIFFERENCE IN CHECKSUMS
		/	TAD BINAC	/AC=0;NORMAL RETURN
		/	CDF DATAFIELD
		/	DCA I BINPC
		/	JMP START

035200  0000	BINL,	.-.		/AC UNEQ 0 =RESET PARAMETERS
035201  7640		SZA CLA
035202  5260		 JMP BINIT	/RESET
035203  2020		ISZ BINPC	/V4 UPDATE POINTER
035204  1277	BINCHX,	TAD BINW1	/V4 UPDATE CHECKSUM
035205  1300		TAD BINW2	/V4
035206  1301		TAD BINSUM	/V4
035207  3301	BINGO,	DCA BINSUM	/CLEAR OR ADD TO CHECKSUM
035210  1276		TAD BINCHR
035211  3277		DCA BINW1
035212  4462		JMS I [OS8IN	/V4 LOOK AHEAD
035213  5600		 JMP I BINL	/END OF TAPE
035214  3300		DCA BINW2
035215  4230		JMS BINGG	/READ NEXT
035216  5267		 JMP BINEND	/TRAILER= END
035217  4251		JMS BINASS	/ASSEMBLE WORD1 AND WORD2
035220  7430		SZL		/ORIGIN ?
035221  5226		 JMP BINNPC	/V4 YES:SET ORIGIN
035222  3024		DCA BINAC	/SAVE DATA
035223  2200		ISZ BINL	/NORMAL RETURN
035224  2200	BINOUT,	ISZ BINL	/V4 CHECKSUM RETURN
035225  5600		JMP I BINL	/V4

035226  3020	BINNPC,	DCA BINPC	/V4 SET ORIGIN
035227  5204		JMP BINCHX	/V4 DON'T UPDATE POINTER


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 218



035230  0000	BINGG,	.-.		/READ AND TEST FRAMES
035231  4462		JMS I [OS8IN	/V4
035232  5600		 JMP I BINL	/END OF TAPE
035233  3276		DCA BINCHR	/SAVE FRAME
035234  1276		TAD BINCHR
035235  1147		TAD [-200	/200 ?
035236  7510		SPA		/YES
035237  2230		 ISZ BINGG	/DATA OR ORIGIN
035240  7750		SPA SNA CLA
035241  5630		 JMP I BINGG	/DATA, ORIGIN OR L/T
035242  1276		TAD BINCHR
035243  1040		TAD [-300
035244  7500		SMA		/IS IT REALLY A BINARY FILE ?
035245  0037		 AND [7
035246  7650		SNA CLA		/V4
035247  5231		 JMP BINGG+1	/V4 IGNORE FIELD SETTING
035250  4563	ERR22,	JMS I [ERROR	/?BAD BINARY?

035251  0000	BINASS,	.-.		/ASSEMBLE 2 FRAMES
035252  1277		TAD BINW1
035253  7106		CLL RTL		/SWAP BYTES
035254  7006		RTL
035255  7006		RTL		/NO BSW!, ORIGIN SETTING MAKES LINK=1
035256  1300		TAD BINW2
035257  5651		JMP I BINASS	/RETURN

035260  3277	BINIT,	DCA BINW1	/V4
035261  3300		DCA BINW2	/V4
035262  1174		TAD [200	/V4
035263  3020		DCA BINPC	/V4
035264  4230		JMS BINGG
035265  5264		 JMP .-1	/IGNORE LEADER
035266  5207		JMP BINGO

035267  7240	BINEND,	ACM1
035270  1020		TAD BINPC
035271  3020		DCA BINPC	/BACKUP BINPC
035272  4251		JMS BINASS	/FOR CHECKSUM
035273  7041		CIA
035274  1301		TAD BINSUM
035275  5224		JMP BINOUT	/CHECKSUM RETURN

035276  0000	BINCHR,	0		/LAST READ CHAR.
035277  0000	BINW1,	0		/FIRST FRAME
035300  0000	BINW2,	0		/SECOND FRAME
035301  0000	BINSUM,	0		/CHECKSUM

	5400	PAGE


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 219



		/USER EQUATES
	0001	IBUFLG=1		/LENGTH OF INPUT BUFFER
		/PROGRAM EQUATES
	0030		OSIFLD=BGFLD	/FIELD OF PROGRAM IS 
	0030		IBUFLD=BGFLD	/FIELD OF INPUTBUFFER
	0030		IPRFLD=BGFLD	/FIELD OF CALLING PROGRAM

		/	DATAFIELD:
		/0 FIELD 0
		/1 FIELD 10
		/Z FIELD ZERO

035400  0000	OS8IN,	0
035401  5672		JMP I OSIPCH	/Z COROUTINES
		OSIFRST,
035402  6211	OSINXT,	CDF 10		/1
035403  2307		ISZ OSIFILP	/1
035404  1707		TAD I OSIFILP	/1
035405  6231		CDF OSIFLD	/
035406  7450		SNA		/Z
035407  5302		 JMP OSIRST	/Z NO NEXT ONE, MAKE RESTARTABLE
035410  6212		CIF 10		/
035411  4710		JMS I OSIUSR	/Z
035412  0012		   INQUIRE		/Z FETCH HANDLER
035413  0000	OSIHND,	   0		/Z INIT VALUE
035414  5221		 JMP ERR9	/VERY STRANGE INDEED
035415  1213		TAD OSIHND	/GET HANDLER ADDRESS
035416  1377		TAD (200
035417  0376		AND (7600
035420  7640		SZA CLA		/ADDRESS IN PAGE 7600 ?
035421  4775	ERR9,	 JMS I (ERROR	/?NON-RESIDENT HANDLER?
035422  6211		CDF 10		/1
035423  2307		ISZ OSIFILP	/1
035424  1707		TAD I OSIFILP	/1
035425  3237		DCA OSIBLK	/1
035426  6231		CDF OSIFLD	/

		OSIREAD,		/Z
035427  1376		TAD (7600	/Z
035430  3313		DCA OSICNT	/Z
035431  1374		TAD (200+IBUFLD	/Z
035432  3235		DCA OSIFUNC	/Z
035433  6202		CIF 0		/
035434  4613		JMS I OSIHND	/
		OSITEM,
035435  0230	OSIFUNC,   200+IBUFLD	/Z
035436  5600	OSIBUF,	   BUFST	/Z
035437  7746	OSIBLK,	   7746		/Z INIT VALUE
035440  4775	ERR10,	 JMS I (ERROR	/?READ ERROR?
035441  2237		ISZ OSIBLK	/Z
035442  1236		TAD OSIBUF	/Z
035443  3311		DCA OSIPNT	/Z


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 220



035444  1711	OSILP,	TAD I OSIPNT	/Z FAST BUFFER UNPACK
035445  4272		JMS OSIPCH	/Z
035446  1711		TAD I OSIPNT	/Z
035447  2311		ISZ OSIPNT	/Z
035450  0373		AND (7400	/Z
035451  3235		DCA OSITEM	/Z
035452  1711		TAD I OSIPNT	/Z
035453  4272		JMS OSIPCH	/Z
035454  1711		TAD I OSIPNT	/Z
035455  2311		ISZ OSIPNT	/Z
035456  0373		AND (7400	/Z
035457  7112		CLL RTR		/Z
035460  7012		RTR		/Z
035461  1235		TAD OSITEM	/Z
035462  7012		RTR		/Z
035463  7012		RTR		/Z
035464  4272		JMS OSIPCH	/Z
035465  2313		ISZ OSICNT	/Z
035466  5244		 JMP OSILP	/Z
035467  2312		ISZ OSINUM	/Z
035470  5227		 JMP OSIREAD	/Z
035471  5202		JMP OSINXT	/Z
035472  5402	OSIPCH,	OSIFRST		/Z COROUTINES
035473  0372		AND (377	/Z
035474  1371		TAD (-232	/Z
035475  7450		SNA		/Z
035476  5202		 JMP OSINXT	/Z
035477  2200		ISZ OS8IN
035500  1370		TAD (232	/Z
035501  5600		JMP I OS8IN	/Z

035502  1367	OSIRST,	TAD (OSIFRST	/Z
035503  3272		DCA OSIPCH	/Z
035504  1366		TAD (7617-1	/Z
035505  3307		DCA OSIFILP	/Z
035506  5600		JMP I OS8IN	/Z

035507  7616	OSIFILP,7617-1
035510  7700	OSIUSR,	7700
035511  0000	OSIPNT,	0
035512  0000	OSINUM,	0
035513  0000	OSICNT,	0

035566  7616
035567  5402
035570  0232
035571  7546
035572  0377
035573  7400
035574  0230
035575  2076
035576  7600
035577  0200


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 220-1

	5600	PAGE

035600  0000	BUFST,	ZBLOCK 400	/INPUT BUFFER

	6400		ENDPWR=.+400&7400


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 221



		/PAGE ZERO LITERALS:
		$
030037  0007
030040  7500
030041  0040
030042  3100
030043  0031
030044  4732
030045  4621
030046  7643
030047  4312
030050  7406
030051  7023
030052  0372
030053  5022
030054  3466
030055  1577
030056  7707
030057  5200
030060  3200
030061  0177
030062  5400
030063  4000
030064  3465
030065  0212
030066  0215
030067  0240
030070  0077
030071  2234
030072  3443
030073  6241
030074  7756
030075  7764
030076  5372
030077  1030
030100  7761
030101  7762
030102  7775
030103  0201
030104  7773
030105  6233
030106  3521
030107  6000
030110  0471
030111  0005
030112  0136
030113  7731
030114  4001
030115  7360
030116  0004
030117  0205
030120  3317
030121  7774


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 221-1

030122  0111
030123  0110
030124  0107
030125  7662
030126  7776
030127  4342
030130  4231
030131  4233
030132  4232
030133  4562
030134  1040
030135  4707
030136  7777
030137  3441
030140  7760
030141  0400
030142  0017
030143  3217
030144  0132
030145  0010
030146  4123
030147  7600
030150  2000
030151  7644
030152  7642
030153  4616
030154  1600
030155  7740
030156  7577
030157  3522
030160  0020
030161  3700
030162  0361
030163  2076
030164  7607
030165  1014
030166  0352
030167  0223
030170  1064
030171  4600
030172  1400
030173  7700
030174  0200
030175  6004
030176  7746
030177  1000


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 222

ACCRD  1321      BINASS 5251      CHANGD 0025      C3CHAR 0000
ACCRST 1330      BINCHR 5276      CHEAD  0137      C3ESCP 0233
ACM1   7240      BINCHX 5204      CHNDRV 2347      C3FILL 0000
ACM2   7344      BINEND 5267      CINT   6204      C37    0046
ACM3   7346      BINGG  5230      CLEAR  1000      C3700  0060
ACTLEN 1015      BINGO  5207      CLKINT 0244      C4     0043
AC0001 7301      BINIT  5260      CLKIN1 0274      C6201  0061
AC0002 7326      BINL   5200      CLNGTH 1166      C6202  0005
AC0003 7325      BINNPC 5226      CLOSE  0004      C6203  0076
AC0004 7307      BINOUT 5224      CLRQ   2732      C7     0044
AC0006 7327      BINPC  0020      CLRQ1  2736      C70    0047
AC0100 7203      BINSUM 5301      CLRQ2  2752      C7000  0062
AC2000 7332      BINW1  5277      CLRTAB 3320      C7400  0063
AC3777 7350      BINW2  5300      CMME   6374      C7600  0065
AC4000 7330      BJOB   0120      COMPNT 0116      C77    0050
AC5777 7352      BLDCUR 0753      CONCDF 2455      C7700  0066
AC6000 7333      BLDNEW 0741      CONGET 2454      C7770  0067
AC7775 7346      BOBOEN 0440      CONNCT 2400      C7771  0070
AC7776 7344      BOBOOT 3062      CONSET 2431      C7774  0071
AC7777 7240      BOCALL 7027      CONTAB 0126      C7775  0072
ADR    0276      BOLOOP 7401      CONTIN 0001      C7776  0073
ALARM  0075      BOMESS 7412      CON1   2403      C7777  0074
ALARM0 1434      BOMSLP 7430      COPCLR 1434      DCSR   6504
ASC    7403      BOOBUF 3563      COPDSK 0756      DEFER  0112
ASEMMX 0010      BOOT   7330      COPYZ  1400      DELETE 5051
ASKDIR 7036      BOOT1  7400      CORMAP 3324      DEVLST 2761
AUTO10 0010      BOPNT  7411      CRLF   2162      DEVNAM 1263
AUTO11 0011      BOTRNS 7011      CTAIL  0140      DGNCNT 0001
AUTO12 0012      BO2000 7274      CTI    6300      DGNNUM 3150
AUTO13 0013      BREAK  0074      CUDTV  2325      DGNPNT 3147
AUTO14 0014      BREAKR 0306      CUF    6264      DGNTIC 0012
AUTO15 0015      BREAK0 1442      CURTSK 0125      DGNTIM 3112
AUTO16 0016      BREAK1 0322      C0BACK 0210      DGN1   3117
AUTO17 0017      BRKCHR 0206      C0CHAR 0000      DGN2   3133
BASE   0030      BRKTST 1454      C0ESCP 0233      DGN4   3132
BB     2504      BRK1   0324      C0FILL 0000      DIROK  7230
BBCNT  2516      BRK3   0321      C1BACK 0210      DISCON 2460
BGCORE 0010      BRSLP  7266      C1CHAR 0000      DISP   1224
BGCORW 4562      BSFLAG 1226      C1ESCP 0233      DISPAT 0471
BGDATA 4057      BSIZE  0040      C1FILL 0000      DISPLP 0512
BGERR  0002      BSSLOT 0034      C100   0051      DISP1  0525
BGFLD  0030      BSTAB  3441      C17    0045      DISP2  0537
BGFLDS 0005      BTXT1  7047      C177   0052      DISP3  0550
BGID   0067      BUFST  5600      C2     0041      DISP4  0552
BGMAX  0002      B0     7201      C2BACK 0210      DISP5  0554
BGNUMB 7000      CALL   0024      C2CHAR 0000      DISP6  0400
BGREL  1072      CALL0  1045      C2ESCP 0233      DISP7  0436
BGSTOP 1000      CALL1  1054      C2FILL 0000      DISTMP 2454
BG1    4057      CALL2  1063      C200   0053      DIS1   2463
BG1IN  3000      CCB    0356      C212   0054      DK8EP  0130
BG1OUT 3040      CCBLST 0362      C215   0055      DLCR   6502
BG2    4145      CD     0005      C240   0056      DLSR   6512
BG2IN  3100      CDTOAC 4101      C260   0057      DLSS   6506
BG2OUT 3140      CDTOIF 6300      C3     0042      DLTR   6514
BINAC  0024      CHAIND 0026      C3BACK 0210      DLTW   6515


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 222-1

DMPBLK 2005      EMFETC 2200      ENDF40 0200      FGENIO 7670
DNTREL 0424      EMGETF 0650      ENDF50 0200      FGNOSY 7725
DOTF00 3200      EMGIGA 0541      ENDF60 0200      FGTMP  7675
DOTF10 4400      EMGVIR 0677      ENDF70 0200      FHEAD  0132
DOTF20 0116      EMH    0516      ENDMAP 0755      FIELDS 0003
DOTF30 0116      EMHAND 2215      ENDPWR 6400      FILLQ  2600
DOTF40 0116      EMHD   0551      ENTER  0003      FILLQ1 2651
DOTF50 0116      EMHLT  0744      EOFERR 0020      FMASK  0046
DOTF60 0116      EMINAC 1255      EOMERR 0010      FM203  7741
DOTF70 0116      EMLIST 0536      ERRFND 2117      FNORML 2656
DO6030 1506      EMLOOP 1117      ERRLOG 2737      FQLAST 3400
DO6031 1464      EMNAME 1007      ERRLOP 2107      FRECNT 0117
DO6032 1504      EMNUMB 0600      ERRLST 2235      FREE   0116
DO6034 1525      EMOPEN 2434      ERROR  2076      FRESLT 3440
DO6036 1501      EMOR   1530      ERRTSK 1441      FRETRN 2660
DO6044 1400      EMQEND 0705      ERR0   2072      FROM1  0000
DO6046 1400      EMQUIC 0707      ERR10  5440      FROM2  0000
DPSZ   7451      EMQUIT 0757      ERR2   1735      FROM3  0000
DRCR   6503      EMREDY 1213      ERR21  4652      FROM4  0000
DRSR   6505      EMREL  1076      ERR21A 4657      FROM5  0000
DRSS   6507      EMREL1 1144      ERR21B 4664      FROM6  0000
DRTR   6516      EMRUN  1273      ERR22  5250      FROM7  0000
DSDD   6501      EMRUN0 1312      ERR23  5132      FSTEXT 0447
DSDE   6511      EMRUN1 1316      ERR23A 0315      FSYS   7607
DSKCO1 0765      EMSGT  1202      ERR25  4673      FUN    0275
DSKMAP 0372      EMSKIP 1207      ERR26  4731      FUNC   7730
DSKTAB 7600      EMSPY  1535      ERR27  4766      FUNCTI 0025
DSRR   6513      EMSTLL 1335      ERR28  4751      FUNTAB 1336
DTACHN 0020      EMSTRT 1476      ERR29  5147      F0076  7742
DVRSTB 4232      EMTAB  3477      ERR3   0256      F1400  7740
DVTYPT 4343      EMTIME 1745      ERR3A  0300      GERMAN 0000
DWCA   6517      EMULAT 2000      ERR4   0327      GET    0133
D6046A 1427      EMVER  1200      ERR4A  0334      GETCDF 1032
D6046C 1436      EMWAIT 1024      ERR4B  0343      GETLEN 2056
D6046X 1425      EMW1   1033      ERR5   1146      GETNEW 1000
E      2233      EMX    0733      ERR5A  1167      GETN1  1013
EAE    0001      EMXNOP 0732      ERR5B  1160      GETN2  1036
EMACTI 1246      EMXSKP 0731      ERR6   1016      GETQ   2722
EMBG1  4060      EM00   1074      ERR7   2074      GIGAMX 0030
EMBG2  4110      EM00TB 3777      ERR8   1330      GIGATB 4027
EMBRED 0627      EM03   0532      ERR9   5421      GO     1600
EMBSIN 1263      EM03TB 4007      ERSTAT 2740      GTS    6210
EMBSI1 1265      EM1    0520      ESCALT 1517      HALT   0010
EMBSI2 1270      EM2    0522      EVENTF 0033      HALT0  1264
EMCALL 1000      EM20   0535      EXIT   1040      HELP   1753
EMCDIF 0623      EM20TB 3577      FAKHND 2625      HELP1  1755
EMCHCK 0635      EM3    0523      FAKLEN 0134      HLPCNT 1752
EMCHNL 2244      EM30   0534      FAKSYS 4372      HNDTAB 3467
EMCLA  1362      EM30TB 3677      FAKVER 0015      HNGCNT 0116
EMCLCA 0716      EM9    1002      FASSGN 7623      HOLCNT 1600
EMDOT  0527      ENDDEL 5060      FBLKO  3466      HOLE   1603
EMDSK0 2331      ENDF00 4600      FCDIF  7737      HOLE1  1615
EMDSK1 2361      ENDF10 4400      FERROR 2657      HOLE10 1641
EMECHO 0760      ENDF20 0200      FETCH  0001      HOLE11 1643
EMERRO 0723      ENDF30 0200      FEXIT  7735      HOLE12 1655


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 222-2

HOLE13 1660      KHI51  2045      MAXNAM 0047      NEWLEN 0342
HOLE14 1672      KHI8   2143      MAXSLO 0034      NEWLNG 1145
HOLE2  1627      KHLT   2426      MBC    6174      NEWSAV 0314
HOLE20 1700      KHO    2403      MHEAD  0135      NEWSWP 1131
HOLE3  1632      KHOBG1 4050      MONAC  0023      NEWTSK 0027
HOLE7  1634      KHOBG2 4100      MONCDF 0605      NO     1000
HOLLEN 1601      KHO1   2404      MONCIF 0675      NOCHCK 2314
HOLMAX 1602      KHO2   2400      MONDUM 2031      NOTERM 0621
HRDERR 0004      KHTEST 2000      MONERR 1114      NOTSYS 2274
HRDINT 0413      KHT1   2011      MONER1 1113      NULL   0524
HRDLST 3222      KHT2   2020      MONITO 0002      O      0000
HRD1   0417      KK     0315      MONLDF 0024      OFSET  1014
HRD2   0423      KKESCP 0337      MONPC  0022      ONDISK 0400
HWTICK 0012      KK1LST 0000      MONRTN 0661      OO     0076
IBUFLD 0030      KK2    0334      MSEC   0144      OSIBLK 5437
IBUFLG 0001      KT8A   0001      MSG0   2353      OSIBUF 5436
IHEAD  0133      K1TCBP 4034      MSG10  2503      OSICNT 5513
INACTI 4000      K10    1111      MSG11  2401      OSIFIL 5507
INCFLD 0070      LASTNM 3554      MSG2   2364      OSIFLD 0030
INCORE 0100      LBM    6170      MSG21  2512      OSIFRS 5402
INQUIR 0012      LCONFG 7767      MSG22  2523      OSIFUN 5435
INSOF  0300      LDATA  7757      MSG23  2532      OSIHND 5413
INT    0177      LEMULA 7377      MSG25  2545      OSILP  5444
INTAC  0031      LE8E   5205      MSG26  2553      OSINUM 5512
INTDEV 0005      LFPP   7775      MSG27  2562      OSINXT 5402
INTEXT 0557      LJOB   0123      MSG28  2574      OSIPCH 5472
INTFLD 0032      LLOCAL 7773      MSG29  2605      OSIPNT 5511
INT1   0433      LMONIT 6777      MSG3   2401      OSIREA 5427
IPRFLD 0030      LNGLST 7001      MSG4   2411      OSIRST 5502
ITAIL  0134      LNGTH  0237      MSG5   2425      OSITEM 5435
JSW    7746      LNKTCB 1064      MSG6   2441      OSIUSR 5510
KB1    0007      LNKTC1 1067      MSG7   2455      OS8    0050
KHCALL 2423      LNKTC2 1101      MSG8   2401      OS8DAT 7666
KHECHO 1677      LOADPT 4120      MSG9   2467      OS8IN  5400
KHEXIT 2432      LONG   0200      MSG99  2614      OUT    2154
KHEXT  1451      LOOKUP 0002      MTAIL  0136      O1     0041
KHEXT2 1456      LOOP   4760      MTQ    2662      O2     0012
KHI    1612      LOOP1  4773      MTQ1   2716      O3     0072
KHIBG1 4040      LOOP2  4776      MULTI8 0352      PARAM  0026
KHIBG2 4070      LPT    0005      MYCDF  0107      PASS1  0000
KHICON 2065      LPTCHN 0030      MYCDIF 0111      PASS2  0001
KHILP  1614      LPWRUP 7737      MYCIF  0110      PASS3  0000
KHINAM 1640      LRESMO 7577      M1     0074      PDPTST 2065
KHINRM 1664      LRM    6344      M10    0067      PIPNAM 2217
KHIOUT 2134      LRR    6240      M100   0066      POOLN  0004
KHIRUN 1610      LSKIPS 5777      M1000  0062      PP8E   0001
KHIST  2026      LSYSDR 7677      M2     0073      PRBOOT 1212
KHISTP 1734      LTM    6334      M200   0065      PRECE  1115
KHI0   1600      LUSR   6260      M215   0064      PRECED 0000
KHI11  1603      LXM    6200      M3     0072      PRGBLK 1465
KHI12  1720      LZERO  3777      M4     0071      PRGBUF 1505
KHI21  2112      MAININ 1102      M400   0063      PRGB1  1506
KHI3   1724      MAPEND 3465      M7     0070      PRGB2  1540
KHI4   2056      MAPIND 2010      M8BITS 7667      PRGLOP 1525
KHI5   2027      MAXDEV 0011      NAMLST 3466      PROGER 0001


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 222-3

PR8E   0001      RESTEM 7335      SIZE4  6260      SY     2600
PSETL  2216      RESTM1 1525      SIZE5  6260      SYCLOS 2660
PTEMP0 1211      RESTM2 1526      SIZE6  6260      SYERCN 2735
PTEMP1 1200      RESTRT 0030      SIZE7  6260      SYEROR 2657
PTEMP2 1201      RESTR0 1206      SJOB   0124      SYEXIT 2661
PTEMP3 1202      REST1  1215      SKME   6314      SYFLD  2674
PTEMP4 1203      RES1   1506      SKMM   6324      SYIGNR 2723
PTEMP5 1204      RES2   1515      SKPDEV 0011      SYLNGT 6260
PTEMP6 1205      RETRN0 0630      SKPEND 0455      SYS    0003
PTEMP7 1206      RETRN1 0643      SKP0   0202      SYSCA  3107
PTEMP8 1207      RETRY  2201      SMME   6364      SYSCDF 3021
PTEMP9 1210      RETURN 0040      SOFINT 0400      SYSCHN 0010
PTP    0006      RLB    6172      SOFSLO 0023      SYSCNT 2675
PTR    0004      RMR    6173      STACDF 1145      SYSCTR 3105
PUT    0142      RRR    6250      STACIF 1146      SYSDO  3001
PWRUP  0200      RSAVE  1527      STALL  0064      SYSDRV 3104
PWR1   1047      RSTRT  4617      STALL0 1462      SYSDTV 3111
PWR1A  1062      RTM    6304      STALL1 1474      SYSGET 3110
PWR10  1410      RTS    6220      START  1121      SYSHND 7607
PWR12  1443      RUN    0025      START1 1150      SYSI   0001
PWR14  1630      RUSR   6270      START2 1130      SYSINT 2734
PWR15  1657      RXM    6230      STBLK  0236      SYSIN0 2677
PWR4   1220      SAM    7457      STBLK0 0325      SYSLOT 2736
PWR4A  1234      SAVE   0223      STBLK1 0255      SYSMAX 0010
PWR5   1253      SAVLOP 0266      STBLK2 0277      SYSPUT 2671
PWR5A  1313      SCA    7441      STLL0  1342      SYSQ   3200
PWR5B  1315      SCENTR 2632      STLL1  1361      SYSRW  3100
PWR8   1403      SCL    7403      STOP   0034      SYSTAT 2733
PWR9   1406      SETBAS 0121      STOP0  1155      SYSTEM 2672
P7612  1737      SETBLK 1044      STRT   1000      SYSTM  2673
RACA   6175      SETDMP 2000      SUF    6274      SYSWAI 2663
RACB   6176      SETEX  1545      SUSPND 0070      SYSWAT 2727
RACC   6177      SETEX1 1543      SUSPN0 1200      SYSWC  3106
RBM    6171      SETEX2 1544      SVLNGT 0133      SYS10  2710
RBOOT  1713      SETFAK 1213      SWAB   7431      SYS5   2636
RELBLK 0054      SETLEN 1455      SWAP1  1122      SY3040 0001
RELCDF 2242      SETMAP 2047      SWBA   7447      S8WAIT 1464
RELEAS 4000      SETMEM 2035      SWBLOK 1111      TAPE   0002
RELESE 1704      SETMM1 2044      SWPERR 0001      TAPEDC 4210
RELES1 1726      SETNAM 4600      SWPER1 1116      TAPETB 3220
RELPA0 1400      SETNM1 4605      SWPER2 2322      TCBTAB 4000
RELPA1 1430      SETPIP 2200      SWPER3 2331      TD8E   0001
RELSUB 1735      SETSWP 1104      SWPER4 2342      TEMP   0000
RELSU2 1747      SETSW1 1125      SWPFIL 2227      TEMP1  0001
REQBLK 0050      SETTRP 1666      SWPIN  2027      TEMP2  0002
REQPA0 1300      SETUP  2762      SWPLEN 1112      TEMP3  0003
REQPA1 1312      SIGHLT 1231      SWPOUT 4002      TEMP4  0007
REQPA2 1314      SIGNAL 0004      SWPTAB 3447      TEMP5  0020
RERTRN 0700      SIGNL0 1231      SWP1   2064      TEMP6  0021
RESCNT 7336      SIGNL1 1255      SWP1A  2252      TEMP7  0022
RESERV 0020      SINT   6254      SWP2   2261      TENTLN 0326
RESER0 1221      SIZE0  6260      SWP3   2270      TICK   2347
RESEXT 1524      SIZE1  6260      SWP4   2273      TICK1  2367
RESNAM 2223      SIZE2  6260      SWP5   2302      TIME   0302
RESRV  1500      SIZE3  6260      SWP6   2311      TIMEOU 0002


/M5.PA 01-02-2023			  PAL8-V50Y 28-FEB-23 PAGE 222-4

TIMER  0002      T6CHAR 0000      USYS7  2631      ZTEM7  0027
TKBNXT 1021      T6ESCP 0233      UTEMP  0010      ZWC    0003
TOTSLO 0037      T6FILL 0000      UTEM2  0011      
TRACK  0020      T7BACK 0210      UTTY   0060      
TRAP   0001      T7CHAR 0000      UWRTR  0033      
TRAPIN 0465      T7ESCP 0233      VERSHI 0270      
TRAP0  0416      T7FILL 0000      VERSLO 0330      
TRPTAB 3522      UAC    0005      WAIT   0044      
TRTEMP 7035      UACCNT 0063      WAIT0  0677      
TSKBLD 4616      UASEM  0015      WAIT1  0725      
TSTJMP 1227      UASNAM 1140      WAIT2  0735      
TT     0200      UBUFIN 0025      WAIT3  0736      
TTBACK 0311      UBUFOU 0030      X      0020      
TTCHAR 0307      UCHAR  0056      XACCDF 0105      
TTCOUN 0310      UCHNL0 0035      XCOUNT 2662      
TTFCHR 0312      UCOUNT 0061      XCURTS 0132      
TTFILL 0313      UCUR   0034      XDSKTA 3523      
TTFLL  0250      UDTV   0012      XJOB   0122      
TTOUT  0256      UECHO  0045      XLBLK  5146      
TTOU1  0301      UEND   0066      XLDTV  5144      
TTSAV  0306      UFLDS  0004      XLISTX 0000      
TTTAB  0241      UFLD0  0046      XL10   5067      
TTTMP  0314      UINST  0006      XL4    4621      
TTYMAX 0001      UKB    0057      XL5    4633      
TTY1   0010      UMQ    0001      XL6    4672      
TT0    0221      UNEXT  0065      XL75   4756      
TT1    0223      UNIT1  0001      XL9    4737      
TT1LST 0000      UNIT2  0002      XL90   4732      
TT2    0232      UNIT3  0003      XL91   5022      
TT3    0237      UNIT4  0004      XMONIT 0600      
TXTOUT 2127      UNIT5  0005      XREADP 2722      
TXTPNT 2153      UNIT6  0006      XTABLS 4646      
TXT1   2135      UNIT7  0007      XWRITE 2732      
T1BACK 0210      UNUMB  0036      YCDF   4666      
T1CHAR 0000      UPC    0003      ZADDR  0022      
T1ESCP 0233      USC    0002      ZBLK   0021      
T1FILL 0000      USESY1 0001      ZBREAK 0120      
T1TCBP 4024      USESY2 0001      ZCNT   0007      
T2BACK 0210      USESY3 0001      ZDISPA 0121      
T2CHAR 0000      USESY4 0001      ZEROMS 7074      
T2ESCP 0233      USESY5 0001      ZFSTEX 0040      
T2FILL 0000      USESY6 0001      ZHRDIN 0117      
T3BACK 0210      USESY7 0001      ZLENG  0002      
T3CHAR 0000      USLOT  0062      ZMYCDF 0034      
T3ESCP 0233      USR    7700      ZMYCDI 0036      
T3FILL 0000      USRIN  0010      ZMYCIF 0035      
T4BACK 0210      USROUT 0011      ZNAME  0001      
T4CHAR 0000      USTAT  0000      ZNUM   0023      
T4ESCP 0233      USW    0007      ZSOFIN 0037      
T4FILL 0000      USYS1  2631      ZTEM1  0021      
T5BACK 0210      USYS2  2631      ZTEM2  0022      
T5CHAR 0000      USYS3  2631      ZTEM3  0023      
T5ESCP 0233      USYS4  2631      ZTEM4  0024      
T5FILL 0000      USYS5  2631      ZTEM5  0025      
T6BACK 0210      USYS6  2631      ZTEM6  0026      




ERRORS DETECTED: 0
LINKS GENERATED: 0