4 22FL ...[ 15 22_= ...[ NEW VERSION 853 CONTAINS MAJOR ALTERATIONS TO: 19 23DW ...[1. DISPENSE WITH BIT-MAPPING METHOD BY RELYING ON DESCENDING 12 23YG ...[ GENERATION ORDER OF DIRECTORY 21 24D6 ...[2. DEAL WITH THE 'BEING APPENDED' CASE WITHOUT ERASING WHOLE MULTIFILE 21 24XQ ...[3. TRUNCATE AT LOWEST MISSING GENERATION IN EVENT OF ELEMENTS BEING ON 10 25CB ...[ UNAVAILABLE RESIDENCES 4 25X2 ...[ 12 26BL ... SEG BMSTREAM,83,FILE,BMAP 4 26W= ...[ 12 27*W ... SEGENTRY K1BMSTREAM,MAPELEMENT 12 27TG ... SEGENTRY K2BMSTREAM,NOMULTRES 12 28*6 ... SEGENTRY K3BMSTREAM,MULTCHECK 12 28SQ ... SEGENTRY K4BMSTREAM,MDFERASE 4 29#B ...[ 20 29S2 ...[ THIS SEGMENT IS ENTERED FROM BACKMAP TO ENSURE THE CONSISTENCY 7 2=?L ...[ OF MULTIFILES. 21 2=R= ...[ WHEN ENTERED AT K1 & K2 FROM BMAPONE IT RECORDS INFORMATION ABOUT THE 20 2?=W ...[ ELEMENTS OF EACH MULTIFILE IN THE DIRECTORY IN 6-WORD ENTRIES IN A 21 2?QG ...[ FILE/FSMB BLOCK DEFINED BELOW. WHEN THE MDF IS FOUND THE CONSISTENCY 21 2#=6 ...[ OF THE COLLECTED INFORMATION & THE DETAILS GIVEN IN THE MDF DIRECTORY 20 2#PQ ...[ ENTRY IS CHECKED. IF NO FURTHER ACTION IS NECESSARY THE FSMB ENTRY 8 2*9B ...[ IS OBLITERATED. 21 2*P2 ...[ WHEN BMAPONE REACHES THE END OF THE DIRECTORY IT ENTERS K3BMSTREAM 21 2B8L ...[ TO MAKE A SECOND TIDY-UP PASS OF THE DIRECTORY IF THE FSMB CONTAINS 8 2BN= ...[ LEGIBLE ENTRIES. 21 2C7W ...[ IT IS ENTERED AT K4 FROM BMAPTWO IF THE MULTIFILE IS BEING ERASED, TO 21 2CMG ...[ UPDATE THE MDF'S DIRECTORY ENTRY IN THE EVENT OF ERASURE OF UNFROZEN 11 2D76 ...[ TEMPORARY ELEMENTS BY BMAPTWO. 21 2DLQ ...[ IT DEPENDS ON THE FACT THAT ELEMENTS OF A MULTIFILE ARE FOUND IN O 21 2F6B ...[ ORDER OF DECREASING GENERATION NUMBER AND COPES WITH MULTIFILES WITH 15 2FL2 ...[ THE SAME LOCAL NAME BUT DIFFERENT LANGUAGES. 4 2G5L ...[ 18 2GK= ...[ BECAUSE OF THE PLACE OF ENTRY FROM BMAPONE, ANY UNCLEAN 15 2H4W ...[ ELEMENTS MAY HAVE EITHER BNBMUWB OR BNUWB SET. 4 2HJG ...[ 13 2J46 ...[ N.B. X1->FSMB ENTRY; X3->NAME RECORD 4 2JHQ ...[ 7 2K3B ...[ FSMB FORMAT 4 2KH2 ...[ 21 2L2L ...#DEF SENTDEPTH=A1 [FILESTORE LEVEL @ WHICH APPLICABLE 16 2LG= ...[ WORD,FIELD & BIT IDENTIFIERS IN FSMB ENTRIES 17 2L_W ...#DEF SENTLEN=6 [LENGTH OF FSMB ENTRY 21 2MFG ...#DEF SLOC=A1+1 [POSITION OF 1ST WORD OF LOCAL NAME 16 2M_6 ...#DEF SLANG=A1+4 [ LANGUAGE CODE 17 2NDQ ...#DEF STREND=A1+5 [ ESTREND COPY ETC. 20 2NYB ... FIELDDEF PHIRST,9,STREND,8 [ FIRST GEN FOUND(=HIGHEST) 15 2PD2 ... BITDEFS STREND,13,UNCLELEMENT,MAKETEMP 18 2PXL ... FIELDDEF TOPGEN,9,STREND,23 [ NHGN FROM ESTREND 16 2QC= ...#DEF SGAP=A1+6 [ GAP DETAILS 18 2QWW ... FIELDDEF PREGAPGEN,9,SGAP,8 [ GAP BEYOND HERE 20 2RBG ... FIELDDEF NEXTGEN,9,SGAP,23 [ MOST RECENT GEN FOUND -1 4 2RW6 ...[ 19 2S*Q ...[ FIELD & BIT IDENTIFIERS IN ESTREND (MDF DIRECTORY ENTRY) 20 2STB ... BITDEFS ESTRENDN,0,MULTUNCLEAN [USEROPEN UNCLEAN WRITING BIT 17 2T*2 ... FIELDDEF OHGN,8,ESTRENDN,8 [OLD HIGHEST GEN 19 2TSL ... BITDEFS ESTRENDN,14,MULTERASE [MULTIFILE BEING ERASED 17 2W#= ... FIELDDEF NHGN,9,ESTRENDN,23 [NEW HIGHEST GEN 4 2WRW ...[ 20 2X?G ...#DEF MAXGEN=128 [MAXIMUM GENERATION OF ELEMENT 4 2XR6 ...[ 9 2Y=Q ...#DEF TRACE=K6BMSTREAM 4 2YQB ...[ 4 2_=2 ...[ 16 2_PL ...SENT [SUBROUTINE TO LOCATE ENTRY IN FSMB 17 329= ...[ LINK X7; EXPECTS X3->NAME RECORD; DESTROYS X0,X1,X4,X5 17 32NW ...[ EXIT+0:NO FSMB: EXIT+1:NO ENTRY: EXIT+2:X1->ENTRY: 3 338G ... 10 33N6 ... HUNTW 1,FILE,FSMB 17 347Q ... BNG 1 (7) [EXIT IF NOT FOUND 10 34MB ... LDX 0 SENTDEPTH(1) 17 3572 ... BXU 0 AMAPDEPTH(2),(7) [EXIT IF WRONG LEVEL 16 35LL ... ADN 7 1 [INCREMENT LINK 10 366= ... LDX 4 ALOGLEN(1) 7 36KW ... SBN 4 1 5 375G ...SENTLOOP 19 37K6 ... BZE 4 (7) [EXIT+1 IF ENTRY NOT FOUND 15 384Q ... TESTNAMX 3,ELOC1N(3),SLOC(1),SENTDIFF,5 9 38JB ... LDX 0 ELANN(3) 19 3942 ... BXE 0 SLANG(1),SENTFOUND [J IF MATCHING ENTRY FOUND 5 39HL ...SENTDIFF 17 3=3= ... ADN 1 SENTLEN [INCREMENT POINTER 16 3=GW ... SBN 4 SENTLEN [DECREMENT COUNT 9 3?2G ... BRN SENTLOOP 6 3?G6 ...SENTFOUND 17 3?_Q ... EXIT 7 1 [EXIT+2: X1->ENTRY 4 3#FB ...[ 4 3#_2 ...[ 20 3*DL ...STEPREWRITE [SUBROUTINE TO ENSURE CLEANLY ALTERED BLOCK REWRITTEN 19 3*Y= ...[ LINK X7; EXPECTS X3->NAME RECORD; DESTROYS X0; RESETS X2=FX2 3 3BCW ... 8 3BXG ... STEPREWRITE 7 3CC6 ... EXIT 7 0 4 3CWQ ...[ 4 3DBB ...[ 4 3DW2 ...[ 4 3F*L ...[ 20 3FT= ...MAPELEMENT [NORMAL ENTRY FROM BMAPONE IF BNMDF OR BNMULT IS SET 4 3G#W ...[ 18 3GSG ... STEPAGAIN [RECOVER X3->NAME RECORD 4 3H#6 ...[ 13 3HRQ ...[ CHECK THAT GENERATION NUMBER SENSIBLE 4 3J?B ...[ 9 3JR2 ... LDX 7 EGENN(3) 17 3K=L ... SBN 7 MAXGEN+1 [0ELEMENT,I.E. NOT=1 19 3Q6W ... JBS WRONGBITS,3,BNMULT [J IF ILLEGAL GEN FOR ELEMENT 8 3QLG ... BRN OKGEN 5 3R66 ...NOTGEN1 18 3RKQ ... JBS WRONGBITS,3,BNMDF [J IF ILLEGAL GEN FOR MDF 4 3S5B ...[ 5 3SK2 ...OKGEN 4 3T4L ...[ 11 3TJ= ...[ RECORD DETAILS IN FSMB ENTRY 4 3W3W ...[ 15 3WHG ... TRACEIF TRACE,199,299,EGENN(3),MULT GEN 17 3X36 ... CALL 7 SENT [LOCATE FSMB ENTRY 21 3XGQ ... BRN SETUPFSMB [NO FSMB: J TO SET UP FSMB & ENTRY 19 3Y2B ... BRN SETUPENTRY [NO ENTRY: J TO SET UP ENTRY 15 3YG2 ...UPDATENTRY [X1->ENTRY 16 3Y_L ... LF 1,NEXTGEN,7 [X7=EXPECTED GEN 18 3_F= ... BXE 7 EGENN(3),XPECTED [J IF EXPECTED GEN FOUND 18 3_YW ... LDX 7 EGENN(3) [OTHERWISE MAKE A RECORD 15 42DG ... STF 1,PREGAPGEN,7 [ OF THE GAP 9 42Y6 ... LDX 7 EGENN(3) 5 43CQ ...XPECTED 18 43XB ... SBN 7 1 [SET NEXT EXPECTED GEN 10 44C2 ... STF 1,NEXTGEN,7 17 44WL ... JBCC NOTTEMP,3,BNTEMP [J IF NOT TEMP ELSE 21 45B= ... CALL 7 STEPREWRITE [ CLEAR TEMP BIT (PREVIOUS BACKMAP) 5 45TW ...NOTTEMP 14 46*G ... JBS MDF,3,BNMDF [J IF MDF 20 46T6 ... JMBAC UP,3,BNBMUWB,BNUWB [J TO EXIT IF NOT UNCLEAN ELEMENT 18 47#Q ... BS 1,UNCLELEMENT [REMEMBER UNCLEAN ELEMENT 14 47SB ... UP [ & EXIT 4 48#2 ...[ 4 48RL ...[ 4 49?= ...MDF 4 49QW ...[ 19 4==G ...[ AT THIS STAGE WE KNOW THE HIGHEST GENERATION OF THE MULTIFILE 21 4=Q6 ...[ (PHIRST), THE LOWEST MISSING GENERATION (PREGAPGEN+1) IF ANY, & IF ANY 20 4?9Q ...[ ELEMENTS (SHOULD BE THHE HIGHEST) WERE OPEN FOR WRITING. WE NOW 21 4?PB ...[ ATTEMPT TO RECONCILE THESE FACTS WITH THE EXPECTED STATE DESCRIBED BY 21 4#92 ...[ ESTREND. (THE ESTREND UNCLEAN BIT SHOULD NEVER BE SET & IS IGNORED) 4 4#NL ...[ 20 4*8= ... TRACEIF TRACE,99,299,ESTRENDN(3),ESTREND [MULTIFILE ESTREND 15 4*MW ... TRACEIF TRACE,199,299,STREND(1),STREND 14 4B7G ... TRACEIF TRACE,199,299,SGAP(1),SGAP 13 4BM6 ... JBCC NOESTRUWB,3,MULTUNCLEAN 21 4C6Q ... CALL 7 STEPREWRITE [CLEAR USEROPEN UNCLEAN BIT IF SET 6 4CLB ...NOESTRUWB 14 4D62 ... LF 3,NHGN,6 [X6=NHGN 14 4DKL ... LF 3,OHGN,7 [X7=OHGN 21 4F5= ... BXE 6 7,SAMEGENS [J IF NHGN=OHGN (SHOULD ALWAYS BE) 16 4FJW ... STF 3,OHGN,6 [SET OHGN=NHGN 10 4G4G ... CALL 7 STEPREWRITE 5 4GJ6 ...SAMEGENS 16 4H3Q ... STF 1,TOPGEN,6 [REMEMBER NHGN 4 4HHB ...[ 19 4J32 ...[ TREAT MULTIFILE AS UNCLEAN IF MDF OR ANY ELEMENT IS UNCLEAN 4 4JGL ...[ 17 4K2= ... JMBS UNCLEAN,3,BNBMUWB,BNUWB [J IF MDF UNCLEAN 13 4KFW ... JBC MDFCLEAN,1,UNCLELEMENT 18 4K_G ... BS 3,BNBMUWB [MAKE MDF UNCLEAN AS WELL 10 4LF6 ... CALL 7 STEPREWRITE 4 4LYQ ...[ 5 4MDB ...UNCLEAN 4 4MY2 ...[ 21 4NCL ...[ UNCLEAN PATH. IGNORE ALL ERASE BITS - EVEN IN THE APPEND CASE (HENCE 21 4NX= ...[ AS(APPE)/LF/ER/EN/BREAK RETAINS ALL ORIGINAL ELEMENTS UP TO LOWEST A 15 4PBW ...[ ALREADY LISTED & ERASED - A DEBATABLE MERIT). 4 4PWG ...[ 12 4QB6 ... JBCC NOTERASED,3,MULTERASE 10 4QTQ ... CALL 7 STEPREWRITE 6 4R*B ...NOTERASED 14 4RT2 ... LF 1,TOPGEN,0 [X0=NHGN 7 4S#L ... SBN 0 1 20 4SS= ... BZE 0 NOTAPPEND [J IF = 1, I.E. NOT APPEND CASE 4 4T?W ...[ 21 4TRG ...[ APPEND CASE.(THERE IS NO OVERWRITE CASE AS USEROPEN ERASES ALL BUT 19 4W?6 ...[ MDF ANYWAY.) THE OBJECT IS TO DISCARD APPENDED ELEMENTS ONLY. 4 4WQQ ...[ 21 4X=B ... MBC 3,BNBMUWB,BNUWB [MAKE MDF CLEAN - TO ENABLE REVERSION 17 4XQ2 ... BS 3,BNREVERT [ TO PRE-APPEND STATE 10 4Y9L ... CALL 7 STEPREWRITE 4 4YP= ...[ 15 4_8W ...NOTAPPEND [NOW CLEAN UP 4 4_NG ...[ 13 5286 ...[ UNCLEAN & CLEAN(NOT ERASING) CASES. 20 52MQ ...[ IF THERE ARE GAPS IN THE MULTIFILE IT IS TRUNCATED BEFORE THE GAP 13 537B ...[ (POSSIBLY LEAVING EXCESS ELEMENTS). 20 53M2 ...[ IF THERE ARE EXCESS ELEMENTS (FOR ANY REASON), THE FSMB ENTRY IS 21 546L ...[ LEFT INTACT & RE-ENTRY AT K3 CAUSES THE EXCESS ELEMENTS TO BE MARKED 20 54L= ...[ ^TO BE ERASED^ (THUS PREVENTING REFREEZING BY BMOUTPUT ETC.) AND 21 555W ...[ ^TEMPORARY^ (THUS CAUSING ERASURE BY BMAPTWO AS THEY ARE NOT FROZEN). 4 55KG ...[ 17 5656 ... LF 1,PREGAPGEN,6 [X6=GEN BEFORE GAP 17 56JQ ... BZE 6 NOGAPS [J IF NO GAPS AT ALL 14 574B ... LF 1,TOPGEN,7 [X7=NHGN 21 57J2 ... BXGE 6 7,NOGAPS [J IF GAPS ONLY IN EXCESS ELEMENTS 20 583L ... TRACEIF TRACE,99,299,6,TRUNCATE [NEW HIGHEST MULTIFILE GEN 20 58H= ... STF 1,TOPGEN,6 [TRUNCATE MULTIFILE @ LOWEST GAP 9 592W ... STF 3,OHGN,6 9 59GG ... STF 3,NHGN,6 10 5=26 ... CALL 7 STEPREWRITE 5 5=FQ ...NOGAPS 17 5=_B ... LF 1,PHIRST,6 [X6=HIGHEST GEN FOUND 17 5?F2 ... LF 1,TOPGEN,7 [HIGHEST GEN ALLOWED 7 5?YL ... SBX 7 6 19 5#D= ... BNG 7 XCESS [J IF EXCESS ELEMENTS FOUND 21 5#XW ... STOZ SLOC(1) [OBLITERATE ENTRY - NO FURTHER ACTION 5 5*CG ...UP UP 4 5*X6 ...[ 5 5BBQ ...XCESS 21 5BWB ... TRACEIF TRACE,99,299,7,EXCESS [HIGHEST EXCESS MULTIFILE GEN FOUND 5 5CB2 ... UP 4 5CTL ...[ 4 5D*= ...[ 5 5DSW ...MDFCLEAN 18 5F#G ... JBC NOTAPPEND,3,MULTERASE [J UNLESS BEING ERASED 4 5FS6 ...[ 17 5G?Q ...[ GAPS ARE LEGITIMATE IN THIS CASE (I.E. BEING ERASED). 20 5GRB ...[ THE FSMB ENTRY IS RETAINED THUS CAUSING RE-ENTRY AT K3 TO MARK ALL 20 5H?2 ...[ NON-EXCESS ELEMENTS AS ^TEMPORARY^ (BECAUSE MAKETEMP IS SET) WHICH 21 5HQL ...[ ALLOWS REFREEZING. BMAPTWO WILL DELETE UNFROZEN ELEMENTS & MARK FROZEN 21 5J== ...[ ELEMENTS ^TO BE ERASED^. EXCESS ELEMENTS WILL BE DELETED BY BMAPTWO AS 10 5JPW ...[ IN THE NON-ERASING CASE. 4 5K9G ...[ 21 5KP6 ... BS 1,MAKETEMP [K3 ENTRY WILL MARK ALL ELEMENTS TEMP 17 5L8Q ... BS 3,BNERASE [ENSURE MDF IS ERASED 10 5LNB ... CALL 7 STEPREWRITE 19 5M82 ... UP [EXIT LEAVING ENTRY IN FSMB 4 5MML ...[ 4 5N7= ...[ 6 5NLW ...SETUPFSMB 21 5P6G ... SETNCORE SENTLEN+1,3,FILE,FSMB [NEW FSMB WITH ROOM FOR ONE ENTRY 10 5PL6 ... LDX 0 AMAPDEPTH(2) 10 5Q5Q ... STO 0 SENTDEPTH(3) 9 5QKB ... BRN SETENTRY 4 5R52 ...[ 6 5RJL ...SETUPENTRY 10 5S4= ... MHUNTW 3,FILE,FSMB 18 5SHW ... LDX 4 ALOGLEN(3) [MAKE ROOM FOR NEW ENTRY 9 5T3G ... ADN 4 SENTLEN 8 5TH6 ... ALTLEN 3,4 5 5W2Q ...SETENTRY 21 5WGB ... STEPAGAIN [RECOVER X3->NAME RECORD AFTER COOR 10 5X22 ... MHUNTW 1,FILE,FSMB 10 5XFL ... ADX 1 ALOGLEN(1) 9 5X_= ... SBN 1 SENTLEN+1 16 5YDW ... TRACEIF K6BMSTREAM,99,299,EGENN(3),NEW MULT 9 5YYG ... LDN 4 ELOC1N(3) 9 5_D6 ... LDN 5 SLOC(1) 15 5_XQ ... MOVE 4 3 [LOCAL NAME 9 62CB ... LDX 0 ELANN(3) 17 62X2 ... STO 0 SLANG(1) [& LANGUAGE IN ENTRY 9 63BL ... LDX 7 EGENN(3) 9 63W= ... STOZ SGAP(1) 9 64*W ... STOZ STREND(1) 18 64TG ... STF 1,NEXTGEN,7 [EXPECTED GEN = THIS ONE 21 65*6 ... STF 1,PHIRST,7 [FIRST ELEMENT FOUND IS HIGHEST GEN 10 65SQ ... BRN UPDATENTRY 4 66#B ...[ 4 66S2 ...[ 4 67?L ...[ 19 67R= ...NOMULTRES [ENTRY FROM BMAPONE IF ELEMENT ON LOST RESIDENCE 17 68=W ...[ AND MARKED ^TO BE DUMPED^ (I.E. NO DUMPED COPY EXISTS) 19 68QG ...[ THE OBJECT IS TO FORGET ABOUT THE ELEMENT THUS CREATING A GAP. 4 69=6 ...[ 7 69PQ ... STEPAGAIN 21 6=9B ... TRACEIF K6BMSTREAM,99,299,EGENN(3),MULTLOST [UNAVAILABLE MULT GEN 16 6=P2 ... CALL 7 SENT [RELOCATE ENTRY 9 6?8L ... BRN (GEOERR) 9 6?N= ... BRN (GEOERR) 10 6#7W ... LF 1,PHIRST,0 21 6#MG ... BXU 0 EGENN(3),NOTFIRST [J UNLESS THIS IS ONLY ELEMENT SO FAR 10 6*76 ... MHUNTW 3,FILE,FSMB 10 6*LQ ... LDX 7 ALOGLEN(3) 9 6B6B ... SBN 7 SENTLEN 15 6BL2 ... ALTLEN 3,7 [DELETE ENTRY 5 6C5L ... UP 4 6CK= ...[ 5 6D4W ...NOTFIRST 10 6DJG ... LF 1,NEXTGEN,7 21 6F46 ... ADN 7 1 [RESET EXPECTED GEN TO IGNORE THIS 10 6FHQ ... STF 1,NEXTGEN,7 5 6G3B ... UP 4 6GH2 ...[ 4 6H2L ...[ 4 6HG= ...[ 21 6H_W ...MULTCHECK [ENTRY FROM BMAPONE @ END OF DIRECTORY WITH MULTIFILES 4 6JFG ...[ 18 6J_6 ... NGN 6 SENTLEN-1 [ALLOW FOR SENTDEPTH WORD 10 6KDQ ... MHUNTW 1,FILE,FSMB 5 6KYB ...SMBLOOP 9 6LD2 ... ADN 6 SENTLEN 19 6LXL ... BXE 6 ALOGLEN(1),SCRAPFSMB[J IF ONLY DELETED ENTRIES 7 6MC= ... SMO 6 17 6MWW ... LDX 0 SLOC-1(1) [LOOK AT NEXT ENTRY 19 6NBG ... BZE 0 SMBLOOP [J TO IGNORE IF OBLITERATED 4 6NW6 ...[ 14 6P*Q ...[ VALID ENTRY FOUND: READ THROUGH DIRECTORY 4 6PTB ...[ 7 6Q*2 ... FASTREWI 1 5 6QSL ...NEXTNAME 6 6R#= ... STEP 16 6RRW ... BZE 3 XFLISTADD [J IF END OF FILE 10 6S?G ... LDX 0 EDESCRIBE(3) 17 6SR6 ... BNZ 0 NEXTNAME [J UNLESS NAME REC 11 6T=Q ... JBC NEXTNAME,3,BNMULT 8 6TQB ... CALL 7 SENT 9 6W=2 ... BRN (GEOERR) 9 6WPL ... BRN NEXTNAME 10 6X9= ... LF 1,TOPGEN,0 16 6XNW ... BXGE 0 EGENN(3),TEMP [J UNLESS XS COMP 19 6Y8G ... MBS 3,BNTEMP,BNERASE [PREVENT FREEZING & ENSURE 20 6YN6 ... CALL 7 STEPREWRITE [ DELETION IN BMAPTWO IF EXCESS 14 6_7Q ... BRN NEXTNAME [ ELEMENT 4 6_MB ...[ 4 7272 ...TEMP 12 72LL ... JBC NEXTNAME,1,MAKETEMP 9 736= ... BS 3,BNTEMP 10 73KW ... CALL 7 STEPREWRITE 9 745G ... BRN NEXTNAME 4 74K6 ...[ 6 754Q ...SCRAPFSMB 7 75JB ... FREECORE 1 5 7642 ... UP 4 76HL ...[ 6 773= ...XFLISTADD 9 77GW ... MFREEW FILE,FSMB 17 782G ... UPPLUS 1 [FLISTADD REQUIRED 4 78G6 ...[ 4 78_Q ...[ 20 79FB ...MDFERASE [ENTRY FROM BMAPTWO TO SEE IF MDF 16 79_2 ...[ CAN BE ERASED 18 7=DL ... QKTABSET FILERING(2),5,6 [REMEMBER POSITION IN DIR 20 7=Y= ... STEPAGAIN [RECOVER X3->NAME RECORD OF MDF 18 7?CW ... MHUNTW 1,FILE,FLOCNB [SET UP FLOCNB FOR GETDIR 9 7?XG ... LDX 0 ELANN(3) 14 7#C6 ... STO 0 A1+5(1) [LANGUAGE 14 7#WQ ... STOZ A1+4(1) [ANY GEN 17 7*BB ... LDN 0 ELOC1N(3) [LOCAL NAME & REEL 8 7*W2 ... ADN 1 A1 7 7B*L ... MOVE 0 4 7 7BT= ... GETDIR 6 15 7C#W ... MFREEW FILE,ENT [FROM GETDIR 11 7CSG ... QKTABULA FILERING(2),5,6 20 7D#6 ... STEPAGAIN [REPOSITION ON MDF NAME RECORD 10 7DRQ ... MHUNTW 1,FILE,FLOCNB 9 7F?B ... LDX 0 A1+4(1) 7 7FR2 ... SBN 0 1 17 7G=L ... BNZ 0 NOTONE [J IF ELEMENT EXISTS 17 7GQ= ... BS 3,BNTEMP [MARK MDF TO ENSURE 18 7H9W ... CALL 7 STEPREWRITE [ DELETION IN BMAPTWO 5 7HPG ... UP 4 7J96 ...[ 5 7JNQ ...NOTONE 14 7K8B ... LF 3,NHGN,0 [X0=NHGN 18 7KN2 ... BXE 0 A1+4(1),UP [J TO EXIT UNLESS ESTREND 20 7L7L ... LDX 7 A1+4(1) [HIGHEST NEEDS RESET 15 7LM= ... STF 3,OHGN,7 [ REMAINING 15 7M6W ... STF 3,NHGN,7 [ GENERATION 10 7MLG ... BS 3,MULTERASE 10 7N66 ... CALL 7 STEPREWRITE 5 7NKQ ... UP 4 7P5B ...[ 4 7PK2 ...#END 6 ____ ...377674560009