{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CLOSE-MACROS)}}
====== CLOSE-MACROS ======
(George Source)
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