{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPBSTARB867)}}
====== IPBSTARB867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:CCERROR|CCERROR]], [[george:macro:CHAIN|CHAIN]], [[george:macro:COOR1|COOR1]], [[george:macro:COOR3|COOR3]], [[george:macro:DCA|DCA]], [[george:macro:DEMANDX|DEMANDX]], [[george:macro:DERINGD|DERINGD]], [[george:macro:DISENGPER|DISENGPER]], [[george:macro:DOWN|DOWN]], [[george:macro:DSCA|DSCA]], [[george:macro:EMPTY|EMPTY]], [[george:macro:ENRINGD|ENRINGD]], [[george:macro:FINDACTFB|FINDACTFB]], [[george:macro:FON|FON]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:GETACT|GETACT]], [[george:macro:GPERI|GPERI]], [[george:macro:GSPERI|GSPERI]], [[george:macro:HLSINFORM|HLSINFORM]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:ICT|ICT]], [[george:macro:IDFTPSCN|IDFTPSCN]], [[george:macro:IDFTPUPD|IDFTPUPD]], [[george:macro:INFORMX|INFORMX]], [[george:macro:JANON|JANON]], [[george:macro:JENG|JENG]], [[george:macro:JSBUSY|JSBUSY]], [[george:macro:JUNBUSY|JUNBUSY]], [[george:macro:JV7900|JV7900]], [[george:macro:LAMOP|LAMOP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LOCK|LOCK]], [[george:macro:LONGON1|LONGON1]], [[george:macro:LONGSET|LONGSET]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MOVLONG|MOVLONG]], [[george:macro:NAME|NAME]], [[george:macro:OFF|OFF]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:PAIR|PAIR]], [[george:macro:READY|READY]], [[george:macro:RESET|RESET]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETALLOC|SETALLOC]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SETXCORE|SETXCORE]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:VFREEW|VFREEW]], [[george:macro:YMOPOFF|YMOPOFF]], [[george:macro:YMOPON|YMOPON]]
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