{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: ADDICT865)}} ====== ADDICT865 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BI|BI]], [[george:macro:BMINDEX|BMINDEX]], [[george:macro:BMSTATS|BMSTATS]], [[george:macro:BSJ|BSJ]], [[george:macro:BSOFF|BSOFF]], [[george:macro:BUDGERASE|BUDGERASE]], [[george:macro:BWNZ|BWNZ]], [[george:macro:BWZ|BWZ]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSEDIR|CLOSEDIR]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DELETE|DELETE]], [[george:macro:DOWN|DOWN]], [[george:macro:FILEMOVE|FILEMOVE]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETACT|GETACT]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:HUNTMISB|HUNTMISB]], [[george:macro:INFORM|INFORM]], [[george:macro:INSERT|INSERT]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:LINK|LINK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LOCK|LOCK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:POP|POP]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:READDICT|READDICT]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STEPREWRITE|STEPREWRITE]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TRACEIF|TRACEIF]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:VOP|VOP]] 22FL ... SEG ADDICT,864,EDWARD MOON,BMAP 22^= [ 23DW SEGENTRY K1ADDICT,START 23JR ... SEGENTRY K2ADDICT,Z2ADDICT 23NN ...#OPT BMTRACE=0 23R? ...SERLINK 23TW ... LINK ADDICT,2 23YG NDICT +10 24XQ NDLOC 12HDICTIONARY 26BL 4HB1 26N2 ...NSER +16 26^B ... 12HMASTER 27=Q ... 12HSYSTEM 27J6 ... 1,1,4HC1 27TG 12HSERIAL 28*6 1,1,4HB1 28*D ...[ 28*Q ...[**********************************************: 28B4 ...[ ENTRY FOR 'NEWDICTENT' RESTORE TIME MACRO 28BB ...[ PUTS NEW PASSWORD HERE. 28BN ...[ 28C4 ... SEGENTRY K50ADDICT 28F2 ...PASSWORD 28GY ... 12H 28JW ...TYPEFWB 28LS ...#HAL +FILE+FWB,0 28NQ ...NINFUSER 28QN ... 24H : PLEASE INFORM USER 28SQ RTIME 8HREALTIME 29#B SPACEMT 8HSPACEMT 29S2 WORDS +GWORDS 2=?L MER +GERASE 2=CH ...NGCLASS +GCLASS 2=HD ...NGTOR +GTOR 2=L3 ...NGWORDS +GWORDS 2=NL ...NFUSMASK #3777777 2=R= OUTPACK 2?=W ... SBX 7 FX1 2?QG ... OUTPACKX 2,4,3 2#=6 ADX 7 1 2#PQ EXIT 7 0 2#TM ...STEPREWRITE 2#^J ... STEPREWRITE 2*5F ... EXIT 7 0 2*9B SUB 2*P2 MHUNTW 2,FI,FUTILITY 2B8L EXIT 1 0 2BN= [ 2C7W START [ENTRY ACROSS FROM BMAPONE 2CMG ...[ 2D42 ... LDN 0 4 2DDG ... BMSTATS 0 2DT2 ... FILEMOVE 2,0 [ DICT,MAST,SER 2DT6 ...[ 2DT= ...[********************************************************** 2DTB ...[ PROCESSING OF SERIAL CAN BE DONE AUTONOMOUSLY IF NO 2DTG ...[ P. R. HAS BEEN DONE (I.E. IFTHER IS NO POSSIBILITY OF UPDATING 2DTL ...[ SERIAL'S ENTRY IN :SYSTEMBECAUSE IT WAS RESTORED). 2DTQ ...[ THE ONLY RESTRICTION IS THAT THE SLAVE CAN'T BE 2DTW ...[ ALLOWED TO FINISH UNTIL THE 'LEXICON' HAS BEEN CREATED 2DW2 ...[ AS OPENING 'INCINDEX' IN INCEND WILL NEED IT. 2DW6 ...[ 2DWF ...SETFLAG 2DXY ... POP SETFLAG,2,FTABWAIT [ SET SEMAPHOR FOR SERIAL ACT. 2D^C ... LDX 1 BFILE [ NOT TO FINISH 2F2W ... JBS NONAUTO,1,BFPARTRES [ NO AUTO ACT. IF P.R. DONE 2F3K ... BWNZ GINCTSN,NONAUTO [ JUMP IF GENERAL RESTORE 2F4* ... GETACT BSA,AUTOMAP 2F5S ... LDX 3 BPTR(2) 2F65 ... LDCT 0 #200 2F6B ... ORS 0 CLONG1(3) 2F6M ...# 2F6Y ...# 2F7? ... LINKSET 3,SERLINK(1) 2F8Q ... LOCK 3 2F=9 ... CHANGEFI 3,,-2 [ SERIAL TO SLAVE 2F?N ... LDX 3 BPTR(2) 2F*7 ... UNLOCK 3 2FBL ... LDX 2 3 2FD5 ... FPUT 2FFJ ... FILEMOVE -1,0 [ CLOSE INCINDEX AS IT WON'T BE 2FH3 ... CLOSETOP [ WANTED FOR P.R. UPDATES 2FJG ...NONAUTO 2FL2 ... BWZ GINCTSN,XREC 2FR8 ... REWIND 1 2HJG NEXTDIC 2J46 ... STEP 1 [ON MASTER 2JHQ ... BZE 3 XBR 2K3B LDX 0 ERESN(3) 2KH2 BNZ 0 NEXTDIC [IF NOT A NAME RECORD 2L2L TESTNAMX 3,NDLOC(1),ELOC1N(3),NEXTDIC 2MFG LDN 0 INDEXDICT 2M^6 BMINDEX 0 2NDQ TESTRPN2 OK,XINDEX 2NR6 ...XREC 2NYB CLOSEDIR [MASTER 2PXL STOZ AWORK3(2) 2Q4S ... DOWN CREALEX,2 2Q=2 ... FILEMOVE 1,0 2QC= XREC1 2QWW STEP 2RBG BZE 3 XBR 2RW6 LDX 0 CNEWZ-A1(3) 2S*Q SBN 0 1 2STB BNZ 0 XBR 2SX# ... LDX 0 IZLIST+IZLINE-A1(3) 2S^= ... SBN 0 5 2T38 ... BZE 0 NEWUSEROK [ J. IF BIT PATTERN O.K. 2T56 ... CALL 7 STEPREWRITE 2T74 ... LDN 0 5 2T92 ... STO 0 IZLIST+IZLINE-A1(3) [ ELSE CORRECT IT 2T=Y ...NEWUSEROK 2T*2 LDX 4 IZCOUNT-A1(3) [NO. OF BUDGET TYPES 2TSL LDX 5 RTIME(1) 2W#= LDX 6 RTIME+1(1) 2WRW LDX 7 3 [SAVE X3 2X?G RB 2XR6 TXU 5 IZLIST+1-A1(3) 2Y=Q TXU 6 IZLIST+2-A1(3) 2YQB BCC RBX [IF REALTIME RECORD FOUND 2^=2 ADN 3 IZLINE [SIZE OF RECORD 2^PL BCT 4 RB [TRY NEXT TYPE 329= GEOERR 1,NORLTIME [MUST BE THERE 32NW RBX 338G LDX 0 IZLIST-A1(3) 33N6 STO 0 AWORK2(2) 347Q LDX 3 7 [RESTORE X3 34MB LDX 4 IZCOUNT-A1(3) 3572 LDX 5 SPACEMT(1) 35LL LDX 6 SPACEMT+1(1) 366= RMT 36KW TXU 5 IZLIST+1-A1(3) 375G TXU 6 IZLIST+2-A1(3) 37K6 BCC RMTX 384Q ADN 3 IZLINE 38JB BCT 4 RMT 3942 GEOERR 1,NOSPACMT 39HL RMTX 3=3= LDX 0 IZLIST-A1(3) 3=GW STO 0 AWORK1(2) 3?G6 SETNCORE 41,3,FI,FUTILITY [FOR BUDGERASE TABULATION 3?^Q STOZ A1(3) [NUMBER OF TAB RECORDS 3#FB ... STOZ AWORK4(2) [ADDICTENT BLOCK NUM COUNT 3#^2 XF1 3*DL STEP 3*Y= ... BZE 3 NDDICT [END OF DICTIONARY 3BCW LDX 0 CNEWZN(3) 3BXG SBN 0 1 3CC6 BZE 0 OKDICTENT 3CWQ SBN 0 1 3DBB BZE 0 XF1 [IF LIST RECORD 3DW2 BRN XDICTBENT 3DYK ...NDDICT 3F38 ... HUNTMISB 1,FILE,FWB [ END OF DICTIONARY BUT CHECK 3F5R ... BPZ 1 NEWENTRY [ IF ANY INSERTS AT END ! 3F8B ... LDX 6 AWORK4(2) 3F=^ ... BRN XF2 3F*L OKDICTENT 3FT= HUNTMISB 1,FI,FUSER 3G#W SMO AWORK3(2) 3GSG ... LDX 0 A1+5(1) 3H#6 ... BNG 0 MARKED 3HRQ ... CALL 7 STEPREWRITE 3J?B ... LDCT 7 #20 3JR2 ORS 7 CPSEUN(3) [MARK DICTIONARY EDTRY FOR DELETION 3K=L LDCT 0 #200 3KQ= ANDX 0 CPSEU-A1(3) 3L9W ... BNZ 0 QDELPSEUD [J IF TEMP 3LPG OUTBLOCN 8 3M96 ... READAGAIN 3MNQ ... MHUNTW 2,FILE,FRB 3N8B ... NAME 2,FILE,ADICTENT 3NN2 ... ADN 2 CUSER 3P7L ... LDN 4 3 3PM= ... LDN 3 JPDUSERNAME 3Q6W ... CALL 7 OUTPACK 3QLG ... MHUNTW 2,FILE,ADICTENT 3R66 ... ADN 2 CSUPUSER 3RKQ CALL 7 OUTPACK 3S5B MONOUT BMNODIR 3SK2 MHUNTW 1,FILE,ADICTENT 3T4L LDX 0 CPSEU(1) 3TJ= ... BPZ 0 QDELN [ 3W3W ... FREECORE 1 [ ONLY DELETE DICTIONARY 3WHG ...QDELPSEUD [ ENTRIES HERE IF THEY ARE 3X36 ... DELETE [ PSEUDO - PROPER USERS NEED 3XGQ ... BRN UPFUSERPOS [ BUDGETS TO BE RETURNED LATER 3Y2B ...QDELN [ 3^B6 ... LDX 6 AWORK4(2) 3^JB ... ADN 6 1 [INCREMENT BLOCK NUMBER 3^QL ... STO 6 AWORK4(2) 3^YW STO 6 CLOCN+1(1) [INTO ADDICTENT 42DG MHUNTW 3,FI,FUTILITY 42Y6 LDX 4 A1(3) 43CQ SLL 4 2 [FOR USED PART OF FUTILITY 43XB LDX 5 ALOGLEN(3) 44C2 SBN 5 1 44WL BXL 4 5,QDEL2 [IF FUT BLOCK HAS ROOM 45B= ADN 5 41 [NO,LENGHTHEN FUTILITY 45TW ALTLENG 3,5,SUB [ -BLOCK BY 41 WORDS 46*G MHUNTW 1,FILE,ADICTENT 46T6 QDEL2 47#Q MHUNTW 3,FI,FUTILITY 47SB LDN 5 1 48#2 ADS 5 A1(3) 48RL ADN 3 A1+1 49?= ADX 3 4 49QW LDX 5 CUSER(1) [- - - - - - - - 4==G STO 5 0(3) 4=Q6 LDX 5 CUSER+1(1) [FILLING IN FUT/TAB 4?9Q STO 5 1(3) [ ENTRY OF USERNAME 4?PB LDX 5 CUSER+2(1) [ +ADDICTENT BLOCK NUMBER 4#92 STO 5 2(3) 4#NL STO 6 3(3) [- - - - - - - - - - 4*8= 4*MW BRN UPFUSERPOS 4*MX ...[ 4*MY ...[*************************************************** NEWENTRY 4*M^ ...[ THERE IS NO DICTIONARY ENTRY FOR THIS USER - ONE MUST BE 4*N2 ...[ INSERTED. THERE SHOULD BE A FWB IN THE MISC. CHAIN 4*N3 ...[ CONTAINING A SKELETON ENTRY SET UP BY BMAPDIR. 4*N4 ...[ 4*N? ...NEWENTRY 4*NN ... HUNTMISB 3,FI,FUSER 4*P5 ... SMO AWORK3(2) 4*PG ... LDN 4 A1+1(3) 4*PX ... LDN 5 ACOMMUNE4(2) 4*Q# ... MOVE 4 3 [ REQUIRED USERNAME 4*QP ... LDX 3 BMISC+1 4*R6 ... LDX 1 FX1 4*R8 ...[ 4*R= ...[****************************************************** 4*R# ...[ FIRST FIND THE RIGHT FWB 4*RB ...[ 4*RH ...NEXTMISB 4*RY ... LDX 0 ATYPE(3) 4*S* ... BXU 0 TYPEFWB(1),NXBLK 4*SQ ... TESTNAMX 3,ACOMMUNE4(2),CUSER(3),NXBLK 4*T7 ... CHAIN 3,2 4*TJ ... BRN NEWINSERT [ CHAIN FWB IN ACT.CHAIN 4*T^ ...NXBLK 4*W6 ... LDX 3 BPTR(3) [ PTR. TO NEXT BLOCK 4*W? ... BXU 3 CXMI,NEXTMISB [ J. IF NOT BACK AT BMISC 4*WD ... BRN XBR [ ELSE NOT FOUND - GEOERR 4*WK ...[ 4*WQ ...[*********************************************************** 4*WX ...[ FWB FOUND - IF ITS PSEUDO CAN INSERT IT AS IT IS. IF 4*X4 ...[ PROPER USER WHO OWNS TAPES WE MUST PUT IN 'SPACEMT' 4*X9 ...[ BUDGET RECORD.ALSO FOR PROPER USERS CHECK PASSWORD + SECURITY 4*XB ...[ 4*XK ...NEWINSERT 4*Y2 ... LDX 0 CPSEU(3) 4*YC ... BNG 0 SUDOINS 4*YS ... BZE 6 OKINSERT 4*^9 ... LDN 0 1 4*^L ... ADS 0 CNUMQ(3) [ NUMBER OF QUANTIT. BUDGETS 4B23 ... STOZ CQUANT+1(3) 4B2D ... STO 6 CQUANT+2(3) [ NO. OF TAPES OWNED 4B2T ... LDN 0 5 4B3= ... ADS 0 A1(3) 4B3M ... LDX 0 AWORK1(2) 4B44 ... STO 0 CQUANT(3) [ 'SPACEMT' BUDGET TYPE 4B4F ...OKINSERT 4B4G ...[ 4B4H ...[*********************************************************** 4B4J ...[ WE DON'T KNOW WHAT SECURITY THE USER USED TO HAVE. 4B4K ...[ SET PASSWORD TO 12 SPACES(UNLESS 'NEWDICTEN' USED) AND 4B4L ...[ SET SECURITY 'LOW' ( UNLESS 'NEWDICTENT' USED). 4B4M ...[ 4B4W ... LDX 0 ACES 4B5? ... SBX 0 PASSWORD(1) 4B5N ... BZE 0 NOTSEHIGH [ J. IF PASSWORD = SPACES 4B65 ... LDN 0 1 [ ELSE SET SECURITY 4B6G ... ORS 0 CINDIC(3) [ 'HIGH' (NEWDICTENT USED) 4B6X ...NOTSEHIGH 4B7# ... LDN 4 PASSWORD(1) 4B7P ... LDN 5 CPASS(3) 4B86 ... MOVE 4 3 [ MOVE IN PASSWORD 4B8H ...SUDOINS 4B8Y ... LDX 5 CPSEU(3) 4B9* ... LDN 2 CUSER(3) 4B9Q ... LDN 4 3 4B=7 ... LDN 3 JPDUSERNAME [ 4B=J ... CALL 7 OUTPACK [ OUTPUT DIC. ENTRY 4B=^ ... BNG 5 NOPARAB [ RECREATED MESSAGE - ONLY 4B?B ... LDN 2 NINFUSER(1) [ ADD 'PLEASE INFORM USER' IF 4B?R ... LDN 4 6 [ IT'S A PROPER USER 4B#8 ... LDN 3 JPDVARCHAR [ 4B#K ... CALL 7 OUTPACK 4B*2 ...NOPARAB 4B*C ... MONOUT BMDICTMADE 4B*S ... INSERT [ NEW DICT. ENTRY 4BB9 ... MFREE FILE,FWB 4BBL ... BACKSPACE 4BC3 ... STEPAGAIN 4BCD ... HUNTMISB 1,FI,FUSER 4BCF ...[ 4BCG ...[********************************************************* MARKED 4BCH ...[ FUSER IS MARKED FOUND. CHECK THAT DICT. ENTRY IS 4BCJ ...[ FOR THE SAME USER - IF NOT IT MEANS THAT A FUSER 4BCK ...[ ENTRY HAS BEEN INSERTED BY BMAPDIR AND THAT THER IS A SKELETON 4BCL ...[ DICTIONARY ENTRY IN A FWB IN THE MISC. CHAIN TO 4BCM ...[ BE INSERTED. 4BCN ...[ WE FIRST CHECK THAT THE 'FREEZE' STATE OF THE DIRECTORY 4BCP ...[ IS THE SANE IN ITS SUPERIOR (REMEMBERED IN FUSER ENTRY) 4BCQ ...[ AS IT IS IN DICTIONARY - IF NOT CHANGE DICTIONARY. 4BCR ...[ 4BCT ...MARKED 4BD= ... SMO AWORK3(2) 4BDM ... LDX 6 A1+5(1) 4BF4 ... LDCT 0 #100 4BFF ... ANDX 0 6 4BFW ... STOZ 7 4BG? ... BZE 0 NOTUSFROZ 4BGN ... LDN 7 1 4BH5 ...NOTUSFROZ 4BHG ... SBN 3 A1 4BHX ... JBC NOTFROZDIC,3,BFROZEN 4BJ# ... SBN 7 1 4BJP ...NOTFROZDIC 4BK6 ... BZE 7 NOINVERT [ J. IF SETTINGS SAME 4BKH ... BI 3,BFROZEN [ ELSE CHANGE DICTIONARY 4BKP ... ADN 3 A1 4BKY ... CALL 7 STEPREWRITE 4BL6 ... SBN 3 A1 4BL* ...NOINVERT 4BLQ ... ADN 3 A1 4BLS ...[ 4BLW ...[******************************************************** 4BLY ...[ NOW CHECK IF DICT. ENT. IS FOR SAME USER AS IS 4BM2 ...[ FUSER ENTRY. J. TO 'NEWENTRY' IF NOT 4BM4 ...[ 4BM7 ... HUNTMISB 1,FI,FUSER 4BMJ ... 4BM^ ... SMO FX1 4BNB ... ANDX 6 NFUSMASK 4BNR ... ADX 1 AWORK3(2) 4BP8 ... TESTNAMX 3,CUSER-A1(3),A1+1(1),NEWENTRY 4BP= ...[ 4BP# ...[*********************************************** 4BPB ...[ ZEROISE COUNT OF JOBS RUNNING UNLESS 'JOURNAL' 4BPD ...[ ACCOUNTING' IS BEING USED. 4BPG ...[ 4BPK ... LDX 1 FX1 4BQJ ... BSJ NOSTOZJC 4BS? ... LDX 0 CJOBCT-A1(3) 4BW2 ... BZE 0 NOSTOZJC 4BXP ... CALL 7 STEPREWRITE 4B^G ... STOZ CJOBCT-A1(3) 4C8D ...NOSTOZJC 4C9S ...[ 4C?8 ...[********************************************************* 4C#J ...[ CLEAR 'ERASE' BIT IF IT IS SET 4C*Y ...[ 4CCB ... LDX 7 MER(1) 4CLB ANDX 7 CPSEU-A1(3) [ERASE BIT 4CRJ ... BZE 7 NOERASE 4CYQ ... CALL 7 STEPREWRITE 4D3B ... LDX 7 MER(1) 4D62 ERS 7 CPSEU-A1(3) 4D*S ...NOERASE 4DKL LDX 0 CPSEU-A1(3) 4F5= BNG 0 UPFUSERPOS [IF PSEUDO 4F7T ...[ 4F=D ...[********************************************************** 4F*3 ...[ NOW CORRECT 'REALTIME' AND 'SPACEMT' BUDGETS FOR PROPER 4FCL ...[ USERS ( IF THEY HAD ANY) 4FG9 ...[ 4FJW LDX 7 CNUMQN(3) 4G4G BZE 7 UPFUSERPOS [USER HAS NO QUANT BUDGETS 4GJ6 LDN 4 0 4GM= ...[ 4GQB ...[********************************************************* 4GTG ...[ ZEROISE 'REALTIME' BUDGET IF ANY USED 4GYL ...[ 4H3Q RBL 4HHB SMO 4 4J32 LDX 0 CQUANT-A1(3) 4JGL ... BXE 0 AWORK2(2),RBF [J IF REALTIME RECORD 4K2= ... ANDX 0 WORDS(1) 4KFW ADX 4 0 4K^G BCT 7 RBL 4LF6 BRN NRB [USER HAS REALTIME BUDGET 4LYQ RBF 4M3W ... SMO 4 4M72 ... LDX 0 CQUANT+2-A1(3) 4M=6 ... BZE 0 NRB 4M*= ... CALL 7 STEPREWRITE 4MDB SMO 4 4MY2 STOZ CQUANT+2-A1(3) 4NCL NRB 4NX= LDX 7 CNUMQ-A1(3) 4PBW LDN 4 0 4PFF ...[ 4PJ4 ...[********************************************************* 4PLM ...[ UPDATE 'SPACEMT' BUDGET FROM COUNT IN FUSER ENTRY 4PP= ...[ IF DICTIONARY ENTRY INCORRECT 4PRT ...[ 4PWG RMTB 4QB6 SMO 4 4QTQ LDX 0 CQUANT-A1(3) 4R*B ... BXE 0 AWORK1(2),RMTF [J IF SPACEMT 4RT2 ... ANDX 0 WORDS(1) 4S#L ADX 4 0 4SS= BCT 7 RMTB 4T?W BRN UPFUSERPOS 4TRG RMTF 4TW5 ... SMO 4 4TYN ... LDX 0 CQUANTN+2(3) 4W3? ... SBX 0 6 4W5W ... BZE 0 UPFUSERPOS 4W8F ... CALL 7 STEPREWRITE 4W?6 SMO 4 4WQQ STO 6 CQUANTN+2(3) [UPDATE MAG TAPE BUDGET OROM FUSER 4X=B UPFUSERPOS 4XQ2 LDN 0 5 4Y9L LDX 2 FX2 4YP= ADS 0 AWORK3(2) [UPDATE FUSER POSITION 4^8W HUNTMISB 1,FI,FUSER 4^NG ... LDX 0 A1(1) 5286 ... ADN 0 2 52MQ ... BXL 0 AWORK3(2),XBR 537B BRN XF1 53M2 XF2 546L ...[ 54L= ...[********************************************************* 555W ...[ NOW CHECK IF THERE ARE ANY PROPER USERS TO DELETE. 55KG ...[ EACH ONE WILL HAVE AN ADICTENT BLOCK AND AN ENTRY 5656 ...[ IN THE FUTILITY. IF THERE ARE WE MUST FIRST 56JQ ...[ RETURN ALL BUDGETS BEFORE DELETEING THE DICT. ENTS. 574B ...[ 57^D ...XF4 58BW ... STO 6 AWORK4(2) 58S# ...XF4PLUS 599Q ... HUNT 1,FILE,ADICTENT 59M8 ... BNG 1 XF4A 5=4L ... LDX 5 CUSER(1) [USERNAME OF THIS ADICTENT 5=G4 ... LDX 6 CUSER+1(1) 5=XG ... LDX 7 CUSER+2(1) 5?#Y ... TRACEIF K6ADDICT,199,299,5,ADFOUND 5?QB ... TRACEIF K6ADDICT,199,299,CLOCN+1(1),ADICNUM2 5#7S ... READDICT ,5,NOADICT [TO POSITION DICT AT THIS ENTRY 5#K= ... STEPAGAIN 5*2N ... LDX 4 CNUMQN(3) 5*9C ... BZE 4 NOBUDGETS 5*D6 ...XF8B 5*TJ ... LDX 5 CQUANTN(3) 5B?2 ... ANDX 5 NGCLASS(1) [TO TELL TRENSIENT FROM STACLE 5BND ... STOZ CQUANTN+1(3) 5C5W ... STOZ CQUANTN+2(3) 5CH# ... STOZ CQUANTN+3(3) 5CYQ ... BXE 5 NGTOR(1),XF7B [J IF TRANSIENT BUDGET 5DB8 ... STOZ CQUANTN+4(3) 5DRL ...XF7B 5F94 ... LDX 5 CQUANTN(3) 5FLG ... ANDX 5 NGWORDS(1) [NUMBER OF WORDS IN ENTRY 5G3Y ... ADS 5 3 [J OVER INF WORDS 5GFB ... BCT 4 XF8B 5GN5 ...NOBUDGETS 5GWS ... MHUNT 1,FILE,ADICTENT 5H#= ... LDX 5 CSUPUSER(1) [SUPERIOR USER NAME 5HPN ... LDX 6 CSUPUSER+1(1) [ -FROM 5J76 ... LDX 7 CSUPUSER+2(1) [ -ADDICTENT 5JJJ ... TRACEIF K6ADDICT,199,299,5,ADINTO 5K22 ... BUDGERASE [ RETURN BUDGETS TO SUPERIOR 5KCD ... MFREEW FILE,ADICTENT 5KSW ... MHUNTW 1,FI,FUTILITY 5L=# ... LDX 2 A1(1) [INITIALISE POINTER 5LMQ ... SBN 1 4 5M58 ... ADN 1 10 [ -RECORD 5MGL ...XF5B 5MY4 ... ADN 1 4 [POINT AT NEXT RECORD 5N*G ... TXU 7 2(1) 5NQY ... TXU 6 1(1) 5P8B ... TXU 5 0(1) 5PKS ... BCC XF4B [IF NAMES ARE THE SAME 5Q3= ... BCT 2 XF5B [NEXT RECORD 5QDN ... BRN XF4PLUS 5QW6 ...XF4B 5R?J ... TRACEIF K6ADDICT,199,299,5,NAMINFUT 5RP2 ... TRACEIF K6ADDICT,199,299,3(1),BLOKNOFS 5S6D ... READDICT ,5 5SHW ... MHUNTW 1,FILE,ADICTENT 5S^# ... STO 1 3 [SAVE POINTER 5TBQ ...XF10B 5TS8 ... HUNT2J 1,FILE,ADICTENT,,XF9B [DUMMY HUNT TO 5W9L ... STO 1 2 [ -END OF ACTIVITY 5WM4 ... BRN XF10B [ - CHAIN 5X4G ...XF9B 5XFY ... CHAIN 3,2 [RECHAIN AT END 5XXB ... LDX 7 AWORK4(2) 5Y#S ... ADN 7 1 [GIVE NEW ADICTENT 5YQ= ... STO 7 CLOCN+1(3) [ -A BLOCK NUMBER 5^7N ... STO 7 AWORK4(2) 5^K6 ... LDX 4 CUSER(3) [NEW ADICTENT USERNAME 622J ... LDX 5 CUSER+1(3) 62D2 ... LDX 6 CUSER+2(3) 62TD ... MHUNTW 1,FI,FUTILITY 63=W ... LDX 2 A1(1) 63N# ... ADN 1 10-4 [IMITIALISE TAB BLOCK POINTER 645Q ...XF12B 64H8 ... ADN 1 4 [NEXT RECORD 64YL ... TXU 4 0(1) [TEST IF SAME NAME 65B4 ... TXU 5 1(1) 65RG ... TXU 6 2(1) 668Y ... BCC XF11B [YES 66LB ... BCT 2 XF12B [TO NEXT RECORD IN TAB BLOCK 673S ... GEOERR 1,BLOKWARP 67F= ...XF11B 67WN ... LDX 4 3(1) [OLD BLOCK NUM FROM TAB BLOK 68#6 ... STO 7 3(1) [NEW BLOK NUM INTO TAB BLOK 68PJ ... LDX 2 FX2 6972 ...XF14B 69JD ... HUNT2J 2,FILE,ADICTENT,,XF6B 69^W ... BXU 4 CLOCN+1(2),XF14B [HUNT FOR OLD BLOCK 6=C# ... TRACEIF K6ADDICT,199,299,CLOCN+1(2),OLDSUPD 6=SQ ... FREECORE 2 [FREE IT WHEN FOUND 6?=8 ...XF6B 6?ML ... STO 7 6 6#54 ... BRN XF4 6#GG ...XF4A FASTREWI 1 [DICTIONARY 6#KT ... MHUNTW 1,FI,FUTILITY 6#P8 ... LDX 0 A1(1) 6#SH ... BZE 0 NODELS 6#XY ... STEP 6**B ...XF4C STEP [TO USER RECORD 6*QS ... BNZ 3 XF4D 6*^H ...NODELS 6B8= ... MFREEW FI,FUTILITY 6BKN ... BRN XF3 6C36 ...XF4D 6CDJ ... LDCT 4 #20 6CW2 ... ANDX 4 CPSEUN(3) 6D?D ... BZE 4 XF4C [IF NOT BE DELETED 6DNW ... DELETE [DICTIONARY RECORD 6F6# ... BRN XF4C 6FKY ...XF3 6FP4 ...[ 6FS8 ...[********************************************************** 6FX# ...[ NOW GO DOWN TO CREATE LEXICON AND JOIN-UP ANY RESTORED LIMBS 6G2D ...[ 6G5J ... DOWN CREALEX,1 6G9F ... BSOFF BMBLKTWICE,NOTWICES [ J. IF NO DOUBLE ALLOCATION OF B.S. 6G*B ... DOWN BMFIXIT,3 [ ELSE SWAP FOR NEW BLOCKS 6GF? ...NOTWICES 6GFX ...[ 6GGH ...[********************************************************** 6GH7 ...[ CHECK IF :DUMPER WAS RESTORED. IF SO, CHECK IF 6GHR ...[ :DUMPER AGREES WITH SERIAL AND INCINDEX. (DONE IN INCPTRES) 6GJC ...[ 6GK8 ... DOWN INCPTRES,1 6GM6 ...[ 6GP4 ...[********************************************************* 6GR2 ...[ NOW CHECK IF 'SERIAL' PROCESSING IS BEING DONE BY AN 6GSY ...[ AUTONOMOUS ACTIVITY - IT WILL BE UNLESS PARTIAL 6GWW ...[ RESTORES HAVE BEEN INITIATED, IN WHICH CASE 6GYS ...[ CARRY ON TO PROCESS SERIAL. 6H2Q ...[ 6H3R ... BWNZ GINCTSN,Z2ADDICT [ NO SLAVE IF GENERAL RESTORE 6H4S ... LDX 1 BFILE 6HJD ... JBC SERDONE,1,BFPARTRES ==76 [ ==9P ...[ ==## ...[******************************************************** Z2ADDICT ==BX ...[ ENTRY POINT FOR SLAVE ACTIVITY TO PROCESS ==FG ...[ :SYSTEM.SERIAL AGAINST THE FTAPE BLOCK. ==J5 ...[ ==LQ ...[ ==WJ ...Z2ADDICT =?6B ... BWZ GINCTSN,NOINDEXSER =?L2 ... SETNCORE 16,2,FILE,FABSNB [FOR OPENING SYSTEM =#5L ADN 1 NSER =#K= ADN 2 A1 =*4W ... MOVE 1 16 =*JG OPENDIR XBR,GENERAL [SYSTEM AT SERIALS ENTRY =B46 BACKSPACE =BHQ MFREEW FILE,ENT [NOT NEEDED AS SERIAL IS OPEN =C3B FILEMOVE 0,1 [SERIAL =0,SYSTEM=1 =DG= LDN 0 INDEXSER =D^W BMINDEX 0 =FFG TESTRPN2 OK,XINDEX =F^6 CLOSEDIR =GDQ NOINDEXSER =GYB HUNTMISB 3,FI,FTAPE =HD2 LDX 6 A1(3) [USED DATA SPACE IN FTAPE =HXL STOZ 5 [INITIALISE FTAPE ENT POINTER =JC= BZE 6 NEMPTFTAPE [NO NEED TO CORRELATE IF EMPTY =JWW NEXTFTAPENT =KBG STEP =KW6 BZE 3 NEMPTFTAPE =L*Q ... HUNTMISB 2,FI,FTAPE =LTB ... SMO 5 =M*2 LDX 0 A1+1(2) [TSN I N ENTRY =MSL BNG 0 UPFTAPEPOS [IF ENTRY WAS FOUND IN BMAPONE =N2W ... SMO 5 =N96 ... LDX 0 A1+2(2) =NCB ... BZE 0 UPFTAPEPOS =NKL ... SMO 5 =NRW ADN 2 A1+2 [ADDRESS OF USERNAME IN FTAPE =P?G LDN 3 AWORK1 =PR6 ... ADX 3 FX2 =Q=Q ... MOVE 2 3 =QQB DELETE [ENTRY IN SERIAL =R=2 OUTBLOCN 7 =RN4 ... LDN 4 1 =S66 ... HUNTMISB 2,FI,FTAPE =SJ8 ... SMO 5 =T2= ... ADN 2 A1+1 =TD# ... LDN 3 JPDTSN =TWB ... CALL 7 OUTPACK =W#D ... LDN 2 AWORK1(2) =WQG ... LDN 4 3 =X8J ... LDN 3 JPDUSERNAME =XLL CALL 7 OUTPACK =Y6= MONOUT BMTD [MESSAGE THAT TAPE DELETED =YKW UPFTAPEPOS =^5G ADN 5 4 [POSITION OF NEXT FTAPE ENTRY =^K6 ... TXU 5 6 [HAVE WE PROCESSED ALL OF FTAPE ?24Q ... BCS NEXTFTAPENT ?2JB NEMPTFTAPE ?342 ... CLOSETOP [ SERIAL ?3HL HUNTMISB 3,FI,FTAPE ?43= FREECORE 3 ?43T ...[ ?44D ...[********************************************** ?453 ...[ IF PROCESSING IN SLAVE ACTIVITY WE MUST NOT CLOSE ?45L ...[ INCINDEX - WAS DONE ALREAY WHEN SLAVE WAS SET UP. ?469 ...[ ?46H ... BWNZ GINCTSN,TOCLOSE [ MUST CLOSE INCINDEX IF GEN RES ?46T ... LDX 1 BFILE ?4=D ... JBC NOTCLOSE,1,BFPARTRES ?4#9 ...TOCLOSE ?4B3 ... CLOSETOP [ INCINDEX ?4FL ...NOTCLOSE ?4HC ... LDX 2 BSACHAPTR [ => MAST. ACT. ?4K9 ... POP NOTCLOSE,2,FTABWAIT [ CHECK FLAG BEFORE ?4NS ... VOP 2,FTABWAIT [ USING LEXICON TO OPEN INCINDEX ?4QX ... DOWN INCCHECK,2 ?4T2 ...[ ?4TK ...[********************************************************* ?4W8 ...[ ONLY WANT TO 'SUICIDE' IF IN SLAVE ACTIVITY. ?4WR ...[ ELSE GO ON TO PROCESS THE JOURNAL. ?4XB ...[ ?4Y2 ... LDX 1 BFILE ?53K ... JBS SERDONE,1,BFPARTRES ?55B ... BWNZ GINCTSN,SERDONE ?578 ... SUICIDE ?5=R ...SERDONE ?5BB ... ACROSS BMSJRNL,1 ?5G6 NFB ?5^Q LDX 3 FPTR(3) ?6FB NFB1 ?6^2 LDX 0 ATYPE(3) ?7DL BXGE 0 CACT,(4) [J IF NO MORE FWBS ?7Y= SRL 0 12 ?8CW SBN 0 FILE+FWB ?8XG BNZ 0 NFB ?99X ... EXIT 4 1 ?9PH ...XBR ?=97 ... GEOERR 1,ADDICT ??*L XINDEX ??KD ... GEOERR 1,DICIXERR ??T= ...XDICTBENT ?#54 ... GEOERR 1,DICTBENT ?##W [ ?#SG MENDAREA BMAPGAP,K99ADDICT ?*#6 #END ^^^^ ...653456620003