IPBSTARB867
(George Source)
Macros used: ACROSS, BXE, BXGE, CCERROR, CHAIN, COOR1, COOR3, DCA, DEMANDX, DERINGD, DISENGPER, DOWN, DSCA, EMPTY, ENRINGD, FINDACTFB, FON, FPUT, FREECORE, GEOERR, GEOPACK, GETACT, GPERI, GSPERI, HLSINFORM, HUNT2, HUNT2J, ICT, IDFTPSCN, IDFTPUPD, INFORMX, JANON, JENG, JSBUSY, JUNBUSY, JV7900, LAMOP, LGEOG, LINKSET, LOCK, LONGON1, LONGSET, MENDAREA, MFREEW, MHUNTW, MOVLONG, NAME, OFF, OUTBLOCN, OUTPACK, PAIR, READY, RESET, SEG, SEGENTRY, SETALLOC, SETNCORE, SETUPCORE, SETXCORE, SUICIDE, UNLOCK, VFREEW, YMOPOFF, YMOPON
- IPBSTARB867.txt
22FL ... SEG IPBSTARB,,,,G269 22^= [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 23DW #LIS K0IPBSTARB>K0IPB>K0ALLGEO 23NN ...#OPT G269 = 0 23YG ...#SKI G269&1 248# ...# WITH UGUG EDIT M269 (REMOTE LISTFILE DEBATCHERS) 24D6 [ 24XQ SEGENTRY K4IPBSTARB,SK4IPBSTARB 25CB SEGENTRY K5IPBSTARB,SK5IPBSTARB 25X2 SEGENTRY K7IPBSTARB,SK7IPBSTARB 26BL [ 26W= [NOTE. X3 = POINTER TO AMOP IPBIN ACTIVITY 27*W [ 27TG # IF THE IPB/DCP BECOMES INOPERABLE WHILE THE SYSTEM IS TRYING TO USE IT 28*6 # THE IPB IS DISENGAGED AND THE INPUT ACTIVITY IS LEFT WITH A LINK TO 28SQ # K5IPBSTARB AND A -VE CHAINADD. ON SEEING THE ENGAGE BUTTON BLANKET 29#B # RESTARTS THE ACTIVITY. A SCANNING ACTIVITY IS SET UP WITH A LINK TO 29S2 # K7IPBSTARB, AND THIS CHECKS THE IDF AND ATTEMPTS TO START UP AGAIN. 2=?L # 2=R= SEGENTRY K8IPBSTARB,SK8IPBSTARB 2?=W # K8IPBSTARB IS USED BY THE AMSCAN ACTIVITY SET UP BY A "MOP ON" COMMAND 2?QG # WHEN IT WISHES TO RESTART SYSTEM USE OF THE IPB. 2#=6 # 2#PQ #UNS CRAMP<1$1 2*9B ( 2*P2 # K9IPBSTARB WILL (MARK 9?) BE USED BY THE AMSCAN ACTIVITY SET UP BY AN 2B8L # "UPDATE" COMMAND, TO OBTAIN A NEW CONFIGURATION REPORT FROM THE DCP. 2BN= ) 2C7W #UNS CRAMP 2CMG ( 2D76 SEGENTRY K9IPBSTARB,SK9IPBSTARB 2DLQ # K9IPBSTARB IS USED BY THE AMSCAN ACTIVITY SET UP BY A "MOP ON,,NS" 2F6B # COMMAND WHEN IT WISHES TO OBTAIN A NEW CONFIGURATION REPORT FROM THE 2FL2 # DCP AND RESTART SYSTEM USE OF THE IPB. 2G5L ) 2GK= # 2H4W # 2HJG SEGENTRY K10IPBSTARB,SK10IPBSTAR 2J46 # K10IPBSTARB IS FOR VIRTUAL 7900'S. 2JHQ # IT WAITS IF NECESSARY FOR A VIRTUAL 7900 TO BECOME OPERABLE BEFORE 2K3B # ATTEMPTING TO COMPLETE A MOP ON ACTION BY EMS OR MOP ON COMMAND . 2KH2 # A WMC READ OLPA INDICATES WHEN THE VIRTUAL 7900 IS OPERABLE AND 2L2L # K10IPBSTART THEN SETS UP A SCANNING ACTIVITY W/ A LINK TO K11IPBSTART 2LG= # IT SIMULATES A K5 RESTART AND RUNS IN THE INPUT ACTIVITY . 2L^W # 2MFG SEGENTRY K11IPBSTARB,SK11IPBSTAR 2M^6 # K11IPBSTARB IS FOR VIRTUAL 7900'S . 2NDQ # IT CHECKS THE IDF AND COMPLETES THE MOP ON ACTION . 2NYB # IT IS EQUIVALENT TO K7IPBSTARB 2PD2 # EXCEPT THAT THE SYSTEM SUPERVISORY SEGMENTS WILL BE OUTPUT LATER BY 2PXL # IPBOUT IN ORDER TO AVOID DUPLICATION OF V7900 LINK LEVEL CODE . 2QC= # IT RUNS IN AN AMSCAN ACTIVITY . 2QGB ...# 2QKG ... SEGENTRY K12IPBSTARB,SK12STARB 2QNL ...# 2QRQ ...# 2QWW PAIR3 PAIR IPBIN,1 2RBG PAIR4 PAIR IPBSTARB,5 2RW6 PAIR5 PAIR IPBSTARB,7 2S*Q PAIR6 PAIR IPBSTARB,11 2STB #UNS CCERROR 2T*2 ( 2TSL SCCA SBX 5 FX1 2W#= CCERROR 6,7 2WRW ADX 5 FX1 2X?G EXIT 5 0 2XR6 SCCE CALL 5 SCCA 2^=2 BRN REDOK 2^PL REJO LDN 6 CCREJECTOT 329= LDX 7 CPRW1(2) 32NW CALL 5 SCCA 338G BRN ZINOP 33N6 ) 347Q SEGINIT #400:0 34MB #020:0 3572 SEGENTRY K50IPBSTARB 35LL #HAL INPUSIZE+3,INPUSIZE+3 366= SEGGT #02150000 [SUP. SEG. FOR GLOBAL TERMINATOR 36KW SEGCONFIG #01140000 375G # 37K6 SEGCLOSE #01110000 384Q # 38JB V7900SSSBLK [CONTENTS OF THE VIRTUAL 7900 SYSTEM SUPERVISORY SEGMENTS 3942 [AMXOR/IOUT BLOCK 39HL 0 [IMOPTY 3=3= #40000000 [IBSW 3=GW #03000000 ['INITIALISE' SS 3?2G #HAL AVBUFFSIZE,AVBUFFSIZE[(INPUT AND OUTPUT BUFFER SIZES) 3?G6 4HGEO3 [(PROGRAM NAME) 3?^Q #DEF VSSSBLKLEN = 0? - V7900SSSBLK 3#FB VGTBLOCK [CONTAINS GLOBAL TERM FOR V7900 3#^2 0 [IMOPTY 3*DL #40000000 [IBSW 3*Y= #02150000 [SET GLOBAL TERM 3BCW #DEF VSSSGTERM = 0? - VGTBLOCK 3BXG 0 3CC6 #DEF VGTLEN = 0? - VGTBLOCK 3CWQ # 3DBB XMASK #74777776 [MASK OUT BITS 4,5 & 23 3DW2 ZJINOP +HUINOP 3D^X ... +JIPBCONF 3F5S ... +JIPBINOPE 3F9P ...ZJWARN +JIPBWARN 3F*L ZJMOP3 +JMOP3 3FGS ...#SKI G269&1 3FN2 ...ZZZZ 4HZZZZ 3FT= #UNS CRAMP 3G#W ZJMOP4 +JMOP4 [UNIT %A : MOP ON ABANDONED 3GSG ZJUPFAIL +JUPFAIL 3H#6 ZJUPOK +JUPOK [UNIT %A : UPDATE SUCCESSFUL 3HRQ ...ZAHLOST +GSEMBAHLOST 3J?B XIN 4HIN 3JH8 ...XOUT 4HOU00 3JR2 # 3K=L [ 3KQ= [ SUBROUTINE TO SAVE SPACE BY PUTTING GETACT MACRO IN SUBROUTINE 3L9W [ 3LPG XGETACT 3M96 SBX 7 FX1 3MNQ GETACT AMSCAN,IPBTYPE,1 3N8B ADX 7 FX1 3NN2 EXIT 7 0 3P7L [ 3PM= [ SUBROUTINE TO SAVE SPAVE 3Q6W [ BY PUTTING SET UP OF AMXOR IOUT INTO A SUBROUTINE 3QLG [ 3R66 XSETIOUT 3RKQ SBX 7 FX1 3S5B ... SETUPCORE 6,2,AMXOR,IOUT 3SK2 ADX 7 FX1 3T4L EXIT 7 0 3TJ= [ 3W3W [ SUBROUTINE TO SAVE SPACE 3WHG [ BY PUTTING IDFTPSCN INTO A SUBROUTINE 3X36 [ 3XGQ XIDFSCN 3Y2B SBX 7 FX1 3YG2 IDFTPSCN XBI,XIDFA 3Y^L SETALLOC 3^F= ADN 7 1 3^YW XIDFA 42DG ADX 7 FX1 42Y6 EXIT 7 0 43CQ # 43XB # SUBROUTINE TO TEST IF AN IPB IS A VIRTUAL 7900 AND IF TRUE TO 44C2 # SET UP AN AMXOR/IOUT BLOCK CONTAINING THE SYSTEM SUPERVISORY 44WL # SEGMENTS 'INITIALISE' AND 'SET GLOBAL TERMINATOR' AND TO SET UP 45B= # AN INPUT BUFFER FOR THE INPUT ACTIVITY . 45TW # THE SYSTEM SUPERVISORIES AMXOR/IOUT BLOCK WILL EVENTUALLY BE 46*G # OUTPUT BY THE AMOP/IPBOUT ACTIVITY . 46T6 # ON ENTRY AND EXIT X3 -> THE IPB INPUT ACTIVITY 47#Q # EXITS+1 IF IPB IS NOT A VIRTUAL 7900, ELSE EXITS+0 47SB # HAVING COORDINATED WITH X6 & X7 UNDEFINED 48#2 # LINK IN X5 48RL # 49?= SVIOUTINBF 49QW JV7900 CPPTR(3),SVSUPBLK 4==G EXIT 5 1 [IPB IS NOT A VIRTUAL 7900 : EXIT +1 4=Q6 SVSUPBLK 4?9Q SBX 5 FX1 4?PB LDN 6 VSSSBLKLEN 4#92 CALL 7 XSETIOUT 4#NL LDN 6 V7900SSSBLK(1) 4*8= LDN 7 A1(2) 4*MW MOVE 6 VSSSBLKLEN 4B7G LDN 6 VGTLEN 4BM6 CALL 7 XSETIOUT 4C6Q LDN 6 VGTBLOCK(1) 4CLB LDN 7 A1(2) 4D62 MOVE 6 VGTLEN 4DKL LDX 6 GTERM [MOVE IN THE GLOBAL TERMINATOR CHARS 4F5= STO 6 A1+VSSSGTERM(2) 4FJW LDN 6 AVBUFFSIZE [SET UP INPUT BUFFER AND CHAIN 4G4G SETUPCORE 6,2,AMXOR,INBF,1 [AFTER THE INPUT ACTIVITY 4GJ6 CHAIN 2,3 4H3Q ADX 5 FX1 [EXIT +0 4HHB EXIT 5 0 4J32 # 4JGL # 4K2= [ 4KFW [ SUBROUTINES TO READ IN OR WRITE OUT 4K^G [ 4LF6 PERIN MHUNTW 3,AMXOR,INBF [ENTRY FOR INPUT PERI 4LYQ SEGENTRY K52IPBSTARB 4MDB LDN 5 INPUSIZE+3 [LENGTH OF INPUT TRANSFER. 4MY2 LOCK 3 4NCL ADN 3 A1 4NX= #SKI K6IPB>100-100 4PBW JSBUSY ,PGE 4PWG DSCA ,STO,3,CTSA 4QB6 DSCA ,STO,5,COUNT 4QTQ DSCA ,DLA,7,MODE 4R*B LDN 5 0 [SET INPUT SWITCH FOR WAIT1 4RT2 PERAG GSPERI ,2 [ISSUE READ 4S#L BRN PERY1 4SS= # 4T?W PEROT LOCK 3 [ENTRY FOR OUTPUT PERI 4TRG ADN 3 A1 4W?6 #SKI K6IPB>100-100 4WQQ ( 4X=B JUNBUSY ,PFREE 4XQ2 PGE GEOERR 1,CABUSY 4Y9L ) 4YP= PFREE DCA ,STO,3,CTSA 4^8W DCA ,STO,5,COUNT 4^NG DCA ,DLA,4,MODE 5286 JANON CPPTR(2),XIT61 [J. IF ANONYMOUS IF INOP 52MQ PEROG GPERI ,2 [ISSUE WRITE. 537B PERY1 LDXC 0 CPRW1(2) [REPLY WORD. 53M2 BCC WAIT2 [J. IF ALREADY FINISHED. 546L SLC 0 6 54L= ANDN 0 3 555W BZE 0 WAIT1 [J. IF DIRECT RESPONSE "ACCEPTED". 55KG ANDN 0 1 5656 BNZ 0 XIT61 [J. IF REJECTED - INOPERABLE. 56JQ EXIT 6 0 [REJECTED - OPERABLE. 574B WAIT1 BZE 5 WAIT2 [AMOP/IPBIN IS IN FIXED CHAPTER AREA 57J2 LOCK 2 583L WAIT2 SBX 6 FX1 58H= WAIT3 COOR1 [WAIT FOR NOTIFICATION OF END OF PERI 592W LDXC 0 CPRW1(2) 59GG BCS WAIT3 5=26 SLC 0 5 5=FQ ADX 6 1 5=^B BPZ 0 XIT61 [J. IF INOPERABLE. 5?F2 ANDN 0 #13 5?YL BZE 0 XIT63 [J. IF TRANFER O.K. 5#D= SRC 0 2 5#XW BNG 0 XIT61 5*CG SRC 0 2 5*X6 BNG 0 XIT62 5BBQ EXIT 6 0 5BWB XIT61 EXIT 6 1 5CB2 XIT62 EXIT 6 2 5CD4 ...XIT63 5CD= ... SBX 6 1 5CDD ... BZE 5 XIT63D 5CDL ... STOZ 5 5CDS ... LDX 2 IPBRING(2) 5CF2 ... SBN 2 IPBRING 5CF8 ... BRN XIT63B 5CFB ...XIT63D 5CFJ ... LDX 5 XIN(1) 5CFQ ... LDX 0 0(3) 5CFY ... DSA 0 5 5CG6 ... STOZ 0 5CJ8 ...XIT63C 5CL= ... LDX 4 1(3) 5CN# ... BXE 4 XMSK1(1),XIT63A 5CQB ...XIT63B 5CQC ... HUNT2J 2,AMXOR,AJOURN,,XJRN6 5CQD ... LDN 0 486 5CQF ... SBX 0 IPBCOUNT(2) 5CQG ... BPZ 0 XJRN5 5CQH ... LDX 0 IPBJRN 5CQJ ... BZE 0 XJRN4 5CQK ... NAME 2,AMXOR,AMISC 5CQL ... FINDACTFB 1,FX2,AMOP,AJOURN,,BPTR 5CQM ... LDX 4 1 5CQN ... CHAIN 2,4 5CQP ... LDX 2 4 5CQQ ... LDX 0 IPBSW(2) 5CQR ... BNG 0 XJRN2 5CQS ... LDX 0 GSIGN 5CQT ... STO 0 IPBSW(2) 5CQW ... FPUT 5CQX ...XJRN2 5CQY ... SETNCORE 499,4,AMXOR,AJOURN 5CQ^ ... BNZ 5 XJRN3 5CR2 ... LDX 2 IPBRING(2) 5CR3 ... SBN 2 IPBRING 5CR4 ... CHAIN 4,2 5CR5 ...XJRN3 5CR6 ... LDX 2 4 5CR7 ... SMO FX2 5CR8 ... LDX 0 CPPTR 5CR9 ... STO 0 IPBDATA+497(2) 5CR= ...XJRN4 5CR? ... STOZ IPBCOUNT(2) 5CR# ...XJRN5 5CR* ... BNZ 5 XJRN55 5CRB ... LDX 5 XOUT(1) 5CRC ...XJRN55 5CRD ... LDX 0 5 5CRF ... LDN 5 IPBDATA(2) 5CRG ... ADX 5 IPBCOUNT(2) 5CRH ... SMO 5 5CRJ ... STO 0 0 5CRK ... LDX 0 1(3) 5CRL ... SMO 5 5CRM ... STO 0 1 5CRN ... LDN 0 2 5CRP ... ADS 0 IPBCOUNT(2) 5CRQ ... LDX 2 FX2 5CRR ... ADX 6 FX1 5CSD ... EXIT 6 3 [FOUND DATA 5CST ...XJRN6 5CT= ... COOR3 #62 5CTM ... BNZ 5 XIT63B 5CW4 ... BRN XIT63 5CWG ...XIT63A 5CYJ ... ADN 3 1 [LOOK AT NEXT WORD OF DATA 5D2L ... SBN 0 2 5D4N ... BZE 0 XIT63B [FOUND 3 NULLS,NEXT WD MUST BE DATA 5D6Q ... ADN 0 3 [RESTORE COUNT OF NULLS 5D8S ... BRN XIT63C 5D=W ...XMSK1 #01570000 5D*= # 5DSW ROUT1 SMO FX2 5F#G LDX 3 IPBRING 5FS6 SBN 3 IPBRING [GET ADDRESS OF OTHER ACTIVITY. 5G?Q ... STO 0 ACC5(3) 5GRB SBX 5 1 [DEDATUMISE OWN LINK. 5GYJ ... MHUNTW 2,AMXOR,IOUT 5H5Q ... BRN ROUT25 5H?2 ROUT2 ADS 0 ACC5(3) [STEP (OR SET) LINK IN OTHER ACTIVITY 5HQL ...ROUT25 5J== UNLOCK 2 [UNLOCK THE BUFFER 5JPW ROUT3 LDX 2 3 5K9G FPUT [ENLIST OTHER ACTIVITY. 5KP6 COOR1 [WAIT TO BE WOKEN. 5L8Q SK4IPBSTARB 5LNB ADX 5 1 [EXIT TO LINK. 5M82 EXIT 5 0 5MML # 5N7= # READ RUBBISH OR "READY" FOLLOWING INITIALISE COMMAND. 5NLW # 5P6G READY LDN 7 #12 [END READ MODE FOR READY. 5PL6 BRN RENM 5Q5Q READR LDN 7 2 [READ MODE FOR RUBBISH 5QKB RENM CALL 6 PERIN [DO THE READ. 5R52 BRN TINOP [TREAT AS INOPERABLE IF REJECTED 5RJL BRN TINOP [OR INOPERABLE 5S4= BRN TIMEO [TIMED OUT : TRY TWICE 5SHW ANDN 7 #10 5T3G BZE 7 REDOK [J. IF READ RUBBISH 5TH6 LDCT 6 #014 [J. IF MESSAGE IS "READY" TO WAKE 5W2Q ERX 6 1(3) [UP THE E.M.S. ACTIVITY 5WGB BNZ 6 READY [NOT "READY" : REPEAT READ 5WJ2 ... BCHX 3 £ 5WKL ... LDCH 6 2(3) 5WM= ... SBN 6 #45 5WNW ... BNZ 6 REDOK 5WQG ... ANDX 3 BITS22LS 5WS6 ... LDCH 6 3(3) 5WTQ ... SBN 6 22 5WXB ... BZE 6 RWARN 5W^2 ... ADN 6 1 5X2L ... BNZ 6 REDOK 5X4= ... LDN 4 1 5X5W ... BRN TIN1 5X7G ...RWARN 5X96 ... LDX 3 2 5X=Q ... LDX 4 ZJWARN(1) 5X#B ... CALL 5 OGE 5XB2 ...REDOK 5XCL ... MHUNTW 2,AMXOR,INBF 5XFL SMO FX2 5X^= LDX 3 IPBRING 5YDW LDN 0 1 [STEP LINK TO EXIT +1. 5YYG SBN 3 IPBRING 5^D6 BRN ROUT2 [WAKE E.M.S. ACTIVITY 5^XQ TIMEO ERX 7 GSIGN [TIMED OUT : TRY TWICE 62CB BNG 7 PERAG [TRY AGAIN 62X2 BRN TINOP [T.O. TWICE : TREAT AS INOPERABLE 63BL #UNS JPGLTER 63W= ( 64*W [ 64TG # READ REPLY TO GLOBAL TERMINATOR SETTIMG 65*6 [ 65SQ RGTAK LDN 0 4 66#B ORS 0 IPBSW(2) [SET GLOBAL TERMINATOR APPLICABLE 66S2 LDN 7 #12 [MODE 67?L CALL 6 PERIN [READ 67R= BRN REJOP [REJECTED OPERABLE 68=W BRN TINOP [INOPERABLE 68QG BRN PERAG [TIMED OUT - TRY AGAIN 69=6 LDN 7 #141 69PQ BRN XCHREP 6=9B ) 6=P2 # 6?8L # READ CONFIGURATION REPORT FOLLOWING CONFIGURATION REQUEST. 6?N= # 6#7W RCONF LDN 7 2 6#MG CALL 6 PERIN [DO THE READ. 6*76 BRN REJOP [REJECTED - OPERABLE. 6*LQ BRN TINOP [INOPERABLE. 6B6B BRN PERAG [TIMED OUT : TRY AGAIN 6BL2 LDN 7 #154 6C5L XCHREP 6CK= LDX 6 1(3) 6D4W SRL 6 12 6DJG ERX 6 7 [CHECK INITIAL REPLY 6F46 SBN 7 #154 [CALL FOR CONFIG 6FHQ BZE 6 XCHB [OK 6G3B ERN 6 #245$#141 6GH2 BNZ 6 SOSSS [NOT ACKNOWLEDGE OR ILLEGSL 6H2L LDX 0 2(3) 6HG= SRL 0 12 6H^W SBN 0 #2114 [INVALID CODE - CONFIG. REPORT 6JFG BZE 7 XCHA [J CONF. 6J^6 SBN 0 1 [INVALID CODE - GOBAL WERM. 6KDQ XCHA 6KYB BNZ 0 SOSSS [J. OTHER ILLEAGAL CODE 6LD2 BZE 7 REDOK [CALL FROM OK 6LXL LDN 0 4 6MC= ERS 0 IPBSW(2) [CLEAR GOBAL TERM APPL. 6MWW BRN REDOK 6NBG XCHB BZE 7 XCONF 6NW6 BRN REDOK 6P*Q SOSSS LDN 6 CCSSSWRONG [ILLEGAL CODE NOT RECONIZED 6PCN ... BZE 7 SOSST 6PFL ... LDX 7 1(3) 6PHJ ... CALL 5 SCCA 6PKG ... MHUNTW 3,AMXOR,INBF 6PMD ... ADN 3 A1 6PPB ... BRN TINOP 6PR# ...SOSST 6PTB LDX 7 1(3) [FIRST WD. OF SEG 6Q*2 BRN SCCE 6QSL XCONF 6R#= LDX 7 2(3) [LENGTH OF REPORT. 6RRW #UNS CRAMP 6S?G ( 6SR6 SBN 7 1 6T=Q BZE 7 REDOK [NULL CONFIGURATION REPORT 6TQB ADN 7 1 [RESET LENGTH OF REPORT 6W=2 ) 6WPL STOZ AWORK4(2) [CURRENT POSITION IN OUTPUT BLOCK. 782G ) 78G6 LDN 4 2(3) 78^Q SETUPCORE 7,1,IDF,IREPORT [SET UP BLOCK TO HOLD COMPLETE REPORT 79FB NGX 3 CPRW1(2) [FIND LENGTH OF THIS MESSAGE. 79^2 SEGENTRY K51IPBSTARB 7=DL ADN 3 INPUSIZE+1 7=Y= LDN 5 A1(1) 7?CW ANDN 3 #7777 [MASK OUT OPERABLE BIT IN CHARACTER 0 7?XG ADX 5 AWORK4(2) [CURRENT POSITION IN OUTPUT BLOCK. 7#C6 ADS 3 AWORK4(2) [UPDATE OUTPUT POINTER. 7#WQ #SKI K6IPB>99$99 7*BB ( 7*W2 BXGE 7 AWORK4(2),OKSIZ [J. IF MESSAGE < LENGTH ANNOUNCED. 7B*L #UNS CCERROR 7BT= #SKI 7C#W GEOERR 1,BIGREPRT 7CSG #UNS CCERROR 7D#6 ( 7DRQ LDN 6 CCBIGREPORT 7F?B BRN SCCE [REPORT ERROR 7FR2 ) 7G=L OKSIZ 7GQ= ) 7H9W MOVLONG 4,5,3 7HPG BXE 7 AWORK4(2),REPRT [J. IF ALL RECEIVED. 7J96 LDN 7 2 7JNQ CALL 6 PERIN [READ MORE. 7K8B BRN REJOP [REJECTED - OPERABLE. 7KN2 BRN SINOP [INOPERABLE. 7L7L BRN PERAG [TIMED OUT : TRY AGAIN 7LM= LDCT 0 #40 [J. IF NOT CONTINUATION OF REPORT. 7M6W ANDX 0 0(3) 7MLG BZE 0 NCONT 7N66 LDN 4 1(3) [SET POINTER FOR MOVE. 7NKQ NGX 3 CPRW1(2) [FIND THE LENGTH OF THIS MESSAGE. 7P5B MHUNTW 1,IDF,IREPORT [RELOCATE THE OUTPUT BLOCK. 7PK2 LDX 7 ALOGLEN(1) [DECLARED REPORT LENGTH 7Q4L BUX 3 K51IPBSTARB 7QJ= #UNS CCERROR 7R3W #SKI 7RHG REJOP GEOERR 1,REJECTED [TRANSFER REJECTED - OPERABLE. 7S36 #UNS CCERROR 7SGQ ( 7T2B REJOP LDN 6 CCREJECTIN [INPUT TRANSFER REJECTED OPERABLE 7TG2 LDX 7 CPRW1(2) 7T^L BRN SCCE 7WF= ) 7WYW #UNS CCERROR 7XDG #SKI 7XY6 NCONT GEOERR 1,CONFIG'N [CONFIGURATION REPORT < LENGTH GIVEN. 7YCQ #UNS CCERROR 7YXB ( 7^C2 NCONT LDN 6 CCNOCONTCR 7^WL LDX 7 0(3) 82B= BRN SCCE 82TW ) 83*G # 83T6 # 84#Q REPRT LDX 3 IPBRING(2) [RELOCATE THE "WRITING" ACTIVITY. 84SB SBN 3 IPBRING 85#2 CHAIN 1,3 [THE E.M.S. ACTIVITY & WAKE IT UP. 85RL MHUNTW 2,AMXOR,INBF 86?= ADN 2 A1 86QW LDN 0 2 [STEP LINK TO EXIT AT +2. 87=G BRN ROUT2 87Q6 # 889Q #UNS CCERROR 88PB #SKI 8992 SINOP MFREEW IDF,IREPORT [FREE THE PARTLY FILLED REPORT BLOCK. 89NL #UNS CCERROR 8=8= ( 8=MW SINOP VFREEW IDF,IREPORT 8?7G ) 8?*Q ...TINOP 8?J2 ... LDN 4 0 8?Q= ...TIN1 8?YG ... MHUNTW 3,AMXOR,INBF 8#6Q FREECORE 3 [AMXOR/INBF BLOCK 8#LB LDX 2 IPBRING(2) [FIND THE "WRITING" ACTIVITY. 8*62 SBN 2 IPBRING 8**S ... ADS 4 AWORK2(2) 8*KL FPUT [SET IT GOING. 8B5= DERINGD IPBRING(2) [CLEAR THE RING. 8BJW EMPTY IPBRING(2) [RESET OUR RING ELEMENTS. 8C4G ZUNNO 8CJ6 NGS 1 CHAINADD(2) [MARK TO TELL BLANKET WE'RE ASLEEP. 8D3Q DISENGPER [DISENGAGE THE IPB. 8DHB COOR1 [WAIT FOR RE-ENGAGEMENT. 8F32 # 8FGL SK5IPBSTARB 8G2= JANON ,ZUNNO 8GFW LDX 0 IPBSW(2) 8G^G ANDX 0 BIT10 [BIT 10 8HF6 BZE 0 ZUOK [IDF CONTAONS UNIT INFO 8HYQ DOWN IDFCHK,4 [INSERT INFO INTO IDF 8JDB ZUOK 8JN8 ... LONGON1 IPBMPWS,CPPTR(2) 8JY2 CALL 7 XGETACT [GET SCANNING ACTIVITY TO DO RESTART 8KCL LDX 3 BPTR(2) 8KX= LDX 4 CPPTR(2) [ADDRESS OF IPB DEVICE LIST. 8LBW LINKSET 3,PAIR5(1) [SET LINK TO K7IPBSTART 8LWG STO 4 CPPTR(3) 8MB6 STO 2 ACC3(3) [SAVE ADDRESS OF INPUT ACTIVITY. 8MTQ BRN ROUT3 [J. TO SET IT ALL GOING AGAIN. 8N*B # 8NT2 SK10IPBSTAR [RUNS IN A V7900 AMOP/IPBIN ACT 8P#L # 8PS= # IF OR WHEN THE V7900 IS OPERABLE, SET UP AND FPUT A 8Q?W # SCANNING ACTIVITY (AMSCAN/IPBTYPE) WITH A LINK TO K11 8QRG JENG ,VOPERABLE [V7900 IS OPERABLE 8R?6 [IE THE PROGRAM'S FIRST WMC READ 8RQQ [IS STORED 8S=B # VIRTUAL 7900 INOPERABLE : REPORT FACT TO OPERTOR 8SQ2 LGEOG ,6 [SET X6 = V7900 OPS UNIT NUMBER 8T9L LDX 4 ZJINOP(1) [UNIT %A HAS BECOME INOPERABLE 8TP= CALL 5 OMES 8W8W JENG ,VOPERABLE [OPERABLE NOW 8WNG NGS 1 CHAINADD(2) [SET CHAINADD NEGATIVE TO SIMULATE 8X86 [AN INOPERABLE (,MOPPED ON) 7900 TO 8XMQ [MOPCOM(AT LABEL UINOP) 8Y7B LDX 0 XMASK(1) [UNSET 'BEING MOPPED ON/OFF' FLAGS 8YM2 ANDS 0 IPBSW(2) [IF SET AND WAKE UP ANY MOP ACTIVITY 8^6L FON #30 [WAITING FOR US . 8^L= BRN VIPBINSLEEP 925W # 92KG VOPERABLE [SIMULATE A K5IPBSTART RESTART 9356 CALL 7 XGETACT [SET UP SCANNNING ACTIVITY 93JQ [NOTE IT IS NEVER LOCKED 944B LDX 5 CPPTR(2) 94J2 LDX 2 BPTR(2) [SET LINK TO K11IPBSCAN IN ACT 953L LINKSET 2,PAIR6(1) 95H= STO 5 CPPTR(2) [SET DEVICE LIST PTR IN ACT 962W FPUT [SET ACT RUNNING TO COMPLETE MOP ON 96GG LDCT 0 #10 [ENSURE "MOPPING OFF" FLAG IS UNSET 9726 ORS 0 IPBSW(2) [(SET IF V7900 WAS INITIALLY OPERABLE 97FQ ERS 0 IPBSW(2) [)AS PART OF THE K5 SIMULATION 97^B COOR1 [WAIT FOR NEW LINK 98F2 VIPBINSLEEP 98YL LDCT 0 #100 [MARK THIS INPUT ACTIVITY ASLEEP 99D= ORS 0 IPBSW(2) 99XW COOR1 [WAIT TIL THE V7900 BECOMES OPERABLE 9=CG [(MOP OFF SIMPLY SETS CHAINADD +VE) 9=X6 BRN SK10IPBSTAR 9?BQ # 9?WB # ########################################################### 9#B2 # 9#TL # CODE ABOVE IS OBEYED IN AMOP/IPBIN ; BELOW IN EMS ACTIVITY. 9**= # 9*SW # ########################################################### 9B#G # 9BS6 # SUBROUTINE TO ISSUE "INITIALISE" COMMAND AND CHECK THE REPLY (IF ANY). 9C?Q # 9CRB START SBX 4 FX1 9D?2 SEGENTRY K53IPBSTARB 9DQL LDN 5 INPUSIZE+3 [SET UP INPUT BUFFER AND CHAIN 9F== SETUPCORE 5,1,AMXOR,INBF,1 [AFTER THE INPUT ACTIVITY 9FPW STO 4 AWORK3(2) [SAVE LINK. 9F^N ... STOZ AWORK2(2) 9G9G CHAIN 1,3 9GP6 ENRINGD IPBRING(2),IPBRING(3)[RING IN THE IPBIN ACTIVITY(->X3) 9H8Q TINIT MHUNTW 3,AMXOR,IOUT 9HNB LDN 4 #15 [END WRITE CANCEL READ MODE 9J82 LDN 5 3 [WORD COUNT 9JML CALL 6 PEROT [OUTPUT THE "INITIALISE" MESSAGE 9K7= BRN RUBSH [J. TO READ RUBBISH IF REJECTED. 9KLW BRN ZINOP [INOPERABLE 9L6G BRN PEROG [REPEAT IF TIMED OUT 9LL6 JANON ,ZINOP [OPERABLE BUT ANON UNIT NO SO 9MKB LDN 0 READY [SET LINK TO READ "READY". 9N52 CALL 5 ROUT1 [WAKE UP INPUT ACTIVITY & AWAIT REPLY 9NJL BRN VINOP [J. IF IT WENT INOPERABLE DURING READ 9P4= #UNS JPGLTER 9PHW ( 9Q3G MHUNTW 3,AMXOR,IOUT 9QH6 LDX 5 SEGGT(1) [GLOBAL TERMINATOR SETTING 9R2Q STO 5 A1+1(3) 9RGB LDX 5 GTERM 9S22 STO 5 A1+2(3) 9SFL LDN 5 3 [COUNT 9S^= LDN 4 #15 [MODE 9TDW CALL 6 PEROT [SEND EEGMENT 9TYG #UNS CCERROR 9WD6 #SKI 9WXQ BRN REJOP [REJECTED OPERABLE 9XCB #UNS CCERROR 9XX2 ( 9YBL BRN REJO [REJECTED OPERABLE 9YW= ) 9^*W BRN ZINOP [INOPERABLE 9^TG BRN PEROG [TIMED =2SQ LDN 0 RGTAK [LINK FOR INPUT ACTIVITY =3#B CALL 5 ROUT1 [SWITCH ACTIVITIES =3S2 BRN VINOP [INOPERABLE =4?L ) =4R= SMO AWORK3(2) [OTHERWISE EXIT TO THE LINK + 1. =5=W EXIT 1 1 =5QG # =6=6 ...RUBSH =6PQ LDN 0 READR [DOING INITIALISE AGAIN. =79B CALL 5 ROUT1 [WAIT FOR READ: RETURN IS TO "TINIT". =7P2 BRN VINOP [INOP DURING READ =88L BRN TINIT [READ OK : TRY "INITIALISE" AGAIN =8N= # =97W # SUBROUTINE TO INFORM CONSOLE MESSAGE ; IPB GEOG NO IN X6 ; =9MG # MESSAGE ADDRESS IN X4 ; CALL ON X5 ==76 # ==LQ OGE LGEOG CPPTR(3),6 [GET GEOG NO. =?6B OMES SBX 5 FX1 =?L2 GEOPACK 6,6,6 =#5L OUTPACK 6,1,GEOPER =#K= INFORMX ,4,1 =*4W ADX 5 FX1 =*JG EXIT 5 0 =B46 # =BHQ # SUBROUTINE TO ISSUE "CLOSE DOWN" COMMAND TO THE DCP. =C3B # =CH2 SHUT SBX 6 1 =D2L STO 6 AWORK3(2) [SAVE LINK. =DG= BRN OFF =D^W # =FFG # =F^6 # SUBROUTINE TO ISSUE "CONFIGURATION REQUEST", USING THE REPLY TO UPDATE =GDQ # THE IDF, AND THEN CLOSE THE DCP. V IS SET ON EXIT IF REPORT OBTAINED. =GYB # =HD2 UPDAT SBX 6 1 =HXL STO 6 AWORK3(2) [SAVE LINK. =JC= MHUNTW 3,AMXOR,IOUT =JWW LDX 5 SEGCONFIG(1) [SET UP THE CONFIGURATION REQUEST. =KBG STO 5 A1+1(3) =KW6 LDN 5 2 [WORD COUNT. =L*Q LDN 4 #15 [MODE. =LTB CALL 6 PEROT [AND PERI IT TO THE IPB. =M*2 #UNS CCERROR =MSL #SKI =N#= BRN REJOP [REJECTED - OPERABLE. =NRW #UNS CCERROR =P?G ( =PR6 BRN REJO =Q=Q ) =QQB BRN ZINOP [J. IF INOPERABLE. =R=2 BRN PEROG [TIMED OUT =S9= LDN 0 RCONF [SET LINK TO READ CONFIG. REPORT. =SNW CALL 5 ROUT1 [WAKE UP INPUT ACTIVITY & AWAIT REPLY =T8G BRN VINOP [J. IF IT WENT INOPERABLE DURING READ =TN6 BRN OFF [J. IF CONFIG. REPORT NOT FORTHCOMING =W7Q LDX 0 GSIGN [SET B0 IN LINK (SETS V ON EXIT). =WMB ORS 0 AWORK3(2) =X72 IDFTPUPD XBI [PASS THE REPORT TO THE IDF =X99 ... SEGENTRY K91IPBSTARB =X?D ... LDN 0 AHRETAIN =X*M ... BZE 0 XNORE =XCW ... LDX 4 ZAHLOST(1) =XG5 ... CALL 5 OGE =XJ# ...XNORE =XLL # =Y6= #UNS CRAMP<1$1 =YKW OFF MHUNTW 3,AMXOR,IOUT [RELOCATE THE OUTPUT BUFFER. =^5G #UNS CRAMP =^K6 ( ?24Q OFF LDX 0 AWORK4(2) [TEST FOR CLOSE DOWN SUPPRESSION FLAG ?2JB STOC 0 AWORK4(2) [LEAVING IT UNSET(NO INOPERABILITY) ?342 BCS NBACK [WAS SET : SKIP CLOSE DOWN & EXIT ?3HL MHUNTW 3,AMXOR,IOUT [RELOCATE THE OUTPUT BUFFER ?43= ) ?4GW LDX 5 SEGCLOSE(1) [SET UP THE CLOSE DOWN MESSAGE. ?52G STO 5 A1+1(3) ?5G6 LDN 4 #15 [MODE ?5^Q LDN 5 2 [WORD COUNT ?6FB CALL 6 PEROT [OUTPUT THE CLOSE DOWN MESSAGE. ?6^2 #UNS CCERROR ?7DL #SKI ?7Y= BRN REJOP [REJECTED - OPERABLE. ?8CW #UNS CCERROR ?8XG ( ?9C6 BRN REJO ?9WQ ) ?=BB BRN ZINOP [J. IF INOPERABLE. ?=W2 BRN PEROG [TIMED OUT ??*L CALL 6 UINOP [CLEAR DOWN THE IPBIN. ??T= STOZ CHAINADD(3) [UNSET "WAKE ME UP" MARKER. ?##W #UNS CRAMP<1$1 ?#SG ADX 1 AWORK3(2) ?*#6 #UNS CRAMP ?*RQ NBACK ADX 1 AWORK3(2) ?B?B EXIT 1 0 ?BR2 # ?C=L UINOP SBN 3 A1 ?CQ= UNLOCK 3 [OUTPUT BUFFER. ?D9W LDX 3 IPBRING(2) ?DPG SBN 3 IPBRING ?F96 LINKSET 3,PAIR4(1) [SET LINK IN IPBIN TO K5IPBSTART ?FNQ HUNT2 1,AMXOR,INBF,3 [FREE THE INPUT BUFFER. ?G8B FREECORE 1 ?GN2 DERINGD IPBRING(2) [CLEAR THE RING. ?H7L EMPTY IPBRING(2) [RESET OUR RING ELEMENTS. ?HM= NGS 1 CHAINADD(3) [MARK IPBIN ASLEEP FOR BLANKET. ?J6W DISENGPER [DISENGAGE THE IPB. ?JLG EXIT 6 0 ?K66 # ?KKQ ZINOP CALL 6 UINOP [RESET THE IPBIN. ?KTJ ...VINOP ?L5B #UNS CRAMP ?LK2 ( ?M4L ... LDCT 0 #400 ?MJ= ANDX 0 AWORK4(2) [I.E. K9 ENTRY,UNSET "WAKE ME UP" ?N3W ORS 0 CHAINADD(3) [MARKER IF SET ?NHG ERS 0 CHAINADD(3) ?SDG ) ?^SB ADX 1 AWORK3(2) #2#2 EXIT 1 0 #2RL # #3?= # #3QW # SUBROUTINE TO SET UP AN AMXOR/ADEVS BLOCK OF THE REQUIRED LENGTH #4=G # AND CHAIN IT AFTER THE AMOP/IPBIN ACTIVITY. #4Q6 # #59Q NDEVS SBX 4 1 [RELATIVISE LINK. #5PB MHUNTW 1,IDF,IDENTIFIERS #692 LDX 5 ALOGLEN(1) #69F ...#SKI G269&1 #69Y ...( #6=C ... SBN 5 1 [ NO. OF IDENTIFIERS #6=W ... LDN 7 0 [ COUNT OF *LP'S #6?* ...XCT1 SMO 5 #6?S ... LDEX 0 A1(1) #6#? ... SBN 0 3 [ *LP IDENT. #6#Q ... BNZ 0 XCT2 #6*9 ... ADN 7 2 #6*N ...XCT2 BCT 5 XCT1 #6B7 ...# NOW SET UP NEW BLOCK TYPE IUSER/BATCHC WITH A TWO-WORD #6BL ...# ... ENTRY FOR EACH REMOTE LP: IDENTIFIER,DEBATCHER WORD #6C5 ... SETUPCORE 7,2,IUSER,BATCHC #6CJ ... LDX 6 ZZZZ(1) #6D3 ... MHUNTW 1,IDF,IDENTIFIERS #6DG ... LDX 5 ALOGLEN(1) #6D^ ... SBN 5 1 #6FD ...XSAT1 SMO 5 #6FX ... LDEX 0 A1(1) #6GB ... SBN 0 3 #6GT ... BNZ 0 XSAT2 #6H# ... LDX 0 5 #6HR ... ADX 0 A1(1) [ IDENTIFIER NO. #6J= ... STO 0 A1(2) #6JP ... STO 6 A1+1(2) [ INITIALIZE ZZZZ #6K8 ... ADN 2 2 #6KM ...XSAT2 BCT 5 XSAT1 #6L6 ... SBX 2 7 [ RESET TO START OF BLOCK #6LK ... LDX 5 ALOGLEN(1) [ REINSTATE X5 #6M4 ... CHAIN 2,3 [ ONTO IPBIN ACTIVITY #6MH ...) #6NL LDX 6 5 #78= SLL 5 2 [SET UP THE IDENTIFIER ROUTING BLOCK. #7MW SETXCORE 5,1,AMXOR,ADEVS,,6,4 #87G LDCT 5 #40 [SET THE "TO BE SCANNED" BIT. #8M6 ADX 5 BIT9 [SET "CLOSED" BIT #96Q LDX 2 1 #9LB NGN 7 A1 [INITIALISE THE ROUTING BLOCK. #=62 RESET STOZ A1+BPTR(2) #=KL STO 7 A1+BSTART(2) #?5= STO 5 A1+FOURTHWD(2) #?JW ADN 2 4 ##4G SBN 7 4 ##J6 BCT 6 RESET #*3Q MHUNTW 2,IDF,IDENTIFIERS #*HB LDX 0 A1(2) #B32 STO 0 A1+FOURTHWD(1) [STORE LOWEST IDENTIFIER NO.-1 #BGL CHAIN 1,3 [CHAIN AFTER THE INPUT ACTIVITY. #C2= SMO 4 #CFW EXIT 1 0 [EXIT TO LINK. #C^G [ #DF6 [ #DYQ [ #FDB SK11IPBSTAR [RUNS IN A V7900 AMSCAN/IPBTYPE ACT #FY2 LAMOP ,3 [SET X3 -> THE V7900 AMOP/IPBIN ACT #GCL # ENTER K7IPBSTART TO SET UP THE IDF/IDENTIFIERS BLOCK #GX= # AND TO DEAL WITH MOPPING ON/OFF INTERLOCKS THEN CALL #HBW # S/R SVIOUTINBF TO SET UP THE AMXOR/IOUT&AMXOR/INBF BLOCKS #HWG # AND RETURN TO LABEL NSSCAN TO SET UP THE AMXOR/ADEVS BLK, #JB6 # SET THE INPUT ACT GOING AT K1IPBIN,AND EXIT TO K1IPBSCAN #JTQ # #K*B SK7IPBSTARB #KT2 CALL 7 XIDFSCN #L#L BRN XMOP #LS= LDCT 0 #10 #M?W ANDX 0 IPBSW(3) [J. IF ALREADY BEING MOPPED ON. #MRG BNZ 0 SUIC #N?6 LDCT 0 #10 #NQQ ORS 0 IPBSW(3) [SET "IPB BEING MOPPED ON" FLAG(B5) #P=B # #PQ2 SK8IPBSTARB #Q9L LDCT 7 #20 [HAS THE "MOP OFF" BIT BEEN SET? #QP= ANDX 7 IPBSW(3) #R8W BNZ 7 XSET3 #RNG CALL 5 SVIOUTINBF [IF V7900,JUST SET UP BLKS(DON'T O/P) #S86 BRN NSSCAN [V7900 : SKIP IPB INITIALISATION #SMQ LDN 6 3 #T7B CALL 7 XSETIOUT #TM2 LDN 6 SEGINIT(1) #W6L LDN 7 A1(2) #WL= MOVE 6 3 #X5W CALL 4 START #XKG BRN XSET2 #Y56 NSSCAN #Y7P ... OUTBLOCN 4 #Y=# ... LDN 4 1 #Y#X ... OUTPACK 4,1,SWITCH #YCG ... LDX 4 ZJMOP3(1) #YG5 ... CALL 5 OGE #YJQ CALL 4 NDEVS [SET UP THE ADEVS BLOCK. #^4B LDCT 7 #20 [J. IF MOPPED OFF. #^J2 ANDX 7 IPBSW(3) *23L BNZ 7 XSET1 *2H= #SKI ICT *32W FON ADEVLIN [START ACTIVITIES WAITING FOR ADE *3GG LINKSET 3,PAIR3(1) [SET IPBIN'S LINK TO K1IPBIN *426 LDX 0 XMASK(1) [UNSET THE MOPPING ON BIT, IF SET. *4FQ LDX 2 3 *4^B ANDS 0 IPBSW(3) *5F2 FPUT [AND SET IT GOING. *5YL ACROSS IPBSCAN,1 [GO TO START UP IDENTIFIERS. *6D= # *6XW XMOP LDCT 7 #20 [UNSET MOP OFF BIT, IF SET. *7CG ANDX 7 IPBSW(3) *7X6 BZE 7 SUIC *8BQ ERS 7 IPBSW(3) *8WB BRN XSET4 *9B2 # *9TL #UNS CRAMP *=*= ( *=SW SK9IPBSTARB *?#G YMOPOFF XBI,£ [MARK UNIT MOPPED OFF IN IDF *?S6 LDN 6 3 *#?Q CALL 7 XSETIOUT [SEND INITIALISE + GOBAL TERMINATOR *#RB LDN 6 SEGINIT(1) [SUPERVISORY SEGMENTS **?2 LDN 7 A1(2) **QL MOVE 6 3 *B== CALL 4 START *BPW BRN NSINOP1 [INOPERABILITY DETECTED *C9G LDCT 7 #400 [SET "SUPPRESS CLOSE DOWN" FLAG (B0 *CP6 ORS 7 AWORK4(2) [OF AWORK4) FOR UPDAT *D8Q CALL 6 UPDAT [SEND CONFIGURATION REQUEST AND *DNB [UPDATE THE IDF IF REPORT OBTAINED *F82 LDX 1 FX1 *FML LDX 7 AWORK4(2) *G7= ANDX 7 GSIGN *GLW BNZ 7 NSFAIL [INOPERABILITY DETECTED & REPORTED *H6G BVCR NSFAIL [UPDATE FAILED:NO CONFIG. REP. OPTION *HL6 [OR A NULL CONFIGURATION REPORT GIVEN *J5Q LDX 4 ZJUPOK(1) [REPORT UPDATE SUCCESSFUL *JKB CALL 5 OGE *K52 LDCT 7 #20 *KJL ANDX 7 IPBSW(3) *L4= BNZ 7 XSET1 [MOPPING OFF : CLOSE DOWN UNIT *LHW YMOPON XBI,XSTAT,,IPBSW [MARK UNIT MOPPED ON IN IDF *M3G SETALLOC [MARK UNIT MOPPED ON IN DEVICE LIST *MH6 #SKI JWPHASE4 *N2Q ( *NGB LGEOG ,4 [GEOGRAPHIC NUMBER *P22 ORN 4 #4000 [MOP ON *PFL HLSINFORM XBI,MOP,,4 [INFORM HLS OF MOP EVENT *P^= ) *SX2 BRN NSSCAN [JOIN K8IPBSTART'S PATH *TBL # *TW= NSINOP1 *W*W LDX 1 FX1 *WTG LDN 7 0 *X*6 ADSC 7 CHAINADD(3) [UNSET "WAKE ME UP" MARKER *XJY ... LDX 2 2 *XSQ ... LDX 2 FX2 *Y#B ... LDX 5 AWORK2(2) *YS2 ... SMO 5 *^?L LDX 4 ZJINOP(1) [REPORT UNIT HAS BECOME INOPERABLE *^R= CALL 5 OGE B2=W LDN 7 1 [SET "INOP MESS SENT" FLAG B2QG ORS 7 IPBSW(3) B3=6 NSFAIL B3PQ LDX 4 ZJUPFAIL(1) [REPORT UPDATE FAILED B49B CALL 5 OGE B4P2 LDX 4 ZJMOP4(1) [REPORT MOP ON ABANDONED B58L CALL 5 OGE B5N= BNZ 7 XSET3 [INOPERABILITY REPORTED : SKIP "SHUT" B67W # B6MG ) B776 XSET1 CALL 6 SHUT [CLOSE THE IPB DOWN AGAIN. B7LQ #UNS CRAMP<1$1 B86B HUNT2 1,AMXOR,ADEVS,3 [FREE THE ROUTING BLOCK. B8L2 #UNS CRAMP B95L HUNT2J 1,AMXOR,ADEVS,3,XSET3 [FREE ROUTING BLOCK IF IT EXISTS B9K= FREECORE 1 B=4W BRN XSET3 B==^ ...XSET2 B=F4 ... LDX 2 FX2 B=M7 ...SK12STARB B=T= ... LDX 4 CPPTR(2) B?3* ... LONGSET IPBMPWS,SUIC,4 B?9D ... LDX 7 XMASK(1) B?CH ... ORN 7 1 B?KL ... ANDS 7 IPBSW(3) B?RP ... FON #30 B?^S ... LGEOG CPPTR(2),6 B#7X ... GEOPACK 6,6,6 B#B2 ... OUTPACK 6,1,GEOPER B#J5 ... LDX 5 AWORK2(2) B#Q8 ... BNZ 5 XSET25 B#Y? ... JN7900E 3,XSET25 B*6B ... LDN 5 2 B*#F ...XSET25 B*GJ ... SMO 5 B*NM ... LDX 4 ZJINOP(1) B*WQ ... LDN 5 1 BB4T ... DEMANDX 5,4,,XBI,XSETD,1 BB=Y ... BRN SUIC BBFG XSET3 SMO FX1 BB^6 LDX 7 XMASK [UNSET MOP OFF/ON BITS IF SET , TO BCDQ ORN 7 1 [(BUT DON'T CLEAR INOP MESS SENT BIT) BCYB ANDS 7 IPBSW(3) [INDICATE ACTION FINISHED BDD2 XSET4 FON #30 [WAKE UP ANYONE WAITING FOR US. BDXL SUIC BFC= SUICIDE BFWW XBI GEOERR 1,BREAKIN! [CANT HAVE BREAK-IN BGBG #UNS CRAMP BGW6 XGEO BH*Q XSTAT GEOERR 1,WRSTATE [IPB MOPPED ON/ONLINED/WRONGED BHTB MENDAREA 50,K99IPBSTARB BJ*2 #END ^^^^ ...310045160009