SCEX866
(George Source)
Macros used: ACROSS, ALTLEN, CLOSEST, COMBRKIN, DOWN, EXMESS, EXOFILE, FINDCORE, FREECORE, GEOERR, GETCORE, MENDAREA, MFINDEXOF, MFINDSU, MFREE, MHUNTW, MONOUT, MOVLONG, MUSEST, OPENST, OUTPARAM, PROGBRKIN, READST, RELST, SEGENTRY, SETNCORE, STEPBACK, TESTREP, TESTREPNOT, TRACE, TWAIT, UNLOCKSU, USEST
- SCEX866.txt
22FL ...#SEG SCEX70 [FRANK BLUNDELL 22^= #LIS K0SCEX 23DW 8HSCEX 23YG # THIS SEGMENT DOES EXTEND AND OPEN SCRATCH FILE 24D6 # IT IS ENTERED FROM SEGMENTS EXTEND AND SCRATCH,IN CPA, 24XQ # WITH PERI OR COMMAND CHECKED AND /GEXD BLOCK SET UP 25CB # 25X2 # 26BL SEGENTRY K1SCEX 26W= MHUNTW 3,EWDAS,GEXD 27*W #SKI K6SCEX>99-99 27TG TRACE BREQ(3),SCEX 28*6 #SKI K6SCEX>299-299 28SQ ( 29#B TRACE EMARK(3),SCEXMARK 29S2 TRACE CEFN(3),SCEXCEFN 2=?L ) 2=R= LDN 0 1 2?=W STO 0 BAVAIL(3) [SET DEFAULT 'LARGEST AREA' 2?QG LDX 0 EMARK(3) 2#=6 BNG 0 SCR [J IF SCRATCH FILE 2#PQ # S-TRUSTED CHECK 2*9B RFIP 2*P2 MFINDEXOF 1,CEFN(3) [FIND OUR EXOF 2B8L LDCT 4 4 2BN= ANDX 4 EXMARK(1) 2C7W SLL 4 6 [GET S-TRUSTED MARKER IN B0 2CMG ORX 4 ALOGLEN(1) [ 2D76 CALL 7 XHOME [GET HOME UNIT ONLINE 2DLQ LDXC 4 4 2F6B BCC REX [J IF NOT S-TRUSTED,ELSE REREAD FIP 2FL2 GETCORE 4,1 2G5L FINDCORE 2 2GK= MHUNTW 3,EWDAS,GEXD 2H4W MFINDEXOF 1,CEFN(3) 2HJG LDN 5 ATYPE(1) 2J46 LDN 6 ATYPE(2) 2JHQ ... ADN 4 A1-ATYPE [COPY OUR EXOF 2K3B ... MOVLONG 5,6,4 [INTO ACTIVITY CHAIN 2KH2 LDN 0 BOPEN+BSPEC+BSERL+BLOCK 2L2L STO 0 EXMARK(2) [SET MARKER,OPEN,GEN/SER SPECIFIEDETC 2LG= LDX 4 EMARK(3) [SAVE EMARK AND 2L^W LDX 5 HMUNIT(3) 2MFG STOZ EMARK(3) [CLEAR FOR 2M^6 DOWN EXOPEN,1 [EXOPEN - FIND FILE 2NDQ TESTREP EXFAIL,XN9 [J IF NOT FOUND OR ERROR 2NYB MHUNTW 3,EWDAS,GEXD 2PD2 MHUNTW 1,EWDAS,EXOF 2PXL LDX 5 HOME(1) [ELSE 2QC= FREECORE 1 [FREE EXOF IN ACTIVITY CHAIN 2QWW MFINDEXOF 1,CEFN(3) 2RBG STO 5 HOME(1) [RESET HOME IN OUR EXOF 2RW6 STO 4 EMARK(3) [RESTORE EMARK 2S*Q REX 2STB MHUNTW 3,EWDAS,GEXD 2T*2 MFINDSU 1,HMUNIT(3) [FIND ITS ASTUC 2TSL LDX 7 CEXTEND(1) 2W#= ADN 7 1 2WRW STO 7 CEXTEND(1) [ADD 1 TO COUNT OF EXTENDS 2X?G OPENST HMUNIT(3) [OPEN HOME UNIT FOR TRANSFERS 2XR6 LDN 4 140 2Y=Q XC2 READST 4,XC1 [READ HEAD OF VACANT CHAIN/NEXT CELL 2YQB TESTREPNOT OK,XN11 [J IF FAIL 2^=2 LDX 1 ECOR(3) 2^PL XC1 LDX 4 0(1) [POINTER TO NEXT CELL 329= BZE 4 XN10 [J IF ZERO,SCA FULL 32NW BCT 7 XC2 [ELSE REDUCE COUNT AND GET NEXT 338G LDX 7 HMUNIT(3) [OK,[COUNT OF EXTENDS] VACANT CELLS 33N6 CLOSEST XC3 [CLOSE DOWN HOME UNIT 347Q #SKI K6SCEX>399-399 34MB ( 3572 TESTREP OK,XC3 35LL XC4 GEOERR 1,CLFAIL? 366= ) 36KW XC3 UNLOCKSU 7 [UNLOCK,BUT DONT RELEASE 375G # 37K6 MHUNTW 3,EWDAS,GEXD [AND 384Q BRN XALT [GO TO ADD AREA 38JB SCR SLL 0 3 3942 BPZ 0 XALT [J UNLESS OPEN 39HL LDX 6 BKSIZE(3) 3=3= SETNCORE FDCELLS-A1+6,1,EWDAS,EXOF [SET UP EXOF FOR NEW SCRFILE 3=GW STOZ A1(1) 3?2G LDN 4 A1(1) 3?G6 LDN 5 A1+1(1) 3?^Q MOVE 4 FDCELLS-A1+5 [ZEROISE 3#FB STOZ BACK1(1) 3#^2 LDN 7 1 3*DL STO 7 COPEN(1) [COUNT OF OPENS=1 3*Y= LDCT 0 #600 3BCW STO 0 EXMARK(1) [MARKER=SCRATCH,OPEN FOR WRITING 3BXG LDCT 0 #200 [IC=1 3CC6 ADN 0 1 [AREAS=1 3CWQ STO 0 FIP+5(1) 3DBB STO 6 FIP+8(1) [BUCKET SIZE 3DW2 STO 7 FBUK(1) [FBUK=1 3F*L LDX 6 1 3FT= EXOFILE 6 [CHAIN IN NEW EXOF 3G#W LDX 1 6 3GSG #SKI K6SCEX>299-299 3H#6 TRACE BACK2(1),SCR EFN 3HRQ LDX 6 BACK2(1) 3J?B MHUNTW 3,EWDAS,GEXD 3JR2 STO 6 CEFN(3) [SAVE EXOFILE NUMBER 3K=L BRN SUNIT [GO TO GET AREA UNIT 3KQ= # 3L9W XALT 3LPG MFINDEXOF 1,CEFN(3) [FIND OUR EXOF 3M96 LDEX 4 FIP+5(1) 3M*3 ... STO 4 5 3MDY ... SBN 5 511 3MJT ... BPZ 5 XN16 3MNQ SLL 4 1 3N8B LDX 5 4 3NN2 SLL 4 1 3P7L ADX 4 5 [AREAS*6 3PM= LDX 5 CEFN(3) 3Q6W LDX 3 4 3QLG ADN 4 FDCELLS-A1+5 3R66 TXL 4 ALOGLEN(1) 3RKQ BCS XAOK [J IF LONG ENOUGH FOR ANOTHER AREA 3S5B #SKI K6SCEX>299-299 3SK2 ( 3T4L SBN 4 6 3TJ= TXL 4 ALOGLEN(1) 3W3W BCS XALT1 3WHG GEOERR 1,EXOFLEN? 3X36 XALT1 ADN 4 6 3XGQ ) 3Y2B ADN 4 1 3YG2 LDX 6 1 3Y^L ALTLEN 6,4 [ELSE ALTLEN 3^F= MFINDEXOF 1,5 3^YW XAOK LDN 0 1 42DG ADS 0 FIP+5(1) [ADD 1 TO COUNT OF AREAS 42Y6 ADN 3 FDCELLS(1) 43CQ LDN 4 1(3) 43XB STOZ 0(3) 44C2 MOVE 3 5 [ZEROISE NEW CELL 44WL SUNIT 45B= ACROSS NEXTUNIT,1 [GO TO GET AREA UNIT 45TW # 46*G # 46T6 # 47#Q # S/R TO GET HOME UNIT ONLINE AND LOCKED 47SB # 48#2 XHOME 48RL SBX 7 FX1 49?= MHUNTW 3,EWDAS,GEXD 49QW LDX 5 HMUNIT(3) [GET SUSN 4==G LDCT 6 #10 4=Q6 ANDX 6 EMARK(3) [AND MODE *4000 MARKER 4?6L ...#UNS IPBD 4?H6 ...XH5A USEST 5,XH1,,XH5,XH4A [GET UNIT LOCKED IF ONLINE 4?XL ...#UNS IPBD 4##6 ...#SKI 4#NL USEST 5,XH1,,XH5,XH4 [IS UNIT ONLINE,LOCK IF SO 4*8= XH2 ADX 7 FX1 [EXIT 4*MW EXIT 7 0 4B7G XH1 BZE 6 XH3 [NOT ONLINE,J UNLESS SUPRESS LOAD 4BM6 LDCT 7 #400 4C6Q ORN 7 6 [SET REPLY 6 4CLB BRN XN7 [AND END 4D2W ...#UNS IPBD 4DCB ...XH3 MUSEST 5,XH4,XH5,,XH4A [DEMAND UNIT 4DRW ...#UNS IPBD 4F8B ...#SKI 4FJW XH3 MUSEST 5,XH4,XH5,,XH4 [GET UNIT ONLINE 4G4G BRN XH2 [EXIT IF GOT 4G64 ...#UNS IPBD 4G7L ...( 4G98 ...# 4G=Q ...# IPB DOWN 4G## ...# 4G*W ...XH4A TWAIT 5,XH5 [WAIT FOR IPB 4GCD ... BRN XH5A [TRY AGAIN 4GF2 ...# 4GGJ ...) 4GJ6 XH4 LDCT 7 #440 [REPLY FAIL IF CANTDO 4H3Q BRN XN7 4HHB XH5 MHUNTW 3,EWDAS,GEXD [IF BREAKIN 4J32 LDCT 6 #100 4JGL ANDX 6 EMARK(3) 4K2= FREECORE 3 [FREE GEXD 4KFW BZE 6 XH6 [J PERI 4K^G COMBRKIN [AND 4LF6 XH6 STEPBACK [ACKNOWLEDGE 4LYQ PROGBRKIN [BREAKIN 4MDB # 4MY2 # 4NCL # 4NX= # FAIL TO GET HOME UNIT,REPLY IN X7 4PBW XN7 MHUNTW 3,EWDAS,GEXD 4PWG LDX 4 CNR(3) 4QB6 LDX 5 EXCHNL(3) 4QTQ FREECORE 3 [FREE GEXD 4R*B XN13 EXMESS ALL [MESSAGES 4RT2 ACROSS NEXTUNIT,4 [SET REPLIES AND END 4S#L # FAIL IN REREADING FIP (S-TRUSTED) 4SS= XN9 MFREE EWDAS,EXOF [FREE COPY OF EXOF IN ACTIVITY CHAIN 4T?W UNLOCKSU 5 [UNLOCK AND 4TRG RELST 5 [RELEASE HOME UNIT 4W?6 LDCT 7 #440 [SET FAIL REPLY 4WQQ BRN XN7 [AND END 4X=B # 4XQ2 XN10 LDCT 7 #400 [SET REPLY SCA FULL 4Y9L MHUNTW 3,EWDAS,GEXD 4YP= CLOSEST XN12 [CLOSE DOWN 4^8W #SKI K6SCEX>399-399 4^NG TESTREPNOT OK,XC4 5286 BRN XN12 [AND GO TO END (EVEN IF FAIL) 52MQ # 537B XN11 LDCT 7 #440 [SET FAIL REPLY 53M2 XN12 MHUNTW 3,EWDAS,GEXD 546L MFINDSU 1,HMUNIT(3) [FIND ASTUC FOR HOME UNIT 54L= LDN 0 1 555W SBS 0 CEXTEND(1) [SUBTRACT 1 FROM COUNT OF EXTENDS 55KG #SKI K6SCEX>399-399 5656 ( 56JQ LDX 0 CEXTEND(1) 574B BNG 0 XC4 57J2 ) 583L LDX 4 CNR(3) 58H= LDX 5 EXCHNL(3) 592W LDX 6 HMUNIT(3) 59GG FREECORE 3 [FREE GEXD 5=26 UNLOCKSU 6 [UNLOCK 5=FQ RELST 6 [AND RELEASE HOME UNIT 5=^B BRN XN13 [AND END 5?98 ...# ROUTINE TO OUTPUT MESSAGE + ERROR CODE FOR > 511 FILE AREAS 5?F2 5?YL # 5#D= # 5#DT ...REP1 #40000003 5#FD ...XN16 MHUNTW 3,EWDAS,GEXD 5#G3 ... LDX 4 CNR(3) 5#GL ... LDX 5 EXCHNL(3) 5#H9 ... LDX 0 EMARK(3) 5#HS ... BNG 0 XN18 5#JC ... LDX 6 HMUNIT(3) 5#K2 ... MFINDSU 1,6 5#KK ... LDN 0 1 5#L8 ... SBS 0 CEXTEND(1) 5#LR ... RELST 6 5#MB ... LDX 2 FX2 5#M^ ... MFINDEXOF 1,CEFN(3) 5#NJ ... LDN 7 FIP(1) 5#P7 ... LDN 0 ACOMMUNE1(2) 5#PQ ... MOVE 7 3 5#Q* ... LDN 7 12 5#QY ... OUTPARAM 7,ACOMMUNE1 5#RH ... MONOUT EWTMFI 5#RS ... MHUNTW 3,EWDAS,GEXD 5#S6 ... FREECORE 3 5#SP ...XN17 LDX 7 REP1(1) 5#T# ... BRN XN13 5#TX ...XN18 FREECORE 3 5#WG ... MONOUT EWTMSC 5#X5 ... BRN XN17 5#XW MENDAREA 40,K99SCEX 5*CG #END ^^^^ ...01375113000300000000