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