{{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