ASSEMBLY LISTING OF SEGMENT >spec>h>3.17>ld355.alm ASSEMBLED ON: 11/29/83 1524.1 mst Tue OPTIONS USED: list ASSEMBLED BY: ALM Version 6.6 November 1982 ASSEMBLER CREATED: 09/21/83 1227.3 mst Wed  1 " ***********************************************************  2 " * *  3 " * Copyright, (C) Honeywell Information Systems Inc., 1982 *  4 " * *  5 " ***********************************************************  6 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  7 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  8 "  9 "  10 " This is a bos command to load the 355. The 355 core load as well as the 355 boootload  11 " program are assumed to be in the bos directory. The coreload name is arg 1 to the command.  12 " If no arg is given, the default is D355. The 355 bootload program must be called B355.  13 " This command will copy the 355 bootload program and the 355 coreload into segment 1  14 " (after seg 3) and set up the necessary commands to put the 355 bootload program  15 " into the 355. The 355 core image will be patched to reflect the configuration  16 " specified in the bos config deck rather than what was specified when the 355 17 " 355 core image was created. The bootload program will then load the 355 coreload.  18 " When the 355 has been loaded, it will tell ld355 whether the load was successful 19 " or not. An error message will be printed if the load was a failure. In either case,  20 " a return will be made to bos.  21 "  22 "  23 " Assigned Segment Numbers: 24 "  25 " Seg No. Use  26 "  27 " 0 Descriptor Segment  28 " 1 Scratch 29 " 3 Command 30 " 6 Common Data 31 " 7 Absolute Core  32 "  33 " include files: bosequ, bos_common, conf355, bos_tv, bos_sdw  34 "  35 " WRITTEN BY DICK SNYDER JULY 1,1971  36 " Modified Dec 1,1971 to run on iom by Dick Snyder  37 " Modified for follow_on by Dick Snyder July, 1972  38 " Modified to patch config info into core image by R.B.Snyder 9/20/73  39 " Modified to change iom interrupt levels by Mike Grady 7/8/74  40 " Modified for MCS by Mike Grady 4/13/75  41 " Modified to run multiple 355s by Mike Grady 8/22/75  42 "  43 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  44 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  45 "  000000 46 name ld355 47  48  49 include bosequ 1-1 " Begin include file ...... bosequ.incl.alm 1-2 " Modified 8/25/76 by N. I. Morris  1-3 " Modified 8/79 by R.J.C. Kissel to expand BOS. 1-4 " Modified November 1981 by C. Hornig to add pgmorg.  1-5 " Modified October 1982 by J. Bongiovanni to take it out  1-6  000000 1-7 bool ds,0 descriptor segment  000001 1-8 bool tmp,1 temp seg  000002 1-9 bool bf,2 buffer segment for save/restor  000003 1-10 bool pgm,3 program in control 000004 1-11 bool xs1,4 spare segment  000005 1-12 bool xs2,5 spare segment  000005 1-13 bool fgb,5 flagbox segment  000006 1-14 bool com,6 common 000007 1-15 bool mem,7 all memory 1-16  000017 1-17 equ arglen,15 max number of args from scan  1-18  004000 1-19 bool runcom_bit,4000 runcom bit in dir entry  002000 1-20 bool firmware_bit,2000 firmware bit in dir entry  1-21  012000 1-22 bool utilorg,12000 origin of utility package  1-23  1-24 " End of include file ...... bosequ.incl.alm  50  51  52  53  54 "  55 "  56 " equates and bools 57 "  58 "  040000 59 bool bit21,040000 bit 21-parity bit for upper (0-17) 18 bits  020000 60 bool bit22,020000 bit 22-parity bit for lower (18-35) 18 bits  61  002400 62 bool dn355mbx,2400 dia pcw mailbox loc'n  000100 63 bool dnload,100 loc to begin loading 355boot pgm  64  65 " definitions of various 355 addresses and values  66  000011 67 equ l1ch,9 first lsla channel 000016 68 equ l6ch,14 last lsla channel 000006 69 equ h1ch,6 first hsla channel 000010 70 equ h3ch,8 last hsla channel  000653 71 equ .criom,427 start of iom table  000654 72 equ .crnhs,428 number of hslas configured  000655 73 equ .crnls,429 number of lslas configured  000656 74 equ .crcon,430 console enable switch  001000 75 equ h1mb,512 address of mailbox for first hsla  000016 76 equ cnfgst,14 offset in hsla mailbox of config status pcw 77  78 " definitions of bootload communication block in 355 bootload program  79  000000 80 equ iclist,0 list icw 000001 81 equ icdcw1,iclist+1 dcw 1  000003 82 equ icdcw2,icdcw1+2 dcw 2  000005 83 equ icdcw3,icdcw2+2 dcw 3  000007 84 equ icdcw4,icdcw3+2 dcw 4  000011 85 equ icdcw5,icdcw4+2 dcw 5 disconnect  000012 86 equ icmbx,icdcw5+1 600 mbx addr and int cell no.  000013 87 equ icdate,icmbx+1 date of bootload  000014 88 equ ictime,icdate+1 time of bootload  000015 89 equ iclmts,ictime+1 355pgm address limits  000016 90 equ icksma,iclmts+1 355pgm checksum  000017 91 equ icksmb,icksma+1 bootload pgm checksum  92  93 " equ's that define fields on lsla config card  94  000001 95 equ d355_no,1  000002 96 equ lsla_no,2  000003 97 equ seq_no,3  000004 98 equ start_baud,4  000000 99 equ baud,0 000001 100 equ count,1  101  102 " equs that define fields on hsla config card  103  104 " equ d355_no,1 000002 105 equ hsla_no,2  000003 106 equ chan_no,3  107 " equ start_baud,4  108 " equ baud,0  109 " equ count,1  110  111 " 112  113 "  114 "  115 " init the BOS environment for this program 116 "  117 "  000000 0a 001531 7420 00 118 stx2 x2 save x2 for return to bos 000001 aa 6 02024 4501 00 119 stz com|d355_state indicate no success 120  000002 aa 012300 7020 00 121 tsx2 initint init for interrupts  000003 0a 000066 0000 00 122 arg ttyrequest ignore execute faults  123  000004 aa 012271 7020 00 124 tsx2 init_io init iom 125  000005 aa 012245 7020 00 126 tsx2 ttyinit set up to get tty interrupts 000006 0a 000066 0000 00 127 arg ttyrequest request button returns to bos  128 "  129 "  130 " process any args  131 "  000007 0a 001531 2220 00 132 ldx2 x2 restore x2  000010 aa 7 00000 2201 12 133 ldx0 mem|0,2 get addr of arg  000011 0a 001543 0540 00 134 aos all_sw default case  135  000012 aa 000001 6200 10 136 arglp: eax0 1,0 bump x0  000013 aa 7 00000 2351 10 137 lda mem|0,0 get next arg  000014 0a 002220 1150 00 138 cmpa =-1 no more args?  000015 0a 000046 6000 00 139 tze argend yes, done  140  000016 0a 002221 1150 00 141 cmpa =h check check option specified? 000017 0a 000022 6010 00 142 tnz narg1 no, next arg  000020 0a 001542 0540 00 143 aos chk_sw yes, set switch  000021 0a 000012 7100 00 144 tra arglp more args  145  000022 aa 7 00000 2351 10 146 narg1: lda mem|0,0 get the arg 000023 aa 000000 2360 07 147 ldq 0,dl zero the q  000024 aa 000006 7730 00 148 lrl 6 drop char into high q  000025 0a 002222 1150 00 149 cmpa =o002020202020 is rest all blank? 000026 0a 000043 6010 00 150 tnz narg2 nope, might be prg name 000027 0a 000032 7560 00 151 stq *+3 put into descriptor  000030 aa 000003 1244 00 152 scm (),(du),mask(0) look for 355 number arg  000031 0a 001546 020004 153 desc6a which_list,max_no_355s  000032 aa 000000 0000 00 154 arg 0  000033 0a 001545 0000 00 155 arg temp_355n  156  000034 0a 000043 6064 00 157 ttn narg2 not that, what else 000035 0a 001545 2350 00 158 lda temp_355n get number  000036 aa 000001 0750 07 159 ada 1,dl up one  000037 0a 001544 7550 00 160 sta which_355 this one  000040 0a 001543 4500 00 161 stz all_sw not all anymore  000041 0a 002214 0540 00 162 aos conf355err to report missing card  000042 0a 000012 7100 00 163 tra arglp  164  000043 aa 7 00000 2351 10 165 narg2: lda mem|0,0 refetch arg 000044 0a 001530 7550 00 166 sta prognm must be 355 coreimage name 000045 0a 000012 7100 00 167 tra arglp  168  000046 0a 001530 2350 00 169 argend: lda prognm get name of dn355 prog to load  000047 aa 012204 7020 00 170 tsx2 search search BOS command directory  000050 0a 000060 7100 00 171 tra comerr 000051 0a 001532 7550 00 172 sta pgm355 save disk address  173  000052 0a 002223 2350 00 174 lda =h b355 look for 355 bootload pgm  000053 0a 001530 7550 00 175 sta prognm 000054 aa 012204 7020 00 176 tsx2 search  000055 0a 000060 7100 00 177 tra comerr 000056 0a 001533 7550 00 178 sta pgmboot save addr about boot pgm  000057 0a 000071 7100 00 179 tra allset OK.  180 "  181 "  182 " ERROR: dn355 program not found. Print error msg and exit  183 "  184 "  000060 185 comerr: null  000060 aa 012241 7020 00 186 tsx2 erpt print error message 000061 aa 014 136 147 040 187 acc '^g not found' 000062 aa 156 157 164 040 000063 aa 146 157 165 156 000064 aa 144 000 000 000 000065 0a 001530 0000 00 188 arg prognm 189 "  190 "  191 " here to return to BOS 192 "  193 "  000066 194 exit:  000066 195 ttyrequest: 000066 aa 000001 3350 07 196 lca 1,dl no return arg to bos 000067 0a 001531 2220 00 197 ldx2 x2 restore x2  000070 aa 7 00001 7101 12 198 tra mem|1,2 exit to bos  199 "  200 "  201 " Come here when both the DN355 program and the bootload program have  202 " been found. Lay them out in memory and start bootloading. 203 "  000071 204 allset: null  000071 0a 001544 2350 00 205 lda which_355 get which 355 we want  000072 0a 002111 7020 00 206 tsx2 conf355 set config info  000073 0a 001163 7100 00 207 tra next_355 none, done  208  000074 0a 001544 2350 00 209 lda which_355 get number again  000075 aa 000140 0750 07 210 ada =o140,dl make into letter 000076 aa 000033 7350 00 211 als 27 shift into au  000077 0a 002224 2750 00 212 ora =o040040040 add three blanks  000100 0a 001547 7550 00 213 sta ldarg save  000101 aa 012241 7020 00 214 tsx2 erpt write message  000102 aa 016 154 157 141 215 acc 'loading 355 ^a'  000103 aa 144 151 156 147 000104 aa 040 063 065 065 000105 aa 040 136 141 000 000106 0a 001547 0000 00 216 arg ldarg  217  000107 aa 0 00006 2371 00 218 ldaq ds|pgm*2 get this program's sdw  000110 aa 377770 3760 03 219 anq sdw.bound,du isolate the bound field  000111 aa 000014 7710 00 220 arl sdw.add_shift right justify seg address in a  000112 0a 001541 7550 00 221 sta temp store away for a bit 000113 aa 000025 7720 00 222 qrl 36-15 right justify bound field  000114 aa 000001 0360 07 223 adlq 1,dl bump bounds field by 1 for correct seg size 000115 aa 000004 7360 00 224 qls 4 mult by 16 to get bound in words  000116 0a 001541 0760 00 225 adq temp create new address field for an sdw  000117 aa 000060 7370 00 226 lls 36+sdw.add_shift put new address in a  000120 aa 000004 2750 07 227 ora sdw.df,dl no faults please  000121 aa 020000 2360 03 228 ldq 1024*8,du get a seg bound of 16K  000122 0a 001552 2760 00 229 orq accbits set access bits in sdw  000123 aa 0 00002 7571 00 230 staq ds|tmp*2 create temp seg sdw 000124 aa 000000 5320 00 231 cams 0 start anew 232  000125 0a 001533 2350 00 233 lda pgmboot get command addr and no of sectors  000126 0a 002225 3750 00 234 ana =o777777770777 mask out unwanted bits  000127 aa 012234 7020 00 235 tsx2 rdsec read bootload program  000130 aa 1 00100 0111 00 236 nop tmp|dnload starting at dnload in 355 bootload area 000131 0a 000131 6160 00 237 dis * error..stop 238  000132 aa 1 00100 2361 00 239 ldq tmp|dnload get size of boot pgm (stored there by 355 simulator)  000133 aa 000202 0760 07 240 adq dnload+64+2,dl add 2 words(size and checksum words) and get next mod 64  000134 aa 777700 3760 07 241 anq =o777700,dl address beyond end of boot pgm 000135 aa 000022 7360 00 242 qls 18 shift into qu  000136 0a 001534 7560 00 243 stq relorg rel addr of 355 pgm in relorg(upper)  000137 aa 0 00002 2351 00 244 lda ds|tmp*2 get addr field of temp seg sdw  000140 aa 000006 7350 00 245 als 18-sdw.add_shift left justify 24 bit addr  000141 0a 001535 7550 00 246 sta absorg save a bit 000142 0a 001534 2350 00 247 lda relorg get rel offset of 355 core image  000143 0a 001535 0550 00 248 asa absorg left half of absorg has abs addr of core image 000144 0a 000150 2560 00 249 orsq load2 patch loading address  250  000145 0a 001532 2350 00 251 lda pgm355 get addr and no of sectors 000146 0a 002225 3750 00 252 ana =o777777770777 mask out unwanted bits  000147 aa 012234 7020 00 253 tsx2 rdsec read dn355 program 000150 aa 1 00000 0111 00 254 load2: nop tmp|0 loading addr (right after bootload pgm)  000151 0a 000151 6160 00 255 dis * error..stop 256 "  257 "  258 " At this point we have the 355 bootload program in absolute core at location  259 " segment 1+dnload followed at next mod(64) loc by the 355 program to be loaded.  260 " Note that since each program must have been passed thru the 355 simulator 261 " each program has a word added to the beginning and end. The word at the  262 " beginning is the size of the program and the word at the end is  263 " a checksum of the entire program. 264 " It should also be noted that the bootload program has a 15 word bootload  265 " control block at the end which is to be filled in before booting it  266 " into the 355. This control block is defined by a set of equ's at the  267 " beginning of this command.  268 "  269 "  000152 aa 1 00100 2351 00 270 lda tmp|dnload get size of boot program  000153 aa 1 00061 6241 05 271 eax4 tmp|dnload-15,al get offset of bootload control block 000154 0a 001540 7440 00 272 stx4 bcboff save  000155 0a 001534 2250 00 273 ldx5 relorg pick up offset of dn355 program  000156 aa 1 00000 7261 15 274 lxl6 tmp|0,5 get length of dn355 prog 000157 0a 001534 0660 00 275 adx6 relorg get offset of end of dn355 program  000160 aa 1 77777 2351 16 276 lda tmp|-1,6 get system load limits  000161 aa 1 00015 7551 14 277 sta tmp|iclmts,4 store in bootload control block  000162 aa 1 00000 2351 15 278 lda tmp|0,5 get length of dn355 program  000163 aa 000014 7710 00 279 arl 12 calculate no of dcws needed  000164 aa 000002 0750 07 280 ada 2,dl add in disconnect dcw  000165 aa 000001 7350 00 281 als 1 times two (72 bits per dcw) 000166 aa 1 00000 2551 14 282 orsa tmp|iclist,4 put in list icw tally  000167 aa 000000 6210 05 283 eax1 0,al save tally  000170 0a 001540 6210 71 284 eax1 bcboff,*1 calculate position of last dcw 000171 aa 1 00011 2351 14 285 lda tmp|icdcw5,4 get disconnect dcw  000172 aa 060000 2750 07 286 ora bit21+bit22,dl set parity bits 000173 aa 1 77777 7551 11 287 sta tmp|-1,1 store as last dcw in list  000174 aa 100000 2350 03 288 lda =o100000,du get 36 bit xfer mode bits  000175 aa 020000 2750 07 289 ora bit22,dl set parity for this word 000176 aa 1 00000 7551 11 290 sta tmp|0,1 * 000177 aa 1 00000 2351 15 291 lda tmp|0,5 get length of dn355 program  000200 aa 000001 0750 07 292 ada 1,dl plus one 000201 aa 007777 3750 07 293 ana =o007777,dl mask remainder tally  000202 aa 1 77776 2551 11 294 orsa tmp|-2,1 store in last data xfer dcw 000203 aa 060001 3350 07 295 lca =o60001,dl remove existing parity bits 000204 aa 1 77776 3551 11 296 ansa tmp|-2,1 *  000205 aa 1 77776 2351 11 297 lda tmp|-2,1 get last data xfer dcw  000206 0a 001041 7020 00 298 tsx2 parity calculate its parity  000207 aa 1 77776 7551 11 299 sta tmp|-2,1 replace  300 " 301 "  302 " We will now look at the LSLA and HSLA config cards and patch the  303 " configuration tables in the 355 core image accordingly. This is done  304 " so that a standard 355 core image can be sent to all external Multics 305 " sites and it can be patched according to site specific configuration. 306 "  000210 0a 001062 7020 00 307 tsx2 reset_arrays  308  000211 0a 002226 2350 00 309 lda =alsla look for lsla cards first  000212 aa 012264 7020 00 310 tsx2 getconf  000213 0a 000232 7100 00 311 tra no_more_lslas none 000214 0a 000220 7100 00 312 tra skip_getmore  000215 313 get_lsla_card:  000215 0a 002226 2350 00 314 lda =alsla 000216 aa 012265 7020 00 315 tsx2 getmore get another lsla card  000217 0a 000232 7100 00 316 tra no_more_lslas all gone 000220 317 skip_getmore:  000220 aa 6 00001 2351 17 318 lda com|d355_no,7 get 355 number  000221 0a 001544 1150 00 319 cmpa which_355 right one? 000222 0a 000215 6010 00 320 tnz get_lsla_card  000223 aa 6 00002 2351 17 321 lda com|lsla_no,7 get lsla number  000224 0a 001560 0540 05 322 aos lsla_ch_array,al remember our number  000225 aa 000003 7350 00 323 als 3 multiply number by 8  000226 aa 6 00003 0751 17 324 ada com|seq_no,7 add in sequence number  000227 aa 000001 1750 07 325 sba 1,dl make relative to zero  000230 0a 001566 7470 05 326 stx7 lsla_array,al save ptr to card  000231 0a 000215 7100 00 327 tra get_lsla_card get another card 000232 328 no_more_lslas:  000232 0a 001101 7020 00 329 tsx2 read_image read addr of iom table 000233 a0 000653 001647 330 zero .criom,iom_table_addr 000234 aa 000022 6210 00 331 eax1 l1ch*2 get twice first lsla chan no  000235 0a 001650 7410 00 332 stx1 iom_channel and save  000236 0a 001651 4500 00 333 stz no_of_lslas zero ctr  000237 aa 000000 6200 00 334 eax0 0 set up lsla array index  000240 335 lsla_loop:  000240 0a 001560 2340 10 336 szn lsla_ch_array,0 see if lsla assigned  000241 0a 000415 6000 00 337 tze no_lsla no  000242 0a 001651 0540 00 338 aos no_of_lslas count total lslas  339  000243 0a 001647 7210 00 340 lxl1 iom_table_addr get base of 355 iom table  000244 0a 001650 0610 00 341 adx1 iom_channel add 2*channel number  000245 aa 000001 0610 03 342 adx1 1,du add offset of lsla table addr  000246 0a 000250 7410 00 343 stx1 *+2 store address  000247 0a 001101 7020 00 344 tsx2 read_image read the address word  000250 a0 000000 001646 345 zero 0,lsla_table_addr 346  000251 0a 001646 7240 00 347 lxl4 lsla_table_addr get x4 at base  000252 aa 000002 6240 14 348 eax4 2,4 skip slot 0  000253 0a 001666 7440 00 349 stx4 ltemp save for a bit 350  000254 aa 000064 2350 07 351 lda 52,dl get count  000255 aa 000000 5310 00 352 neg 0 negitive  000256 0a 001665 7550 00 353 sta baud_cnt save 000257 aa 000007 2350 07 354 lda 7,dl get undefined code  000260 0a 001664 7550 00 355 sta lsla_conf_word set config word 000261 356 lsla_ulp:  000261 0a 000263 7440 00 357 stx4 *+2 store addr  000262 0a 001077 7020 00 358 tsx2 write_image set in 355 core  000263 a0 000000 001664 359 zero 0,lsla_conf_word  360  000264 aa 000002 6240 14 361 eax4 2,4 bump to next slot  000265 0a 001665 0540 00 362 aos baud_cnt bump counter 000266 0a 000261 6010 00 363 tnz lsla_ulp  000267 0a 001666 2240 00 364 ldx4 ltemp 365  000270 aa 000000 6350 10 366 eaa 0,0 get offset of channel no  000271 aa 000017 7310 00 367 ars 18-3 multiply by 8  000272 0a 001566 6230 05 368 eax3 lsla_array,al get ptr to lsla cards for this lsla 000273 369 lsla_card_loop: 000273 aa 000000 2340 13 370 szn 0,3 any more lsla cards?  000274 0a 000422 6040 00 371 tmi lsla_assigned nope, done  372  000275 aa 000000 2270 13 373 ldx7 0,3 get ptr to lsla card 000276 aa 000004 6270 17 374 eax7 start_baud,7 point x7 at baud rate count pairs  000277 375 lsla_baud_loop: 000277 aa 6 00001 2351 17 376 lda com|count,7 get count for this pair  000300 aa 000000 5310 00 377 neg 0 negate it  000301 0a 001665 7550 00 378 sta baud_cnt save for processing  379  000302 aa 6 00000 2351 17 380 lda com|baud,7 get the baud rate  000303 0a 000413 6040 00 381 tmi next_lsla_card no more this card  000304 aa 000454 1150 07 382 cmpa 300,dl is it 300 baud?  000305 0a 000323 6010 00 383 tnz not300 nope  384  000306 385 lp300c: 000306 aa 000001 2350 07 386 lda 1,dl get type of first 300 baud channel  000307 0a 001664 7550 00 387 lp300: sta lsla_conf_word set in config word  000310 0a 000312 7440 00 388 stx4 *+2 put addr into arg word  000311 0a 001077 7020 00 389 tsx2 write_image write into image  000312 a0 000000 001664 390 zero 0,lsla_conf_word  391  000313 aa 000002 6240 14 392 eax4 2,4 bump address 000314 0a 001664 2350 00 393 lda lsla_conf_word get config word 000315 aa 000001 0750 07 394 ada 1,dl bump 000316 aa 000004 1150 07 395 cmpa 4,dl are we done yet?  000317 0a 000307 6010 00 396 tnz lp300 nope, more slots this line  397  000320 0a 001665 0540 00 398 aos baud_cnt bump baud count  000321 0a 000306 6010 00 399 tnz lp300c more 300 baud lines  000322 0a 000411 7100 00 400 tra next_baud no more, get next baud rate 401  000323 aa 000226 1150 07 402 not300: cmpa 150,dl is it 150 baud?  000324 0a 000345 6010 00 403 tnz not150 nope, continue checking  404  000325 aa 000005 2350 07 405 lda 5,dl get initial config word for 150  000326 0a 001666 7550 00 406 sta ltemp save in temp  000327 0a 001666 2350 00 407 lp150c: lda ltemp restor config word  000330 0a 001664 7550 00 408 sta lsla_conf_word 000331 0a 000333 7440 00 409 stx4 *+2  000332 0a 001077 7020 00 410 tsx2 write_image mark image  000333 a0 000000 001664 411 zero 0,lsla_conf_word  000334 0a 001664 0540 00 412 aos lsla_conf_word 000335 aa 000002 6240 14 413 eax4 2,4 bump to next slot  000336 0a 000340 7440 00 414 stx4 *+2  000337 0a 001077 7020 00 415 tsx2 write_image  000340 a0 000000 001664 416 zero 0,lsla_conf_word  000341 aa 000002 6240 14 417 eax4 2,4 bump to next slot  418  000342 0a 001665 0540 00 419 aos baud_cnt bump baud count  000343 0a 000327 6010 00 420 tnz lp150c more to be done  000344 0a 000411 7100 00 421 tra next_baud  422  000345 aa 000205 1150 07 423 not150: cmpa 133,dl is it 133 baud?  000346 0a 000352 6010 00 424 tnz not133 no, continue checking  425  000347 aa 000105 2350 07 426 lda =o105,dl get type for 133 baud  000350 0a 001666 7550 00 427 sta ltemp put into temp  000351 0a 000327 7100 00 428 tra lp150c 2 slots, same as 150 baud  429  000352 aa 000156 1150 07 430 not133: cmpa 110,dl is it 110 baud?  000353 0a 000364 6010 00 431 tnz not110 nope, could be error  432  000354 0a 001664 4500 00 433 stz lsla_conf_word zero is right for 110 baud  000355 0a 000357 7440 00 434 lp110c: stx4 *+2  000356 0a 001077 7020 00 435 tsx2 write_image  000357 a0 000000 001664 436 zero 0,lsla_conf_word  437  000360 aa 000002 6240 14 438 eax4 2,4  439  000361 0a 001665 0540 00 440 aos baud_cnt bump baud count  000362 0a 000355 6010 00 441 tnz lp110c more to be done  000363 0a 000411 7100 00 442 tra next_baud  443  000364 0a 001671 7550 00 444 not110: sta ill_baud must be some illegal number  000365 aa 000000 2270 13 445 ldx7 0,3 get ptr to lsla card 000366 aa 6 00002 2351 17 446 lda com|lsla_no,7 get the lsla number  000367 0a 001667 7550 00 447 sta ill_lsla svae 000370 aa 6 00003 2351 17 448 lda com|seq_no,7 get card sequence number  000371 0a 001670 7550 00 449 sta ill_seq save  000372 aa 012241 7020 00 450 tsx2 erpt notify operator 000373 aa 045 154 163 154 451 acc 'lsla ^d card ^d: illegal baud rate ^d'  000374 aa 141 040 136 144 000375 aa 040 143 141 162 000376 aa 144 040 136 144 000377 aa 072 040 151 154 000400 aa 154 145 147 141 000401 aa 154 040 142 141 000402 aa 165 144 040 162 000403 aa 141 164 145 040 000404 aa 136 144 000 000 000405 0a 001667 0000 00 452 arg ill_lsla  000406 0a 001670 0000 00 453 arg ill_seq  000407 0a 001671 0000 00 454 arg ill_baud  000410 0a 001523 7100 00 455 tra not_loaded don't process rest of this one  456  457 " 000411 458 next_baud: "get next baud rate count pair 000411 aa 000002 6270 17 459 eax7 2,7 bump ptr 000412 0a 000277 7100 00 460 tra lsla_baud_loop 461  000413 462 next_lsla_card: "get ptr to next lsla card  000413 aa 000001 6230 13 463 eax3 1,3 bump ptr 000414 0a 000273 7100 00 464 tra lsla_card_loop 465  000415 466 no_lsla:  000415 0a 001647 7210 00 467 lxl1 iom_table_addr compute config table addr for this lsla  000416 0a 001650 0610 00 468 adx1 iom_channel  000417 0a 000421 7410 00 469 stx1 *+2 patch addr in calling sequence  000420 0a 001077 7020 00 470 tsx2 write_image deconfigure this lsla 000421 a0 000000 001652 471 zero 0,zero by writing zero in its entry in 355 config table  000422 472 lsla_assigned:  000422 aa 000001 6200 10 473 eax0 1,0 bump lsla array index  000423 0a 001650 2210 00 474 ldx1 iom_channel bump lsla channel number  000424 aa 000002 0610 03 475 adx1 2,du  000425 0a 001650 7410 00 476 stx1 iom_channel  000426 aa 000036 1010 03 477 cmpx1 (l6ch+1)*2,du are we done with lslas yet?  000427 0a 000240 6010 00 478 tnz lsla_loop no  479 "  480 "  481 " Now loop finding all hsla config cards and put baud rates for each  482 " configured channel in a 3 x 32 array which has one entry for each 483 " subchannel on up to 3 hslas.  484 "  000430 0a 002227 2350 00 485 lda =ahsla 000431 aa 012264 7020 00 486 tsx2 getconf find first hsla card 000432 0a 000460 7100 00 487 tra no_more_hsla_cards there are none  000433 0a 000437 7100 00 488 tra skip_h_getmore 000434 489 get_hsla_card:  000434 0a 002227 2350 00 490 lda =ahsla 000435 aa 012265 7020 00 491 tsx2 getmore find additional hsla cards  000436 0a 000460 7100 00 492 tra no_more_hsla_cards threr are none  000437 493 skip_h_getmore: 000437 aa 6 00001 2351 17 494 lda com|d355_no,7 get 355 number  000440 0a 001544 1150 00 495 cmpa which_355 right one? 000441 0a 000434 6010 00 496 tnz get_hsla_card no  000442 aa 6 00002 2351 17 497 lda com|hsla_no,7 get hsla number  000443 0a 001746 0540 05 498 aos hsla_channel_array,al keep track of how many hslas 000444 aa 000005 7350 00 499 als 5 multiply by array size (32) 000445 aa 6 00003 0751 17 500 ada com|chan_no,7 add in channel number  000446 aa 000004 6230 17 501 eax3 start_baud,7 point X3 to baud rate/count pairs  000447 502 get_h_baud: 000447 aa 6 00000 2361 13 503 ldq com|baud,3 get baud rate from card 000450 0a 000434 6040 00 504 tmi get_hsla_card end of card  000451 aa 6 00001 7261 13 505 lxl6 com|count,3 get number of lines at that baud rate 000452 506 store_h_baud:  000452 0a 001751 7560 05 507 stq hsla_array,al store baud rate in array 000453 aa 000001 0750 07 508 ada 1,dl bump array index 000454 aa 000001 1660 03 509 sbx6 1,du done with this baud rate group? 000455 0a 000452 6010 00 510 tnz store_h_baud no  000456 aa 000002 6230 13 511 eax3 2,3 bump X3 to next baud rate/count pair 000457 0a 000447 7100 00 512 tra get_h_baud 513  000460 514 no_more_hsla_cards: 000460 aa 000014 6210 00 515 eax1 h1ch*2 kep first hsla channel #*2  000461 0a 001650 7410 00 516 stx1 iom_channel save it  000462 0a 001653 4500 00 517 stz no_of_hslas zero ctr  000463 aa 000000 6200 00 518 eax0 0 init array index  000464 519 hsla_loop:  000464 0a 001746 2340 10 520 szn hsla_channel_array,0 is this hsla configured?  000465 0a 000470 6000 00 521 tze no_hsla no  000466 0a 001653 0540 00 522 aos no_of_hslas keep track of how many hslas  000467 0a 000475 7100 00 523 tra hsla_assigned  000470 524 no_hsla:  000470 0a 001647 7210 00 525 lxl1 iom_table_addr compute address of config table  000471 0a 001650 0610 00 526 adx1 iom_channel entry for this hsla and  000472 0a 000474 7410 00 527 stx1 *+2 deconfigure (zero) it  000473 0a 001077 7020 00 528 tsx2 write_image  000474 a0 000000 001652 529 zero 0,zero  000475 530 hsla_assigned:  000475 aa 000001 6200 10 531 eax0 1,0 bump array index 000476 0a 001650 2210 00 532 ldx1 iom_channel skip on to next hsla channel  000477 aa 000002 0610 03 533 adx1 2,du  000500 0a 001650 7410 00 534 stx1 iom_channel  000501 aa 000022 1010 03 535 cmpx1 (h3ch+1)*2,du done with hslas yet?  000502 0a 000464 6010 00 536 tnz hsla_loop no  537 " 000503 0a 001077 7020 00 538 tsx2 write_image  000504 a0 000654 001653 539 zero .crnhs,no_of_hslas patch in number of configured  000505 0a 001077 7020 00 540 tsx2 write_image  000506 a0 000655 001651 541 zero .crnls,no_of_lslas hslas and lslas  542 "  543 " Now go over the 'hsla_array' and for each configured subchannel,  544 " the 355 hsla subchannel table and configuration pcw must be patched  545 "  000507 aa 000000 6230 00 546 eax3 0 init hsla array index  000510 aa 000014 6210 00 547 eax1 h1ch*2 init iom channel number*2 000511 0a 001662 4500 00 548 stz hsla_num init the hsla number and subch number  000512 0a 001663 4500 00 549 stz hsla_subch 000513 aa 001016 6220 00 550 eax2 h1mb+cnfgst  000514 0a 000601 7420 00 551 stx2 hsla_hardware_addr_1 setup the config pcw locs  000515 aa 001017 6220 00 552 eax2 h1mb+cnfgst+1 000516 0a 000603 7420 00 553 stx2 hsla_hardware_addr_2  000517 554 per_hsla:  000517 0a 001650 7410 00 555 stx1 iom_channel save channel number  000520 0a 001647 7210 00 556 lxl1 iom_table_addr get base of iom table  000521 0a 001650 0610 00 557 adx1 iom_channel add (two times) channel number  000522 0a 000524 7410 00 558 stx1 *+2 address of first word of iom table entry 000523 0a 001101 7020 00 559 tsx2 read_image pick up iom table word 000524 a0 000000 001654 560 zero 0,hsla_config_word  000525 0a 001654 2340 00 561 szn hsla_config_word is this hsla really there?  000526 0a 000624 6000 00 562 tze hsla_not_config whole hsla gone, ignore  563  000527 aa 000001 0610 03 564 adx1 1,du plus 1 to get second word of iom table entry  565 " (hsla table addr)  000530 0a 000532 7410 00 566 stx1 *+2  000531 0a 001101 7020 00 567 tsx2 read_image read the word  000532 a0 000000 001656 568 zero 0,hsla_table_addr 000533 569 subchan_loop:  000533 0a 001655 4500 00 570 stz hsla_table_word init table word to zero (not configured)  000534 0a 001751 2340 13 571 szn hsla_array,3 is current subchannel configured? 000535 0a 000541 6050 00 572 tpl chan_assigned yes  000536 0a 001660 4500 00 573 stz hsla_pcw_upper cause config pcw to be zeroed out  000537 0a 001661 4500 00 574 stz hsla_pcw_lower ..  000540 0a 000600 7100 00 575 tra zero_config_pcw  000541 576 chan_assigned:  000541 0a 001751 2350 13 577 lda hsla_array,3 get baud rate for this subchannel 000542 0a 001672 6240 00 578 eax4 baud_table look up baud rate to get basic subchannel data 000543 aa 026300 5202 04 579 rpt baud_table_len,entry_len,tze  000544 aa 000000 1150 14 580 cmpa 0,4  000545 aa 777774 6240 14 581 eax4 -entry_len,4 back up x4 to entry we found 000546 aa 000001 2360 14 582 ldq 1,4 load up the basic subchannel data from the table  000547 0a 000570 6070 00 583 ttf hit good, we got a hit  584  000550 0a 001671 7550 00 585 sta ill_baud illegal, save it 000551 aa 012241 7020 00 586 tsx2 erpt print error message 000552 aa 046 150 163 154 587 acc 'hsla ^d subch ^d: illegal baud rate ^d'  000553 aa 141 040 136 144 000554 aa 040 163 165 142 000555 aa 143 150 040 136 000556 aa 144 072 040 151 000557 aa 154 154 145 147 000560 aa 141 154 040 142 000561 aa 141 165 144 040 000562 aa 162 141 164 145 000563 aa 040 136 144 000 000564 0a 001662 0000 00 588 arg hsla_num  000565 0a 001663 0000 00 589 arg hsla_subch 000566 0a 001671 0000 00 590 arg ill_baud  000567 0a 001523 7100 00 591 tra not_loaded don't do any more for now  592  000570 0a 001655 7560 00 593 hit: stq hsla_table_word set up table word  594 "  595 " now set up configuration pcw  596 "  000571 0a 001657 2360 00 597 ldq hsla_subchannel get subchannel number  000572 aa 000023 7720 00 598 qrl 18+1 right justify and divide by 2 (it was mult by 2) 000573 aa 000006 7360 00 599 qls 6 position  000574 aa 000002 2760 14 600 orq 2,4 or in most of pcw bits from table 000575 0a 001660 7560 00 601 stq hsla_pcw_upper this will be first 18 bits of pcw  000576 aa 000003 2350 14 602 lda 3,4 get lower 18 bits 000577 0a 001661 7550 00 603 sta hsla_pcw_lower put into pcw word  000600 604 zero_config_pcw:  000600 0a 001077 7020 00 605 tsx2 write_image write pcw 000601 606 hsla_hardware_addr_1:  000601 a0 000000 001660 607 zero 0,hsla_pcw_upper  000602 0a 001077 7020 00 608 tsx2 write_image  000603 609 hsla_hardware_addr_2:  000603 a0 000000 001661 610 zero 0,hsla_pcw_lower  611  000604 612 zero_table_word:  000604 0a 001656 7210 00 613 lxl1 hsla_table_addr store value of hsla table word  000605 0a 001657 0610 00 614 adx1 hsla_subchannel  000606 0a 000610 7410 00 615 stx1 *+2  000607 0a 001077 7020 00 616 tsx2 write_image  000610 a0 000000 001655 617 zero 0,hsla_table_word 000611 aa 000001 6230 13 618 eax3 1,3 bump hsla array index  000612 aa 000020 2350 03 619 lda 16,du bump hsla hardware com region addr  000613 0a 000601 0550 00 620 asa hsla_hardware_addr_1  000614 0a 000603 0550 00 621 asa hsla_hardware_addr_2  000615 0a 001657 2350 00 622 lda hsla_subchannel get current subchannel 000616 aa 000002 0750 03 623 ada 2,du bump to next 000617 aa 000100 1150 03 624 cmpa 64,du done with current hsla?  000620 0a 000630 6000 00 625 tze next_hsla yes 000621 0a 001657 7550 00 626 sta hsla_subchannel  000622 0a 001663 0540 00 627 aos hsla_subch next subchannel 000623 0a 000533 7100 00 628 tra subchan_loop  629  000624 630 hsla_not_config:  000624 aa 000040 6230 13 631 eax3 32,3 jump over whole hsla  000625 aa 001000 2350 03 632 lda 32*16,du hardware comm region too 000626 0a 000601 0550 00 633 asa hsla_hardware_addr_1  000627 0a 000603 0550 00 634 asa hsla_hardware_addr_2  635  000630 636 next_hsla:  000630 0a 001657 4500 00 637 stz hsla_subchannel start on new hsla with subchannel 0  000631 0a 001650 2210 00 638 ldx1 iom_channel get current hsla channel number  000632 aa 000002 6210 11 639 eax1 2,1 bump hsla channel number 000633 0a 001663 4500 00 640 stz hsla_subch first subchannel  000634 0a 001662 0540 00 641 aos hsla_num new hsla 000635 aa 000140 1030 03 642 cmpx3 3*32,du done with hsla array?  000636 0a 000517 6010 00 643 tnz per_hsla no  644  645 " process check arg 646  000637 0a 001542 2340 00 647 szn chk_sw check option specified?  000640 0a 000645 6010 00 648 tnz done_with_config yes, do nothing  000641 aa 000001 2350 07 649 lda 1,dl  000642 0a 001541 7550 00 650 sta temp make nonzero word to write to coreimage  000643 0a 001077 7020 00 651 tsx2 write_image fix .crcon to disable checking  000644 a0 000656 001541 652 zero .crcon,temp disable console during init  653  654  655 " 000645 656 done_with_config:  657  658 "  659 "  660 " Calculate checksum on dn355 prog. 661 "  662 "  000645 0a 001540 2240 00 663 ldx4 bcboff reload addr of bootload communications area  000646 aa 004000 6340 07 664 ldi =o4000,dl set overflow mask  000647 0a 001551 7540 00 665 sti indic reset indicator storage 000650 aa 1 00000 2361 15 666 ldq tmp|0,5 get length of dn355 prog  000651 aa 777777 6360 06 667 eaq -1,ql reduce count for first word 000652 0a 001534 2210 00 668 ldx1 relorg get offset of dn355 prog  000653 aa 000002 0610 03 669 adx1 2,du get offset of second word  000654 aa 1 77777 2351 11 670 lda tmp|-1,1 get first word  000655 671 cksum1: null  000655 0a 001551 6340 00 672 ldi indic get indicators  000656 aa 1 00000 0711 11 673 awca tmp|0,1 add with carry  000657 0a 001551 7540 00 674 sti indic store indicators  000660 aa 000001 0210 03 675 adlx1 1,du bump word pointer  000661 aa 777777 0360 03 676 adlq -1,du decrement word count  000662 0a 000655 6010 00 677 tnz cksum1 more to do 000663 aa 1 00016 7551 14 678 sta tmp|icksma,4 store checksum of dn355 prog  000664 aa 000040 4130 00 679 rscr 4*8 read clock for date and time of bootload 000665 aa 1 00013 7551 14 680 sta tmp|icdate,4 set clock value as date and time of  000666 aa 1 00014 7561 14 681 stq tmp|ictime,4 bootload  000667 aa 000037 2350 07 682 lda =o37,dl pick up interrupt cell numbers  000670 0a 002210 2360 00 683 ldq iom_chan get the channel number  000671 aa 000040 1160 07 684 cmpq 32,dl test for high number channel  000672 0a 000674 6040 00 685 tmi *+2 no, use 3 and 7  000673 aa 000026 2350 07 686 lda =o26,dl yes, use 2 and 6  000674 0a 001541 7550 00 687 sta temp save it  000675 0a 002215 2360 00 688 ldq mbx_offset get offset of this mbx  000676 aa 002400 6350 06 689 eaa dn355mbx,ql get mailbox addr  000677 0a 001541 2750 00 690 ora temp or in interrupt cell numbers 000700 0a 001041 7020 00 691 tsx2 parity calculate parity  000701 aa 1 00012 7551 14 692 sta tmp|icmbx,4 return 693 " 694 "  695 "  696 " Set up data dcws to point to dn355 program sections (4096 word blocks)  697 "  698 "  000702 aa 1 00000 2351 14 699 lda tmp|iclist,4 get list icw  000703 aa 000077 3750 07 700 ana =o77,dl get count field (no. of 36 bit words) 000704 aa 000001 7710 00 701 arl 1 calculate no. of dcws  000705 aa 777777 6200 05 702 eax0 -1,al remove disconnect dcw from count  000706 0a 001535 2360 00 703 ldq absorg get abs addr of  000707 aa 777777 3760 03 704 anq -1,du clear lower half of word  000710 aa 000001 0760 03 705 adq 1,du dn355 program  000711 aa 000000 6230 14 706 eax3 0,4 copy x4 to x3  000712 707 dcwloop: null  000712 aa 1 00001 2561 13 708 orsq tmp|icdcw1,3 put addr in dcw  000713 aa 010000 0360 03 709 adlq 4096,du increment addr by max tally  000714 aa 1 00001 2351 13 710 lda tmp|icdcw1,3  000715 0a 001041 7020 00 711 tsx2 parity calculate parity  000716 aa 1 00001 7551 13 712 sta tmp|icdcw1,3 put back  000717 aa 000002 0230 03 713 adlx3 2,du bump dcw pointer  000720 aa 777777 0200 03 714 adlx0 -1,du reduce dcw counter  000721 0a 000712 6010 00 715 tnz dcwloop continue until all address fields filled in  000722 aa 000100 6210 00 716 eax1 dnload get locn of boot pgm  000723 aa 1 00000 2361 11 717 ldq tmp|0,1 get length of boot pgm  000724 aa 777776 6360 06 718 eaq -2,ql don't include first and last words in count 000725 aa 1 00001 2351 11 719 lda tmp|1,1 get first word of boot pgm  000726 aa 000002 0210 03 720 adlx1 2,du move ptr over second word  000727 aa 004000 6340 07 721 ldi =o4000,dl set overflow mask  000730 0a 001551 7540 00 722 sti indic init indicators storage 000731 723 cksum2: null  000731 0a 001551 6340 00 724 ldi indic get indicators  000732 aa 1 00000 0711 11 725 awca tmp|0,1 add next word with carry 000733 0a 001551 7540 00 726 sti indic save indicators 000734 aa 000001 0210 03 727 adlx1 1,du bump data ptr  000735 aa 777777 0360 03 728 adlq -1,du 000736 0a 000731 6010 00 729 tnz cksum2 more data to go  000737 aa 1 00017 7551 14 730 sta tmp|icksmb,4 store bootload checksum  000740 aa 000101 6210 00 731 eax1 dnload+1 get loc'n of boot control word  000741 aa 1 00000 2351 11 732 lda tmp|0,1 get boot control word 000742 aa 000000 7740 00 733 gtb 0 calculate parity on it  000743 aa 000001 3750 07 734 ana 1,dl test 000744 aa 000003 6010 04 735 tnz 3,ic odd parity  000745 aa 020000 2350 07 736 lda bit22,dl even,force odd  000746 aa 1 00000 2551 11 737 orsa tmp|0,1 *  738 " 739 "  740 "  741 " Set now to do actual bootload. Set up pcw at dn355mbx to point to indirect  742 " control word. This indirect control word will overlay the word containing 743 " the length of the bootload program (dnload).  744 "  745 "  000747 aa 000072 2350 07 746 lda =o000072,dl get bootload pcw  000750 0a 002215 2360 00 747 ldq mbx_offset get offset of this mbx  000751 aa 7 02400 7551 06 748 sta mem|dn355mbx,ql  000752 aa 0 00002 2351 00 749 lda ds|tmp*2 get temp seg sdw (word 0)  000753 aa 000006 7350 00 750 als 18-sdw.add_shift get abs addr of temp seg in au  000754 aa 000100 0750 03 751 ada dnload,du get addr of indirect control word  000755 aa 777777 3750 03 752 ana -1,du clear lower half of a  000756 aa 7 02400 2551 06 753 orsa mem|dn355mbx,ql put in pcw  000757 aa 7 02400 2351 06 754 lda mem|dn355mbx,ql  000760 aa 000000 7740 00 755 gtb 0 calculate parity on pcw 000761 aa 000001 3750 07 756 ana 1,dl test for odd or even 000762 aa 000003 6010 04 757 tnz 3,ic odd  000763 aa 020000 2350 07 758 lda bit22,dl even ... set parity bit  000764 aa 7 02400 2551 06 759 orsa mem|dn355mbx,ql ..  000765 aa 1 00100 2351 00 760 lda tmp|dnload get length of bootload program  000766 aa 007777 3750 07 761 ana =o007777,dl set up 355 addr (0)  000767 aa 100000 2750 03 762 ora =o100000,du set in 36 bit xfer mode  000770 aa 1 00100 7551 00 763 sta tmp|dnload put in indirect word  000771 0a 002210 2360 00 764 ldq iom_chan get channel number  000772 aa 000014 2350 07 765 lda 4*3,dl get interrupt cell number  000773 aa 000040 1160 07 766 cmpq 32,dl check the channel number  000774 0a 000776 6040 00 767 tmi *+2 all ok, continue  000775 aa 000004 1750 07 768 sba 4,dl fix the interrupt cell number  000776 0a 002211 0750 00 769 ada iom_no add in the iom number  000777 0a 001536 7550 00 770 sta norm_int_cell save it away 771  001000 aa 000037 3760 07 772 anq 31,dl get channel number mod 32  001001 aa 400000 2350 03 773 lda =o400000,du get a bit  001002 aa 000000 7710 06 774 arl 0,ql move the bit 001003 0a 001537 7550 00 775 sta int_bit save the bit  776  001004 0a 001536 7270 00 777 lxl7 norm_int_cell point to cells  001005 aa 6 02010 0271 00 778 adlx7 com|iom_mxbase add in base of iom mbx  001006 aa 7 00000 4501 17 779 stz mem|0,7 clear all pending interrupts  001007 aa 7 00020 4501 17 780 stz mem|16,7 also for emergency  781  782 "  783 " Now connect to the DIA to do bootload.  784 "  001010 aa 012272 7020 00 785 tsx2 connect_iom connect first to mask dia to clear it 001011 0a 002206 000000 786 zero maskpcw,0 001012 aa 012272 7020 00 787 tsx2 connect_iom connect to iom  001013 0a 002204 000000 788 zero diapcw,0 holds channel no of dia 789 " 790 "  791 "  792 " Now we wait while the 355 does its initialization code.  793 " It will check the config we gave it, and report errors.  794 "  795 "  001014 aa 000040 4130 00 796 rscr 4*8 get time 001015 0a 001554 7570 00 797 staq begin_wait save it  001016 0a 001536 7270 00 798 lxl7 norm_int_cell get addr of cells  001017 aa 6 02010 0271 00 799 adlx7 com|iom_mxbase add in base of iom mbx  800  001020 801 wait_for_int:  001020 0a 001537 2350 00 802 lda int_bit pick up bit  001021 aa 7 00000 3151 17 803 cana mem|0,7 was it regular interrupt?  001022 0a 001135 6010 00 804 tnz int355 yes, go look at result 805  001023 aa 7 00020 3151 17 806 cana mem|16,7 was it emergency interrupt? 001024 0a 001513 6010 00 807 tnz emergency_interrupt yes, print message 808  001025 aa 000040 4130 00 809 rscr 4*8 read the clock  001026 0a 001554 1770 00 810 sbaq begin_wait see if we have waited over 30 seconds yet  001027 0a 001556 1170 00 811 cmpaq default_waittime ..  001030 0a 001020 6040 00 812 tmi wait_for_int no - loop around some more  813 "  814 " we waited too long, must be bad 355  815 "  001031 aa 012241 7020 00 816 tsx2 erpt squawk  001032 aa 024 156 157 040 817 acc 'no response from 355' 001033 aa 162 145 163 160 001034 aa 157 156 163 145 001035 aa 040 146 162 157 001036 aa 155 040 063 065 001037 aa 065 000 000 000 001040 0a 000066 7100 00 818 tra exit return to bos  819 "  820 "  821 "  822 " Subroutine to calculate parity on dia dcw. Enter with A reg  823 " holding word on which parity is to be calculated. Returns the word  824 " in the A-reg with parity bits set.  825 "  826 "  001041 827 parity: null  001041 0a 001061 7550 00 828 sta atemp save input word 001042 aa 000022 7710 00 829 arl 18 do parity check for upper half 001043 aa 000000 7740 00 830 gtb 0 calculate parity  001044 aa 000001 3750 07 831 ana 1,dl test for odd or even 001045 aa 000003 6010 04 832 tnz 3,ic odd  001046 aa 040000 2350 07 833 lda bit21,dl even..set parity bit 001047 0a 001061 2550 00 834 orsa atemp for upper 18 bits  001050 0a 001061 2350 00 835 lda atemp get dcw again  001051 aa 000022 7350 00 836 als 18 do lower 18 bits now  001052 aa 000000 7740 00 837 gtb 0 calculate parity  001053 aa 000001 3750 07 838 ana 1,dl test for odd or even 001054 aa 000003 6010 04 839 tnz 3,ic odd  001055 aa 020000 2350 07 840 lda bit22,dl even,force odd  001056 0a 001061 2550 00 841 orsa atemp set bit  001057 0a 001061 2350 00 842 lda atemp restore "paritized" dcw to a-reg  001060 aa 000000 7100 12 843 tra 0,2 return  844  001061 845 bss atemp,1 temp storage  846 " 847 " Subroutine to reset arrays between 355 loads.  848 "  001062 849 reset_arrays:  001062 aa 000000 1004 00 850 mlr (),(),fill(0)  001063 aa 000000 000000 851 desc9a 0,0 001064 0a 001560 000030 852 desc9a lsla_ch_array,6*4  853  001065 aa 777000 1004 00 854 mlr (),(),fill(777)  001066 aa 000000 000000 855 desc9a 0,0 001067 0a 001566 000300 856 desc9a lsla_array,48*4 857  001070 aa 000000 1004 00 858 mlr (),(),fill(0)  001071 aa 000000 000000 859 desc9a 0,0 001072 0a 001746 000014 860 desc9a hsla_channel_array,3*4  861  001073 aa 777000 1004 00 862 mlr (),(),fill(777)  001074 aa 000000 000000 863 desc9a 0,0 001075 0a 001751 000600 864 desc9a hsla_array,96*4 865  001076 aa 000000 7100 12 866 tra 0,2  867 " 868 "  869 " Subroutine to read or write a word in the 355 core image to  870 " be loaded. Used to patch configuration tables. Calling sequence  871 " is:  872 "  873 " tsx2 write_image (or read_image)  874 " zero 355_addr,addr_of_data  875 "  876 "  001077 877 write_image:  001077 0a 001122 2350 00 878 lda xed_inst_write patch xed instruction for write 001100 0a 001102 7100 00 879 tra join_image 001101 880 read_image: 001101 0a 001123 2350 00 881 lda xed_inst_read patch xed instruction for read  001102 882 join_image: 001102 0a 001120 7550 00 883 sta xed_inst  001103 aa 000001 0620 03 884 adx2 1,du bump x2 over args  001104 0a 001121 7420 00 885 stx2 image_ret set up return instruction  001105 aa 777777 2350 12 886 lda -1,2 get 355 addr 001106 aa 777777 7220 12 887 lxl2 -1,2 get addr of data  001107 0a 001134 7420 00 888 stx2 read_ret save in case doing read 001110 aa 000000 7220 12 889 lxl2 0,2 get data 001111 aa 000000 2360 07 890 ldq 0,dl clear Q  001112 aa 777777 3750 03 891 ana =o777777,du leave only 355 addr  001113 aa 000023 7330 00 892 lrs 19 get odd/even bit in QU(0)  001114 aa 000020 7720 00 893 qrl 16 odd/even to QU(16) 001115 aa 000022 7350 00 894 als 18 355 addr in AU 001116 0a 001534 0750 00 895 ada relorg get offset in seg tmp  001117 aa 000001 0750 03 896 ada 1,du skip over header word  001120 aa 000000 000000 897 xed_inst: oct 0 home of xed instruction  001121 898 image_ret:  001121 aa 000000 7100 00 899 tra 0  900  001122 901 xed_inst_write: 001122 0a 001124 7170 02 902 xed store_data,qu  001123 903 xed_inst_read:  001123 0a 001130 7170 02 904 xed read_data,qu  905  906 even  001124 907 store_data: 001124 aa 1 00000 7421 01 908 stx2 tmp|0,au  001125 aa 000000 0110 03 909 nop 0,du  001126 aa 1 00000 4421 01 910 sxl2 tmp|0,au  001127 aa 000000 0110 03 911 nop 0,du  001130 912 read_data:  001130 aa 1 00000 2221 01 913 ldx2 tmp|0,au  001131 0a 001134 4420 20 914 sxl2 read_ret,*  001132 aa 1 00000 7221 01 915 lxl2 tmp|0,au  001133 0a 001134 4420 20 916 sxl2 read_ret,*  917  001134 aa 000000 000000 918 read_ret: oct 0 919  920 "  921 "  922 "  923 " Come here when you have an interrupt from the 355.  924 " Tell operator how things went.  925 "  926 "  001135 927 int355: null  001135 0a 002215 2360 00 928 ldq mbx_offset get offset of this mbx  001136 aa 7 02406 2351 06 929 lda mem|dn355mbx+6,ql get status word from 355 001137 0a 001477 6050 00 930 tpl badint no high order bit - bad interrupt  001140 aa 070000 3750 03 931 ana =o070000,du isolate error code 001141 aa 000014 7310 00 932 ars 12 position  001142 aa 000006 1150 03 933 cmpa =o000006,du check for legality  001143 0a 001145 6020 00 934 tnc *+2 good status  001144 0a 001144 7100 00 935 tra * bad status...take a dump please 001145 0a 001147 2350 01 936 lda stmsgs,au get addr of appropriate message printer 001146 aa 000000 7100 01 937 tra 0,au go to message printer  001147 938 stmsgs: null  001147 0a 001155 0000 00 939 arg ok 001150 0a 001172 0000 00 940 arg cksum  001151 0a 001211 0000 00 941 arg badst  001152 0a 001226 0000 00 942 arg confg  001153 0a 001247 0000 00 943 arg init_confg 001154 0a 001244 0000 00 944 arg wait_again ignore "unwire" status  001155 aa 012241 7020 00 945 ok: tsx2 erpt  001156 aa 017 154 157 141 946 acc 'load successful'  001157 aa 144 040 163 165 001160 aa 143 143 145 163 001161 aa 163 146 165 154 001162 aa 6 02024 0541 00 947 aos com|d355_state indicate success  948  001163 949 next_355:  001163 0a 001543 2340 00 950 szn all_sw loading all?  001164 0a 000066 6000 00 951 tze exit no, done 001165 0a 001544 2350 00 952 lda which_355 get current one 001166 0a 001544 0540 00 953 aos which_355 bump  001167 aa 000004 1150 07 954 cmpa max_no_355s,dl is this last one  001170 0a 000071 6010 00 955 tnz allset go again  001171 0a 000066 7100 00 956 tra exit done 957 " 001172 aa 012241 7020 00 958 cksum: tsx2 erpt  001173 aa 060 143 150 145 959 acc 'checksum error in 355 core image reported by 355' 001174 aa 143 153 163 165 001175 aa 155 040 145 162 001176 aa 162 157 162 040 001177 aa 151 156 040 063 001200 aa 065 065 040 143 001201 aa 157 162 145 040 001202 aa 151 155 141 147 001203 aa 145 040 162 145 001204 aa 160 157 162 164 001205 aa 145 144 040 142 001206 aa 171 040 063 065 001207 aa 065 000 000 000 001210 0a 000066 7100 00 960 tra exit  001211 aa 012241 7020 00 961 badst: tsx2 erpt  001212 aa 053 063 065 065 962 acc '355 reports error in reading 355 core image'  001213 aa 040 162 145 160 001214 aa 157 162 164 163 001215 aa 040 145 162 162 001216 aa 157 162 040 151 001217 aa 156 040 162 145 001220 aa 141 144 151 156 001221 aa 147 040 063 065 001222 aa 065 040 143 157 001223 aa 162 145 040 151 001224 aa 155 141 147 145 001225 0a 000066 7100 00 963 tra exit  001226 aa 012241 7020 00 964 confg: tsx2 erpt  001227 aa 056 143 157 156 965 acc 'configuration error reported by 355 bootloader'  001230 aa 146 151 147 165 001231 aa 162 141 164 151 001232 aa 157 156 040 145 001233 aa 162 162 157 162 001234 aa 040 162 145 160 001235 aa 157 162 164 145 001236 aa 144 040 142 171 001237 aa 040 063 065 065 001240 aa 040 142 157 157 001241 aa 164 154 157 141 001242 aa 144 145 162 000 001243 0a 000066 7100 00 966 tra exit  001244 967 wait_again: 001244 aa 7 00000 4501 17 968 stz mem|0,7 clear interrupt cells 001245 aa 7 00020 4501 17 969 stz mem|16,7  001246 0a 001020 7100 00 970 tra wait_for_int  971 " 001247 972 init_confg: 001247 aa 012241 7020 00 973 tsx2 erpt  001250 aa 062 143 157 156 974 acc 'configuration error reported by 355 initialization'  001251 aa 146 151 147 165 001252 aa 162 141 164 151 001253 aa 157 156 040 145 001254 aa 162 162 157 162 001255 aa 040 162 145 160 001256 aa 157 162 164 145 001257 aa 144 040 142 171 001260 aa 040 063 065 065 001261 aa 040 151 156 151 001262 aa 164 151 141 154 001263 aa 151 172 141 164 001264 aa 151 157 156 000 001265 0a 002215 2360 00 975 ldq mbx_offset get offset of this mbx  001266 aa 7 02401 2351 06 976 lda mem|dn355mbx+1,ql get status  001267 aa 000777 3750 03 977 ana =o777,du isolate the stop code  001270 aa 000022 7310 00 978 ars 18 shift down 001271 0a 001541 7550 00 979 sta temp save in temp 001272 aa 7 02401 2351 06 980 lda mem|dn355mbx+1,ql get status again 001273 aa 000777 3750 07 981 ana =o777,dl isolate the channel number  001274 aa 000011 1750 07 982 sba 9,dl convert into LSLA num  001275 0a 001550 7550 00 983 sta lchan_no since only used for that 984  001276 0a 001541 2350 00 985 lda temp get code back  001277 0a 001470 6000 00 986 tze bad_init ng  001300 aa 000016 1150 07 987 cmpa 14,dl check max  001301 0a 001470 6050 00 988 tpl bad_init ng  989  001302 aa 000001 1750 07 990 sba 1,dl index to list  001303 0a 001304 7100 05 991 tra init_list,al dispatch on code  001304 992 init_list:  001304 0a 001470 7100 00 993 tra bad_init  001305 0a 001321 7100 00 994 tra init_2 001306 0a 001332 7100 00 995 tra init_3 001307 0a 001344 7100 00 996 tra init_4 001310 0a 001353 7100 00 997 tra init_5 001311 0a 001470 7100 00 998 tra bad_init  001312 0a 001470 7100 00 999 tra bad_init  001313 0a 001362 7100 00 1000 tra init_8 001314 0a 001373 7100 00 1001 tra init_9 001315 0a 001405 7100 00 1002 tra init_10  001316 0a 001421 7100 00 1003 tra init_11  001317 0a 001436 7100 00 1004 tra init_12  001320 0a 001450 7100 00 1005 tra init_13  001321 aa 012241 7020 00 1006 init_2: tsx2 erpt report error 001322 aa 031 164 151 155 1007 acc 'timer channel not enabled'  001323 aa 145 162 040 143 001324 aa 150 141 156 156 001325 aa 145 154 040 156 001326 aa 157 164 040 145 001327 aa 156 141 142 154 001330 aa 145 144 000 000 001331 0a 000066 7100 00 1008 tra exit  001332 aa 012241 7020 00 1009 init_3: tsx2 erpt report error 001333 aa 034 155 157 162 1010 acc 'more than one dia configured' 001334 aa 145 040 164 150 001335 aa 141 156 040 157 001336 aa 156 145 040 144 001337 aa 151 141 040 143 001340 aa 157 156 146 151 001341 aa 147 165 162 145 001342 aa 144 000 000 000 001343 0a 000066 7100 00 1011 tra exit  001344 aa 012241 7020 00 1012 init_4: tsx2 erpt report error 001345 aa 022 144 151 141 1013 acc 'dia does not exist'  001346 aa 040 144 157 145 001347 aa 163 040 156 157 001350 aa 164 040 145 170 001351 aa 151 163 164 000 001352 0a 000066 7100 00 1014 tra exit  001353 aa 012241 7020 00 1015 init_5: tsx2 erpt report error 001354 aa 023 144 151 141 1016 acc 'dia did not respond'  001355 aa 040 144 151 144 001356 aa 040 156 157 164 001357 aa 040 162 145 163 001360 aa 160 157 156 144 001361 0a 000066 7100 00 1017 tra exit  001362 aa 012241 7020 00 1018 init_8: tsx2 erpt report error 001363 aa 026 154 163 154 1019 acc 'lsla ^o is not an lsla'  001364 aa 141 040 136 157 001365 aa 040 151 163 040 001366 aa 156 157 164 040 001367 aa 141 156 040 154 001370 aa 163 154 141 000 001371 0a 001550 0000 00 1020 arg lchan_no  001372 0a 000066 7100 00 1021 tra exit  001373 aa 012241 7020 00 1022 init_9: tsx2 erpt report error 001374 aa 032 154 163 154 1023 acc 'lsla ^o illegal sync speed'  001375 aa 141 040 136 157 001376 aa 040 151 154 154 001377 aa 145 147 141 154 001400 aa 040 163 171 156 001401 aa 143 040 163 160 001402 aa 145 145 144 000 001403 0a 001550 0000 00 1024 arg lchan_no  001404 0a 000066 7100 00 1025 tra exit  001405 aa 012241 7020 00 1026 init_10: tsx2 erpt report error  001406 aa 040 154 163 154 1027 acc 'lsla ^o failed ten times to init' 001407 aa 141 040 136 157 001410 aa 040 146 141 151 001411 aa 154 145 144 040 001412 aa 164 145 156 040 001413 aa 164 151 155 145 001414 aa 163 040 164 157 001415 aa 040 151 156 151 001416 aa 164 000 000 000 001417 0a 001550 0000 00 1028 arg lchan_no  001420 0a 000066 7100 00 1029 tra exit  001421 aa 012241 7020 00 1030 init_11: tsx2 erpt report error  001422 aa 045 154 163 154 1031 acc 'lsla ^o speed not equal desired speed'  001423 aa 141 040 136 157 001424 aa 040 163 160 145 001425 aa 145 144 040 156 001426 aa 157 164 040 145 001427 aa 161 165 141 154 001430 aa 040 144 145 163 001431 aa 151 162 145 144 001432 aa 040 163 160 145 001433 aa 145 144 000 000 001434 0a 001550 0000 00 1032 arg lchan_no  001435 0a 000066 7100 00 1033 tra exit  001436 aa 012241 7020 00 1034 init_12: tsx2 erpt report error  001437 aa 034 164 151 155 1035 acc 'timer switch incorrectly set' 001440 aa 145 162 040 163 001441 aa 167 151 164 143 001442 aa 150 040 151 156 001443 aa 143 157 162 162 001444 aa 145 143 164 154 001445 aa 171 040 163 145 001446 aa 164 000 000 000 001447 0a 000066 7100 00 1036 tra exit  001450 aa 012241 7020 00 1037 init_13: tsx2 erpt report error  001451 aa 061 154 163 154 1038 acc 'lsla ^o, actual config does not match config deck'  001452 aa 141 040 136 157 001453 aa 054 040 141 143 001454 aa 164 165 141 154 001455 aa 040 143 157 156 001456 aa 146 151 147 040 001457 aa 144 157 145 163 001460 aa 040 156 157 164 001461 aa 040 155 141 164 001462 aa 143 150 040 143 001463 aa 157 156 146 151 001464 aa 147 040 144 145 001465 aa 143 153 000 000 001466 0a 001550 0000 00 1039 arg lchan_no  001467 0a 000066 7100 00 1040 tra exit  001470 1041 bad_init:  001470 aa 012241 7020 00 1042 tsx2 erpt  001471 aa 016 154 157 141 1043 acc 'load status ^w'  001472 aa 144 040 163 164 001473 aa 141 164 165 163 001474 aa 040 136 167 000 001475 aa 7 02401 0001 06 1044 arg mem|dn355mbx+1,ql  001476 0a 000066 7100 00 1045 tra exit  1046 " 1047 "  1048 "  1049 " Come here if we get interrupt but no status. DIA probably down.  1050 "  1051 "  001477 1052 badint: 001477 aa 012241 7020 00 1053 tsx2 erpt  001500 aa 047 142 141 144 1054 acc 'bad 355 interrupt ... dia probably down'  001501 aa 040 063 065 065 001502 aa 040 151 156 164 001503 aa 145 162 162 165 001504 aa 160 164 040 056 001505 aa 056 056 040 144 001506 aa 151 141 040 160 001507 aa 162 157 142 141 001510 aa 142 154 171 040 001511 aa 144 157 167 156 001512 0a 000066 7100 00 1055 tra exit  1056 "  1057 "  1058 " Come here when emergency status interrupt received from 355  1059 "  1060 "  001513 1061 emergency_interrupt:  001513 aa 012241 7020 00 1062 tsx2 erpt print error message 001514 aa 027 063 065 065 1063 acc '355 emergency interrupt'  001515 aa 040 145 155 145 001516 aa 162 147 145 156 001517 aa 143 171 040 151 001520 aa 156 164 145 162 001521 aa 162 165 160 164 001522 0a 000066 7100 00 1064 tra exit return to bos  001523 1065 not_loaded: 001523 aa 012241 7020 00 1066 tsx2 erpt too bad 001524 aa 013 154 157 141 1067 acc 'load failed'  001525 aa 144 040 146 141 001526 aa 151 154 145 144 001527 0a 000066 7100 00 1068 tra exit  1069 "  1070 "  1071 "  1072 " Constants and work variables  1073 "  1074 "  001530 aa 202 020 442 362 1075 prognm: bci ' mcs',6 dn355 pgm to be loaded ("mcs" for now)  001531 1076 bss x2,1 save x2  001532 1077 pgm355: bss ,1 disk loc'n of 355 program  001533 1078 pgmboot: bss ,1 disk loc'n of boot pgm 001534 1079 bss relorg,1 storage for relative (in temp seg) origin of 355 prog  001535 1080 bss absorg,1 storage for absolute origin of 355 prog  001536 1081 bss norm_int_cell,1  001537 1082 bss int_bit,1  001540 1083 bss bcboff,1  001541 1084 bss temp,1 temp  001542 1085 bss chk_sw,1 check option switch  001543 1086 bss all_sw,1 all option sw  001544 1087 which_355:  001544 aa 000000 000001 1088 oct 1 default is one  001545 1089 temp_355n:  001545 1090 bss ,1 001546 1091 which_list: 001546 aa 212 223 240 000 1092 bci 'abcd' 000004 1093 equ max_no_355s,4  001547 1094 ldarg: bss ,1  001550 1095 bss lchan_no,1 001551 aa 000000 000000 1096 indic: dec 0 storage for indicators  001552 aa 000005 200000 1097 accbits: vfd 18/sdw.read+sdw.write,18/sdw.unpaged access bits of sdw  1098  001553 aa 000000 0110 03 1099 even  001554 1100 bss begin_wait,2  001556 1101 default_waittime:  001556 aa 000000 000000 1102 dec 0,30000000 30 seconds in microseconds  001557 aa 000162 341600 1103  1104 " 1105 " 1 x 6 array, 1 entry for each possible lsla  001560 1106 lsla_ch_array:  001560 aa 000000 000000 1107 dec 0,0,0,0,0,0  001561 aa 000000 000000 001562 aa 000000 000000 001563 aa 000000 000000 001564 aa 000000 000000 001565 aa 000000 000000 1108  1109 " 6 x 8 array for lsla card ptrs  001566 1110 lsla_array: 001566 aa 777777 777777 1111 dec -1,-1,-1,-1,-1,-1,-1,-1  001567 aa 777777 777777 001570 aa 777777 777777 001571 aa 777777 777777 001572 aa 777777 777777 001573 aa 777777 777777 001574 aa 777777 777777 001575 aa 777777 777777 001576 aa 777777 777777 1112 dec -1,-1,-1,-1,-1,-1,-1,-1  001577 aa 777777 777777 001600 aa 777777 777777 001601 aa 777777 777777 001602 aa 777777 777777 001603 aa 777777 777777 001604 aa 777777 777777 001605 aa 777777 777777 001606 aa 777777 777777 1113 dec -1,-1,-1,-1,-1,-1,-1,-1  001607 aa 777777 777777 001610 aa 777777 777777 001611 aa 777777 777777 001612 aa 777777 777777 001613 aa 777777 777777 001614 aa 777777 777777 001615 aa 777777 777777 001616 aa 777777 777777 1114 dec -1,-1,-1,-1,-1,-1,-1,-1  001617 aa 777777 777777 001620 aa 777777 777777 001621 aa 777777 777777 001622 aa 777777 777777 001623 aa 777777 777777 001624 aa 777777 777777 001625 aa 777777 777777 001626 aa 777777 777777 1115 dec -1,-1,-1,-1,-1,-1,-1,-1  001627 aa 777777 777777 001630 aa 777777 777777 001631 aa 777777 777777 001632 aa 777777 777777 001633 aa 777777 777777 001634 aa 777777 777777 001635 aa 777777 777777 001636 aa 777777 777777 1116 dec -1,-1,-1,-1,-1,-1,-1,-1  001637 aa 777777 777777 001640 aa 777777 777777 001641 aa 777777 777777 001642 aa 777777 777777 001643 aa 777777 777777 001644 aa 777777 777777 001645 aa 777777 777777 1117  1118  001646 1119 lsla_table_addr:  001646 aa 000000 000000 1120 oct 0  001647 1121 iom_table_addr: 001647 aa 000000 000000 1122 oct 0  001650 1123 iom_channel:  001650 aa 000000 000000 1124 oct 0  001651 1125 no_of_lslas:  001651 aa 000000 000000 1126 oct 0  001652 1127 zero:  001652 aa 000000 000000 1128 oct 0  001653 1129 no_of_hslas:  001653 aa 000000 000000 1130 oct 0  001654 1131 hsla_config_word:  001654 aa 000000 000000 1132 oct 0  001655 1133 hsla_table_word:  001655 aa 000000 000000 1134 oct 0  001656 1135 hsla_table_addr:  001656 aa 000000 000000 1136 oct 0  001657 1137 hsla_subchannel:  001657 aa 000000 000000 1138 oct 0  001660 1139 hsla_pcw_upper: 001660 aa 000000 000000 1140 oct 0  001661 1141 hsla_pcw_lower: 001661 aa 000000 000000 1142 oct 0  001662 1143 hsla_num:  001662 aa 000000 000000 1144 oct 0  001663 1145 hsla_subch: 001663 aa 000000 000000 1146 oct 0  001664 1147 lsla_conf_word: 001664 aa 000000 000000 1148 oct 0  001665 1149 baud_cnt:  001665 aa 000000 000000 1150 oct 0  001666 1151 ltemp:  001666 aa 000000 000000 1152 oct 0  001667 1153 ill_lsla:  001667 aa 000000 000000 1154 oct 0  001670 1155 ill_seq:  001670 aa 000000 000000 1156 oct 0  001671 1157 ill_baud:  001671 aa 000000 000000 1158 oct 0  1159  1160 " 1161 " Table of 4 word entries, 1 entry for each possible baud rate. 1162 " Word 0 of each entry is baud rate, word 1 is the basic subchannel data  1163 " set up for the hsla table, and words 2 and 3 are setup  1164 " for a configuration pcw.  1165 "  1166 " basic subchannel data  1167 "  1168 " bit meaning  1169 " 0 concentrator subchannel 1170 " 1 private line  1171 " 2 sync = 0, async = 1 1172 " 3-5 (3) not used  1173 " 6-9 (4) modem type  1174 " 10-13 (4) line type  1175 " 14-17 (4) device speed code as follows:  1176 "  1177 " bits async sync  1178 " 01 75 2000  1179 " 02 110 2400  1180 " 03 133 3600  1181 " 04 150 4800  1182 " 05 300 5400  1183 " 06 600 7200  1184 " 07 1050 9600  1185 " 10 1200 19200 1186 " 11 1800 40800 1187 " 12 option 50000  1188 " 13-17 undefined---  1189 "  1190 " HSLA configuration PCW formats 1191 "  1192 " Word 1  1193 "  1194 " bit meaning  1195 " 0-1 (2) 10=async chan, 11=sync chan  1196 " 2-5 (4) char length code: 15=6, 16=7, 17=8  1197 " 6 not used  1198 " 7-11 (5) subchannel number  1199 " 12 lateral parity receive 1200 " 13 lateral parity send  1201 " 14 lateral parity odd 1202 " 15 2 send ICW's  1203 " 16 CCT enable 1204 " 17 not used  1205 "  1206 " word 2  1207 "  1208 " 18-23 (6) not used  1209 "  1210 " async sync  1211 " 24 2 stp bt not used  1212 " 25-27 (3) not used not used  1213 " 28 110 bit 8 of sync char 1214 " 29 134.5 7  1215 " 30 150 6  1216 " 31 300 5  1217 " 32 1050 4 1218 " 33 1200 3 1219 " 34 1800 2 1220 " 35 not used 1 001672 1221 baud_table: 001672 aa 000000 000156 1222 dec 110 baud  001673 aa 000000 100002 1223 vfd 18/0,o1/0,o1/0,o1/1,o3/0,o4/0,o4/0,o4/2 basic subchannel data  001674 aa 000000 570026 1224 vfd 18/0,o2/2,o4/17,o1/0,o5/0,o1/0,o1/1,o1/0,o1/1,o1/1,o1/0 1st word of PCW  001675 aa 000000 000200 1225 oct 200 2nd word of config pcw bits 1226  001676 aa 000000 000205 1227 dec 133  001677 aa 000000 100003 1228 vfd 18/0,o1/0,o1/0,o1/1,o3/0,o4/0,o4/0,o4/3  001700 aa 000000 560076 1229 vfd 18/0,o2/2,o4/16,o1/0,o5/0,o1/1,o1/1,o1/1,o1/1,o1/1,o1/0  001701 aa 000000 000100 1230 oct 100  1231  001702 aa 000000 000226 1232 dec 150  001703 aa 000000 100004 1233 vfd 18/0,o1/0,o1/0,o1/1,o3/0,o4/0,o4/0,o4/4  001704 aa 000000 570026 1234 vfd 18/0,o2/2,o4/17,o1/0,o5/0,o1/0,o1/1,o1/0,o1/1,o1/1,o1/0  001705 aa 000000 000040 1235 oct 40 1236  001706 aa 000000 000454 1237 dec 300  001707 aa 000000 100005 1238 vfd 18/0,o1/0,o1/0,o1/1,o3/0,o4/0,o4/0,o4/5  001710 aa 000000 570026 1239 vfd 18/0,o2/2,o4/17,o1/0,o5/0,o1/0,o1/1,o1/0,o1/1,o1/1,o1/0  001711 aa 000000 000020 1240 oct 20 1241  001712 aa 000000 001130 1242 dec 600  001713 aa 000000 100012 1243 vfd 18/0,o1/0,o1/0,o1/1,o3/0,o4/0,o4/0,o4/12  001714 aa 000000 570026 1244 vfd 18/0,o2/2,o4/17,o1/0,o5/0,o1/0,o1/1,o1/0,o1/1,o1/1,o1/0  001715 aa 000000 000001 1245 oct 1 specifies option baud rate  1246  001716 aa 000000 002260 1247 dec 1200  001717 aa 000000 100010 1248 vfd 18/0,o1/0,o1/0,o1/1,o3/0,o4/0,o4/0,o4/10  001720 aa 000000 570026 1249 vfd 18/0,o2/2,o4/17,o1/0,o5/0,o1/0,o1/1,o1/0,o1/1,o1/1,o1/0  001721 aa 000000 000004 1250 oct 4  1251  001722 aa 000000 003410 1252 dec 1800  001723 aa 000000 100011 1253 vfd 18/0,o1/0,o1/0,o1/1,o3/0,o4/0,o4/0,o4/11  001724 aa 000000 570026 1254 vfd 18/0,o2/2,o4/17,o1/0,o5/0,o1/0,o1/1,o1/0,o1/1,o1/1,o1/0  001725 aa 000000 000002 1255 oct 2  1256  001726 aa 000000 004540 1257 dec 2400  001727 aa 000000 000002 1258 vfd 18/0,o1/0,o1/0,o1/0,o3/0,o4/0,o4/0,o4/2  001730 aa 000000 770076 1259 vfd 18/0,o2/3,o4/17,o1/0,o5/0,o1/1,o1/1,o1/1,o1/1,o1/1,o1/0  001731 aa 000000 000026 1260 oct 026  1261  001732 aa 000000 011300 1262 dec 4800  001733 aa 000000 000004 1263 vfd 18/0,o1/0,o1/0,o1/0,o3/0,o4/0,o4/0,o4/4  001734 aa 000000 770076 1264 vfd 18/0,o2/3,o4/17,o1/0,o5/0,o1/1,o1/1,o1/1,o1/1,o1/1,o1/0  001735 aa 000000 000026 1265 oct 026  1266  001736 aa 000000 016040 1267 dec 7200  001737 aa 000000 000006 1268 vfd 18/0,o1/0,o1/0,o1/0,o3/0,o4/0,o4/0,o4/6  001740 aa 000000 770076 1269 vfd 18/0,o2/3,o4/17,o1/0,o5/0,o1/1,o1/1,o1/1,o1/1,o1/1,o1/0  001741 aa 000000 000026 1270 oct 026  1271  001742 aa 000000 022600 1272 dec 9600  001743 aa 000000 000007 1273 vfd 18/0,o1/0,o1/0,o1/0,o3/0,o4/0,o4/0,o4/7  001744 aa 000000 770076 1274 vfd 18/0,o2/3,o4/17,o1/0,o5/0,o1/1,o1/1,o1/1,o1/1,o1/1,o1/0  001745 aa 000000 000026 1275 oct 026  1276  000004 1277 equ entry_len,4  000013 1278 equ baud_table_len,(*-baud_table)/entry_len  1279  1280  1281  1282 " 1 x 3 array, 1 entry for each possible hsla  001746 1283 hsla_channel_array: 001746 aa 000000 000000 1284 dec 0,0,0  001747 aa 000000 000000 001750 aa 000000 000000 1285  001751 1286 hsla_array: 1287 "3 x 32 array initialized to -1 for each entry  001751 aa 777777 777777 1288 dec -1,-1,-1,-1,-1,-1,-1,-1  001752 aa 777777 777777 001753 aa 777777 777777 001754 aa 777777 777777 001755 aa 777777 777777 001756 aa 777777 777777 001757 aa 777777 777777 001760 aa 777777 777777 001761 aa 777777 777777 1289 dec -1,-1,-1,-1,-1,-1,-1,-1  001762 aa 777777 777777 001763 aa 777777 777777 001764 aa 777777 777777 001765 aa 777777 777777 001766 aa 777777 777777 001767 aa 777777 777777 001770 aa 777777 777777 001771 aa 777777 777777 1290 dec -1,-1,-1,-1,-1,-1,-1,-1  001772 aa 777777 777777 001773 aa 777777 777777 001774 aa 777777 777777 001775 aa 777777 777777 001776 aa 777777 777777 001777 aa 777777 777777 002000 aa 777777 777777 002001 aa 777777 777777 1291 dec -1,-1,-1,-1,-1,-1,-1,-1  002002 aa 777777 777777 002003 aa 777777 777777 002004 aa 777777 777777 002005 aa 777777 777777 002006 aa 777777 777777 002007 aa 777777 777777 002010 aa 777777 777777 002011 aa 777777 777777 1292 dec -1,-1,-1,-1,-1,-1,-1,-1  002012 aa 777777 777777 002013 aa 777777 777777 002014 aa 777777 777777 002015 aa 777777 777777 002016 aa 777777 777777 002017 aa 777777 777777 002020 aa 777777 777777 002021 aa 777777 777777 1293 dec -1,-1,-1,-1,-1,-1,-1,-1  002022 aa 777777 777777 002023 aa 777777 777777 002024 aa 777777 777777 002025 aa 777777 777777 002026 aa 777777 777777 002027 aa 777777 777777 002030 aa 777777 777777 002031 aa 777777 777777 1294 dec -1,-1,-1,-1,-1,-1,-1,-1  002032 aa 777777 777777 002033 aa 777777 777777 002034 aa 777777 777777 002035 aa 777777 777777 002036 aa 777777 777777 002037 aa 777777 777777 002040 aa 777777 777777 002041 aa 777777 777777 1295 dec -1,-1,-1,-1,-1,-1,-1,-1  002042 aa 777777 777777 002043 aa 777777 777777 002044 aa 777777 777777 002045 aa 777777 777777 002046 aa 777777 777777 002047 aa 777777 777777 002050 aa 777777 777777 002051 aa 777777 777777 1296 dec -1,-1,-1,-1,-1,-1,-1,-1  002052 aa 777777 777777 002053 aa 777777 777777 002054 aa 777777 777777 002055 aa 777777 777777 002056 aa 777777 777777 002057 aa 777777 777777 002060 aa 777777 777777 002061 aa 777777 777777 1297 dec -1,-1,-1,-1,-1,-1,-1,-1  002062 aa 777777 777777 002063 aa 777777 777777 002064 aa 777777 777777 002065 aa 777777 777777 002066 aa 777777 777777 002067 aa 777777 777777 002070 aa 777777 777777 002071 aa 777777 777777 1298 dec -1,-1,-1,-1,-1,-1,-1,-1  002072 aa 777777 777777 002073 aa 777777 777777 002074 aa 777777 777777 002075 aa 777777 777777 002076 aa 777777 777777 002077 aa 777777 777777 002100 aa 777777 777777 002101 aa 777777 777777 1299 dec -1,-1,-1,-1,-1,-1,-1,-1  002102 aa 777777 777777 002103 aa 777777 777777 002104 aa 777777 777777 002105 aa 777777 777777 002106 aa 777777 777777 002107 aa 777777 777777 002110 aa 777777 777777 1300  1301 include conf355  2-1 "  2-2 " Begin include file ... conf355.incl.alm  2-3 "  2-4 "  2-5 " This subroutine will look for a datanet 355 configuration card and  2-6 " will extract the necessary information from it. There are three  2-7 " required fields on the d355 card. These are 355 tag(A-D), channel 2-8 " number(1-64), and iom tag(A-B). The iom tag is converted to an  2-9 " iom number. The calling sequence of this routine is:  2-10 "  2-11 " lda which_355  2-12 " tsx2 conf355 2-13 " tra error routine  2-14 " next instruction 2-15 "  2-16 "  2-17 "  002111 2-18 conf355: null  002111 0a 002213 7550 00 2-19 sta conf355n save which 355 we want config for  002112 0a 002212 7420 00 2-20 stx2 confx2 save return address  002113 aa 000044 7730 00 2-21 lrl 36 355 tag in Q  002114 0a 002216 2350 00 2-22 lda srcharg get search arg "d355" 002115 aa 012264 7020 00 2-23 tsx2 getconf search config data  002116 0a 002142 7100 00 2-24 tra conferr tra if not found  002117 aa 6 00001 1161 17 2-25 cmpq com|1,7 test 355 number  002120 aa 012265 6010 00 2-26 tnz getmore if not the one, try again 2-27  002121 aa 6 00002 2351 17 2-28 lda com|2,7 get iom tag field 002122 0a 002162 6040 00 2-29 tmi badiom none, error  002123 aa 000001 1750 07 2-30 sba 1,dl convert to iom number  002124 0a 002211 7550 00 2-31 sta iom_no save it  002125 aa 000006 7350 00 2-32 als 6 make room for channel number  002126 aa 6 00003 0751 17 2-33 ada com|3,7 get channel no  002127 0a 002160 6040 00 2-34 tmi badchan error check  002130 0a 002210 7510 01 2-35 stca iom_chan,01 store for connect 002131 aa 000033 7350 00 2-36 als 36-9 create a pcw 002132 0a 002205 7550 00 2-37 sta diapcw+1 ..  002133 0a 002207 7550 00 2-38 sta maskpcw+1 set up a mask pcw too  2-39  002134 0a 002213 2360 00 2-40 ldq conf355n get number  002135 aa 000001 1760 07 2-41 sbq 1,dl relative to zero 002136 aa 000300 4020 07 2-42 mpy 192,dl get mbx_offset 002137 0a 002215 7560 00 2-43 stq mbx_offset for later  2-44  002140 0a 002212 2220 00 2-45 ldx2 confx2 retrieve return address  002141 aa 000001 7100 12 2-46 tra 1,2 return  2-47  2-48  002142 0a 002214 2340 00 2-49 conferr: szn conf355err error switch on?  002143 0a 002156 6000 00 2-50 tze confexit no, skip error  002144 aa 012241 7020 00 2-51 tsx2 erpt print error message 002145 aa 040 146 156 160 2-52 acc 'fnp configuration card not found' 002146 aa 040 143 157 156 002147 aa 146 151 147 165 002150 aa 162 141 164 151 002151 aa 157 156 040 143 002152 aa 141 162 144 040 002153 aa 156 157 164 040 002154 aa 146 157 165 156 002155 aa 144 000 000 000 002156 2-53 confexit: null  002156 0a 002212 2220 00 2-54 ldx2 confx2 retrieve return address  002157 aa 000000 7100 12 2-55 tra 0,2 take error exit  2-56  002160 2-57 badchan: null  002160 0a 002202 6350 00 2-58 eaa chanmsg get addr of chan message  002161 0a 002163 7100 00 2-59 tra *+2  002162 2-60 badiom: null  002162 0a 002201 6350 00 2-61 eaa iommsg 002163 0a 002177 7550 00 2-62 sta errarg 002164 aa 012241 7020 00 2-63 tsx2 erpt  002165 aa 047 142 141 144 2-64 acc 'bad ^a number on fnp configuration card'  002166 aa 040 136 141 040 002167 aa 156 165 155 142 002170 aa 145 162 040 157 002171 aa 156 040 146 156 002172 aa 160 040 143 157 002173 aa 156 146 151 147 002174 aa 165 162 141 164 002175 aa 151 157 156 040 002176 aa 143 141 162 144 002177 0a 002177 0000 00 2-65 errarg: arg *  002200 0a 002156 7100 00 2-66 tra confexit take error exit  2-67  2-68  002201 aa 151 157 155 000 2-69 iommsg: aci 'iom'  002202 aa 143 150 141 156 2-70 chanmsg: aci 'chan' 002203 aa 000000 0110 03 2-71 even  002204 aa 000000 700000 2-72 diapcw: oct 000000700000,0 pcw to send to iom  002205 aa 000000 000000 002206 aa 000000 740000 2-73 maskpcw: oct 000000740000,0 mask pcw to send to iom 002207 aa 000000 000000 002210 aa 000000 000000 2-74 iom_chan: oct 0 channel number on iom  002211 aa 000000 000000 2-75 iom_no: oct 0 iom tag 002212 aa 000000 000000 2-76 confx2: oct 0  002213 2-77 conf355n:  002213 aa 000000 000000 2-78 oct 0  002214 2-79 conf355err: 002214 aa 000000 000000 2-80 oct 0  002215 2-81 mbx_offset: 002215 aa 000000 000000 2-82 oct 0  002216 aa 146 156 160 040 2-83 srcharg: aci 'fnp ' 2-84  2-85  2-86 " End include file ... conf355.incl.alm 1302 " 1303 include bos_sdw  3-1 "  3-2 " BEGIN INCLUDE FILE sdw.incl.alm 02/12/74  3-3 "  000014 3-4 equ sdw.add_shift,12  007000 3-5 bool sdw.r1,007000 Ringbrack 1 (DL)  000700 3-6 bool sdw.r2,000700 Ringbrack 2 (DL)  000070 3-7 bool sdw.r3,000070 Ringbrack 3 (DL)  3-8  000004 3-9 bool sdw.df,000004 Directed fault bit (0 -> fault)  000003 3-10 bool sdw.fault_code,000003 Number of directed fault  3-11  377770 3-12 bool sdw.bound,377770 Bound field (DU)  000004 3-13 bool sdw.read,000004 Read permission bit (DU) 000002 3-14 bool sdw.execute,000002 Execute permission bit (DU)  000001 3-15 bool sdw.write,000001 Write permission bit (DU)  3-16  400000 3-17 bool sdw.privileged,400000 Privileged bit (DL) 200000 3-18 bool sdw.unpaged,200000 Unpaged bit (DL)  100000 3-19 bool sdw.entry_bound_sw,100000 Entry bound switch (DL) 040000 3-20 bool sdw.cache,040000 Cache enabled bit (DL)  037777 3-21 bool sdw.entry_bound,037777 Entry bound (DL)  3-22  3-23 "  3-24 " END INCLUDE FILE sdw.incl.alm  3-25 "  1304 include bos_tv 4-1 " 4-2 " Begin include file ...... bos_tv.incl.alm 4-3 " Created in November 1971 by N. I. Morris. 4-4 " Modified 9/9/76 by Noel I. Morris 4-5 " Modified by Sherman D. Sprague 02/11/81 for DPS8 support. 4-6 " Modified November 1981 by C. Hornig to remove iom_connect_rel.  4-7 " Modified January 1982 by J. Bongiovanni to add getport_info  4-8 " Modified May 1982 by Sherman D. Sprague to add getmpc.  4-9  4-10 " BOS Utility Package Transfer Vector.  4-11  012000 4-12 equ pagectl,utilorg  012001 4-13 equ line,pagectl+1 012040 4-14 equ arg,line+31  012060 4-15 equ darg,arg+arglen+1  012100 4-16 equ earg,darg+arglen+1 012120 4-17 equ fltscu,earg+arglen+1  4-18  012200 4-19 equ tv_org,utilorg+128 4-20  012200 4-21 equ scan,tv_org+0  012201 4-22 equ arg_count,tv_org+1 012202 4-23 equ nextline,tv_org+2  012203 4-24 equ nlraw,tv_org+3 012204 4-25 equ search,tv_org+4  012205 4-26 equ makefil,tv_org+5  012206 4-27 equ ldcom,tv_org+6 012207 4-28 equ getsec,tv_org+7  012210 4-29 equ cvinit,tv_org+8  012211 4-30 equ rdev,tv_org+9  012212 4-31 equ wdev,tv_org+10 012213 4-32 equ phybos,tv_org+11  012214 4-33 equ bosphy,tv_org+12  012215 4-34 equ phyadd,tv_org+13  012216 4-35 equ mulbos,tv_org+14  012217 4-36 equ bosmul,tv_org+15  012220 4-37 equ lookup_devmodel,tv_org+16  012221 4-38 equ makesdw,tv_org+17  012222 4-39 equ argbos,tv_org+18  012223 4-40 equ argmul,tv_org+19  012224 4-41 equ amdvt,tv_org+20  012225 4-42 equ amfirst,tv_org+21  012226 4-43 equ amlast,tv_org+22  012227 4-44 equ cvnamla,tv_org+23  012230 4-45 equ sect_per_cyl_list,tv_org+24  012231 4-46 equ sect_per_dev_list,tv_org+25  012232 4-47 equ rec_per_dev_list,tv_org+26 012233 4-48 equ amaxio,tv_org+27  012234 4-49 equ rdsec,tv_org+28  012235 4-50 equ wtsec,tv_org+29  012236 4-51 equ disk_brief,tv_org+30  012237 4-52 equ itaper,tv_org+31  012240 4-53 equ itapew,tv_org+32  012241 4-54 equ erpt,tv_org+33 012242 4-55 equ ercv,tv_org+34 012243 4-56 equ erbuf,tv_org+35  012244 4-57 equ type,tv_org+36 012245 4-58 equ ttyinit,tv_org+37  012246 4-59 equ readcd,tv_org+38  012247 4-60 equ readtty,tv_org+39  012250 4-61 equ getprt,tv_org+40  012251 4-62 equ punch,tv_org+41  012252 4-63 equ octwd,tv_org+42  012253 4-64 equ geas,tv_org+43 012254 4-65 equ geastab,tv_org+44  012255 4-66 equ asge,tv_org+45 012256 4-67 equ asgetab,tv_org+46  012257 4-68 equ ljust,tv_org+47  012260 4-69 equ rjust,tv_org+48  012261 4-70 equ bzel,tv_org+49 012262 4-71 equ stripa,tv_org+50  012263 4-72 equ stripg,tv_org+51  012264 4-73 equ getconf,tv_org+52  012265 4-74 equ getmore,tv_org+53  012266 4-75 equ getperiph,tv_org+54  012267 4-76 equ rdclock,tv_org+55  012270 4-77 equ cvclock,tv_org+56  012271 4-78 equ init_io,tv_org+57  012272 4-79 equ connect_iom,tv_org+58  012273 4-80 equ getmpc,tv_org+59  012274 4-81 equ check_status,tv_org+60 012275 4-82 equ get_special_interrupt,tv_org+61  012276 4-83 equ get_status_interrupt,tv_org+62 012277 4-84 equ xio_wait,tv_org+63 012300 4-85 equ initint,tv_org+64  012301 4-86 equ wantflt,tv_org+65  012302 4-87 equ intno,tv_org+66  012303 4-88 equ intrpts1,tv_org+67 012304 4-89 equ hexwd,tv_org+68  012305 4-90 equ find_disk,tv_org+69  012306 4-91 equ find_root,tv_org+70  012307 4-92 equ find_part,tv_org+71  012310 4-93 equ check_status_no_stat,tv_org+72 012311 4-94 equ check_special_status,tv_org+73 012312 4-95 equ check_cpu_type,tv_org+74  012313 4-96 equ getportinfo,tv_org+75  4-97  4-98 " End of include file ...... bos_tv.incl.alm  4-99  1305 include bos_common 5-1 "  5-2 " Begin include file ...... bos_common.incl.alm 5-3 " Modified on 8/31/76 by N. I. Morris  5-4 " Modified on 9/01/80 by Sherman D. Sprague for DPS8 operation  5-5 " Modified on 5/26/82 by Sherman D. Sprague to lengthen config size 5-6 " Modified on 3/01/83 by Sherman D. Sprague to lengthen dirlen  5-7 " MACHINE CONDITIONS AREA  5-8 " Its length is "storlen". 5-9  000000 5-10 equ amptwregs,0 Ass. Mem PTW registers  000100 5-11 equ amptwptr,64 Ass. Mem PTW pointers 000200 5-12 equ amsdwregs,128 Ass. Mem SDW registers  000400 5-13 equ amsdwptr,256 Ass. Mem SDW pointers  000500 5-14 equ ouhist,320 operations hist regs  000700 5-15 equ cuhist,448 control unit hist regs  001100 5-16 equ eishist,576 eis hist regs  001300 5-17 equ aphist,704 appending unit hist regs  001500 5-18 equ prs,832 pointer regs  001520 5-19 equ regs,848 sreg 001530 5-20 equ low_order_port,856 port to read clock from 001532 5-21 equ mctime,858 bootload memory clock  001540 5-22 equ scu,864  001550 5-23 equ mcm,872 memory masks 8 ports 001570 5-24 equ dbr,888  001572 5-25 equ intrpts,890 waiting interrupts 001573 5-26 equ bar,891 bar  001574 5-27 equ modereg,892 processor & cache mode registers  001576 5-28 equ faultreg,894 processor fault register  001600 5-29 equ ptrlen,896 pointer-lengths EIS 0 mod 8 001610 5-30 equ coreblocks,904 array of port information  5-31 " Bits 0-17 => num 1st 64-word block  5-32 " Bits 18-35 => num of 64-word blocks  5-33 " (-1) => no mem on this port  001620 5-34 equ lowport_cfg,912 Saved CFG from bootload SCU  5-35  002000 5-36 equ storlen,1024  5-37  5-38  5-39  5-40 " BOS COMMAND DIRECTORY 5-41 " Its length is "dirlen".  5-42  002000 5-43 equ dir,1024 ( 0-23) => sector # of first sector on BOS disk  5-44 " (24-35) => # of sectors in BOS common  002001 5-45 equ used,dir+1 ( 0-23) => # of next available sector on BOS disk  002002 5-46 equ useable,dir+2 ( 0-23) => first unavailable sector on BOS disk  002003 5-47 equ corearea,dir+3 ( 0-23) => starting sector of Multics core image  5-48 " (24-35) => # of sectors in Multics core image  002004 5-49 equ setuparea,dir+4 Sector and length of setup 002005 5-50 equ utilarea,dir+5 where utility package is kept  002010 5-51 equ iom_mxbase,dir+8 IOM IMW area address  002011 5-52 equ iom_mbbase,dir+9 IOM mailbox base  002012 5-53 equ bos_dvt,dir+10 BOS disk loc: (o3/iom,o6/chn,o9/drive,o18/devtype)  002013 5-54 equ unitgroup,dir+11 disk unitgroup (device no. or area no.)  002014 5-55 equ diskchanno,dir+12 channel to be used for disk  002015 5-56 equ tapechanno,dir+13 channel # for tapes  002016 5-57 equ rdrchanno,dir+14 channel number for card reader  002017 5-58 equ ttychanno,dir+15 channel # for operator's tty  002020 5-59 equ quietsw,dir+16 if on, don't print card and macro commands  002021 5-60 equ inputsw,dir+17 read from tty, cards, macros  002022 5-61 equ macroloc,dir+18 disk addr, buffer index of macro file  002023 5-62 equ fdump_state,dir+19 completion flag for last FDUMP  002024 5-63 equ d355_state,dir+20 = 1 if DataNet 355 loaded successfully  002025 5-64 equ skipsw,dir+21 if on, skip runcom lines 002026 5-65 equ ttypmtsw,dir+22 if on, prompt  002027 5-66 equ curtcmd,dir+23 current bos command 002030 5-67 equ readysw,dir+24 if on, print ready message  002032 5-68 equ cmdlst,dir+26 list of commands 5-69  000600 5-70 equ dirlen,384 5-71  5-72  5-73  5-74 " MACRO BUFFER AREA 5-75  002600 5-76 equ macrobuf,dir+dirlen io buffer for macro files 002700 5-77 equ macroline,macrobuf+64 runcom command line 002716 5-78 equ macroargs,macroline+14 argument descriptors for runcom  5-79  5-80  5-81  5-82 " CONFIGURATION CARD AREA  5-83 " Its length is 2048 words.  5-84  003000 5-85 equ conf,macrobuf+128 start of configuration info  007000 5-86 equ econf,conf+2048 end of configuration info  000020 5-87 equ confl,16 length of each line  5-88  5-89  007000 5-90 equ seg6length,econf length of bos_common area segment 5-91  5-92 " End of include file ...... bos_common.incl.alm  5-93  1306  1307 end  LITERALS 002220 aa 777777 777777 002221 aa 202330 252342 002222 aa 002020 202020 002223 aa 202022 030505 002224 aa 000040 040040 002225 aa 777777 770777 002226 aa 154163 154141 002227 aa 150163 154141 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 002230 5a 000003 000000 002231 5a 000017 600000 002232 aa 000000 000000 002233 55 000010 000002 002234 5a 000002 400003 002235 55 000006 000010 002236 aa 005 154 144 063 002237 aa 065 065 000 000 002240 55 000002 000003 002241 6a 000000 400002 002242 55 000013 000003 002243 aa 014 163 171 155 symbol_table  002244 aa 142 157 154 137 002245 aa 164 141 142 154 002246 aa 145 000 000 000 DEFINITIONS HASH TABLE  002247 aa 000000 000015 002250 aa 000000 000000 002251 aa 000000 000000 002252 aa 000000 000000 002253 aa 000000 000000 002254 aa 000000 000000 002255 aa 000000 000000 002256 5a 000010 000000 002257 aa 000000 000000 002260 aa 000000 000000 002261 aa 000000 000000 002262 aa 000000 000000 002263 aa 000000 000000 002264 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  002265 aa 000001 000000 002266 aa 000000 000000 INTERNAL EXPRESSION WORDS 002267 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 002230 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000010 000007 a2 000000 000000 SYMBOL INFORMATION SYMBOL TABLE HEADER  000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000004 000004 aa 000000 112143 000005 aa 305203 523135 000006 aa 000000 112272 000007 aa 225534 167076 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000372 000020 aa 000000 000177 000021 aa 000000 000355 000022 aa 000360 000177 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 040066 056066 000030 aa 040040 116157 000031 aa 166145 155142 000032 aa 145162 040061 000033 aa 071070 062040 000034 aa 110157 154155 000035 aa 163164 145144 000036 aa 164056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040040 040040 000046 aa 040040 040040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040040 040040 000057 aa 040040 040040 000060 aa 040040 040040 000061 aa 040040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000006 000066 aa 000116 000026 000067 aa 122721 273023 000070 aa 000000 112272 000071 aa 215545 200000 000072 aa 000124 000040 000073 aa 113400 415301 000074 aa 000000 111341 000075 aa 220414 400000 000076 aa 000134 000041 000077 aa 043243 125745 000100 aa 000000 103730 000101 aa 106336 600000 000102 aa 000145 000041 000103 aa 105543 476637 000104 aa 000000 110555 000105 aa 260135 200000 000106 aa 000156 000040 000107 aa 110235 072677 000110 aa 000000 111024 000111 aa 524460 600000 000112 aa 000166 000044 000113 aa 121622 277475 000114 aa 000000 112162 000115 aa 321563 400000 000116 aa 076163 160145 >spec>h>3.17>ld355.alm  000117 aa 143076 150076 000120 aa 063056 061067 000121 aa 076154 144063 000122 aa 065065 056141 000123 aa 154155 040040 000124 aa 076154 144144 >ldd>bos>include>bosequ.incl.alm  000125 aa 076142 157163 000126 aa 076151 156143 000127 aa 154165 144145 000130 aa 076142 157163 000131 aa 145161 165056 000132 aa 151156 143154 000133 aa 056141 154155 000134 aa 076154 144144 >ldd>bos>include>conf355.incl.alm  000135 aa 076142 157163 000136 aa 076151 156143 000137 aa 154165 144145 000140 aa 076143 157156 000141 aa 146063 065065 000142 aa 056151 156143 000143 aa 154056 141154 000144 aa 155040 040040 000145 aa 076154 144144 >ldd>bos>include>bos_sdw.incl.alm  000146 aa 076142 157163 000147 aa 076151 156143 000150 aa 154165 144145 000151 aa 076142 157163 000152 aa 137163 144167 000153 aa 056151 156143 000154 aa 154056 141154 000155 aa 155040 040040 000156 aa 076154 144144 >ldd>bos>include>bos_tv.incl.alm  000157 aa 076142 157163 000160 aa 076151 156143 000161 aa 154165 144145 000162 aa 076142 157163 000163 aa 137164 166056 000164 aa 151156 143154 000165 aa 056141 154155 000166 aa 076154 144144 >ldd>bos>include>bos_common.incl.alm  000167 aa 076142 157163 000170 aa 076151 156143 000171 aa 154165 144145 000172 aa 076142 157163 000173 aa 137143 157155 000174 aa 155157 156056 000175 aa 151156 143154 000176 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  656 .crcon ld355: 74, 652.  653 .criom ld355: 71, 330.  654 .crnhs ld355: 72, 539.  655 .crnls ld355: 73, 541.  1535 absorg ld355: 246, 248, 703, 1080.  1552 accbits ld355: 229, 1097.  71 allset ld355: 179, 204, 955. 1543 all_sw ld355: 134, 161, 950, 1086.  12233 amaxio bos_tv: 48. 12224 amdvt bos_tv: 41. 12225 amfirst bos_tv: 42. 12226 amlast bos_tv: 43. 100 amptwptr bos_common: 11. 0 amptwregs bos_common: 10. 400 amsdwptr bos_common: 13. 200 amsdwregs bos_common: 12. 1300 aphist bos_common: 17. 12040 arg bos_tv: 14, 15.  12222 argbos bos_tv: 39. 46 argend ld355: 139, 169.  17 arglen bosequ: 17, bos_tv: 15, 16, 17. 12 arglp ld355: 136, 144, 163, 167.  12223 argmul bos_tv: 40. 12201 arg_count bos_tv: 22. 12255 asge bos_tv: 66. 12256 asgetab bos_tv: 67. 1061 atemp ld355: 828, 834, 835, 841, 842, 845.  2160 badchan conf355: 34, 57.  1477 badint ld355: 930, 1052.  2162 badiom conf355: 29, 60.  1211 badst ld355: 941, 961.  1470 bad_init ld355: 986, 988, 993, 998, 999, 1041.  1573 bar bos_common: 26. 0 baud ld355: 99, 380, 503. 1665 baud_cnt ld355: 353, 362, 378, 398, 419, 440, 1149. 1672 baud_table ld355: 578, 1221, 1278. 13 baud_table_len ld355: 579, 1278.  1540 bcboff ld355: 272, 284, 663, 1083.  1554 begin_wait ld355: 797, 810, 1100. 2 bf bosequ: 9. 40000 bit21 ld355: 59, 286, 833. 20000 bit22 ld355: 60, 286, 289, 736, 758, 840.  12217 bosmul bos_tv: 36. 12214 bosphy bos_tv: 33. 2012 bos_dvt bos_common: 53. 12261 bzel bos_tv: 70. 2202 chanmsg conf355: 58, 70.  541 chan_assigned ld355: 572, 576.  3 chan_no ld355: 106, 500.  12312 check_cpu_type bos_tv: 95. 12311 check_special_status bos_tv: 94. 12274 check_status bos_tv: 81. 12310 check_status_no_stat bos_tv: 93. 1542 chk_sw ld355: 143, 647, 1085. 1172 cksum ld355: 940, 958.  655 cksum1 ld355: 671, 677.  731 cksum2 ld355: 723, 729.  2032 cmdlst bos_common: 68. 16 cnfgst ld355: 76, 550, 552. 6 com ld355: 119, 318, 321, 324, 376, 380, 446, 448, 494, 497, 500, 503,  505, 778, 799, 947,  bosequ: 14, conf355: 25, 28, 33. 60 comerr ld355: 171, 177, 185. 3000 conf bos_common: 85, 86.  2111 conf355 ld355: 206, conf355: 18. 2214 conf355err ld355: 162, conf355: 49, 79.  2213 conf355n conf355: 19, 40, 77. 2142 conferr conf355: 24, 49.  2156 confexit conf355: 50, 53, 66. 1226 confg ld355: 942, 964.  20 confl bos_common: 87. 2212 confx2 conf355: 20, 45, 54, 76.  12272 connect_iom ld355: 785, 787,  bos_tv: 79. 2003 corearea bos_common: 47. 1610 coreblocks bos_common: 30. 1 count ld355: 100, 376, 505. 700 cuhist bos_common: 15. 2027 curtcmd bos_common: 66. 12270 cvclock bos_tv: 77. 12210 cvinit bos_tv: 29. 12227 cvnamla bos_tv: 44. 1 d355_no ld355: 95, 318, 494. 2024 d355_state ld355: 119, 947,  bos_common: 63. 12060 darg bos_tv: 15, 16.  1570 dbr bos_common: 24. 712 dcwloop ld355: 707, 715.  1556 default_waittime ld355: 811, 1101.  2204 diapcw ld355: 788, conf355: 37, 72.  2000 dir bos_common: 43, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56,  57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 76. 600 dirlen bos_common: 70, 76.  2014 diskchanno bos_common: 55. 12236 disk_brief bos_tv: 51. 2400 dn355mbx ld355: 62, 689, 748, 753, 754, 759, 929, 976, 980, 1044.  100 dnload ld355: 63, 236, 239, 240, 270, 271, 716, 731, 751, 760, 763. 645 done_with_config ld355: 648, 656.  0 ds ld355: 218, 230, 244, 749,  bosequ: 7. 12100 earg bos_tv: 16, 17.  7000 econf bos_common: 86, 90.  1100 eishist bos_common: 16. 1513 emergency_interrupt ld355: 807, 1061.  4 entry_len ld355: 579, 581, 1277, 1278.  12243 erbuf bos_tv: 56. 12242 ercv bos_tv: 55. 12241 erpt ld355: 186, 214, 450, 586, 816, 945, 958, 961, 964, 973, 1006, 1009,  1012, 1015, 1018, 1022, 1026, 1030, 1034, 1037, 1042, 1053, 1062, 1066,  conf355: 51, 63,  bos_tv: 54. 2177 errarg conf355: 62, 65.  66 exit ld355: 194, 818, 951, 956, 960, 963, 966, 1008, 1011, 1014, 1017, 1021,  1025, 1029, 1033, 1036, 1040, 1045, 1055, 1064, 1068. 1576 faultreg bos_common: 28. 2023 fdump_state bos_common: 62. 5 fgb bosequ: 13. 12305 find_disk bos_tv: 90. 12307 find_part bos_tv: 92. 12306 find_root bos_tv: 91. 2000 firmware_bit bosequ: 20. 12120 fltscu bos_tv: 17. 12253 geas bos_tv: 64. 12254 geastab bos_tv: 65. 12264 getconf ld355: 310, 486,  conf355: 23, bos_tv: 73. 12265 getmore ld355: 315, 491,  conf355: 26, bos_tv: 74. 12273 getmpc bos_tv: 80. 12266 getperiph bos_tv: 75. 12313 getportinfo bos_tv: 96. 12250 getprt bos_tv: 61. 12207 getsec bos_tv: 28. 434 get_hsla_card ld355: 489, 496, 504. 447 get_h_baud ld355: 502, 512.  215 get_lsla_card ld355: 313, 320, 327. 12275 get_special_interrupt bos_tv: 82. 12276 get_status_interrupt bos_tv: 83. 6 h1ch ld355: 69, 515, 547. 1000 h1mb ld355: 75, 550, 552. 10 h3ch ld355: 70, 535.  12304 hexwd bos_tv: 89. 570 hit ld355: 583, 593.  1751 hsla_array ld355: 507, 571, 577, 864, 1286. 475 hsla_assigned ld355: 523, 530.  1746 hsla_channel_array ld355: 498, 520, 860, 1283.  1654 hsla_config_word ld355: 560, 561, 1131. 601 hsla_hardware_addr_1 ld355: 551, 606, 620, 633.  603 hsla_hardware_addr_2 ld355: 553, 609, 621, 634.  464 hsla_loop ld355: 519, 536.  2 hsla_no ld355: 105, 497.  624 hsla_not_config ld355: 562, 630.  1662 hsla_num ld355: 548, 588, 641, 1143.  1661 hsla_pcw_lower ld355: 574, 603, 610, 1141.  1660 hsla_pcw_upper ld355: 573, 601, 607, 1139.  1663 hsla_subch ld355: 549, 589, 627, 640, 1145. 1657 hsla_subchannel ld355: 597, 614, 622, 626, 637, 1137.  1656 hsla_table_addr ld355: 568, 613, 1135. 1655 hsla_table_word ld355: 570, 593, 617, 1133.  13 icdate ld355: 87, 88, 680. 1 icdcw1 ld355: 81, 82, 708, 710, 712. 3 icdcw2 ld355: 82, 83.  5 icdcw3 ld355: 83, 84.  7 icdcw4 ld355: 84, 85.  11 icdcw5 ld355: 85, 86, 285. 16 icksma ld355: 90, 91, 678. 17 icksmb ld355: 91, 730.  0 iclist ld355: 80, 81, 282, 699.  15 iclmts ld355: 89, 90, 277. 12 icmbx ld355: 86, 87, 692. 14 ictime ld355: 88, 89, 681. 1671 ill_baud ld355: 444, 454, 585, 590, 1157. 1667 ill_lsla ld355: 447, 452, 1153. 1670 ill_seq ld355: 449, 453, 1155. 1121 image_ret ld355: 885, 898.  1551 indic ld355: 665, 672, 674, 722, 724, 726, 1096. 12300 initint ld355: 121, bos_tv: 85. 1405 init_10 ld355: 1002, 1026.  1421 init_11 ld355: 1003, 1030.  1436 init_12 ld355: 1004, 1034.  1450 init_13 ld355: 1005, 1037.  1321 init_2 ld355: 994, 1006.  1332 init_3 ld355: 995, 1009.  1344 init_4 ld355: 996, 1012.  1353 init_5 ld355: 997, 1015.  1362 init_8 ld355: 1000, 1018.  1373 init_9 ld355: 1001, 1022.  1247 init_confg ld355: 943, 972.  12271 init_io ld355: 124, bos_tv: 78. 1304 init_list ld355: 991, 992.  2021 inputsw bos_common: 60. 1135 int355 ld355: 804, 927.  12302 intno bos_tv: 87. 1572 intrpts bos_common: 25. 12303 intrpts1 bos_tv: 88. 1537 int_bit ld355: 775, 802, 1082. 2201 iommsg conf355: 61, 69.  2210 iom_chan ld355: 683, 764,  conf355: 35, 74.  1650 iom_channel ld355: 332, 341, 468, 474, 476, 516, 526, 532, 534, 555, 557, 638, 1123. 2011 iom_mbbase bos_common: 52. 2010 iom_mxbase ld355: 778, 799,  bos_common: 51. 2211 iom_no ld355: 769, conf355: 31, 75.  1647 iom_table_addr ld355: 330, 340, 467, 525, 556, 1121.  12237 itaper bos_tv: 52. 12240 itapew bos_tv: 53. 1102 join_image ld355: 879, 882.  11 l1ch ld355: 67, 331.  16 l6ch ld355: 68, 477.  1550 lchan_no ld355: 983, 1020, 1024, 1028, 1032, 1039, 1095. 1547 ldarg ld355: 213, 216, 1094. 12206 ldcom bos_tv: 27. 12001 line bos_tv: 13, 14.  12257 ljust bos_tv: 68. 150 load2 ld355: 249, 254.  12220 lookup_devmodel bos_tv: 37. 1620 lowport_cfg bos_common: 34. 1530 low_order_port bos_common: 20. 355 lp110c ld355: 434, 441.  327 lp150c ld355: 407, 420, 428. 307 lp300 ld355: 387, 396.  306 lp300c ld355: 385, 399.  1566 lsla_array ld355: 326, 368, 856, 1110.  422 lsla_assigned ld355: 371, 472.  277 lsla_baud_loop ld355: 375, 460.  273 lsla_card_loop ld355: 369, 464.  1560 lsla_ch_array ld355: 322, 336, 852, 1106.  1664 lsla_conf_word ld355: 355, 359, 387, 390, 393, 408, 411, 412, 416, 433, 436, 1147.  240 lsla_loop ld355: 335, 478.  2 lsla_no ld355: 96, 321, 446. 1646 lsla_table_addr ld355: 345, 347, 1119. 261 lsla_ulp ld355: 356, 363.  1666 ltemp ld355: 349, 364, 406, 407, 427, 1151.  2716 macroargs bos_common: 78. 2600 macrobuf bos_common: 76, 77, 85. 2700 macroline bos_common: 77, 78.  2022 macroloc bos_common: 61. 12205 makefil bos_tv: 26. 12221 makesdw bos_tv: 38. 2206 maskpcw ld355: 786, conf355: 38, 73.  4 max_no_355s ld355: 153, 954, 1093. 2215 mbx_offset ld355: 688, 747, 928, 975,  conf355: 43, 81.  1550 mcm bos_common: 23. 1532 mctime bos_common: 21. 7 mem ld355: 133, 137, 146, 165, 198, 748, 753, 754, 759, 779, 780, 803,  806, 929, 968, 969, 976, 980, 1044, bosequ: 15. 1574 modereg bos_common: 27. 12216 mulbos bos_tv: 35. 22 narg1 ld355: 142, 146.  43 narg2 ld355: 150, 157, 165. 12202 nextline bos_tv: 23. 1163 next_355 ld355: 207, 949.  411 next_baud ld355: 400, 421, 442, 458.  630 next_hsla ld355: 625, 636.  413 next_lsla_card ld355: 381, 462.  12203 nlraw bos_tv: 24. 1536 norm_int_cell ld355: 770, 777, 798, 1081.  364 not110 ld355: 431, 444.  352 not133 ld355: 424, 430.  345 not150 ld355: 403, 423.  323 not300 ld355: 383, 402.  1523 not_loaded ld355: 455, 591, 1065. 470 no_hsla ld355: 521, 524.  415 no_lsla ld355: 337, 466.  460 no_more_hsla_cards ld355: 487, 492, 514. 232 no_more_lslas ld355: 311, 316, 328. 1653 no_of_hslas ld355: 517, 522, 539, 1129.  1651 no_of_lslas ld355: 333, 338, 541, 1125.  12252 octwd bos_tv: 63. 1155 ok ld355: 939, 945.  500 ouhist bos_common: 14. 12000 pagectl bos_tv: 12, 13.  1041 parity ld355: 298, 691, 711, 827.  517 per_hsla ld355: 554, 643.  3 pgm ld355: 218, bosequ: 10. 1532 pgm355 ld355: 172, 251, 1077. 1533 pgmboot ld355: 178, 233, 1078. 12215 phyadd bos_tv: 34. 12213 phybos bos_tv: 32. 1530 prognm ld355: 166, 169, 175, 188, 1075. 1500 prs bos_common: 18. 1600 ptrlen bos_common: 29. 12251 punch bos_tv: 62. 2020 quietsw bos_common: 59. 12267 rdclock bos_tv: 76. 12211 rdev bos_tv: 30. 2016 rdrchanno bos_common: 57. 12234 rdsec ld355: 235, 253,  bos_tv: 49. 12246 readcd bos_tv: 59. 12247 readtty bos_tv: 60. 2030 readysw bos_common: 67. 1130 read_data ld355: 904, 912.  1101 read_image ld355: 329, 344, 559, 567, 880. 1134 read_ret ld355: 888, 914, 916, 918.  12232 rec_per_dev_list bos_tv: 47. 1520 regs bos_common: 19. 1534 relorg ld355: 243, 247, 273, 275, 668, 895, 1079. 1062 reset_arrays ld355: 307, 849.  12260 rjust bos_tv: 69. 4000 runcom_bit bosequ: 19. 12200 scan bos_tv: 21. 1540 scu bos_common: 22. 14 sdw.add_shift ld355: 220, 226, 245, 750,  bos_sdw: 4. 377770 sdw.bound ld355: 219, bos_sdw: 12. 40000 sdw.cache bos_sdw: 20. 4 sdw.df ld355: 227, bos_sdw: 9. 37777 sdw.entry_bound bos_sdw: 21. 100000 sdw.entry_bound_sw bos_sdw: 19. 2 sdw.execute bos_sdw: 14. 3 sdw.fault_code bos_sdw: 10. 400000 sdw.privileged bos_sdw: 17. 7000 sdw.r1 bos_sdw: 5. 700 sdw.r2 bos_sdw: 6. 70 sdw.r3 bos_sdw: 7. 4 sdw.read ld355: 1097, bos_sdw: 13. 200000 sdw.unpaged ld355: 1097, bos_sdw: 18. 1 sdw.write ld355: 1097, bos_sdw: 15. 12204 search ld355: 170, 176,  bos_tv: 25. 12230 sect_per_cyl_list bos_tv: 45. 12231 sect_per_dev_list bos_tv: 46. 7000 seg6length bos_common: 90. 3 seq_no ld355: 97, 324, 448. 2004 setuparea bos_common: 49. 2025 skipsw bos_common: 64. 220 skip_getmore ld355: 312, 317.  437 skip_h_getmore ld355: 488, 493.  2216 srcharg conf355: 22, 83.  4 start_baud ld355: 98, 374, 501. 1147 stmsgs ld355: 936, 938.  1124 store_data ld355: 902, 907.  452 store_h_baud ld355: 506, 510.  2000 storlen bos_common: 36. 12262 stripa bos_tv: 71. 12263 stripg bos_tv: 72. 533 subchan_loop ld355: 569, 628.  2015 tapechanno bos_common: 56. 1541 temp ld355: 221, 225, 650, 652, 687, 690, 979, 985, 1084. 1545 temp_355n ld355: 155, 158, 1089. 1 tmp ld355: 230, 236, 239, 244, 254, 270, 271, 274, 276, 277, 278, 282,  285, 287, 290, 291, 294, 296, 297, 299, 666, 670, 673, 678,  680, 681, 692, 699, 708, 710, 712, 717, 719, 725, 730, 732,  737, 749, 760, 763, 908, 910, 913, 915,  bosequ: 8. 2017 ttychanno bos_common: 58. 12245 ttyinit ld355: 126, bos_tv: 58. 2026 ttypmtsw bos_common: 65. 66 ttyrequest ld355: 122, 127, 195. 12200 tv_org bos_tv: 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,  44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,  56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,  68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,  80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,  92, 93, 94, 95, 96. 12244 type bos_tv: 57. 2013 unitgroup bos_common: 54. 2002 useable bos_common: 46. 2001 used bos_common: 45. 2005 utilarea bos_common: 50. 12000 utilorg bosequ: 22, bos_tv: 12, 19.  1244 wait_again ld355: 944, 967.  1020 wait_for_int ld355: 801, 812, 970. 12301 wantflt bos_tv: 86. 12212 wdev bos_tv: 31. 1544 which_355 ld355: 160, 205, 209, 319, 495, 952, 953, 1087.  1546 which_list ld355: 153, 1091.  1077 write_image ld355: 358, 389, 410, 415, 435, 470, 528, 538, 540, 605, 608, 616,  651, 877.  12235 wtsec bos_tv: 50. 1531 x2 ld355: 118, 132, 197, 1076.  1120 xed_inst ld355: 883, 897.  1123 xed_inst_read ld355: 881, 903.  1122 xed_inst_write ld355: 878, 901.  12277 xio_wait bos_tv: 84. 4 xs1 bosequ: 11. 5 xs2 bosequ: 12. 1652 zero ld355: 471, 529, 1127. 600 zero_config_pcw ld355: 575, 604.  604 zero_table_word ld355: 612. NO FATAL ERRORS  ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved