{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BMFIXIT864)}}
====== BMFIXIT864 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BACKREAD|BACKREAD]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BACKWRITE|BACKWRITE]], [[george:macro:BC|BC]], [[george:macro:BLOCKMAP|BLOCKMAP]], [[george:macro:BS|BS]], [[george:macro:BSOFF|BSOFF]], [[george:macro:BSON|BSON]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DELETE|DELETE]], [[george:macro:DOWN|DOWN]], [[george:macro:FINDLINK|FINDLINK]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FREELINK|FREELINK]], [[george:macro:FULLBPAS|FULLBPAS]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETBAX|GETBAX]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNTMISB|HUNTMISB]], [[george:macro:HUNTW|HUNTW]], [[george:macro:JBS|JBS]], [[george:macro:JMBS|JMBS]], [[george:macro:MBS|MBS]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:NEXTENT|NEXTENT]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:POP|POP]], [[george:macro:READ|READ]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:REPLACE|REPLACE]], [[george:macro:REWIND|REWIND]], [[george:macro:REWRITE|REWRITE]], [[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:TOPFCB2|TOPFCB2]], [[george:macro:UP|UP]], [[george:macro:VOP|VOP]]
22FL SEG BMFIXIT,84,EDWARD MOON,FILESTORE
22^= [ THIS SEGMENT IMPLEMENTS RECOVERY
23DW [ PROCEDURES FOR FILEBENT AND
23YG [ BLKTWICE CORRUPTIONS
245? ... SEGENTRY K1BMFIXIT,Z1BMFIXIT
24=4 ... SEGENTRY K2BMFIXIT,Z2BMFIXIT
24BT ... SEGENTRY K3BMFIXIT,Z3BMFIXIT
24HL ... SEGENTRY K4BMFIXIT,Z4BMFIXIT
25X2 NSIZRONG +BMSIZEWRONG [ SIZE INCONSISTENCY ETC.
26BL MDUBALBLK1 +BM2ALBLK1 [
26W= MDUBALBLK2 +BM2ALBLK2 [ HEADER MESSAGES FOR BLOCKTWICES
27*W M2ALHEAD +BM2ALHEADS [
27TG MFILERONG +BMTWICEFILE [ DETAILS OF FILE AND BLOCK
28*6 TYPEFTWICE
28SQ #HAL +FI+FTWICE,0 [ FI/FTWICE TYPE/SUBTYPE
29#B SUB1 [ SUBROUTINE TO HUNT FI/FONCE
29S2 HUNTMISB 2,FI,FONCE
2=?L EXIT 1 0
2=CH ...SUB2 [ SUBROUTINE TO HUNT FI/FTWICE
2=HD ... HUNTMISB 2,FI,FTWICE
2=M* ... EXIT 1 0
2=R= MONOUT [ SUBROUTINE TO DO MONOUTX
2?=W SBX 6 FX1
2?QG MONOUTX 7
2#=6 ADX 6 FX1
2#PQ EXIT 6 0
2*9B OUTPACK [ SUBROUTINE TO DO OUTPACK
2*P2 SBX 7 FX1
2B8L OUTPACKX 4,5,6
2BN= ADX 7 FX1
2C7W EXIT 7 0
2CMG XHUNTFTWICE [ SUBROUTINE TO HUNT FI/FTWICE
2D76 HUNTMISB 3,FI,FTWICE
2DLQ EXIT 7 0
2F6B Z1BMFIXIT
2FL2 [ ENTRY POINT FOR BLOCKTWICE RECOVERY
2G5L [ ON FIRST PASS BLOCK NO.PUT IN FONCE
2GK= [ ON SECOND PUT IN FTWICE WITH NAME
2GP7 ... LDX 5 ACOMMUNE5(2) [COUNT OF BLOCKS NOT YET MAPPED.
2GT4 ... LDX 4 ACOMMUNE1(2) [PRESERVE ACOMMUNE1 FOR BLOCKMAP
2GY^ ... [IN CASE STEPAGAIN COORDINATES.
2H4W STEPAGAIN
2H#N ... STO 4 ACOMMUNE1(2)
2HJG LDX 6 ERESN(3) [ RESIDENCE NO.
2HS# ... BZE 6 MAPFCB
2JHQ ... LDX 1 ACOMMUNE1(2) [ NO. OF BLOCKS IN FILE
2K3B ADN 1 ESERN(3) [ ADDRESS OF FIRST BLOCK NO.
2KH2 SBX 1 5 [ GET POINTER TO BLOCK BEING MAPPED
2L2L LDX 4 0(1) [ BLOCK NO.
2LG= ... BSON BMBLKTWICE,PUTINFTWICE
2L^W [ J. IF ON SECOND PASS
2MFG CALL 1 SUB1 [ HUNT FONCE
2M^6 ... NGN 7 2 [ INITIALISE COUNTER
2NDQ NXTBLK
2NYB ... ADN 7 2
2PD2 BXGE 7 A1(2),PUTINFONCE [ J. IF END OF USED SPACE
2PXL SMO 7
2QC= ... LDX 0 A1+1(2) [ COMPARE RESIDENCE NOS.
2QWW SBX 0 6
2RBG BNZ 0 NXTBLK [ J. IF DIFFERENT
2RW6 SMO 7
2S*Q ... LDX 0 A1+2(2) [ COMPARE BLOCK NOS.
2STB SBX 0 4
2T*2 BZE 0 NALREADY [ J. IF SAME NO. ALREADY THERE
2W#= BRN NXTBLK [ J. IF DIFFERENT
2WRW PUTINFONCE [ IF ON FIRST PASS
2X?G LDX 0 A1(2)
2XR6 ADN 0 2
2Y2Y ... STO 0 A1(2)
2Y=Q BXL 0 ALOGLEN(2),NOLEN [ J. IF BLOCK NOT FULL
2YQB LDX 0 ALOGLEN(2)
2^=2 ADN 0 10
2^PL ALTLENG 2,0,SUB1 [ OTHERWISE LENGTHEN IT
2^^D ... CALL 1 SUB1
329= NOLEN
32NW SMO 7
338G ... STO 4 A1+2(2) [ STORE BLOCK NO.
347Q SMO 7
34MB ... STO 6 A1+1(2) [ AND RESIDENCE NO.
3572 NALREADY
35LL UP [ TO CARRY ON WITH MAPPING
366= PUTINFTWICE [ IF ON SECOND PASS
36KW ... LDX 2 BSACHAPTR
375G POP PUTINFTWICE,2,FTABWAIT [ LOCK OUT OTHER ACTIVITIES
37K6 BACKSPACE
384Q STEPAGAIN [ TO NAME RECORD
38#J ... STO 3 AWORK3(2) [ SAVE PTR. TO NAME REC.
38JB ... STO 6 AWORK4(2) [ SAVE RESIDENCE NO. FOR LATER
38S8 ...REHUNT
3942 LDN 1 BMISC [
39HL NEXT [ SEARCH MISCELLANEOUS CHAIN
3=3= LDX 1 BPTR(1) [ BACKWARDS FOR FI/FTWICES
3=GW BXE 1 CXMI,SETUPFTWICE [ END OF SEARCH AT BASE OF CHAIN
3?2G LDX 0 ATYPE(1)
3?=# ... SMO FX1
3?G6 BXU 0 TYPEFTWICE,NEXT [ J.IF NOT A FTWICE
3?WL ... TOPFCB2 3
3#?6 ... LDX 5 FME1(3)
3#ML ... LDX 6 FME2(3) [ COMPARE USERNAME OF FILE
3*46 ... LDX 7 FME3(3)
3*DL TXU 5 FTUSE(1)
3*Y= TXU 6 FTUSE+1(1) [ WITH THAT IN FTWICE
3BCW TXU 7 FTUSE+2(1)
3BXG BCS NEXT [J.IF DIFFERENT TO FIND NEXT FTWICE
3C7# ... LDX 3 AWORK3(2)
3CC6 LDX 5 ELOC1N(3)
3CWQ LDX 6 ELOC2N(3) [ COMPARE LOCAL NAME OF FILE
3DBB LDX 7 ELOC3N(3)
3DW2 TXU 5 FTLOC(1)
3F*L TXU 6 FTLOC+1(1) [ WITH THAT IN FTWICE
3FT= TXU 7 FTLOC+2(1)
3G#W BCS NEXT [J. IF DIFFERENT
3GSG LDX 5 FTGEN(1)
3H#6 LDX 6 FTLAN(1) [ COMPARE GENERATION AND LANGUAGE
3HRQ TXU 5 EGENN(3)
3J?B TXU 6 ELANN(3) [ WITH THOSE OF FILE
3JR2 BCS NEXT [ J.IF DIFFERENT ELSE THIS IS
3K=L LDX 0 ALOGLEN(1) [THE ONE WE WANT
3KQ= SBX 0 A1(1) [CHECK IF LONG ENOUGH FOR
3L9W LDN 7 2 [ EXTRA ENTRY
3LD6 ... BXL 7 0,NOSET2 [ J.IF IT IS
3LLB ... CHAIN 1,BMISC+1
3LSL ... LDX 1 BMISC+1
3M2W ... LDX 0 ALOGLEN(1)
3M96 ... ADN 0 2
3MCB ... ALTLENG 1,0,SUB2
3MKL ... CALL 1 SUB2
3MRW ... LDX 1 2
3N26 ... BRN NOSET2
3N8B SETUPFTWICE
3NN2 ... SETNCORE 15,1,FI,FTWICE [ SET UP FTWICE IF ONE NOT FOUND
3P7L LDN 0 FTRES-A1
3PM= STO 0 A1(1) [ INITIAL RECORD HEADER
3PN9 ... CHAIN 1,BMISC+1
3PP8 ... TOPFCB2 1
3PQ7 ... LDN 5 FME1(1)
3PR6 ... LDX 1 BMISC+1
3PS5 ... LDN 6 FTUSE(1)
3PT4 ... MOVE 5 3 [ USERNAME INTO FTWICE
3PW3 ... STEPAGAIN
3PX2 ... LDX 1 BMISC+1
3PX^ ... LDN 5 ELOC1N(3)
3PYY ... ADN 6 3
3P^X ... MOVE 5 3 [ LOCALNAME INTO FTWICE
3Q2W ... LDX 0 EGENN(3)
3Q3T ... STO 0 FTGEN(1) [ AND GENERATION
3Q4S ... LDX 0 ELANN(3)
3Q5R ... STO 0 FTLAN(1) [ AND LANGUAGE CODE
3Q6W NOSET2
3QF? ... LDX 2 FX2
3QRN ... LDX 6 AWORK4(2) [ RECOVER RESIDENCE NO.
3R66 LDN 0 1
3RKQ SMO A1(1)
3S5B ... STO 6 A1(1) [ STORE RESIDENCE NO.
3SK2 ADS 0 A1(1) [ UPDATE RECORD HEADER
3T4L SMO A1(1)
3TJ= ... STO 4 A1(1) [ STORE BLOCK NO.
3W3W ADS 0 A1(1) [ UPDATE RECORD HEADER
3W?N ... LDX 2 BSACHAPTR
3WHG VOP 2,FTABWAIT [ END LOCKOUT
3X36 STEP [ BACK TO BLOCKS RECORD
3X=Y ...MAPFCB
3XGQ UP [ TO CARRY ON MAPPING
3Y2B [
3YG2 Z2BMFIXIT [ ENTRY POINT FOR ECOPS NOT =
3Y^L [ BLOCKS RECORD
3^9D ... [ X5 = NO. OF BLOCKS FROM REC. HDR.
3^F= ... LDX 0 ACOMMUNE2(2)
3^P4 ... STO 0 AWORK4(2)
3^YW BACKSPACE
42DG STEPAGAIN [ ON NAME RECORD
42Y6 JBS NOGEOERR,3,BNWORK [ J. IF WORKFILE
43=H ... FREELINK
43JY ... ACROSS BMAPONE,12
43XB NOGEOERR
443? ... SLL 5 15
4478 ... ORN 5 1
44?5 ... STO 5 ECOPSN(3)
44C2 MBS 3,BNBMUWB,BNTEMP,BNERASE
44WL STEPREWRITE [ MARK TO BE ERASED IN BMAPTWO
45B= LDN 4 ELOC1N(3)
45TW LDN 5 3
46*G LDN 6 4
46T6 CALL 7 OUTPACK [ OUTPACK LOCAL NAME OF ! FILE
47#Q ... LDX 7 NSIZRONG(1)
47SB CALL 6 MONOUT [ MONOUT SIZE MESSAGE
47XG ... FINDLINK 2
482L ... BS 2,AW2PUTINFL
48RL STEP [ TO BLOCKS RECORD AGAIN
48YS ... LDX 0 AWORK4(2)
4962 ... STO 0 ACOMMUNE2(2)
49?= UP [ TO MAP NEXT ENTRY
49QW [
4==G [ ENTRY POINT TO CORRECT BLOCKTWICES
4=Q6 [
4?9Q Z3BMFIXIT
4?PB ... SETNCORE 10,3,FILE,FABSNB [ SET UP FABSNB FOR
4#92 LDN 0 10 [ OPENING DIRECTORIES
4#NL STO 0 A1(3)
4*8= ... SETNCORE 3,3,BSTB,EMPTYB [ SET UP EMPTYB
4*MW LDN 0 3 [ FOR GETBAXES
4B7G STO 0 A1(3)
4BM6 ... LDX 7 MDUBALBLK1(1)
4C6Q CALL 6 MONOUT
4CLB ... LDX 7 MDUBALBLK2(1)
4D62 CALL 6 MONOUT
4DKL ... LDX 7 M2ALHEAD(1)
4F5= CALL 6 MONOUT [ OUTPUT HEADINGS
4FJW CALL 7 XHUNTFTWICE
4G4G NEXTFTWICE
4GJ6 MHUNT 2,FILE,FABSNB
4GP# ... LDN 0 10
4GWG ... STO 0 A1(2)
4H3Q LDN 6 A1+1(3)
4HHB LDN 7 A1+1(2)
4J32 MOVE 6 6 [ FILENAME INTO FABSNB
4J88 ... ADN 6 6
4J*B ... ADN 7 6
4JGL LDN 0 1
4K2= SMO 7
4KFW STO 0 0 [ REEL NO.
4K^G ADS 0 7 [ UPDATE POINTER
4LF6 MOVE 6 2 [ DETAILS
4LYQ OPENDIR XBR,GENERAL [ OPEN DIRECTORY
4NJR ... READAGAIN [ READ BLOCKS RECORD OF FILE
4NX= MHUNT 3,FILE,FRB
4PBW NAMETOP 3,FILE,FWB [ RENAME FRB TO FWB
4PWG ... LDX 4 ERES(3)
4QB6 MHUNT 2,BSTB,EMPTYB
4QTQ ... STO 4 A1+1(2) [ STORE RESIDENCE NO.
4RT2 SMO FX2
4S#L ... STOZ AWORK1 [ POINTER TO BLOCK NOS. IN FTWICE
4SS= NEXTSWAP
4T?W GETBAX [ GET A NEW BLOCK TO SWAP FOR OLD
4TRG CALL 7 XHUNTFTWICE
4W?6 SMO AWORK1(2)
4WQQ LDX 6 FTBLK(3) [ OLD BLOCK NO. FOR BACKREAD
4X=B ... BACKREAD ,BSBS,RFAIL,EX4,EX6
4XQ2 MHUNT 3,BSTB,BREAD
4XR5 ... BPZ 3 READOK
4XRL ...RFAIL
4XS8 ... LDX 6 BA3(2)
4XT? ... SETNCORE 512,3,BSTB,BREAD
4XWB ... LDN 0 32
4XXF ... STO 0 A1(3)
4XYJ ... LDN 0 #41
4X^M ... STO 0 A1+1(3)
4Y2Q ... LDN 0 A1+2(3)
4Y3T ... LDN 0 A1+3(3)
4Y4Y ... STOZ A1+2(3)
4Y63 ... MOVE 0 35
4Y76 ... STO 6 BACK2(3)
4Y89 ...READOK
4Y9L LDX 6 BACK2(3) [ RECOVER OLD BLOCK NO.
4YP= MHUNT 2,BSTB,FULLB
4^8W LDX 5 A1+2(2) [FIND NEW BLOCK NO. FROM GETBAX
4^NG STO 5 BACK2(3) [ SWAP NOS. IN BREAD BLOCK
5286 NAMETOP 2,BSTB,EMPTYB [ RENAME FULLB FOR REUSE
52MQ MHUNT 2,FILE,FWB
537B ADN 2 ERES
53M2 NEXTNO
546L ADN 2 1 [ GET POINTER TO NEXT BLOCK NO.
54L= BXU 6 0(2),NEXTNO [ J. IF NOT DOUBLY ALL. BLOCK NO.
555W STO 5 0(2) [ ELSE REPLACE WITH NEW NO.
55KG ... BACKWRITE FREE,BSBS,,EX4,BACK2(3) [ REWRITE NEW BLOCK
5656 LDN 0 2
56JQ ADS 0 AWORK1(2) [ UPDATE POINTER TO BLOCK NOS.
574B CALL 7 XHUNTFTWICE
57J2 LDN 0 FTBLK(3) [ POINTER TO FIRST BLOCK NO.
583L ADX 3 A1(3)
58H= ... ADN 3 A1+1 [POINTER TO END OF BLOCK
592W ... SBX 3 AWORK1(2) [ LESS NO.OF BLOCKS SWAPPED
59GG ... BXL 0 3,NEXTSWAP [ J. IF NOT ALL SWAPPED YET
5=26 REPLACE [ BLOCKS RECORD
5=9Y ... MFREEW FILE,FWB
5=FQ BACKSPACE
5=QM ... MHUNTW 3,FILE,ENT [ TO NAME RECORD
5?3J ... NAME 3,FILE,FWB
5?#F ... BS 3,BEBLOCK2
5?KB ... REWRITE
5?W? ... MHUNTW 3,FILE,FWB
5#78 ... JMBS XCLOSE,3,BEONLINE,BEALLINCS,BEDUMP,BEINDEX [WANT TO OUT
5#D= [ALWAYSDUMP,KEEPONLINE SET
5#XW ... LDX 0 EINC(3) [ OR IF NOT DUMPED
5*CG BZE 0 XCLOSE
5BBQ STOZ 0
5BHY ... DLA 0 ECOPS(3) [ ELSE PUT OFFLINE
5BP6 ... BC 3,BEBLOCK2
5BW# ... REWRITE
5C3G ... MFREE FILE,FWB
5C8N ... READ
5C*W ... MHUNTW 1,FILE,FRB
5CH4 ... NAME 1,BSTB,FULLB
5CN= ... FULLBPAS 1,2
5CTL DELETE [ AND DELETE BLOCKS RECORD
5G?Q XCLOSE
5GRB CALL 7 XHUNTFTWICE
5H?2 LDN 4 FTUSE(3)
5HQL LDN 5 3
5J== LDN 6 3
5JPW CALL 7 OUTPACK [ USERNAME
5K9G CALL 7 XHUNTFTWICE
5KP6 LDN 4 FTLOC(3)
5L8Q LDN 5 3
5LNB LDN 6 4
5M82 CALL 7 OUTPACK [ LOCALNAME
5MML CALL 7 XHUNTFTWICE
5N7= LDN 4 FTGEN(3)
5NLW LDN 5 1
5P6G LDN 6 5
5PL6 CALL 7 OUTPACK [ GEN. NO.
5Q5Q CALL 7 XHUNTFTWICE
5QKB LDN 4 FTLAN(3)
5R52 LDN 5 1
5RJL LDN 6 6
5S4= CALL 7 OUTPACK [ LANGUAGE
5SHW CALL 7 XHUNTFTWICE
5T3G LDN 4 FTRES(3)
5TH6 LDN 5 1
5W2Q LDN 6 33
5WGB CALL 7 OUTPACK [ RES. NO.
5X22 CALL 7 XHUNTFTWICE
5XFL LDN 4 FTBLK(3)
5X^= LDN 5 1
5YDW LDN 6 42
5YYG CALL 7 OUTPACK [ BLOCK NO.
5^D6 ... LDX 7 MFILERONG(1)
5^XQ CALL 6 MONOUT [ COMPLETED FILENAME + BLOCK NO.
62CB CALL 7 XHUNTFTWICE
62X2 FREECORE 3 [ FREE THIS FILES FTWICE
63W= CLOSETOP [ DIRECTORY
64*W CALL 7 XHUNTFTWICE
64TG BPZ 3 NEXTFTWICE
6BL2 CALL 1 SUB1
6C5L FREECORE 2 [ FONCE
6CK= ... MFREE BSTB,EMPTYB
6D4W MFREE FILE,FABSNB [ TIDY UP
6DJG UP
6F46 ...Z4BMFIXIT
6GH2 ...NEXTWICE
6H2L ... CALL 7 XHUNTFTWICE
6HG= ... BNG 3 TWICESGONE
6H^W ... FREECORE 3 [ FREE ALL TWICES
6JFG ... BRN NEXTWICE
6J^6 ...TWICESGONE
6K=3 ...NEXTFWB
6KGY ... HUNTMISB 3,FILE,FWB
6KRT ... BNG 3 NOMORFWB
6L4Q ... FREECORE 3 [ FREE ALL FWB'S IN MISC. CHAIN
6L*M ... BRN NEXTFWB
6LLJ ...NOMORFWB
6LXL ... HUNTMISB 3,FI,FUSER
6MC= ... LDX 0 A1(3)
6MWW ... ADN 0 A1(3) [ PTR. TO END OF BLOCK
6NBG ... LDN 2 A1(3)
6NW6 ...NEXTONE
6P*Q ... ADN 2 5 [ NEXT WORD TO TEST
6PTB ... BXL 0 2,NOMOR [ END OF BLOCK
6R#= ... STOZ 0(2)
6T=Q ... BRN NEXTONE
6TQB ...NOMOR
6W=2 ... HUNTW 3,FILE,FTAB
6WPL ... BNG 3 NOWFTAPE
6X9= ... FREECORE 3
6XNW ... BRN NOMOR [ FREE ALL FTABS
6Y8G ...NOWFTAPE
6YN6 ... HUNTMISB 3,FI,FTAPE
6^7Q ... LDX 0 A1(3)
6^MB ... ADN 0 A1(3)
7272 ... LDN 2 A1+1(3)
72LL ... LDCT 6 #400
736= ...NEXTAPE
73KW ... BXL 0 2,NONLEFT
745G ... ORS 6 0(2)
74K6 ... ERS 6 0(2)
754Q ... ADN 2 4 [ CLEAR ALL FOUND BITS
75JB ... BRN NEXTAPE
7642 ...NONLEFT
76HL ... HUNT 3,BSTB,FBSIB
773= ... BNG 3 NOWSETMUP
77GW ... FREECORE 3 [ FREE ALL FBSIBS
782G ... BRN NONLEFT
78G6 ...NOWSETMUP
78^Q ... DOWN BACKROOM,1 [ SET THEM UP AGAIN
79FB ... HUNTMISB 3,FI,FLIST
79^2 ... STOZ A1(3)
7=DL ... REWIND
7=Y= ... REWIND 1
7?CW ... REWIND 2 [ RESET FILES TO BEGINNING
7?XG ... BSOFF BMBLKTWICE,STARTAGAIN [ I.E. J. IF PARTRES
7#C6 ... HUNTMISB 3,FI,FONCE
7#WQ ... LDX 1 FX1
7*BB ... LDX 2 FX2
7*W2 ... LDX 6 A1(3)
7B*L ... ADN 6 A1(3) [ PTR.TO END OF BLOCK
7BT= ... LDN 3 A1(3)
7C#W ... LDN 4 1
7CSG ...NEXTENT
7D#6 ... LDN 5 3 [ SET PSEUDO PTRS. FOR BLOCKMAP
7DRQ ... LDX 0 1(3) [ CHECK FOR RES.3 BLK.0
7F?B ... SBN 0 3
7FR2 ... BNZ 0 MAPIT [ J. IF NOT RES.3
7G=L ... LDX 0 2(3)
7GQ= ... ADN 3 1 [ UPDATE PTR. FOR NOT MAPPING CASE
7H9W ... BZE 0 NOMAPIT [ J. IF BLK.0
7HPG ... SBN 3 1 [ DECR. PTR. IF WE ARE MAPPING
7J96 ...MAPIT
7JNQ ... BLOCKMAP XBR,XBR
7K8B ...NOMAPIT
7KN2 ... ADN 3 1
7L7L ... LDX 7 3
7LM= ... ADN 7 1
7M6W ... BXL 7 6,NEXTENT [ J. IF NOT FINISHED
7MLG ...STARTAGAIN
7N66 ... ACROSS BMAPONE,1
8GFW ...XBR
8G^G ... GEOERR 1,BMFIXIT
8HF6 ...[
8HYQ ...#END
^^^^ ...562066150002