22FL ... 22^= ...# 23DW ...# 23YG ...[??? FILETRAN SECT FILE FGN 11 DOC 24D6 ...# 24XQ ...[??? FILEA SECT FILE FGN 11 DOC 25CB ...# 25X2 ...[??? FILEREAD SECT FILE FGN 11 DOC 26BL ...# 26W= ...[??? FILEAUTW SECT FILE FGN 11 DOC 27*W ...# 27TG ...[??? FILEWRIT SECT FILE FGN 11 DOC 28*6 ...# 28SQ ...[??? FILEAUTR SECT FILE FGN 11 DOC 29#B ...# 29S2 ...[??? CLOSE SECT FILE FGN 11 DOC 2=?L ...# 2=R= ...[??? CLOSETHA SECT FILE FGN 11 DOC 2?=W ...# 2?QG ...[??? CLOSESHO SECT FILE FGN 11 DOC 2#=6 ...# 2#PQ ...[??? CLOSEABA SECT FILE FGN 11 DOC 2*9B ...# 2*P2 ...[??? CLOSEDIR SECT FILE FGN 11 DOC 2B8L ...# 2BN= ...[??? CLOSETOP SECT FILE FGN 11 DOC 2C7W ...# 2CMG ...[??? FREEZESA SECT FILE FGN 11 DOC 2D76 ...# 2DLQ ...[??? CLOSESET SECT FILE FGN 11 DOC 2F6B ...# 2FL2 ...[??? CLOSEFRB SECT FILE FGN 11 DOC 2G5L ...# 2GK= ...[??? CLOSETHR SECT FILE FGN 11 DOC 2H4W ...# 2HJG ...[??? COPYFILE SECT FILE FGN 11 DOC 2J46 ...# 2JHQ ...[??? QKTABSET SECT FILE FGN 11 DOC 2K3B ...# 2KH2 ...[??? QKTABULA SECT FILE FGN 11 DOC 2L2L ...# 2LG= ...[??? SETUPTAB SECT FILE FGN 11 DOC 2L^W ...# 2MFG ...[??? TABSET SECT FILE FGN 11 DOC 2M^6 ...# 2NDQ ...[??? TABULATE SECT FILE FGN 11 DOC 2NYB ...# 2PD2 ...[??? TABULATX SECT FILE FGN 11 DOC 2PXL ...# 2QC= ...[??? TAB SECT FILE FGN 11 DOC 2QWW ...# 2RBG ...[??? TABX SECT FILE FGN 11 DOC 2RW6 ...# 2S*Q ...[??? TABREWIN SECT FILE FGN 11 DOC 2STB ...# 2T*2 ...[??? TABRESET SECT FILE FGN 11 DOC 2TSL ...# 2W#= ...[??? TABUNSET SECT FILE FGN 11 DOC 2WRW ...# 2X?G ...[??? FREETAB SECT FILE FGN 11 DOC 2XR6 ...# 2Y=Q ...[??? LOADNUM SECT FILE FGN 11 DOC 2YQB ...# 2^=2 ...[??? SUBNUM SECT FILE FGN 11 DOC 2^PL ...# 329= ...[??? MAPBIN SECT FILE FGN 11 DOC 32NW ...# 338G ...[??? SFMAP SECT FILE FGN 11 DOC 33N6 ...# 347Q ...[??? MAPBSE SECT FILE FGN 11 DOC 34MB ...# 3572 ...[??? MAPBCH SECT FILE FGN 11 DOC 35LL ...# 366= ...[??? MAPBSECH SECT FILE FGN 11 DOC 36KW ...# 375G ...[??? MAPBDEL SECT FILE FGN 11 DOC 37K6 ...# 384Q ...[??? MAPBCIRC SECT FILE FGN 11 DOC 38JB ...# 3942 ...[??? FRITE SECT FILE FGN 11 DOC 39HL ...# 3=3= ...[??? FULLBPAS SECT FILE FGN 11 DOC 3=GW ...# 3?2G ...# 56#Y ...[??? FILETRAN SECT FILE FGN 11 DOC 56JQ #MAC FILETRAN 574B [ FIRST S/R .ON ENTRY X3= FILE DEPTH, 57J2 [ ON EXIT X1 -> FCB, X2 -> FCA. 583L #DEF M1FILETRAN=0? 58H= STO 0 GEN0 592W LDX 2 FX2 59GG FFCA 5=26 SMO FBACKPOINT(2) 5=FQ LDX 1 BPTR(2) 5=^B BRN (GEN0) 5?F2 [ SECOND S/R. ON ENTRY X1-> FCB,GEN1 CONTAINS B.S.PREFIX OF TRANSFER, 5?YL [ GEN2 CONTAINS B.S.BLOCK NO. 5#D= #DEF M2FILETRAN=0? 5#JN ... LDN 3 BTHREE 5#P6 ... BXU 3 GEN1,M3FILETRAN [J IF NOT RESIDENCE 3 5#TJ ... LDN 3 ADMASTDIR 5*22 ... BXE 3 GEN2,(GEOERR) [BREAK IF BLOCK 0 5*6D ...M3FILETRAN 5*=W ... BSXD 3,BFCOPY 5*CG ANDX 3 FCOMM(1) 5*X6 [ EXIT IF NOT BEING COPIED 5BBQ BZE 3 (0) 5BWB ... EXIT 0 1 [EXIT + 1 IF FILE BEING COPIED 62X2 #NOR 636S ...[??? FILEA SECT FILE FGN 11 DOC 63BL #MAC FILEA 63W= ...[ CALCULATE POINTERS,SET GEN1 & GEN2 TO B.S.HOME PAIR OF BLOCK TO BE TRA 64*W ...M2FILEA 64TG #STR %A,3 65*6 LDX 3 %A 65SQ #STR %A 66#B #SKI 66S2 LDN 3 0 67?L ... CALL 0 M1FILETRAN [X1-> FCB, X2-> FCA 67R= ...#STR %C 68=W ... SMO %C 68QG ...#STR %C 69=6 #SKI 69PQ SMO FREADBLOCK(2) 6=9B LDX 0 0(1) 6=KB ... STO 0 GEN2 [INSERT BLOCK NO. IN GEN2 6=^B ...#STR %B [SKIP IF 512-WORD TRANSFER 6?*B ...( 6?PB ...#STR %C 6#5B ... LDX 0 %C 6#FB ...#STR %C 6#TB ...#SKI 6*9B ... LDX 0 FREADBLOCK(2) 6*KB ... SLC 0 2 6*^B ... ANDN 0 3 6B*B ... ORS 0 GEN2 [INSET BLOCKLET BITS INTO GEN2 6BPB ...) 6C5L LDX 0 BSPRE(1) 6CK= ... STO 0 GEN1 [ & RESIDENCE NO. IN GEN1 6D4W CALL 0 M2FILETRAN 6D82 ... BRN M1FILEA [FILE NOT BEING COPIED 6D?6 ... COOR3 COPY 6DB= ... BRN M2FILEA 6DFB ...M1FILEA 6DJG #NOR 6W^D ...[??? FILEREAD SECT FILE FGN 11 DOC 6X9= #MAC FILEREAD 6X9C ...# 6X9J ...# SET M4FILEREAD TO ZERO 6X9P ...# IF %B CONTAINS BSET OR BOBJ 6X9W ...# OR IF %G IS NOCHECK 6X=3 ...# 6X=8 ...#STR %B 6X=* ...#DEF M2FILEREAD = BSET+BOBJ&(%B) 6X=G ...#OPT M2FILEREAD = 0 6X=M ...# 6X=S ...#STR NOCHECK,%G 6X=^ ...#DEF M3FILEREAD = 0 6X?6 ...#OPT M3FILEREAD = 1 6X?? ...# 6X?D ...#DEF M4FILEREAD = M2FILEREAD^M3FILEREAD<1$1 6X?K ...# 6X?Q ...# 6X?X ...#SKI M4FILEREAD 6X#4 ...( 6X#B ... LDN 3 6 6XCG ...M1FILEREAD 6XGL ... SMO FX2 6XKQ ... STO 3 ACOMMUNE7 6XMC ...) 6XP4 ... FILEA %A,%C,%D 6XQP ...#SKI M4FILEREAD 6XSB ...( 6XW4 ... SMO FX2 6Y3= ... LDX 3 ACOMMUNE7 6Y5W ...) 6Y8G #STR %C 6YN6 BACKREAD %B,%C,,GEN1,GEN2,%E,%F 6^7Q #STR %C 6^MB #SKI 7272 BACKREAD %B,BSBS,,GEN1,GEN2,%E,%F 729K ...#SKI M4FILEREAD 72#8 ...( 72BS ... STO 3 ACOMMUNE7(2) 75JB #STR %A 7642 LDX 3 %A 76HL #STR %A 773= #SKI 77GW LDN 3 0 782G CALL 0 M1FILETRAN [X1->FCB, X2->FCA 7#C6 SMO FX2 7#WQ LDX 2 FPTR [X2-> BUFFER 7CCF ... CHECKBL 1,2,M5FILEREAD [J IF NOT CORRUPT - OVERWRITES X0,X1 7CG4 ... SMO FX2 7CJM ... LDX 3 ACOMMUNE7 7CM= ... SBN 3 1 7CPT ... BZE 3 M6FILEREAD 7CSD ... FREECORE 2 7CX3 ... BRN M1FILEREAD 7C^L ...M6FILEREAD 7D49 ... CORRUPTB BACK1(2),BACK2(2) 7D6S ...M5FILEREAD 7D9C ... LDX 1 FX1 7D#6 LDX 2 FX2 7DRQ ) 7F?B #FRE M2FILEREAD,M3FILEREAD,M4FILEREAD 7FR2 #NOR 7G2S ...[??? FILEAUTW SECT FILE FGN 11 DOC 7G=L #MAC FILEAUTW 7G#3 ...# 7G*D ...#STR %B 7GBT ...#DEF M2FILEAUTW = BSET+BOBJ&(%B) 7GD= ...#OPT M2FILEAUTW = 0 7GFM ...# 7GH4 ...#STR NOCHECK,%G 7GJF ...#DEF M3FILEAUTW = 0 7GKW ...#OPT M3FILEAUTW = 1 7GM? ...# 7GNN ...#DEF M4FILEAUTW = M2FILEAUTW^M3FILEAUTW<1$1 7GQ5 ...# 7GRG ...# 7GSX ... FILEA %A,%C,%D 7GWN ... SMO FX2 7GYX ... LDX 2 FPTR [X2-> BUFFER 7G^L ...#SKI M4FILEAUTW 7H2* ...( 7H36 ... CHECKBL 1,2,M1FILEAUTW 7H5* ... DOWN READFAIL,5 [GO TO GEOERR 7H7J ...M1FILEAUTW 7H8P ...) 7H9W #STR %C 7HPG #SKI 7J96 WRITEAUT %B,BSBS,,GEN1,GEN2,%E,%F 7JNQ #STR %C 7K8B WRITEAUT %B,%C,,GEN1,GEN2,%E,%F 7KD8 ...#FRE M2FILEAUTW,M3FILEAUTW,M4FILEAUTW 7KN2 #NOR 7KXS ...[??? FILEWRIT SECT FILE FGN 11 DOC 7L7L #MAC FILEWRITE 7LFM ... FILEA %A,%C,%D 7LRN ... SMO FX2 7LTX ... LDX 2 FPTR 7LY6 ... CHECKBL 1,2,M1FILEWRITE 7M2* ... DOWN READFAIL,5 7M4J ...M1FILEWRITE 7M6W #STR %C 7MLG #SKI 7N66 BACKWRIT %B,BSBS,%G,GEN1,GEN2,%E,%F 7NKQ #STR %C 7P5B BACKWRIT %B,%C,%G,GEN1,GEN2,%E,%F 7PK2 #NOR 7PSS ...[??? FILEAUTR SECT FILE FGN 11 DOC 7Q4L #MAC FILEAUTR 7QJ= ... FILEA %A,%C,%D 7R3W #STR %C 7RHG READAUTO %B,%C,,GEN1,GEN2,%E,%F 7S36 #STR %C 7SGQ #SKI 7T2B READAUTO %B,BSBS,,GEN1,GEN2,%E,%F 7TG2 #NOR 7TPS ...[??? CLOSE SECT FILE FGN 11 DOC 7T^L # 7XDG #MAC CLOSE 7XY6 #STR %A 7YCQ #SKI 7YXB DOWN CLOSEDIR,21 7^C2 #STR %A 7^WL ( 82B= LDN 0 %A 82TW LDX 2 FX2 83*G ... STO 0 ACOMMUNE8(2) 83T6 DOWN CLOSEDIR,1 84#Q ) 84SB #NOR 86H4 ...[??? CLOSETHA SECT FILE FGN 11 DOC 86QW #MAC CLOSETHAW 87=G DOWN CLOSFREZ,3 87Q6 #NOR 87^Y ...[??? CLOSESHO SECT FILE FGN 11 DOC 889Q #MAC CLOSESHORT 88PB #STR %A 8992 ...! NON-ZERO DEPTH NOT ALLOWED 89NL DOWN CLOSEDIR,23 8*KL #NOR 8*TD ...[??? CLOSEABA SECT FILE FGN 11 DOC 8B5= # 8BJW #MAC CLOSEABANDON 8C4G #STR %A 8CJ6 ...! NON-ZERO DEPTH NOT ALLOWED 8F32 DOWN CLOSEDIR,12 8MTQ #NOR 8N5J ...[??? CLOSEDIR SECT FILE FGN 11 DOC 8N*B # 8NT2 #MAC CLOSEDIR 8P#L DOWN CLOSEDIR,5 8PS= #NOR 8Q44 ...[??? CLOSETOP SECT FILE FGN 11 DOC 8Q?W # 8QRG #MAC CLOSETOP 8R?6 DOWN CLOSEDIR,2 8RQQ #NOR 8S2J ...[??? FREEZESA SECT FILE FGN 11 DOC 8S=B #MAC FREEZESAVE 8S*G ...#STR READ,%A 8SDL ...( 8SHQ ...#STR %A 8SLW ...! %A MUST BE 'READ' OR NULL 8SQ2 DOWN CLOSFREZ,2 8STX ...#EXI 8S^S ...) 8T5P ... DOWN CLOSFREZ,1 8T9L #NOR 8TFD ...[??? CLOSESET SECT FILE FGN 11 DOC 8TP= #MAC CLOSESET 8W8W #STR %A 8WNG ...! NON-ZERO DEPTH NOT ALLOWED 8X86 DOWN CLOSEDIR,16 9356 #NOR 93#Y ...[??? CLOSEFRB SECT FILE FGN 11 DOC 93JQ #MAC CLOSEFRBS 97FQ #STR %A 97^B ...! NON-ZERO DEPTH NOT ALLOWED 98F2 DOWN CLOSEDIR,27 98YL #NOR 998D ...[??? CLOSETHR SECT FILE FGN 11 DOC 99D= #MAC CLOSETHROW 99XW DOWN CLOSEDIR,95 9=CG #NOR 9=M# ...[??? COPYFILE SECT FILE FGN 11 DOC 9=X6 #MAC COPYFILE 9?BQ LDX 0 %A 9?WB SMO FX2 9#B2 STO 0 EXEC2 9*SW DOWN COPYFILE,1 9C?Q #NOR 9F2D ...[??? QKTABSET SECT FILE FGN 11 DOC 9F== # 9GX3 ...#MAC QKTABSET 9GX5 ...[ 9GX7 ...[ TH QKTABSET AND QKTABULATE MACROS PRIVIDE AN EFFICIENT TAB SYSTEM 9GX9 ...[ FOR THE SIMPLE CASE WHEN ALL THAT IS NEEDED IS TO SAVE THE POSN 9GX? ...[ OF A FILE. THE FORMAT IS 9GX* ...[ PARAM A - A POINTER TO THE FCA OF THE FILE 9GXC ...[ PARAM B - A WORD IN WHICH FREADWORD CAN BE STORED(OR RESTORED FROM) 9GXF ...[ PARAM C - DITTO FREADBLOCK 9GXH ...[ 9GXN ... MOD LDX 0 FREADWORD,%A 9GY* ... STO 0 %B 9G^2 ... MOD LDX 0 FREADBLOCK,%A 9G^M ... STO 0 %C 9H2# ...#NOR 9H2L ...[??? QKTABULA SECT FILE FGN 11 DOC 9H2^ ...#MAC QKTABULATE 9H3L ... LDX 0 %B 9H4? ... MOD STO 0 FREADWORD,%A 9H4Y ... LDX 0 %C 9H5K ... MOD STO 0 FREADBLOCK,%A 9H6= ...#NOR 9H6J ...[??? SETUPTAB SECT FILE FGN 11 DOC 9H6X ...# 9JML #MAC SETUPTAB 9K7= SETNCORE 2,1,FILE,FTAB 9KLW STOZ FTREAD(1) 9L6G STOZ FTAPP(1) 9LL6 LDX 1 FX1 9M5Q #NOR 9M*J ...[??? TABSET SECT FILE FGN 11 DOC 9MKB #MAC TABSET 9N52 LDX 2 FX2 9NJL MHUNT 1,FILE,FTAB 9P4= STO 1 ACOMMUNE1(2) 9PHW LDX 1 ALOGLEN(1) 9Q3G ADN 1 2 9QH6 STO 1 ACOMMUNE2(2) 9R2Q ALTLEN ACOMMUNE1(2),ACOMMUNE2(2) 9RGB MHUNT 1,FILE,FTAB 9S22 LDN 0 2 9SFL ADS 0 FTAPP(1) 9S^= ADX 1 FTAPP(1) 9TDW TOPFCA2 2 9TYG LDX 0 FREADBLOCK(2) 9WD6 STO 0 A1(1) 9WXQ LDX 0 FREADWORD(2) 9XCB LDX 2 FX2 9XX2 STO 0 A1+1(1) 9YBL LDX 1 FX1 9YW= #NOR 9^64 ...[??? TABULATE SECT FILE FGN 11 DOC 9^*W #MAC TABULATE 9^TG REWIND =2*6 MHUNT 1,FILE,FTAB =2SQ #STR %B =3#B ( =3S2 LOADNUM 0,%B*2 =4?L ADS 0 FTREAD(1) =4R= ) =5=W ADX 1 FTREAD(1) =5QG LDX 0 A1+2(1) =6=6 TOPFCA2 2 =6PQ STO 0 FREADBLOCK(2) =79B LDX 0 A1+3(1) =7P2 STO 0 FREADWORD(2) =88L LDX 2 FX2 =8N= LDX 1 FX1 =97W #NOR =9CN ...[??? TABULATX SECT FILE FGN 11 DOC =9MG #MAC TABULATX ==76 REWIND ==LQ MHUNT 1,FILE,FTAB =?6B SLL %B 1 =?L2 ADS %B FTREAD(1) =#5L SRL %B 1 =#K= ADX 1 FTREAD(1) =*4W LDX 0 A1+2(1) =*JG TOPFCA2 2 =B46 STO 0 FREADBLOCK(2) =BHQ LDX 0 A1+3(1) =C3B STO 0 FREADWORD(2) =CH2 LDX 2 FX2 =D2L LDX 1 FX1 =DG= #NOR =DQ4 ...[??? TAB SECT FILE FGN 11 DOC =D^W #MAC TAB =FFG MHUNT 1,FILE,FTAB =F^6 LOADNUM 0,%B*2 =GDQ ADS 0 FTREAD(1) =GYB LDX 1 FX1 =HD2 #NOR =HMS ...[??? TABX SECT FILE FGN 11 DOC =HXL #MAC TABX =JC= MHUNT 1,FILE,FTAB =JWW SLL %B 1 =KBG ADS %B FTREAD(1) =KW6 SRL %B 1 =L*Q LDX 1 FX1 =LTB #NOR =M58 ...[??? TABREWIN SECT FILE FGN 11 DOC =M*2 #MAC TABREWIND =MSL MHUNT 1,FILE,FTAB =N#= STOZ FTREAD(1) =NRW LDX 1 FX1 =P?G #NOR =PH# ...[??? TABRESET SECT FILE FGN 11 DOC =PR6 #MAC TABRESET =Q=Q MHUNT 1,FILE,FTAB =QQB ADX 1 FTREAD(1) =R=2 LDX 2 FX2 =RPL TOPFCA2 2 =S9= LDX 0 FREADBLOCK(2) =SNW STO 0 A1+2(1) =T8G LDX 0 FREADWORD(2) =TN6 LDX 2 FX2 =W7Q STO 0 A1+3(1) =WMB LDX 1 FX1 =X72 #NOR =XBS ...[??? TABUNSET SECT FILE FGN 11 DOC =XLL #MAC TABUNSET =Y6= MHUNT 1,FILE,FTAB =YKW LDN 0 2 =^5G SBS 0 ALOGLEN(1) =^K6 SBS 0 FTAPP(1) ?24Q LDX 2 FTAPP(1) ?2JB SBX 2 FTREAD(1) ?342 BZE 2 M1TABUNSET ?3HL ADX 1 FTREAD(1) ?43= ADN 1 A1+2 ?4GW ADX 0 1 ?52G MOVE 0 0(2) ?5G6 M1TABUNSET ?5^Q LDX 1 FX1 ?6FB LDX 2 FX2 ?6^2 #NOR ?78S ...[??? FREETAB SECT FILE FGN 11 DOC ?7DL #MAC FREETAB ?7Y= MFREE FILE,FTAB ?8CW #NOR ?8MN ...[??? LOADNUM SECT FILE FGN 11 DOC ?8XG # ?=W2 #MAC LOADNUM ??*L #STR %B ??T= ( ?##W #DEF M1LOADNUM=%B ?#SG #SKI M1LOADNUM ?*#6 ( ?*RQ #DEF M2LOADNUM=-M1LOADNUM ?B?B #DEF M3LOADNUM=M1LOADNUM>M2LOADNUM ?BR2 #SKI M3LOADNUM$M1LOADNUM ?C=L ( ?CQ= #STR %C ?D9W MOD LDN %A M1LOADNUM,%C ?DPG #STR %C ?F96 #SKI ?FNQ LDN %A M1LOADNUM ?G8B ) ?GN2 #SKI M3LOADNUM$M2LOADNUM ?H7L ( ?HM= #STR %C ?J6W MOD NGN %A M2LOADNUM,%C ?JLG #STR %C ?K66 #SKI ?KKQ NGN %A M2LOADNUM ?L5B ) ?LK2 #FRE M2LOADNUM ?M4L #FRE M3LOADNUM ?MJ= ) ?N3W ) ?NHG #SKI %B ?P36 #SKI ?PGQ ( ?Q2B #STR %C ?QG2 MOD LDN %A 0,%C ?Q^L #STR %C ?RF= #SKI ?RYW LDN %A 0 ?SDG ) ?SY6 #STR %B ?TCQ #FRE M1LOADNUM ?TXB #NOR ?W78 ...[??? SUBNUM SECT FILE FGN 11 DOC ?WC2 #MAC SUBNUM ?WWL #DEF M1SUBNUM=%B ?XB= #DEF M2SUBNUM=-M1SUBNUM ?XTW #DEF M3SUBNUM=M1SUBNUM>M2SUBNUM ?Y*G #SKI M1SUBNUM$M3SUBNUM ?YT6 SBN %A M1SUBNUM ?^#Q #SKI M2SUBNUM$M3SUBNUM ?^SB ADN %A M2SUBNUM #2#2 #FRE M1SUBNUM #2RL #FRE M2SUBNUM #3?= #FRE M3SUBNUM #3QW #NOR #4=G ...[??? MAPBIN SECT FILE FGN 11 DOC #59Q # #5PB #MAC MAPBIN #692 #STR %A,0 #6NL LDX 0 %A #78= SMO FX2 #7MW STO 0 EXEC2 #87G #STR %C #8M6 #SKI #96Q LDN 0 1 #9LB #STR %C #=62 LDX 0 %C #=KL SMO FX2 #?5= STO 0 EXEC1 #?JW #STR %B ##4G #SKI ##J6 DOWN FILEMAP,21 #*3Q #STR %B #*HB ( #B32 LDX 0 %B #BGL SMO FX2 #C2= STO 0 EXEC3 #CFW DOWN FILEMAP,1 #C^G ) #DF6 #NOR #DNY ...[??? SFMAP SECT FILE FGN 11 DOC #DYQ #MAC SFMAP #FDB # GIVES X0->MAP BLOCK X1=BIT NO X2=WORD NO. #FY2 #STR %A,2 #GCL ( #GX= #STR %B,1 #HBW ( #HWG #STR %A,1 #JB6 #SKI #JTQ ( #K*B #STR %B,2 #KT2 #SKI #L#L ( #LS= SRC 12 24 #M?W ) #MRG #STR %B,2 #N?6 ( #NQQ LDX 2 %A #P=B LDX 1 %B #PQ2 ) #Q9L ) #QP= #STR %A,1 #R8W ( #RNG LDX 1 %B #S86 LDX 2 %A #SMQ ) #T7B ) #TM2 #STR %B,1 #W6L #SKI #WL= LDX 2 %A #X5W ) #XKG #STR %A,2 #Y56 #SKI #YJQ ( #^4B #STR %B,1 #^J2 LDX 1 %B *23L ) *2H= LDN 0 FILE+FMAPP *32W SLL 0 12 *3GG M1SFMAP *426 LDX 1 FPTR(1) *4FQ TXU 0 ATYPE(1) *4^B BCS M1SFMAP *5F2 #STR CHANGE,%C *5YL #SKI *6D= ( *6XW LDN 0 1 *7CG ANDX 0 FBCOMM(1) *7X6 ADN 0 1 *8BQ ORS 0 FBCOMM(1) *8WB ) *9B2 LDX 0 1 *9TL LDN 1 24 *=*= DVS 1 1 *=SW #NOR *?4N ...[??? MAPBSE SECT FILE FGN 11 DOC *?#G #MAC MAPBSE *?S6 SFMAP %A,%B,CHANGE *#?Q ADX 2 0 *#RB LDCT 0 #400 **?2 SRL 0 0(1) **QL ORS 0 FBITS(2) *B== LDX 1 FX1 *BPW LDX 2 FX2 *C9G #NOR *CF# ...[??? MAPBCH SECT FILE FGN 11 DOC *CP6 #MAC MAPBCH *D8Q SFMAP %A,%B *DNB ADX 2 0 *F82 LDCT 0 #400 *FML SRL 0 0(1) *G7= ANDX 0 FBITS(2) *GLW LDX 1 FX1 *H6G LDX 2 FX2 *HL6 #NOR *HTY ...[??? MAPBSECH SECT FILE FGN 11 DOC *J5Q #MAC MAPBSECH *JKB SFMAP %A,%B,CHANGE *K52 ADX 2 0 *KJL LDCT 0 #400 *L4= SRL 0 0(1) *LHW LDX 1 0 *M3G ANDX 0 FBITS(2) *MH6 ORS 1 FBITS(2) *N2Q BNZ 0 M1MAPBSECH *NGB M1MAPBSECH *P22 LDX 1 FX1 *PFL LDX 2 FX2 *P^= #NOR *Q94 ...[??? MAPBDEL SECT FILE FGN 11 DOC *QDW #MAC MAPBDEL *RD6 SFMAP %A,%B *RXQ STO 0 GEN0 *SCB STO 1 GEN1 *SX2 STO 2 GEN2 *TBL LDX 2 0 *TW= LDN 1 3 *W*W ORS 1 FBCOMM(2) *WTG LDX 1 FBITMOD(2) *XSQ BZE 1 M6MAPBDEL *Y#B LDN 0 1 *YS2 SBS 0 FBITMOD(2) *^?L LDN 0 24 *^R= DVS 0 0 B2=W BNZ 0 M1MAPBDEL B2QG LDN 0 FBITS-A1(1) B3=6 STO 0 ALOGLEN(2) B3PQ M1MAPBDEL B49B ADN 1 1 B4P2 ADS 1 GEN0 B58L LDX 1 GEN1 B5N= ADX 2 GEN2 B67W NGN 0 1 B6MG SRL 0 0(1) B776 LDX 1 FBITS(2) B7LQ ANDX 1 0 B86B ERS 1 FBITS(2) B8L2 SLL 1 1 B95L ANDX 1 0 B9K= ORX 1 FBITS(2) B=4W [ I THINK THIS DOUBLE LOOP IS UNNECESSARY B=JG M2MAPBDEL B?46 ADN 2 1 B?HQ TXU 2 GEN0 B#3B BCC M3MAPBDEL B#H2 TXL 2 GEN0 B*2L BCC M5MAPBDEL B*G= LDXC 0 FBITS(2) B*^W M3MAPBDEL BBFG STO 1 FBITS-1(2) BB^6 SLL 0 1 BCDQ ADN 2 1 BCYB TXU 2 GEN0 BDD2 BCC M4MAPBDEL BDXL TXL 2 GEN0 BFC= BCC M5MAPBDEL BFWW LDXC 1 FBITS(2) BGBG M4MAPBDEL BGW6 STO 0 FBITS-1(2) BH*Q SLL 1 1 BHTB BRN M2MAPBDEL BJ*2 M6MAPBDEL BJSL GEOERR 1,BIT DEL? BK#= M5MAPBDEL BKRW LDX 1 FX1 BL?G LDX 2 FX2 BLR6 #NOR BM2Y ...[??? MAPBCIRC SECT FILE FGN 11 DOC BM=Q [ BR7Q #MAC MAPBCIRC BR9N ...[ THIS MACRO CIRCULATES ALL THE BITS IN A FILE/FMAPP BLOCK BY 1, BR?L ...[ REPLACING THE LAST BIT BY THE FIRST BIT (B1). IT WAS WRITTEN SPECIALLY BR*J ...[ FOR D.C.F.'S (COMMFILE SEGMENT) AND I SUSPECT THAT THIS IS THE ONLY BRCG ...[ PLACE WHERE IT SHOULD BE USED. BRFD ...[ BRHB ...[ [%A] = POINTER TO FCB BRK# ...[ BRMB MOD LDX 1 FPTR,%A [SKIP FSTACK BS72 LDN 0 FILE+FMAPP BSLL SLL 0 12 BT6= M1MAPBCIRC BTKW LDX 1 FPTR(1) [NEXT BLOCK BW5G BXU 0 ATYPE(1),M1MAPBCIRC [JIF NOT FMAPP BLOCK BWK6 LDN 0 3 BX4Q ORS 0 FBCOMM(1) [FOR CLOSE BXJB STO 1 GEN0 BY42 LDX 2 FBITMOD(1) [NO. OF BITS IN FMAPP BYHL LDN 1 24 B^3= DVS 1 1 [X2 = LAST WD., X1 = LAST BIT WITHIN B^GW STO 1 GEN1 [ WD. C22G STO 2 GEN2 C2G6 ADN 2 1 [GIVING NO. OF WDS. IN FMAPP C2^Q M2MAPBCIRC C3FB SMO GEN0 C3^2 LDX 0 FBITS-1(2) C4DL SLC 01 1 [NEW B23. "OVERFLOW" IN B23 OF X1 C4Y= SMO GEN0 C5CW STO 0 FBITS-1(2) C5XG SRC 1 1 ["OVERFLOW" BIT TO B0 OF X1 C6C6 BCT 2 M2MAPBCIRC [MOVE "UP" FMAPP TO NEXT WORD C6WQ ANDX 0 GSIGN [B0 = 1ST BIT (B1) OF FBITS C7BB LDX 2 GEN0 C7W2 ERS 0 FBITS(2) [CLEAR B0 OF FBITS IF SET C8*L NGN 1 1 C8T= SMO GEN1 C9#W SRL 01 0 [SHIFT TO LAST BIT POSN. IN LAST WD. C9SG ADX 2 GEN2 [-> LAST WD. C=#6 ORS 1 FBITS(2) C=RQ ERS 1 FBITS(2) [CLEAR LAST BIT (& UNUSED BITS) C??B ORS 0 FBITS(2) [SET [LAST BIT] = [FIRST BIT] C?R2 LDX 1 FX1 C#=L LDX 2 FX2 C#Q= #NOR C*24 ...[??? FRITE SECT FILE FGN 11 DOC C*9W [ C*PG #MAC FRITE CB96 #STR %A CBNQ ( CBTY ...#STR ALL,%A CC36 ...( CC8# ...#STR 0,%A CC*G ... LDX 0 %A CCGN ...) CCMW ...#STR ALL,%A CCT4 ...#SKI CD2= ... LDCT 0 #400 CD7L SMO FX2 CDM= STO 0 ACOMMUNE7 CF6W ) CFLG #STR %A CG66 #SKI CGKQ ( CH5B SMO FX2 CHK2 STOZ ACOMMUNE7 CJ4L ) CJJ= #STR AUT,%B CK3W #SKI CKHG DOWN CLOSEDIR,88 CL36 #STR NONAUT,%B CLGQ #SKI CM2B DOWN CLOSEDIR,89 CMG2 #NOR CM^L ...[??? FULLBPAS SECT FILE FGN 11 DOC CPY6 #MAC FULLBPAS CQ3= ...[ MOVE A FULLB INTO THE CORRECT PLACE IN THE DIRECTORIES' CQ6B ...[ FILE CHAIN. USED WHEN BLOCKS RECORDS ARE DELETED FROM THE CQ9G ...[ DIRECTORY ENTRY CQ#L ...[ %A -> FULLB %B - WORK MODIFIER CQCQ TOPFCA %B CQXB PSTAC %B,%B [POINTER TO FSTACK OF DIR. CRC2 LDX 0 FFSFCB CRWL M1FULLBPAS CSB= LDX %B FPTR(%B) CSTW BXE %B CXFI,M2FULLBPAS CT*G BXU 0 ATYPE(%B),M1FULLBPAS CTT6 M2FULLBPAS CW#Q CHAIN %A,BPTR(%B) CWSB #NOR CX#2 ^^^^ ...25444071002800000000