{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BSUNJAM867)}}
====== BSUNJAM867 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BC|BC]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BS|BS]], [[george:macro:BSUJ|BSUJ]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COOR3|COOR3]], [[george:macro:DOWN|DOWN]], [[george:macro:DUMPINC|DUMPINC]], [[george:macro:GEOERR|GEOERR]], [[george:macro:IFUJSTAT|IFUJSTAT]], [[george:macro:INFORM|INFORM]], [[george:macro:INFORMX|INFORMX]], [[george:macro:INSTPARA|INSTPARA]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JBSC|JBSC]], [[george:macro:JBSS|JBSS]], [[george:macro:JMBAC|JMBAC]], [[george:macro:LONGON|LONGON]], [[george:macro:MBC|MBC]], [[george:macro:MBI|MBI]], [[george:macro:MBS|MBS]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:OPENINC|OPENINC]], [[george:macro:OPENMAS|OPENMAS]], [[george:macro:OUTINCS|OUTINCS]], [[george:macro:OUTMESS|OUTMESS]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:OUTPAR|OUTPAR]], [[george:macro:OVER|OVER]], [[george:macro:REFORM|REFORM]], [[george:macro:REFORMUL|REFORMUL]], [[george:macro:RESET|RESET]], [[george:macro:RETURNA|RETURNA]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SLEEP|SLEEP]], [[george:macro:STARTACT|STARTACT]], [[george:macro:STEP|STEP]], [[george:macro:TRACE|TRACE]]
22FL SEG BSUNJAM,83,PETER CAMPBELL,BSUNJ
22^= [
23DW [
23YG [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
24D6 [
24XQ [
25CB #DEF Z=K6BSUNJAM>599-599
25X2 SEGENTRY K1BSUNJAM,X1BSUNJAM
26BL MASTER 12HMASTER [ NAME OF MASTER DIRECTORY
26W= SEGENTRY BSUJSW
27*W +0 [THIS IS A SWITCH WORD USED TO LIST
27TG [ STATISTICS IF NON-ZERO,BY ENTRY TO
28*6 [ BSUJSTAT SEGMENT
28SQ NFRES +4 [NO. OF WORDS PER RESIDENCE USED
29#B [IN FILE/FRESNUM BLOCK
29S2 #SKI IFS<1$1
2=?L (
2=R= SMAPP
2?=W #HAL FILE+FMAPP,0
2?QG )
2#=6 PARALT 12HFORMULA [INSTALLATION PARAMETER USED BY INSTP
2#PQ # THIS ROUTINE IS CALLED IN BY THE BACKING STORE
2*9B # ALLOCATION SYSTEM WHEN A CERTAIN PERCENTAGE OF ANY
2*P2 # BACKING STORE IS USED
2B8L [
2BN= BITDEFS AWORK3,0,XBDESPDUMP,XBABJOBS,XBNONSPEC
2C7W BITDEFS AWORK3,22,XBDUMPED,XBNOTFIRST
2CMG [ AWORK3=0 IF FIRST PASS
2D76 [ B23 SET IF NOT FIRST PASS
2DLQ [ B0 SET IF UNJAMMER HAS DONE A 'DESPERATE'DUMP
2F6B [ B1 SET IF ABANDON JOBS MESSAGE HAS BEEN OUTPUT
2FL2 [ B2 SET IF A NON SPECIAL RESIDENCE JAMMED
2G5L [ AWORK4 CONTAINS NO.CLEANCTS SPENT WAITING FOR DIRECTORIES
2GK= [
2H4W [ BEGINNING OF LOOP
2HJG [
2J46 RETURNA
2JHQ BS 2,XBNOTFIRST
2K3B IFUJSTAT 2 [GO DOWN TO WRITE MAIN RECORD
2KH2 # X6 -VC IF ONLY SPECIAL RESIDENCES WERE JAMMED AT
2L2L # END OF LAST PASS - IN THIS CASE FORMULA SHOULD
2LG= # NOT BE RECALCULATED
2L^W TCCAO BNG 6 NRCAL
2MFG NGX 5 5 [ X5 := NO OF JAMMED RESIDENCES
2M^6 CALL 0 PMISC [ FIND FIRST BSLIST BLOCK
2NDQ BRN XNUMRES [ JUMP IF END OF CHAIN
2NYB ADN 5 1 [ ADD 1 FOR EACH RESIDENCE
2PD2 BRN NMISC [ FIND NEXT RES
2PXL XNUMRES
2QC= MHUNTW 1,FILE,INCUNJ
2QWW STO 5 ANOJAM(1) [ STORE NO OF UNJAMMED RES
2RBG LDX 2 FX2
2RW6 #SKI Z
2S*Q (
2STB TRACE BSNDUMP(1),BSNDUMP
2T*2 TRACE BSLEFT(1),BSLEFT
2TSL )
2W#= JBSC NODUMP2,2,XBDUMPED
2WRW LDX 0 BSNDUMP(1) [ NUMBER OF BLOCKS TO BE DUMPED
2X?G BXL 0 BSLEFT(1),NODUMP2 [ JUMP IF LESS THAN BLOCKS TO CLEAR J
2XR6 LDN 2 0 [ COUNT OF BLOCKS ONLINE
2Y=Q LDX 0 BSAB [ TYPE OF BSTB/BSLIST BLOCK
2YQB LDX 3 BMISC [ PICK UP BASE OF MISC CHAIN
2^=2 TODU1 LDX 3 FPTR(3) [ PICK UP NEXT BLOCK
2^PL BXE 3 CXMI,TODU2 [ JUMP IF END OF CHAIN
329= BXU 0 ATYPE(3),TODU1 [ JUMP IF NOT BSLIST
32NW LDX 4 BSLETH(3) [ JUMP IF SWAP FILE
338G BNG 4 TODU1 [
33N6 ADX 2 BSTOT(3) [ ADD TOTAL SIZE OF RESIDENCE
347Q SBX 2 BSFREE(3) [ SUBTRACT FREE BLOCKS
34MB BRN TODU1 [
3572 TODU2 SRL 2 2 [ DIVIDE SIZE OF ONLINE F/S BY 4
35LL BXL 2 BSNDUMP(1),TRYDP [ JUMP IF > 25% TO BE DUMPED
366= NODUMP2
36KW LDX 2 FX2
375G LDX 0 FORMULA
37K6 BNZ 0 NTDMP [GO ON UNJAMMING UNLESS DESPERATE
384Q [
38JB [ IF THE UNJAMMERS FORMULA IS ZERO,THEN WE ONLY WANT TO DO A
3942 [ 'DESPERATE' DUMP ONCE.OTHERWISE ONLY DUMP WHEN FORMULA=ZERO IF
39HL [ THERE IS ENOUGH TO CLEAR THE JAM
3=3= [
3=GW JBSS NDDMP,2,XBDESPDUMP
3?2G TRYDP
3?G6 #SKI K6BSUNJAM>99-99
3?^Q TRACE BSNDUMP(1),DUMPING
3#FB OUTPAR TIMENOW
3#^2 CALL 3 OPMESS [OUTPUT 'BACKING STORE JAM DUMPER
3*DL +BSJDUM [ STARTED'
3*Y= +3 [TO ALL CONSOLES
3BCW DUMPINC [SET THE DUMPER GOING
3BXG BS 2,XBDUMPED
3CC6 LDN 6 0
3CWQ IFUJSTAT 3
3DBB BRN NRCAL
3DW2 NDDMP JBSS NABAN,2,XBABJOBS
3F*L CALL 3 OPMESS [OUTPUT 'ABANDON JOBS'
3FT= +BSABAN
3G#W +1 [TO CENTRAL CONSOLE
3GSG NTDMP
3H#6 NABAN
3HRQ LDN 6 1
3J?B IFUJSTAT 3 [ APPEND FILE/INCUNJ TO STSTS FILE
3JR2 BRN NRCAL
3K=L X1BSUNJAM
3KQ= OUTPAR DATENOW,TIMENOW
3L9W OUTPACK GMTNOW,1,NUMA
3LPG CALL 3 OPMESS [OUTPUT 'BACKING STORE JAM'
3M96 +BACJAM
3MNQ +3 [TO ALL RESIDENCES
3N8B SEGENTRY K10BSUNJAM
3NN2 BRN NOFF
3P7L #
3PM= # OUTPUT 'PARAMETERS FOR FILE FORMULA ARE X1,X2,X3,X4'
3Q6W #
3QLG LDN 4 BSUJFORM1
3R66 LDN 5 1
3RKQ LDN 6 JPDNUMA
3S5B CALL 7 PACKMESS
3SK2 LDN 4 BSUJFORM2
3T4L CALL 7 PACKMESS
3TJ= LDN 4 BSUJFORM3
3W3W CALL 7 PACKMESS
3WHG LDN 4 BSUJFORM4
3X36 CALL 7 PACKMESS
3XGQ MONOUT BSFFPARS
3Y2B BRN NNOFF
3YG2 SEGENTRY K11BSUNJAM
3Y^L NOFF MONOUT BSFFNORM [STANDARD FORMULA
3^F= NNOFF LDX 7 BSUJSW(1) [PICK UP SWITCH
3^YW IFUJSTAT 1 [ TRY TO OPEN STATS FILE ,TURN OFF SW
42DG [ IF UNSUCCESSFUL
42Y6 # CARRY OUT A MISC CHAIN SEARCH TO FIND OUT THE NUMBER OF
43CQ # ONLINF RESIDENCES DURING THIS JAM.
43XB # THIS VALUE IS STORED IN IRESNUM OF THE INCUNJ BLOCK
44C2 LDN 5 0
44WL CALL 0 PMISC [FIND NEXT RESIDENCE
45B= BRN XOUT [EXIT FOR END OF CHAIN
45TW ADN 5 1
46*G BRN NMISC
46T6 XOUT
47#Q LDX 4 5
47SB SETNCORE 8,2,FILE,INCUNJ
48#2 STO 4 IRESNUM(2) [NUMBER OF RESIDENCES IN X4
48RL LDN 6 4
49?= MPY 4 6 [ALLOW FOUR WORDS PER RES
49QW ADN 5 1 [PLUS ONE FOR REC HEDDR
4==G SETUPCORE 5,3,FILE,FRESNUM
4=Q6 SBN 5 2
4?9Q STOZ A1+1(3)
4?PB LDN 1 A1+1(3)
4#92 LDN 2 1(1)
4#NL SMO 5
4*8= MOVE 1 0
4*MW # ZEROISE WORDS IN FILE,FRESNUM
4B7G SETNCORE 6,1,FILE,FLOCNB
4BM6 SETNCORE 4,3,FILE,FABSNB
4C6Q LDN 0 4
4CLB STO 0 A1(3)
4D62 ADN 3 A1+1
4DKL LDN 2 MASTER(1)
4F5= MOVE 2 3
4FJW NRCAL
4G4G MHUNTW 2,FILE,INCUNJ
4GJ6 [
4H3Q [ START OF MAIN LOOP
4HHB [
4J32 TINCUJ
4JGL #SKI K6BSUNJAM>99-99
4K2= (
4KFW TRACE CLEANCT,BSU ENT
4K^G TRACE FORMULA,FORMULA
4LF6 )
4LYQ LDN 0 8
4MDB STO 0 INREC(2)
4MY2 STOZ INREC+2(2)
4NCL LDN 0 INREC+2(2)
4NX= LDN 1 ANOJAM(2)
4PBW MOVE 0 5
4PWG # CARRY OUT A MISC CHAIN SEARCH TO DETERMINE WHICH
4QB6 # RESIDENCES ARE ABOVE THRESHOLD ANM/OR JAMMED
4QTQ # FRESNUM HOLDS 4 WORD ENTRIES PER RESIDENCE
4R*B # 1ST =RESIDENCE NUMBER
4RT2 # 2ND = STATE WORD
4S#L # 3RD = NO. OF FILES THROWN OFF
4SS= # 4TH = SIZE OF FILES THROWN OFF
4T?W MHUNTW 3,FILE,FRESNUM
4TRG STOZ FRREC(3)
4W?6 LDN 1 0 [USE X1 TO HOLD NUM. OF JAMMED
4WQQ [RESIDENCES
4X=B CALL 0 PMISC [FIND NEXT RESIDENCE
4XQ2 RESET BRN TOUT [EXIT FOR END O CHAIN
4Y9L BC 2,BSLTHRESH [ CLEAR YHRESHOLD BIT IF SET
4YP= LDX 4 BACK1(2)
4^8W STO 4 FRNUM(3) [INSERT RESUDENCE NUMBERS
4^NG JBS ZHARDJAM,2,BSLJAM [ JUMP IF JAM BIT SET
5286 LDX 5 BSFREE(2)
52MQ BNG 5 ZHARDJAM [MUST BE JAMMED
537B BXGE 5 BSTHRESH(2),NSET [J IF NOT ABOVE THRESHOLD
53M2 BS 2,BSLTHRESH [ SET THRESHOLD BIT
546L ZHARDJAM
54L= LDCT 4 #600 [PRESERVE B0/B1
555W ANDS 4 FRSTATE(3)
55KG BS 3,BFTHRESH
5656 JBC NOSET,2,BSLJAM
56JQ ZJAM ADN 1 1 [INCREASE NO. OF JAMMED RESIDENCES
574B MBI 3,BFJAM,BFTHRESH [ SET JAM UNSET THRESHOLD BITS
57J2 BRN NOSET
583L NSET STOZ FRSTATE(3)
58H= NOSET
592W #SKI Z
59GG (
5=26 TRACE FRNUM(3),RESNUM
5=FQ TRACE FRSTATE(3),RESTATE
5=^B )
5?F2 STOZ FRNTOFF(3)
5?YL STOZ FRSTOFF(3)
5#D= MHUNTW 3,FILE,FRESNUM
5#XW SMO FX1
5*CG LDX 0 NFRES
5*X6 ADS 0 FRREC(3)
5BBQ ADX 3 FRREC(3)
5BWB SMO FX1
5CB2 LDN 0 RESET [RESTORE LINK ADDRESS TO PMISC
5CTL BRN NMISC
5D*= TOUT
5DSW LDX 6 1 [X1->X6 WHILE MESSAGES OUTPUT
5F#G LDX 2 FX2
5FS6 JBS NOSTAT4,2,XBNONSPEC
5G?Q IFUJSTAT 4
5GRB NOSTAT4
5H?2 #SKI Z
5HQL TRACE 6,TOTJRES
5J== CALL 3 OUTMESS [JAM ON RESIDENCE . . .
5JPW +0
5K9G +BSJAMRES
5KP6 BRN NOSPEC1 [EXIT 3 3 IF A SPEC RES JAMMED
5L8Q [EXIT 3 2 IF NO SPEC RES JAMMED
5LNB CALL 3 OUTMESS [CC AO ON RESIDENCE . . .
5M82 +4
5MML +BSSPECRES
5N7= BRN NOSPEC1 [EXIT 3 2 IF BOTH TYPES OR RES JAMME
5NLW [EXIT 3 3 - ONLY SPEC RES JAMMED
5P6G LDN 5 0
5PL6 BRN NOSPEC2
5Q5Q NOSPEC1
5QKB LDCT 5 #400
5R52 NOSPEC2
5RJL MHUNTW 2,FILE,INCUNJ
5S4= OPENINC ,READ [OPEN INCINDEX
5SHW LDN 6 0
5T3G RINC STEP [READ NEXT RECORD
5TH6 BZE 3 OVER [LAST RECORD
5W2Q LDX 6 AINCNO-A1(3) [HIGHEST INC.NO
5WGB JBS REDUMP,3,BIREDUMPR
5X22 LDX 2 AMTSR(3) [ NO TAPES ?
5XFL BZE 2 REDUMP [ NO NOT WRONGED TAPES
5X^= NEXTTAPE
5YDW JMBAC RINC,3,BMUSWRR,BMOPWRR [ AT LEAST ONE TAPE OK !
5YYG ADN 3 2
5^D6 BCT 2 NEXTTAPE [ LOOK AT NEXT TAPE
5^XQ #
62CB # ALL TAPES WRONGED
62X2 #
63BL REDUMP
63W= LDX 4 6 [NO OF THIS INCREMENT
64*W #SKI Z
64TG (
65*6 TRACE AINCSTATE-A1(3),UNRINCST
65SQ TRACE 4,UNRINC
66#B )
66S2 CALL 1 NUMINC
67?L BRN RINC
67R= OVER MHUNTW 3,FILE,INCUNJ
68=W ADN 6 1
68QG SMO A1(3)
69=6 STO 6 A1-1(3) [LATEST INC.NO+1
69PQ CLOSETOP [INCINDEX
6=9B BZE 5 SPECS
6=P2 BNG 5 NOSPEC
6?8L GEOERR 1,FORTEST
6?N= # ONLY SPECIAL RESIDENCES ARE JAMMED
6#7W #
6#MG SPECS
6*76 LDX 5 ASYSTEMMESS [IP MESSAGETIME
6*LQ LDN 1 FONINTP
6B6B DVS 4 1
6BL2 SLEEP
6C5L COOR3 #62 [SLEEP THE LENGTH OF MESSAGETIME
6CK= CALL 0 PMISC [UNLESS A NON SPECIAL TES JAMMED
6D4W BRN NDOZE
6DJG LDX 1 BACK1(2) [IF SPECIAL RES -CAN
6F46 SBN 1 48 [SLEEP A LITTLE LONGER
6FHQ BPZ 1 NDOZE
6G3B ANDN 4 #4000
6GH2 BZE 4 NMISC
6H2L LDX 2 FX2
6HG= BS 2,XBNOTFIRST
6H^W BRN NRCAL [RESET X2
6JFG NDOZE
6J^6 BCT 5 SLEEP
6KDQ LDCT 3 #400
6KYB BRN SONLY
6LD2 #
6LXL NOSPEC
6MC= CALL 3 OUTMESS [ABOVE THRESHOLD ON RES . . .
6MWW +1
6NBG +BSTHRESHR
6NW6 JBS PASS2,2,XBNONSPEC
6P*Q REFORMUL
6PTB SMO FX2
6Q*2 STO 6 AWORK2 [ SAVE VALUE OF FORMULAFROM 1ST PASS
6QSL BRN NEWF
6R#= PASS2 JBC NODUMP,2,XBDUMPED
6RRW [ IF DUMPER WAS STARTED ON LAST PASS LEAVE FORMULA UNC
6S?G BRN ZDUMPED
6SR6 NODUMP REFORM
6T=Q NEWF STO 6 FORMULA [CHANGE VALUE IN CORE
6TQB OUTPACK FORMULA,1,NUMA [OUTPUT WORKING VALUE OF FORMULA
6W=2 CALL 3 OPMESS [OUTPUT MESSAGE TO CONSOLE
6WPL +BSUFORM
6X9= +1
6XNW ZDUMPED
6Y8G #SKI Z
6YN6 TRACE 0(3),BEGINMAS
6^7Q OPENMAS XBRK,GENERAL
6^MB [
7272 [ DOWN TO BSPRUNE FOR FILESTORE PASS
72LL [
736= DOWN BSPRUNE,1
73KW [
745G [
74K6 [
754Q LDX 0 ACOMMUNE1(2)
75JB STO 0 AWORK4(2) [PRESERVE CLEANCT TOTAL
7642 #SKI Z
76HL TRACE 0,DIRWTIM
773= MASTL CLOSETOP [CLOSE MASTER
77GW BS 2,XBNONSPEC
782G LDN 3 0
78G6 SONLY CALL 0 PMISC [FIND NEXT RESIDENCE
78^Q SRSET BRN SOUT [EXIT IF END OF CHAIN
79FB MHUNTW 1,FILE,FRESNUM
79^2 NERES
7=DL LDX 0 FRNUM(1)
7=Y= BXE 0 BACK1(2),THRES [J IF FOUND RIGHT RESIDENCE
7?CW SMO FX1
7?XG ADX 1 NFRES [STEP ON TO NEXT RESIDENCE
7#C6 BRN NERES
7#WQ THRES LDX 5 BSFREE(2) [NO. OF BLOCKS LEFT
7*BB BNG 5 SJAM [STILL IN HARD JAM
7*W2 JBC NJAM,2,BSLJAM [ JUMP IF WASNT JAMMED
7B*L BXL 5 BSJAML(2),SJAM [ STILL JAMMED - ADD INTO BSLEFT
7BT= BXL 5 BSTHRESH(2),NTHRESH [WAS JAMMED- STILL ABOVE THRESHOLD
7C#W MBC 2,BSLJAM,BSLTHRESH [ WAS JAMMED-NOW BELOW THRESHOLD-CLEA
7CSG [ THRESHOLD BITS
7D#6 BS 1,BFTHRESHCL
7DRQ BRN SNEXT
7F?B NTHRESH
7FR2 # WAS JAMMED BUT STILL ABOVE THRESHOLD- UNSET JAM MARKER
7G=L # ONLY IN BSLETH AND SET B21 OF STATEWD
7GQ= BC 2,BSLJAM
7H9W BS 1,BFJAMCL
7HPG BRN SNEXT
7J96 SJAM
7JNQ LDX 4 BSJAML(2) [JAM LIMIT
7K8B SBX 4 BSFREE(2) [ - NO. OF BLOCKS LEFT
7KN2 BNG 4 SNEXT
7L7L LDX 5 BACK1(2) [DONT ADD INTO BSLETH IF FILE
7LM= SBN 5 48 [ON A SPECIAL RESIDENCE
7M6W BPZ 5 WRES
7MLG MHUNTW 1,FILE,INCUNJ
7N66 ADS 4 BSLEFT(1) [BLOCKS INTO JAM TO BSLEFT
7NKQ WRES
7P5B ADN 3 1 [INCREASE NUMBER OF UNITS STILL JAMME
7PK2 BRN SNEXT [PICK UP NEXT FPTR
7Q4L NJAM JBC SNEXT,1,BFTHRESH
7QJ= BXL 5 BSTHRESH(2),SJAM [STILL ABOVE THRESH - LEAVE IT -
7R3W [BUT FIRST CHECK IT HASNT JAMMED
7RHG # NOW BELOW THRESHOLD - UNSET THRESHOLD BIT
7S36 BC 2,BSLTHRESH
7SGQ BS 1,BFTHRESHCL
7T2B SNEXT SMO FX1
7TG2 LDN 0 SRSET [RESET LINK ADDRESS FOR PMISC
7T^L BRN NMISC
7WF= #
7WYW SOUT LDX 6 3 [NO. OF JAMMED UNITS- B0 SET IF
7XDG [FROM CC AO MESSAGE
7XY6 CALL 3 OUTMESS [JAM CLEARED ON RES . . .
7YCQ +2
7YXB +BSJAMCL
7^C2 LDEX 5 6
7^WL BNZ 5 STILJAM [J IF NOT END OF JAM
82B= MHUNTW 3,FILE,INCUNJ [PREPARE FILE/INCUNJ FOR
82TW LDN 0 8 [BSUPTHRESH MESSAGE
83*G STO 0 INREC(3)
83T6 STILJAM
84#Q BNG 6 PCCAO
84SB CALL 3 OUTMESS [RES . . . CLEARED BELOW THRESHOLD
85#2 +3
85RL +BSTHRESHCL
86?= PCCAO
86QW #SKI K6BSUNJAM>99-99
87=G TRACE CLEANCT,BSU END
87Q6 #SKI Z
889Q (
88PB TRACE 6,STILJAMD
8992 TRACE 0,CLCTEND
89NL )
8=8= IFUJSTAT 4
8=MW LDEX 5 6 [IGNORE B0 IF SET
8?7G #
8?M6 #
8#6Q BNZ 5 RETURNA
8#LB [ JAM CLEARED
8*62 IFUJSTAT 5
8*KL OUTPAR TIMENOW
8B5= CALL 3 OPMESS [OUTPUT'BACKING STORE JAM CLEARED'
8BJW +BSJCL
8C4G +3 [TO ALL CONSOLES
8CJ6 CALL 3 OPPMESS [RESIDENCE%A %B NOW ABOVE THREXHOLD
8D3Q +5
8DHB +BSUPTHRESH
8F32 LDX 2 FX2
8FGL JBC NOUPD,2,XBNONSPEC
8G2= LDX 6 AWORK2(2) [PICK UP VALUE FROM 1ST PASS
8GFW CALL 3 NEWFORM [ CHANGE VALUE IN PARAMINDEX
8G^G OPENMAS XBRK,GENERAL
8HF6 LDX 0 GMTNOW
8HYQ #SKI IFS
8JDB MASFCB 3
8JY2 #SKI IFS<1$1
8KCL LDX 3 BFILE [MASTERS FCB
8KX= STO 0 FLASTJAM(3) [CURRENT GMT
8LBW MBS 3,BFALTB,BFALTR [SET FILE BEING ALTERED BITS
8LWG #SKI IFS
8MB6 SFMAPP 3,3,XBRK
8MTQ #SKI IFS<1$1
8N*B (
8NT2 NMAPP
8P#L LDX 3 FPTR(3) [SERCH FILE CHAIN FOR F/FMAPP
8PS= LDX 4 ATYPE(3)
8Q?W BXE 4 FILEPLUSFCB,XBRK [GEOERR IF NO F/FMAPP
8QRG BXU 4 SMAPP(1),NMAPP
8R?6 )
8RQQ [ X3 NOW POINTS TO MASTERS F/FMAPP BLOCK
8S=B LDN 0 3
8SQ2 STO 0 FBCOMM(3) [REQUIRED IN UPDATING MASTER
8T9L CLOSETOP
8TP= NOUPD
8W8W MFREEW FILE,FABSNB
8WNG MFREEW FILE,FLOCNB
8X86 MFREEW FILE,FRESNUM
8XMQ MFREEW FILE,INCUNJ
8Y7B CALL 0 PMISC [TEST TO SEE IF A NEW JAM
8YM2 BRN NOMOREJAMS [END OF BSLIST
8^6L ANDN 4 #4000
8^L= BNZ 4 NUJAM [ JUMP IF JAM MARKER IN BSLETH SET
925W BRN NMISC [NO. SO LOOK AT NEST RESIDECE
92KG NOMOREJAMS
9356 LONGON #21 [WAKE UP ACTS WAITING FOR END BSJAM
93JQ [E.G.MK3 PROCESSOR
944B STARTACT RET [KICK D.T. SCHEDULER
94J2 NOSTARTACT
953L COOR3 #11 [SET WAITING FOR NEXT JAM
95H= NUJAM
962W LDX 2 FX2
96GG STOZ AWORK3(2) [SET'NEW JAM'
9726 BRN K1BSUNJAM [NEW JAM HAS OCCURRED
97FQ #
97^B XBRK GEOERR 1,BRK BSUJ [BREAKIN
98F2 #
98YL # SUBROUTINE TO SEND MESSAGE TO CONSOLE
99D= #
99XW OUTMESS
9=CG MHUNTW 1,FILE,INCUNJ
9=X6 LDX 5 IRESNUM(1) [NUMBER OF ONLINE RESIDENCES
9?BQ ADN 5 2 [INCLUDE 1 FOR REC HEDDR
9?WB [AND ANOTHER FOR A1+1 (NOT USED)
9#B2 SBX 3 FX1
9#TL SETUPCORE 5,2,FLIB,FLINC
9**= ADX 3 FX1
9*SW LDN 0 1
9B#G STO 0 A1(2) [SET UP REC HEDDR FOR FLINC
9BS6 LDN 5 0
9C?Q MHUNTW 1,FILE,FRESNUM
9CRB ADX 2 A1(2) [INCREASE POINTER FOR F/FLINC
9D?2 NRESN
9DQL LDX 0 0(3) [PICK UP FIRST PARAMETER OF CALL
9F== BZE 0 XJAMRES [JAM ON RESIDENCE
9FPW SBN 0 1
9G9G BZE 0 XTHRESHR [ABOVE THRESHOLD
9GP6 SBN 0 1
9H8Q BZE 0 XJAMCL [JAM CLEARED
9HNB SBN 0 1
9J82 BZE 0 XTHRESHCL [CLEARED BELOW THRESHOLD
9JML BRN XJAMRESCCAO [CC AO MESSAGE WITH X0=1
9K7= TRES
9KLW LDX 4 FRNUM(1) [INSERT RESNUM INTO F/FLINC
9L6G STO 4 A1+1(2)
9LL6 MHUNTW 2,FLIB,FLINC
9M5Q LDN 0 1
9MKB ADS 0 A1(2) [INCREASE POINTER IN F/FLINC
9N52 ADX 2 A1(2) [AND UPDATE X2
9NJL NSUIT
9P4= MHUNTW 1,FILE,FRESNUM
9PHW ADN 5 4
9Q3G BXE 5 FRREC(1),RESEN [J IF END OF SEARCH
9QH6 ADX 1 5 [UPDATE F/FRESNUM POINTER BY 4
9R2Q BRN NRESN [LOOK AT NEXT RES NUMBER
9RGB #
9S22 # FINALLY OUTPUT MESSAGE
9SFL #
9S^= RESEN
9TDW MHUNTW 2,FLIB,FLINC
9TYG LDX 5 A1(2) [CHECK IF ANY VALUES TO O/P
9WD6 SBN 5 1
9WXQ BZE 5 NOMESS [DONT BOTHER WITH MESSAGE IF NOT
9XCB LDX 4 1(3) [PICK UP UNIVERSAL IDENTIFIER
9XX2 SBX 3 FX1
9YBL OUTINCS [SET UP OUTPARAM FOR O/P
9YW= SMO FX2
9^*W STO 7 AWORK1 [PRESERVE STATS SWITCH
9^TG LDN 7 0 [MESSAGE TO CENTRAL CONSOLE
=2*6 INFORMX 7,4,1
=2SQ ADX 3 FX1 [RESTORE CALL ADDRESS
=3#B LDX 7 AWORK1(2) [RESTRORE STATS SWITCH
=3S2 NOMESS
=4?L LDX 4 0(3)
=4R= BZE 4 PDEAL [CHECK IF NEED TO DEALLOCATE
=5=W SBN 4 4
=5QG BZE 4 SRES [J IF COME FROM CCAO MESSAGE
=6=6 NORMAL
=6PQ MFREEW FLIB,FLINC
=79B EXIT 3 2 [NORMAL EXIT
=7P2 PDEAL BPZ 6 NORMAL [NO NEED TO DEALLOCATE
=88L [ - EXIT NORMALLY
=8N= SPECONLY
=97W MFREEW FLIB,FLINC
=9MG EXIT 3 3
==76 SRES LDEX 0 6 [DONT NEED B0
==LQ BXE 0 5,SPECONLY [ONLY SPEC RES JAMMED
=?6B BRN NORMAL [NORMAL EXIT DO UNJAM PASS
=?L2 #
=#5L #
=#K= # SETS B20 - JAM ON RESIDENCE. . .
=*4W [
=*JG [
=B46 XJAMRES [JAM ON RESIDENCES
=BHQ JBC NSUIT,1,BFJAM [ IF NOT JAMMED LOOK AT NEXT RESIDENC
=C3B LDX 4 FRNUM(1) [ RESIDENCE NUMBER
=CH2 SBN 4 48
=D2L BNG 4 NSPECJ [ JUMP IF NOT SPEC RES
=DG= LDCT 4 #400 [ IF SPEC RES SET BIT 0 IN X2
=D^W ORS 4 6
=FFG NSPECJ
=F^6 JBSS NSUIT,1,BFJAMOP [ IF MESSAGE ALREADY OUTPUT DONT REPE
=GDQ BRN TRES [ INSERT RES NO
=GYB [
=HD2 [
=HXL XTHRESHR [ ABOVE THRESHOLD ON RES
=JC= JBC NSUIT,1,BFTHRESH [ DONT OUTPUT MESSAGE IN NOT ABOVE TH
=JWW JBSS NSUIT,1,BFTHRESHOP [ OR IF MESSAGE ALREADY OUTPUT
=KBG BRN TRES
=KW6 [
=L*Q [
=LTB XJAMCL [ JAM CLEARED ON RESIDENCE
=M*2 JBC NSUIT,1,BFJAM [ JUMP IF IT WASNT JAMMED
=MSL JMBAC NSUIT,1,BFJAMCL,BFTHRESHCL [
=N#= MBC 1,BFJAMOP,BFTHRESHOP [ CLEAR MESSAGE OUTPUT BITS
=NRW BRN TRES
=P?G [
=PR6 [
=Q=Q XTHRESHCL
=QQB JMBAC NSUIT,1,BFJAM,BFTHRESH,BFTHRESHCL
=R=2 JBS THRESHB,1,BFTHRESHCL
=RPL LDEX 4 6
=S9= BNZ 4 NSUIT [
=SNW LDX 4 FRNUM(1) [
=T8G CALL 1 NUMINC [ INSERT RES NO IN INCUNJ
=TN6 MHUNTW 2,FLIB,FLINC
=W7Q ADX 2 A1(2) [ RESET POINTER TO FLIB FLINC
=WMB BRN NSUIT
=X72 THRESHB
=XLL MBC 1,BFJAMOP,BFTHRESHOP
=Y6= BRN TRES
=YKW [
=^5G [
=^K6 XJAMRESCCAO
?24Q JBC NSUIT,1,BFJAM
?2JB LDX 4 FRNUM(1)
?342 SBN 4 48
?3HL BPZ 4 TRES
?43= BRN NSUIT
?4GW [
?52G [
?5G6 OPMESS
?5^Q LDX 1 0(3) [ADDRESS OF MESSAGE
?6FB LDX 5 1(3) [ROUTING PARAMETER
?6^2 SBX 3 FX1
?7DL INFORMX 5,1,1
?7Y= ADX 3 FX1
?8CW EXIT 3 2
?8XG OPPMESS
?9C6 MHUNTW 2,FILE,INCUNJ
?9WQ LDN 4 INREC(2) [FIND OUT THE NUMBER OF RESIDENCES
?=BB ADX 4 INREC(2) [STILL ABOVE THRESHOLD
?=W2 SBN 4 INCUNR(2)
??*L SBX 3 FX1
??T= SETUPCORE 4,2,FLIB,FLINC [AND SET UP FLINC FOR THEM
?##W ADX 3 FX1
?#SG SBN 4 1
?*#6 STO 4 A1(2) [REMEMBER A1+1 IN FLINC
?*RQ SBN 4 1
?B?B BZE 4 NORMAL
?BR2 ADN 2 A1+2
?C=L MHUNTW 1,FILE,INCUNJ
?CQ= ADN 1 INCUNR+1
?D9W SMO 4
?DPG MOVE 1 0
?F96 BRN RESEN
?FNQ #
?G8B # NUMINC IS USED AT THE START OF THE PASS TO INSERT
?GN2 # UNRELIABLE INCREMENT NUMBERS INTO FILE/INCUNJ BLOCK
?H7L # ALSO USED AT END OF JAM TO HOLD NUMBERS OF ANY
?HM= # RESIDENCES STILL ABOVE THRSHOLD
?J6W #
?JLG NUMINC
?K66 SBX 3 FX1
?KKQ SBX 1 FX1
?L5B LDX 2 FX2
?LK2 STO 3 ACOMMUNE2(2)
?M4L STO 1 ACOMMUNE1(2) [TEMP STORAGE FOR LINK ADDRESS
?MJ= MHUNTW 3,FILE,INCUNJ
?N3W SMO INREC(3) [STORE NUMBER IN
?NHG STO 4 INREC-1(3) [NEXT WORD OF INCUNJ
?P36 LDN 0 1
?PGQ ADS 0 INREC(3) [INCREASE INCUNJ REC HEDDR.
?Q2B LDX 4 INREC(3)
?QG2 BXL 4 ALOGLEN(3),NUFF
?Q^L ALTLEN 3,4,FILE,INCUNJ [INCREASE INCUNJ LENGTH
?RF= NUFF LDX 1 ACOMMUNE1(2) [RESTORE LINKS IN X3 & X1
?RYW
?SDG LDX 3 ACOMMUNE2(2)
?SY6 ADX 3 FX1
?TCQ ADX 1 FX1
?TXB EXIT 1 0
?WC2 #
?WWL # S/R PICKS UP NEXT BSLIST BLOCK
?XB= # EXIT 0 0 IF END OF CHAIN
?XTW # EXIT 0 1 IF SUITABLE RESIDENCE FOUND
?Y*G #
?YT6 PMISC LDN 2 BMISC
?^#Q LDX 6 BSAB [HAMTYPE OF BSLIST BLOCK
?^SB NMISC LDX 2 FPTR(2) [NEXT BLOCK IN CHAIN
#2#2 BXE 2 CXMI,NOUT [END OF CKAIN?
#2RL BXU 6 ATYPE(2),NMISC [NOT A BSLIST BLOCK
#3?= LDX 4 BSLETH(2)
#3QW BNG 4 NMISC [J IF SWAP FILE
#4=G EXIT 0 1
#4Q6 NOUT EXIT 0 0
#59Q #
#5PB # S/R TO ALTER VALUE OF FORMULA
#692 # IN CORE AND ON B.S. IF GMT NOT ZERO
#6NL # OR JUST IN CORE IF ZERO
#78= #
#7MW NEWFORM
#87G SMO FX1
#8M6 LDN 4 PARALT
#96Q SBX 3 FX1
#9LB INSTPARA XBRK,4,6,OVERL
#=62 NWLIM
#=KL ADX 3 FX1
#?5= EXIT 3 0
#?JW OVERL
##4G OUTPACK 6,1,NUMA [PICK UP VALUE OF FORMULA
##J6 INFORM 1,BSLIMIT,1
#*3Q BRN NWLIM
#*HB # S/R FOR PARAMETERS FOR FILE FORMULA MESSAGE
#B32 PACKMESS
#BGL SBX 7 FX1
#C2= OUTPACKX 4,5,6
#CFW ADX 7 FX1
#C^G EXIT 7 0
#DF6 MENDAREA 20,K99BSUNJAM
#DYQ #END
^^^^ ...042113120002