22FL #SEG IPBOUT8 [R.WEYAND 22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD. 1982 22^= #LIST K0IPBOUT>K0IPB>K0ALLGEO>K0GREATGEO 23DW 8HIPBOUT 23YG # 24D6 SEGENTRY K1IPBOUT,SK1IPBOUT 24XQ # ISSUES ALL THE WRITE ORDERS TO THE IPB ; AMOP/IPBOUT ACTIVITY 25CB SEGENTRY K4IPBOUT,SK4IPBOUT 25X2 # SEND SUPERVISORY SEGMENT TO AM6P/IPBOUT ; USUALLY CPAT ACTIVITY 26BL SEGENTRY K5IPBOUT,SK5IPBOUT 26W= # SEND TIME+DATE TO IPB CONSOLES ; ACTCDT ACTIVITY 26YD # 26YQ # SUBROUTINE TO SEARCH FOR AND SEND ANY CRASH CLOSE SUPERVISORY 26^4 # SEGMENTS IN THE OUTPUT Q. BEFORE THE SEG IS SENT ALL PRECEDING 26^B # SEGMENTS WITH THE SAME IDENTIFIER NO. ARE DISCARDED. 26^N # 2722 OCRASHCLOSE 272# STOZ 4 [INDICATE SEARCH FOR CRASH CLOSE SEG 272L OCRAS BCHX 3 £ [PICK UP POSSIBLE SUPERVISORY CODE 272Y LDCH 0 IPBIDE(3) 273= ANDX 3 BITS22LS 273J SBN 0 23 273W BZE 0 OGOOD [CRASH CLOSE SEGMENT 2748 OLOOKA [LOOK AT NEXT IOUT BLOCK 274G HUNT2J 3,AMXOR,IOUT,,(7) 274S BZE 4 OCRAS [STILL LOOKING FOR CRASH CLOSE SEG 2756 TXU 3 GEN0 275D BCC TSEND [END OF SEARCH : SEND CRASH CLOSE SEG 275Q LDX 0 IPBIDE(3) 2764 ANDN 0 #7777 276B SBX 0 4 276N BNZ 0 OLOOKA [NOT MATCHING IDEN NO:CONTINUE SEARCH 2772 LDX 0 FPTR(3) [PICK UP NEXT IOUT PTR AND PRESERVE 277# STO 0 GEN2 [IT 277L FREECORE 3 [DISCARD THIS IOUT BLOCK 277Y SMO GEN2 [CAUSE SEARCH TO FIND NEXT IOUT 278= LDX 3 BPTR 278J BRN OLOOKA 278W OGOOD STO 3 GEN0 [PRESERVE PTR TO CRASH CLOSE IOUT BLK 2798 LDX 4 IPBIDE(3) 279G ANDN 4 #7777 [SET X4 +VE WITH IDENTIFIER NUMBER 279S LDX 3 FX2 [NOW SEARCH FOR AND DISCARD 27=6 BRN OLOOKA [RELEVANT PRECEDING IOUT BLOCKS 27=D # 27=Q # SUBROUTINE TO CHECK FOR RESET/REOPEN SEGMENTS(BATCHED). IF TRUE, 27?4 # JUMPS TO "TWAL" TO KICK IPBIN, ELSE EXITS. 27?B # 27?N TREOP BCHX 3 £ 27#2 LDCH 0 IPBIDE(3) [SUPERVISORY CODE 27## ANDX 3 BITS22LS 27#L SBN 0 11 27#Y BNZ 0 (7) [NOT RESET SEGMENT : EXIT 27*= FREECORE 3 [FINISHED WITH "REOPEN" SUPER BLOCK 27*J BRN TWAL [WAIT FOR IPBIN TO WAKE IPBOUT WHEN READ FINISHES 27*W # 27TG # SUBROUTINE TO CHECK FOR CLOSE DOWN SEGMENT ; CALL ON X7 28*6 # 28SQ TCLOS BCHX 3 £ 29#B LDCH 0 IPBIDE(3) [SUPERVISORY CODE 29S2 SBN 0 9 2=?L BNZ 0 TEX [NOT CLOSE DOWN 2=R= LDX 3 IPBRING(2) 2?=W LDCT 0 #40 2?QG SBN 3 IPBRING 2#=6 ORS 0 IPBSW(3) [INHIBIT READS 2#FY LONGON1 CCREOPEN [KICK IPBIN IF WAITING IN "CCREOPEN" 2#PQ LDCT 0 #100 2*9B ANDX 0 IPBSW(3) [NO READ IN PROGRESS IF IPBIN ASLEEP 2*P2 BZE 0 (7) 2B8L ERS 0 IPBSW(3) 2BN= LDX 2 3 2C7W FPUT [WAKE IPBIN IF ASLEEP 2CMG BRN TSUI [SUICIDE 2D76 TEX ANDX 3 BITS22LS 2DLQ EXIT 7 1 2F6B # 2FL2 # SUBROUTINES FOR USE BY LOCKC MACROS TO REFIND BLOCKS BEING LOCKED 2G5L # 2GK= TFI MHUNTW 2,AMXOR,IOUT 2H4W EXIT 1 0 2HJG TIF LDX 2 FX2 2J46 EXIT 1 0 2JHQ # 2K3B # SUBROUTINE TO TEST WHETHER IPB IS MOPPED OFF OR INOPERABLE 2KH2 # 2L2L TOFF LDN 0 IPBRING(3) 2LG= TXU 0 IPBRING(3) 2L^W BCC TEXT [EQUAL : MOPPED OFF 2MFG LDCT 0 #420 2M^6 ANDX 0 IPBSW(3) 2NDQ BNG 0 TNOP [B0 SET : INOPERABLE 2NYB BNZ 0 TEXT [B4 SET : MOPPING OFF 2PD2 EXIT 7 0 2PXL # 2QC= # SUBROUTINE TO CHAIN IOUT BEHIND IPBOUT ACTIVITY AND FPUT IF NEEDED 2QWW # 2RBG TWA LDX 2 IPBRING(3) [AMOP/IPBIN ADDRESS IN X3 2RW6 SBN 2 IPBRING 2S*Q LDX 2 ACTRING(2) 2STB SBN 2 ACTRING 2T*2 CHAIN 1,BPTR(2) [AMXOR/IOUT ADDRESS IN X1 2TSL LDX 2 IPBRING(3) 2W#= SBN 2 IPBRING 2WRW LDCT 0 #100 2X?G ANDX 0 IPBSW(2) 2XR6 BZE 0 (7) [IPBOUT ALREADY AWAKE 2Y=Q ERS 0 IPBSW(2) 2YQB FPUT 2^=2 EXIT 7 0 2^=G ...#UNS CCERROR 2^?2 ...( 2^?G ...[ 2^#2 ...XOUT 4HOU00 2^#G ...[ 2^*2 ... 2^*G ...[ 2^B2 ...XSUBJOURN 2^BG ... SBX 7 FX1 2^BM ...XSUBJ 2^BS ... LDX 2 IPBRING(2) 2^C6 ... SBN 2 IPBRING 2^CD ... HUNT2J 2,AMXOR,AJOURN,,XJRN6 2^CQ ... LDX 0 IBSW(3) 2^D4 ... BNG 0 XJRN1 2^DB ... LDN 6 3 2^DN ... BRN XJRN2 2^F2 ...XJRN1 2^F# ... LDX 6 ALOGLEN(3) 2^FL ... SBN 6 IPBIDE-A1-1 2^FY ...XJRN2 2^G= ... LDN 0 488 2^GJ ... SBX 0 IPBCOUNT(2) 2^GW ... SBX 0 6 2^H8 ... BNG 0 XJRN3 2^HG ... LDN 5 IPBDATA(2) 2^HS ... ADX 5 IPBCOUNT(2) 2^J6 ... LDN 4 IBSW(3) 2^JD ... SMO 6 2^JQ ... MOVE 4 0 2^K4 ... LDX 0 XOUT(1) 2^KB ... SMO 5 2^KN ... STO 0 0 2^L2 ... ADS 6 IPBCOUNT(2) 2^L# ...XJRNE 2^LL ... LDX 2 FX2 2^MG ... ADX 7 FX1 2^N2 ... EXIT 7 0 2^N3 ...# 2^N4 ...XJRN3 2^N5 ... LDX 0 IPBCOUNT(2) 2^N6 ... BZE 0 XJRNE 2^N7 ... LDX 0 IPBJRN 2^N8 ... BNZ 0 XJRN4 2^N9 ... STOZ IPBCOUNT(2) 2^N= ... BRN XJRN2 2^N? ...# 2^N# ...XJRN4 2^N* ... NAME 2,AMXOR,AMISC 2^NB ... FINDACTFB 1,FX2,AMOP,AJOURN,,BPTR 2^NC ... LDX 4 1 2^ND ... CHAIN 2,4 2^NF ... LDX 2 4 2^NG ... LDX 0 IPBSW(2) 2^NH ... BNG 0 XJRN5 2^NJ ... LDX 0 GSIGN 2^NK ... STO 0 IPBSW(2) 2^NL ... FPUT 2^NM ...XJRN5 2^NN ... SETNCORE 499,4,AMXOR,AJOURN 2^NP ... LDX 2 IPBRING(2) 2^NQ ... SBN 2 IPBRING 2^NR ... CHAIN 4,2 2^NS ... LDX 2 4 2^NT ... SMO FX2 2^NW ... LDX 0 CPPTR 2^NX ... STO 0 IPBDATA+497(2) 2^NY ... STOZ IPBCOUNT(2) 2^N^ ... BRN XJRN2 2^P2 ...# 2^P3 ...XJRN6 2^P4 ... COOR3 #62 2^P5 ... BRN XSUBJ 2^P6 ...# 2^P7 ...) 2^PL # 329= # 32=M VIRTUAL7900 32?6 # THIS IS A MESSAGE BUFFERING COMMUNICATIONS SUBSYSTEM 32?K # OUTPUT ACTIVITY FOR A VIRTUAL 7900 . 32#4 # IF THE VIRTUAL 7900 DOES NOT HAVE A WMC READ TRANSFER STORED 32#H # THEN GO TO SLEEP 32*2 # IF THE VIRTUAL 7900 DOES HAVE A WMC READ TRANSFER STORED 32*F # THEN 32*Y # 1. LOCK THE OUTPUT BLOCK AND REENTER THE MAIN PATH 32BC # 2. SKIP CODE WHICH ACCESSES THE DEVICE LIST (SKIP IS X7 -VE) 32BW # NOTE THE REPLY WORD (CPRW1) IS PRESET TO TRANSFER SUCCESSFUL 32C* # 3. AT LABEL TWAK INSTEAD OF COOR1 GO DOWN TO K5VIPBPERI TO PERFORM 32CS # THE TRANSFER OF THE "IPB BLOCK" TO THE PROGRAM 32D? # IF THE RETURN IS UP, IE WMC READS WERE NO LONGER STORED , 32DQ # RECHECK FOR EXCEPTION FLAGS AND STORED READS BEFORE SLEEPING 32F9 # IF THE RETURN IS UP +1, IE WMC READ TRANSFER PERFORMED , 32FN # CONTINUE ON THE MAIN PATH ("END OF TRANSFER" CODE,INC MOPTRACE) 32G7 SMO CPPTR(2) [-> VIRTUAL 7900 DEVICE LIST 32GL LDX 0 AVCREADS 32H5 BZE 0 TNOUT [NO WMC READ TRANSFER STORED: SLEEP 32HJ LOCKC 3,TFI [LOCK THE IOUT BLOCK 32J3 MHUNTW 3,AMXOR,IOUT [MAY HAVE MOVED 32JG BRN TESTIMOPTY [REENTER THE MAIN PATH 32J^ V7900PERI 32KD DOWN VIPBPERI,5 32KX BRN SK1IPBOUT [WMC READS WERE NO LONGER STORED 32LB [RECHECK FOR FLAGS AND STORED READS 32LT BRN TREPL [WMC READ TRANSFER PERFORMED 32M# [CONTINUE ON MAIN PATH 32MR # 32NW TOLIN CALL 7 TCLOS 338G BRN TSUI [SUICIDE 33D# LDCT 0 #420 33N6 ANDX 0 IPBSW(2) 33XY BZE 0 OVERLOAD [NOT INOP/MP OFF,PM:DEAL W/ OVERLOAD 347Q TNOUT LDCT 0 #100 [NO IOUT OR IPB INOP OR SYS O/L 34MB TASL ORS 0 IPBSW(2) [MARK IPBOUT ASLEEP 3572 UNLOCK 2 [UNLOCK IPBOUT ACTIVITY BLOCK 35LL COOR1 366= # 36KW SK1IPBOUT 375G HUNTW 3,AMXOR,IOUT 37K6 BNG 3 TNOUT [NO IOUT BLOCK : GO TO SLEEP 384Q LDCT 0 #620 [B4 : MOP OFF,PM 38JB ANDX 0 IPBSW(2) 3942 BNZ 0 TOLIN [OVERLOAD OR INOP 39HL # 3=3= # 3=GW # SET UP WRITE CONTROL AREA ; FIND SOURCE ACTIVITY IF NECESSARY , TO 3?2G # WAKE AFTER OUTPUT , OR ADJUST CONCEPTUAL OVERLOAD COUNT 3?G6 # 3?SH SENDBLK 3?YB LDX 7 IPBSW(2) 3?^M SLC 7 9 3#2Y BNG 7 VIRTUAL7900 [IPBOUT ACT IS COMMUNICATING WITH 3#49 [A VIRTUAL 7900 3#6Y LOCKC 3,TFI [AMXOR/IOUT BLOCK 3#FB LOCKC 2,TIF [AMOP/IPBOUT BLOCK 3#^2 JBUSY ,TGE [CONTROL AREA BUSY : GEOERR 3*DL LDN 0 #11 [END WRITE MODE 3*Y= DCA ,STO,0,MODE 3BCW STOZ CPRW1(2) 3BXG MHUNTW 3,AMXOR,IOUT [MAY HAVE MOVED IN LOCKC 3CC6 LDX 0 ALOGLEN(3) 3CWQ SBN 0 IPBIDE-A1-1 [SIZE OF DATA SEG +1 FOR BSW 3DBB DCA ,STO,0,COUNT 3DW2 LDN 0 IBSW(3) [START OF BLOCK TO BE OUTPUT 3F*L DCA ,STO,0,CTSA 3FB= ...TESTIMOPTY 3FGQ LDX 0 IMOPTY(3) 3FJ3 ANDN 0 1 3FK# STOZ AWORK2(2) 3FLK BZE 0 TPERI [BRANCH IF ACT NOT TO BE WOKEN 3HRQ # 3J?B LDX 2 IPBRING(2) [VIA RING TO IPBIN 3JR2 SBN 2 IPBRING 3K=L HUNT2J 2,AMXOR,ADEVS,, TPERI [FROM THERE TO ROUTING BLOCK 3KQ= LDX 4 IPBIDE(3) 3L9W ANDN 4 #7777 3LPG SBX 4 A1+FOURTHWD(2) 3M96 SLL 4 2 [MULT IDE BY 4 3MNQ SMO 4 3N8B LDX 2 A1+BPTR(2) [FROM ADEVS ENTRY TO DCB 3NN2 BZE 2 TPERI [NO DCB : ACTY SUICIDED ALREADY 3P7L SMO FPTR(2) 3PM= LDX 5 FOURTHWD 3Q6W SLL 5 5 [B5 SET IF ONLINE TO CONCEPTUAL 3QLG BPZ 5 TNOOL 3R66 ADX 2 BSTART(2) [POINT TO START OF CONDCB 3R?# LDXC 0 IMOPTY(3) 3RDG BCC TH1 [J IF NOT TO BE REFLECTED 3RH5 LDX 5 2 [SAVE CONDCB ADDR 3RKN NAME 3,AMXOR,ICONIN 3RQW CHAIN 3,BPTR(2) [GIVE IT BACK TO IPBCCA 3RRK HUNTACT AMOP,3,5 [FIND IPBCCA 3RS# LDEX 0 ATYPE(3) 3RT3 BZE 0 SK1IPBOUT [J IF IPBCCA NOT ON COOR3 3RTQ LDX 2 3 3RWF UNQUEUE [WAKE IPBCCA 3RX8 FPUT 3RY4 BRN SK1IPBOUT [GO ON TO NEXT BLOCK 3S5B TNOOL SBN 2 A1+FPTR [POINT TO START OF ADCB 3SK2 LDX 0 IWAIT(2) 3T4L BPZ 0 TPERI [TO WAKE ACTIVITY 3TJ= LDX 5 2 [KEEP COPY OF DCB ADDS 3W3W TH1 LDX 2 BPTR(2) 3WHG LDX 0 ATYPE(2) 3X36 TXL 0 CACT [POINT TO ACTIVITY 3XGQ BCS TH1 3Y2B BPZ 5 TORD [ORDINARY OUTPUT : NOT CONCEPTUAL 3YG2 ORX 2 GSIGN 3Y^L TORD SMO FX2 3^F= STO 2 AWORK2 3^YW # 42DG TPERI LDX 2 FX2 42QW BNG 7 TRESP [VIRTUAL 7900 : SKIP GPERI 42Y6 GPERI ,2 436B TRESP LDX 6 CPRW1(2) [REPLY WORD 43XB BPZ 6 TACC [ACTION ALREADY COMPLETE 44C2 SLC 6 5 44WL BNG 6 TINOP [BR IF REJECTED INOPERABLE 45B= SRC 6 1 45TW BNG 6 TEND [REJECTED OPERABLE 46*G # 46T6 TACC STOZ IMOPTY(3) [WRITE ACCEPTED 47#Q LDX 2 AWORK2(2) 47SB BZE 2 TWAK [NO FPUT REQUIRED 48#2 BPZ 2 TJUW [NOT ONLINE 48RL LDX 0 ALOGLEN(3) 49?= SBS 0 IOUTLOAD(2) [IPBCCA'S OUTPUT OVERLOAD COUNT 49QW BRN TWAK 4==G TJUW FPUT [WAKE ACTIVITY CONTROLLING IDENTIFIER 4=Q6 LDCT 0 #400 4?9Q SMO 5 4?PB ERS 0 IWAIT 4#92 # 4#*N TWAK BNG 7 V7900PERI [VIRTUAL 7900:PERFORM XFER TO PROG 4#C= COOR1 [WAIT FOR END OF TRANSFER CHAINING 4#DS TREPL LDX 0 CPRW1(2) [REPLY WORD 4*MW SLC 0 5 4B7G BPZ 0 TINOP [BRANCH IF INOP 4BM6 SRC 0 2 4C6Q BNG 0 TERR [BRANCH IF ERROR 4CLB LDCT 0 #220 4D62 ANDX 0 CPRW1(2) 4DKL BNZ 0 TEND [J IF NOT IMPL 4F5= # 4FJW LDX 0 CPRW1(2) 4G4G ANDN 0 #7777 4GJ6 BNZ 0 TEND [ENDED : ONLY ONE WORD READ BY DCP 4H3Q #SKI K6IPB>100-100 4HHB ( 4J32 [TRACES (ONLINE) SUCCESSFUL CC TRANSFERS IF "MOP TRACE" SWITCHED ON 4JGL LDX 0 ASWITCH1 4K2= SLL 0 7 4KFW BPZ 0 TRACEX 4KSS LDX 0 IPBSW(2) [TRACE IPBSW IN PLACE OF THE BSW 4L7Q ORS 0 A1+1(3) [7903 DOES NOT CHECK THE BSW 4LGN LDN 0 1 4LTL TALL SMO 0 4M8J '177 0 A1(3) 4MHG 8HIPBOUT 4MWD ADN 0 1 4N9B TXU 0 ALOGLEN(3) 4NJ# BCS TALL 4NX= TRACEX 4PBW [TRACEE 4PWG ) 4Q3N ...#UNS CCERROR 4Q8W ... CALL 7 XSUBJOURN 4QB6 CALL 7 TCLOS [CHECK WHETHER 'CLOSE DOWN' 4QTQ BRN TIS [YES : COMPLETE CLOSURE 4R5J CALL 7 TREOP [IF "REOPEN",WAKEUP IPBIN & J TO TWAL 4R*B SEGENTRY K33IPBOUT 4RT2 FREECORE 3 4S#L BRN K1IPBOUT 4SS= # 4T?W # WRITE REJECTED OPERABLE OR ENDED : WAIT FOR READ TO FINISH 4TRG # 4W?6 TEND UNLOCK 3 4WQQ LDX 1 IPBRING(2) 4X=B LDCT 0 #100 4XQ2 SBN 1 IPBRING [POINT TO IPBIN 4Y9L ANDX 0 IPBSW(1) 4YP= BZE 0 TWAL [READ ALREADY IN PROGRESS 4^8W ERS 0 IPBSW(1) 4^NG LDX 2 1 [WAKE IPBIN TO ISSUE READ 5286 FPUT 52GH TWAL LONGON1 CCREOPEN [KICK IPBIN IF WAITING IN "CCREOPEN" 52SY LDCT 0 1 [SET B8 FOR IPBIN TO WAKE IPBOUT 537B BRN TASL [WHEN READ FINISHES 53M2 # 546L # [NOW SET UP & ISSUE DUMMY WRITE CANCEL READ 54L= # 54RC TIS JV7900 ,TSUI [VIRTUAL 7900: SKIP WRITE CANCEL READ 54T6 LDCT 0 #400 54WT STO 0 AWORK3(2) [BSW 55KG LDN 0 #117 [CODE #17 = NULL 5656 SLL 0 12 [SET UP SS 56JQ STO 0 AWORK4(2) 574B JBUSY ,TGE [CONTROL AREA BUSY : GEOERR 57J2 LDN 0 4 583L DCA ,ORS,0,MODE [CHANGE WRITE TO WRITE CANCEL READ 58H= LDN 0 2 592W DCA ,STO,0,COUNT [WD COUNT OF 2 59GG LDN 0 AWORK3(2) 5=26 DCA ,STO,0,CTSA 5=FQ GPERI ,2 5=^B LDX 6 CPRW1(2) 5?F2 BPZ 6 TAC15 [ACCEPTED AND COMPLETE 5?YL SLC 6 5 5#D= BNG 6 TSUI [REJECTED INOPERABLE 5#XW SRC 6 1 5*CG BNG 6 TSUI [REJECTED OPERABLE 5*X6 TAC15 COOR1 5BBQ TSUI DERINGD IPBRING(2) [IN CASE SUICIDE IS NOT IN CORE 5BWB SUICIDE 5BWH # 5BWN # DCP IN OVERLOAD : FILTER OUTPUT QUEUE ACCORDING TO WARNING LEVEL 5BWT # FIRST WARNING LEVEL = NO SUSPENSION OF OUTPUT. 5BX2 # SECOND WARNING LEVEL = SUSPENSION OF BULK OUTPUT. 5BX7 # FIFTH WARNING LEVEL = SUSPENSION OF BULK AND INTERACTIVE OUTPUT 5BX# # EXCEPT BIACKS(AND BINAK)SEGMENTS FOR NON-CONCEPTUAL 5BXF # IDENTIFIERS WILL BE OUTPUT AFTER "SIEVING" ANY ASSOCIATED 5BXL # DATA SEGMENTS IN FRONT OF THE BIACKS. 5BXR # EXCEPTION:BEYOND FIRST W.L. ALL CRASH CLOSE SEGS IN Q ARE OUTPUT. 5BXY # 5BY5 OVERLOAD 5BY6 BCHX 3 £ 5BY7 LDCH 0 IPBIDE(3) 5BY8 ANDX 3 BITS22LS [LD. SUPERVISORY 5BY9 SBN 0 11 5BY= 5BY? 5BY# BZE 0 SENDBLK [ J. IF RESET REOPEN 5BY* ORX 2 GSIGN [GET OVERLOAD CODE:STORED BY IPBIN IN 5BYC LDCH 5 IPBSW(2) [IPBOUT'S IPBSW 5BYJ LDX 2 FX2 5BYP SBN 5 2 5BYW BNG 5 TSEND [CODE 1=PR 0=1ST WARN LEVEL : SEND BLOCK 5B^3 CALL 7 OCRASHCLOSE [SEND ALL CRASH CLOSE SEGS IN Q 5B^8 LDX 3 FPTR(2) [RESET X3 POINTING TO FIRST IOUT IN Q 5B^* LDX 1 IPBRING(2) [FIND ADEVS ENTRY OF THE IDENTIFIER 5B^G SBN 1 IPBRING [OWNING THIS IOUT BLOCK 5B^M HUNT2J 1,AMXOR,ADEVS,,TNOUT 5B^S STO 1 GEN0 [PRESERVE ADEVS PTR 5B^^ OLOOK LDX 4 IPBIDE(3) 5C26 ANDN 4 #7777 5C2? BZE 4 TSEND [BLK CONTAINS SYSTEM SUPER SEG : SEND 5C2D SBX 4 A1+FOURTHWD(1) 5C2K SLL 4 2 5C2Q ADX 1 4 5C2X LDEX 0 A1+FOURTHWD(1) [CHECK FOR INTERACTIVE DEVICE TYPE 5C34 BZE 0 ONOTBULK [INTERACTIVE DEVICE TYPE 7071 5C39 SBN 0 5 5C3B BZE 0 ONOTBULK [INTERACTIVE DEVICE TYPE 7023 5C3H SBN 0 5 5C3N BNZ 0 ONEXT [BULK IDENTIFIER IOUT BLOCK : IGNORE 5C3T [INTERACTIVE DEVICE TYPE 7181 5C42 # IOUT BLOCK BELONGS TO AN INTERACTIVE IDENTIFIER. 5C47 ONOTBULK 5C4# BZE 5 TSEND [CODE 2=PR 10=2ND WARN LEVEL : SEND BLOCK 5C4F # CODE 3=PR 20=5TH WARN LEVEL & INTERACTIVE IDENT IOUT BLK 5C4L LDX 0 A1+FOURTHWD(1) 5C4R SLL 0 5 5C4Y BNG 0 ONEXT [ID ONLINE TO CONCEPTUAL:IGNORE BLOCK 5C55 LDCH 0 IPBIDE(3) 5C5= BNZ 0 ONEXT [IDENTIFIER SUPERVISORY SEG : IGNORE 5C5C LDX 0 IPBIDE+1(3) 5C5J SLL 0 6 5C5P BNG 0 TSEND [BINAK /STOP SIEVING DATA SEG : SEND 5C5W SLL 0 1 5C63 BNG 0 OBIAC [BIACK DATA SEG : SEND 5C68 ONEXT HUNT2J 3,AMXOR,IOUT,,TNOUT [LOOK AT NEXT IOUT BLOCK 5C6* LDX 1 GEN0 [RESTORE ADEVS PTR 5C6G BRN OLOOK 5C6M # 5C6S # BIACK DATA SEGMENT : SIEVE ALL DATA SEGMENTS OF THE SAME 5C6^ # IDENTIFIER NUMBER WHICH PRECEDE THE BIACK USING THE 5C76 # CONTROL DISCARD MASK IN ISTATUS OF THE RELEVANT DCB BLOCK 5C7? # THEN SEND THE BIACK DATA SEGMENT. 5C7D # 5C7K OBIAC LDX 2 A1+BPTR(1) 5C7Q BZE 2 TSEND [NO ADCB BLOCK?: SEND BIACK DATA SEG 5C7X SBN 2 A1+FPTR [POINT TO IDENTIFIER'S ADCB BLOCK 5C84 STO 2 GEN1 [PRESERVE ADCB PTR 5C89 LDX 1 FX2 5C8B ODSEG HUNT2J 1,AMXOR,IOUT,,ODSEG [SEARCH FOR PRECEDING DATA SEGMENTS 5C8H TXU 1 3 5C8N BCC TSEND [END OF SEARCH : SEND BIACK DATA SEG 5C8T LDX 0 IPBIDE(1) 5C92 TXU 0 IPBIDE(3) 5C97 BCS ODSEG [DATA SEG'S IDEN NOT = BIACK'S:IGNORE 5C9# # SIEVE THIS DATA SEGMENT 5C9F LDX 0 ISTATUS(2) [EXTRACT CURRENT CONTROL DISCARD MASK 5C9L ANDX 0 IPBIDE+1(1) [TEST WITH DATA SEG'S DISCARD MASK 5C9R ANDX 0 HALFTOP 5C9Y SLL 0 8 [ONLY BITS 8 TO 11 ARE RELEVANT 5C=5 BZE 0 ODSEG [DATA SEG CAN NOT BE DISCARDED:IGNORE 5C== LDX 0 FPTR(1) [PICK UP NEXT IOUT PTR 5C=C STO 0 GEN2 [AND PRESERVE IT 5C=J LDX 4 IMOPTY(1) 5C=P FREECORE 1 [DISCARD DATA SEG 5C=W # WAKE IDENTIFIER'S CONTROLLING ACTIVITY IF REQUESTED 5C?3 ANDN 4 1 5C?8 BZE 4 OCUS [NO REQUEST 5C?* LDXC 0 IWAIT(2) 5C?G BCC OCUS [CONTROLLING ACTIVITY ALREADY AWAKE 5C?M STO 0 IWAIT(2) [CLEAR ASLEEP FLAG 5C?S OACT LDX 2 BPTR(2) [HUNT FOR ACTIVITY BLOCK & KICK IT 5C?^ LDX 0 ATYPE(2) 5C#6 TXL 0 CACT 5C#? BCS OACT 5C#D FPUT 5C#K OCUS SMO GEN2 [CAUSE SEARCH TO FIND NEXT IOUT 5C#Q LDX 1 BPTR 5C#X LDX 2 GEN1 [RESTORE ADCB PTR 5C*4 BRN ODSEG [CONTINUE SEARCH 5C*9 # 5C*B # SEND THIS IOUT BLOCK 5C*H TSEND CHAIN 3,FX2 [ENSURE THIS IOUT BLOCK IS FIRST IN Q 5C*N BRN SENDBLK 5CB2 # 5CJ= # IPB INOPERABLE : LET IPBIN MARK AND REPORT THE INOPERABILITY 5CQG # IF RESET/REOPEN BLOCK TRIED, REPORT REOPEN FAILED TO IPBIN 5CYQ # 5D72 # IPB ERROR : SEND MESSAGE TO CENTRAL CONSOLE 5D*= # 5DSW TMESS1 +JIPBINOP 5F24 #UNS CCERROR 5F7= #SKI 5F#G TMESS2 +JIPBERR 5FS6 # 5FW* # 5FYJ TINOP 5F^M UNLOCK 3 5G2R BCHX 3 £ 5G52 LDCH 0 IPBIDE(3) 5G79 ANDX 3 BITS22LS 5G9D SBN 0 11 5G?M BNZ 0 TCL [NOT RESET/REOPEN BLOCK 5G*W LDX 1 IPBRING(2) [REPORT "REOPEN" FAILED TO AMOP/IPBIN 5GD5 SBN 1 IPBRING 5GG# LDCT 4 #200 [BY SETTING REOPEN FAILED FLAG 5GJH ORS 4 IPBSW(1) [(B1 OF IPBIN'S IPBSW) 5GLQ LONGON1 CCREOPEN 5GN^ CHAIN 3,2 [PUT RESET/REOPEN BLOCK AT HEAD OF Q 5GR8 LDX 2 3 5GTC TCL HUNT2J 3,AMXOR,IOUT,2,TSL [CHECK FOR PRESENCE OF CLOSE DOWN SEG 5GWG LDX 2 FX2 [RESET X2 FOR TCLOSE 5GXL CALL 7 TCLOS 5G^T BRN TSUI [SUICIDE IF CLOSE DOWN SEGMENT 5H44 TSL LDX 2 FX2 5H6? BRN TNOUT [IF NOT,GO TO SLEEP IGNORING OVERLOAD 5H8G # 5H8Q #UNS CCERROR 5H92 ( 5H97 TERR UNLOCK 3 5H9# CCERROR CCTRANSFER,CPRW1(2) [REPORT TRANSFER ERROR + (REPLY WD) 5H9G [AND SUSPEND TIL MOP OFF INITIATED 5H9Q ) 5H=2 #UNS CCERROR 5H== #SKI 5H=G ( 5H?2 TERR LDX 6 TMESS2(1) [IPB ERROR 5HQL TMESS LDX 0 IPBSW(2) 5J== BNG 0 K1IPBOUT [ALREADY MARKED INOPERABLE : COOR 5JPW LDX 3 IPBRING(2) 5K9G LDCT 0 #400 5KP6 ORS 0 IPBSW-IPBRING(3) [MARK IPBIN INOPERABLE 5L8Q ORS 0 IPBSW(2) 5LNB LGEOG ,5 5M82 CALL 7 TNOU [OUTPUT MESSAGE 5MCS ) 5MML BRN K1IPBOUT 5N7= # 5NLW TNOU SBX 7 FX1 5P6G OUTNUM 5,0 5PL6 INFORMX ,6,1 5Q5Q ADX 7 FX1 5QKB EXIT 7 0 5R52 # 5RJL # ENTRY VIA CCOUT MACRO TO OUTPUT SUPERVISORY SEGMENT TO IPB 5S4= # 5SHW SK4IPBOUT 5T3G LDX 6 ACOMMUNE1(2) [CODE 5TH6 LDX 7 ACOMMUNE2(2) [IDENTIFIER 5W2Q LDX 3 ACOMMUNE3(2) [ADDS IPBIN 5W4H LDX 5 ACOMMUNE1(2) 5W56 ANDN 5 #7700 5W5P SRL 5 6 [NO. OF WORDS IN SUPERVISORY SEGMENT 5W6# ADN 5 IPBIDE-IMOPTY [ACCOUNT FOR IMOPTY AND IBSW 5W6X ... SETUPCORE 5,1,AMXOR,IOUT 5W7G STOZ IMOPTY(1) [ACT NOT TO BE WOKEN AFTER OUTPUT 5W85 LDCT 4 #400 [SET NO-DATA-SEGMENTS BIT 5W8N LDCH 0 ACOMMUNE1(2) [CODE 5W9? SBN 0 5 5W9W BNZ 0 SBSW [NOT "ILLEGAL" SUPER CODE 5W=F ORX 4 CACT [SET VITAL-SUPER-SEGMENT BIT 5W?4 SBSW STO 4 IBSW(1) [SET RELEVANT BITS IN BLK STATUS WORD 5W?M SLL 6 12 5W#= DSA 7 6 5W#T STO 6 IPBIDE(1) 5W*D SBN 5 IPBIDE-IMOPTY+2 5WB3 BNZ 5 OUTSS [NOT A 2 WORD SUPER SEGMENT 5WBL LDX 0 ACOMMUNE4(2) [SECOND WORD OF SEGMENT 5WC9 STO 0 IPBIDE+1(1) 5WCS OUTSS CALL 7 TWA [CHAIN BEHIND IPBOUT 62CB UP 62X2 # 63BL # ENTRY FROM CHARGESC TO OUTPUT TIME AND DATE TO IPB CONSOLES 63W= # REMIND OPERATORS OF INOPERABLE , MOPPED-ON IPBS ; ACTCDT ACTIVITY 64*W # 64TG SK5IPBOUT 652N LDN 3 IPBADDR-IPBL [SET X3 -> FIRST AMXOR/IPBIN 657W SETACOMS 65*6 STOZ ACOMMUNE1(2) 65SQ LDX 0 ACES 662J LDCT 6 #400 664G STO 6 ACOMMUNE2(2) 66S2 LDCT 6 #707 67?L STO 0 ACOMMUNE8(2) [SPACE-FILL IN CASE DATE ONLY 67R= LDN 7 20 68=W STO 0 ACOMMUNE9(2) 68QG SRL 6 3 69=6 STO 7 ACOMMUNE4(2) [MESSAGE CHAR COUNT 69PQ FINDRET 1 [POINT TO BLOCK CONTAINING TIME+DATE 6=9B STO 6 ACOMMUNE3(2) [WORD COUNT + T/W DISPLAY CODE 6=P2 OUTLEN 1,6 [GET CHAR COUNT IN X6 6?8L SRL 6 2 [5 WORDS IF TIME+DATE ; 3 IF DATE 6??9 ... LDX 5 6 6?*S ... SBN 5 6 6?DC ... BNG 5 TEXOK 6?H2 ... LDN 6 5 6?KK ...TEXOK 6?N= LDN 5 ACOMMUNE5(2) 6#MG LDN 4 A1+2(1) [ADDRESS OF TIME + DATE MESSAGE 6*76 SMO 6 [ONLY DATE AFTER 'IP DATE' COMMAND 6*LQ MOVE 4 0 6BL2 TEXT LDX 3 IPBL(3) [ADDRESS OF NEXT AMOP/IPBIN 6C5L BZE 3 TOUT [FINISHED : SUICIDE 6CK= CALL 7 TOFF [TEST FOR MOP OFF OR INOPERABLE 6CT4 ... J7900E 3,TEXT 6D4W HUNTW 1,AMXOR,IOUT 6DJG BPZ 1 TNAL [PRESENT IF PREV. IPB JUST MOPPED OFF 6F46 ... SETNCORE 9+IMOPTY-A1,1,AMXOR,IOUT 6FHQ LDN 4 ACOMMUNE1(2) 6G3B LDN 5 IMOPTY(1) 6GH2 MOVE 4 9 6H2L CALL 7 TOFF [MAYBE MOPPED OFF DURING SETNCORE 6HG= TNAL CALL 7 TWA [CHAIN BEHIND IPBOUT 6HQ4 LDX 2 FX2 6H^W BRN TEXT [ACOMMUNE WORDS STILL OK 6J3? #UNS CCERROR 6J4N ( 6J65 TNOP LDCT 0 2 [TEST DCP ERROR(IPBOUT'S IPBSW'S B7) 6J7G SMO IPBRING(3) 6J8X ANDX 0 IPBSW-IPBRING 6J=# BNZ 0 SETACOMS [DCP ERROR : DON'T REPORT INOPERABLE 6J?P LGEOG CPPTR(3),5 6J*6 ) 6JBH #UNS CCERROR 6JCY #SKI 6JFG TNOP LGEOG CPPTR(3),5 6J^6 SMO FX1 6KDQ LDX 6 TMESS1 6KYB CALL 7 TNOU 6L9Q BRN SETACOMS [ACOMMUNE WORDS NEED TO BE RESET 6LH6 TOUT FINDRET 1 [FREE RETAINED BLOCK 6LSG FREECORE 1 6M5W SUICIDE 6MC= # 6MWW TGE GEOERR 1,CABUSY 6NBG MENDAREA 40,K100IPBOUT 6NW6 #END ^^^^ ...34731425001000000000