MACROSBRBS
(George Source)
- MACROSBRBS.txt
22FL ...[??? SHEETSIZ SECT FILE FGN 14 DOC 22^= #MAC SHEETSIZE 23DW #MEND CONSTANT 23YG #SKI %A>31-31 24D6 ( 24XQ !! SHEETSIZE MUST BE 32K OR LESS 25CB #TRA BSSS 25X2 +31*1024 26BL ) 26W= #SKI %A<32-32 27*W ( 27TG #TRA BSSS 28*6 +%A*1024 28SQ ) 29#B #END 29S2 #NOR 2=3S ...[??? BLOCKBIT SECT FILE FGN 14 DOC 2=?L #MAC BLOCKBITS 2=R= RESON BSBITS 2?=W #NOR 2?GN ...[??? OLDA2SJM SECT FILE FGN 14 DOC 2?QG # 2?S9 ...# 2?TY ...#MAC OLDA2SJMESS 2?XM ...#MEN SOUP 2?^B ...#TRA AOLDA2SJMES 2#35 ... NULL 2#4S ...#END 2#6H ...#NOR 2#7B ...[??? NOINTEGR SECT FILE FGN 14 DOC 2#8= ...# 2#=6 #MAC NOINTEGRITY 2#PQ ...!! NOINTEGRITY SPECIAL NOT SUPPORTED IN MK 867 !! 2YQB #NOR 2^28 ...[??? NOFILES SECT FILE FGN 14 DOC 2^=2 # 2^PL #MAC NOFILES 329= #MEND GETBAX 32NW #STR %A 338G ( 33N6 #TRA INOF 347Q +%A 34MB ) 3572 #STR %B 35LL ( 366= #TRA INOFA 36KW +%B 375G ) 37K6 #STR %C 384Q ( 38JB #TRA FACTOR 3942 +%C 39HL ) 3=3= #END 3=GW #NOR 3?2G ...[??? WHATBACK SECT FILE FGN 14 DOC 3FT= #MAC WHATBACK 3FWD ...#STR VSF,%E 3FXL ...( 3FYS ... SMO FX2 3G22 ... STOZ ACOMMUNE5 3G38 ...) 3G4B ...#STR VSF,%E 3G5J ...#SKI 3G6Q ...( 3G7Y ... LDCT 0 #200 3G96 ... SMO FX2 3G=# ... STO 0 ACOMMUNE5 3G?G ...) 3G#W #STR SWAP,%D 3GSG ( 3H#6 SMO FX2 3HRQ STOZ ACOMMUNE6 3J?B ) 3JR2 #STR SWAP,%D 3K=L #SKI 3KQ= ( 3L9W LDCT 0 #400 3LPG SMO FX2 3M96 STO 0 ACOMMUNE6 3MNQ ) 3N8B #STR %B 3NN2 ( 3P7L LDX 0 %B 3PM= LDX 2 FX2 3Q6W STO 0 EXEC2(2) 3QLG ) 3R66 #STR %B 3RKQ #SKI 3S5B LDX 2 FX2 3SK2 #STR %A 3T4L ( 3TJ= LDN 0 %A 3W3W STO 0 EXEC1(2) 3WHG ) 3X36 #STR %A 3XGQ #SKI 3Y2B STOZ EXEC1(2) 3YG2 #STR %C 3Y^L ( 3^F= #STR %B 3^YW DOWN GETBAX,3 [%B & %C SPECIFIED 42DG #STR %B 42Y6 #SKI 43CQ DOWN GETBAX,7 [%B NOT SPECIFIED 43XB BRN %C 44C2 ) 44WL #STR %C 45B= #SKI 45TW ( 46*G #STR %B 46T6 DOWN GETBAX,9 [%C NOT SPECIFIED 47#Q #STR %B 47SB #SKI 48#2 DOWN GETBAX,8 [%B & %C NOT SPECIFIED 48RL ) 49?= #NOR 49H4 ...[??? GETBACK SECT FILE FGN 14 DOC 49QW #MAC GETBACK 4==G #STR %A,0 4=Q6 LDX 0 %A 4?9Q #STR %A 4?PB #SKI 4#92 LDX 0 7 [LOAD IN X7 IF NO PARAMETER 4#NL SMO FX2 4*8= STO 0 ACOMMUNE7 4*MW #STR PRIV,%B 4B7G #SKI 4BM6 ( 4C6Q LDCT 0 #200 4CLB SMO FX2 4D62 ORS 0 CLONG1 4DKL ) 4F5= #STR %C 4FJW #SKI 4G4G ( 4GJ6 SMO FX2 4H3Q STOZ ACOMMUNE9 4HHB ) 4J32 #STR %C 4JGL ( 4K2= NGN 0 1 4KFW SMO FX2 4K^G STO 0 ACOMMUNE9 4LF6 ) 4LYQ ... DOWN GETBACK,1 4MDB #STR %C 4MY2 BRN %C 4NCL #STR %A 4NX= #SKI 4PBW LDX 7 EXEC1(2) 4PWG #NOR 4Q6# ...[??? FREEBACK SECT FILE FGN 14 DOC 4QB6 #MAC FREEBACK 4QTQ #STR %A,0 4R*B LDX 0 %A 4RT2 SMO FX2 4S#L STO 0 ACOMMUNE7 4SS= #STR %B 4T?W ( 4TRG #STR %B,1 4W?6 LDX 1 %B 4WQQ ) 4X=B #STR %B 4XQ2 #SKI 4Y9L ( 4YP= #STR %A,0 4^8W LDX 1 1+%A 4^NG ) 5286 SMO FX2 52MQ STO 1 ACOMMUNE8 537B ... DOWN GETBACK,2 53M2 #NOR 53WS ...[??? GETBSLIS SECT FILE FGN 14 DOC 546L # 54L= # 555W #MAC GETBSLIS 55KG #STR %A,7 5656 LDX 7 %A 56JQ CALL 0 MP2 574B #OPT MGET1=0 57J2 #SKI MGET1-1 583L ( 58H= BRN MGET2 [ 592W M2 BXGE 7 BLMP,MT1 [J IF LFN TOO BIG 59GG BPZ 7 MT2 [J IF LFN OKAY 5=26 MT1 GEOERR 1,HARDLUMP 5=FQ MT2 LDX 1 BSAB [BLOCK TYPE BSTB BSLIST 5=^B LDN 2 BMISC [BASE OF MISC CHAIN 5?F2 MT3 LDX 2 FPTR(2) [NEXT BLOCK IN CHAIN 5?YL TXU 1 ATYPE(2) 5#D= BCC MT4 [J IF BSLIST 5#XW MT5 TXU 2 BMISC+1 5*CG BCS MT3 [J IF NOT END OF CHAIN 5*X6 GEOERR 1,LOSTLIST 5BBQ MT4 TXU 7 BACK1(2) 5BWB BCS MT5 [J IF NO T CORRECT LIST 5CB2 EXIT 0 0 5CTL MGET2 5D*= #FRE MGET1 5DSW #OPT MGET1=1 5F#G #DEF MP2=M2 5FS6 ) 5G?Q #NOR 5GHJ ...[??? FREEBAX SECT FILE FGN 14 DOC 5GRB # 5H?2 # 5HQL [ 5J== #MAC FREEBAX 5JPW #STR COPY,%A 5K9G #SKI 5KP6 DOWN GETBAX,12 5L8Q #STR COPY,%A 5LNB DOWN GETBAX,2 5M82 #NOR 5MCS ...[??? GETBAX SECT FILE FGN 14 DOC 5MML [ 5N7= #MAC GETBAX 5NLW #STR %A 5P6G #SKI 5PL6 ( 5Q5Q SMO FX2 5QKB STOZ ACOMMUNE9 5R52 ) 5RJL #STR %A 5S4= ( 5SHW NGN 0 1 5T3G SMO FX2 5TH6 STO 0 ACOMMUNE9 5W2Q ) 5WGB DOWN GETBAX,1 5X22 #STR %A 5XFL BRN %A 5X^= #NOR 5Y94 ...[??? FSDESC SECT FILE FGN 14 DOC 5YDW [ 5YYG [ 5^D6 [ 5^XQ [ 62CB [THE FOLLOWING MACROS ARE USED TO MEND THE CURRENT DESCRIPTION 62X2 [OF THE FILESTORE INTO THE BEGINNING OF THE CHAPTER WHICH FINDS 63BL [ THE FILESTORE (FINDFS). 63W= #MAC FSDESC 64*W #LIS 3 64TG #SKI EXUDAS 65*6 #MEND FSTABLE 65SQ #SKI EXUDAS<1$1 66#B #MEND FINDFS [CHAPTER NAME 66S2 #LIS 0 67?L #DEF MFINDFS7=0 67R= #TRA FIRS 68=W #REP FSTABLEN+1*FIRLEN 68QG +0 [ AREA 69=6 #LIS 3 69PQ #NORMAL 69^J ...[??? FSFILE SECT FILE FGN 14 DOC 6=9B [ 6=P2 [THE FOLLOWING MACRO USES THE LOCAL IDENTIFIERS MFINDFS,MFINDFS1, 6?8L [MFINDFS2,MFINDFS3. THEY HAVE THE FOLLOWING SIGNIFICANCE:- 6?N= [ 6#7W [ MFINDFS: INITIALLY SET OPTIONALLY TO 2 TO CHECK VALIDITY OF THE 6#MG [ FIRST %A OF A GROUP (MUST BE EQUAL TO 3). THEREAFTER 6*76 [ REDEFINED EQUAL TO EACH %A IN TURN TO CHECK ITS VALIDITY 6*LQ [ AS BEING GREATER THAN THE LAST %A OF THE GROUP. 6B6B [ 6BL2 [ MFINDFS1: POINTS TO NEXT AVAILABLE MEND SPACE. INITIALLY SET 6C5L [ OPTIONALLY TO FIRS & SUBSEQUENTLY REDEFINED AT END OF 6CK= [ EACH ISSUE OF FSFILE. 6D4W [ 6DJG [ MFINDFS2: USED AS A TEMPORARY "STORAGE" IDENTIFIER TO REMEMBER 6F46 [ CURRENT FIRS TABLE POINTER WHILE MFINDFS1 IS FREED AND 6FHQ [ REDEFINED. 6G3B [ 6GH2 [ MFINDFS3: OPTIONALLY SET TO 1 AT START OF EACH ISSUE. RESET TO ZERO 6H2L [ IF DEVICE TYPE (%B) IS NONE OF 6,9,OR 13. SUBSEQUENTLY 6HG= [ USED TO SKIP OVER THIS FILESTORE DESCRIPTION IF WRONG 6H^W [ DEVICE TYPE. 6JFG [ 6J^6 [ MFINDFS4: USED TO COUNT THE NUMBER OF DESCRIPTIONS MENDED 6KDQ [ IN 6KYB [ 6LD2 [ MFINDFS5: USED AS A TEMPORARY IDENTIFIER WHILE MFINDFS4 IS UPDATED 6LXL [ 6MC= [ MFINDFS6 : TO REMEMBER IF RESIDENCES ARE DECLARED IN ORDER 6MWW [ 6NBG [ MFINDFS7: TO REMEMBER IF A SWAP RESIDENCE HAS BEEN DECLARED. 6NW6 [ SET NON-ZERO IF THIS FSFILE IS FOR A SWAP RES. 6P*Q #MAC FSFILE 6PTB #LIS 0 6Q*2 #SKI %A-64� 6QSL ( 6R#= #OPT MFINDFS3=1 6RRW #DEF MFINDFS6=1 6S?G #STR %B,6 6SR6 ( 6T=Q #STR %B,9 6TQB ( 6W=2 #STR %B,13 6WPL ( 6X9= #STR %B,25 6XNW ( 6Y8G #STR %B,26 6YN6 ( 6^7Q #FREE MFINDFS3 6^MB #DEF MFINDFS3=0 7272 ) 72LL ) 736= ) 73KW ) 745G ) 74K6 #SKI MFINDFS3 754Q ( 75JB #OPT MFINDFS=2 7642 #SKI MFINDFS-2 76HL #SKI 773= #STR %A,3 77GW #SKI MFINDFS-2 782G ( 78G6 #SKI %A-MFINDFS 78^Q #SKI %A-MFINDFS� 79FB #SKI 79^2 ( 7=DL #FREE MFINDFS 7=Y= #DEF MFINDFS=%A [MFINDFS NOW = NEXT LOGICAL FILE NO. 7?CW #OPT MFINDFS1=FIRS [FIRS = ADDRESS OF START OF MEND AREA 7?XG #OPT MFINDFS4=0 7#C6 #SKI MFINDFS4-FSTABLEN 7#WQ #SKI 7*BB !!TOO MANY FILESTORE DESCRIPTIONS 7*W2 #SKI MFINDFS4-FSTABLEN 7B*L ( 7BT= #LIS 3 7C#W #TRA MFINDFS1 7CSG 12H%C [FILENAME 7D#6 +%A [LOGICAL FILE NO. 7DRQ #FID 0 5 +%B [DEVICE TYPE 7F?B #STR SWAP,%E 7FR2 #SKI 7G=L ( 7GQ= #SKI %A-3<1$1 7H9W !!RESIDENCE 3 ASWAP FILE?? 7HPG #SKI %A>15-15*G4 7J96 !! SWAP RESIDENCE %A IN G4?? 7JNQ #SKI %A-3 7K8B ( 7KN2 #SKI %A>15-15*G4<1$1 7L7L ( 7LM= #FID 6 6 1 7M6W #SKI MFINDFS7<1$1 7MLG ( 7N66 #FRE MFINDFS7 7NKQ #DEF MFINDFS7=1 [REMEMBER SWAP RESIDENCE DECLARED 7P5B ) 7PK2 ) 7Q4L ) 7QJ= ) 7R3W #STR %D 7RHG #SKI 7S36 +0 [ZERO IF NO SERIAL NO PARAMETER 7SGQ #STR %D 7T2B ( 7TG2 +#%D [SERIAL NO. 7T^L #SKI +#%D� 7WF= ( 7WYW !!SERIAL NO. TOOBIG!! 7XDG #DEF 0?=0?-1 7XY6 +0 7YCQ ) 7YXB ) 7^C2 #DEF MFINDFS2=MFINDFS1+5 [STEP IDENTIFIER FOR NEXT MEND AREA 7^WL #FREE MFINDFS1 82B= #DEF MFINDFS1=MFINDFS2 [MFINDFS1 SET FOR NEXT MACRO 82TW #FREE MFINDFS2 [FREE READY FOR NEXT TIME ROUND REDEF 83*G #DEF MFINDFS5=MFINDFS4+1 83T6 #FRE MFINDFS4 84#Q #DEF MFINDFS4=MFINDFS5 84SB #FRE MFINDFS5 85#2 #FRE MFINDFS6 85RL #DEF MFINDFS6=0 86?= #LIS 0 86QW ) 87=G ) 87Q6 #SKI MFINDFS6 889Q !!FSFILE OUT OF SEQUENCE!! 88PB ) 8992 #SKI MFINDFS-2 89NL #SKI 8=8= ( 8=MW #STR %A,3 8?7G !WHERE'S RES.3?? 8?M6 ) 8#6Q ) 8#LB #SKI MFINDFS3<1$1 8*62 !!WRONG DEVICE TYPE 8*KL #FRE MFINDFS3,MFINDFS6 8B5= ) 8BJW #SKI 63<%A-%A 8C4G ( 8CJ6 !! RESIDENCE NO. %A?? 8D3Q ) 8DHB #LIS 3 8F32 #NORMAL 8F=S ...[??? ENDESC SECT FILE FGN 14 DOC 8FGL [ 8G2= [ 8GFW #MAC ENDESC 8G^G #SKI MFINDFS7<1$1 8HF6 !! NO SWAP RESIDENCE DECLARED!! 8HYQ #FRE MFINDFS7 8JDB #END 8JY2 #NORMAL 8K7S ...[??? DATUMADD SECT FILE FGN 14 DOC 8KCL #MAC DATUMADD 8KX= LDX 0 %A 8LBW STO 0 BSL1 8LWG LDX 0 %B 8MB6 STO 0 BSL2 8MTQ LDX 0 %C 8N*B STO 0 BSL3 8NT2 CALL 0 (BSP1) 8P#L #NORMAL 8PJD ...[??? DATUMBLK SECT FILE FGN 14 DOC 8PS= #MAC DATUMBLK 8Q?W LDX 0 %A 8QRG STO 0 BSL1 8R?6 LDX 0 %B 8RQQ STO 0 BSL2 8S=B #STR %C 8SQ2 #SKI 8T9L #SKI 8TP= ( 8W8W LDX 0 %C 8WNG STO 0 BSL3 8X86 ) 8XMQ #STR %C 8Y7B #SKI 8YM2 ( 8^6L LDX 0 BSBS 8^L= STO 0 BSL3 925W ) 92KG CALL 0 (BSP2) 9356 #NORMAL 93#Y ...[??? JAMQUERY SECT FILE FGN 14 DOC 93JQ # 944B # 94J2 # 953L # 95H= #MAC JAMQUERY 962W #STR %A [SKIP IF A PARAMETER SPECIFIED 96GG #SKI 9726 LDX 1 A1+1(2) [NUMBER OF BLOCKS LEFT IN BSLIST 97FQ ... BSON EMSBIT,M1JM 97^B BNG 1 M3JM [NO BLOCKS LEFT 98F2 BXGE 1 A1+2(2),M1JM [OK IF MORE LEFT THAN JAM PERCENTAGE 98YL M3JM 99D= LDN 0 #4000 99XW ANDX 0 A1+4(2) [CHECK IF UNJAM MARKER IN BSLIST BLOC 9=CG BNZ 0 M1JM [J IF MARKER PRESENT 9=X6 LDN 0 #4000 9?BQ ORS 0 A1+4(2) [IF NOT PUT UNJAM MARKER IN BSLIST BL 9?WB LDX 5 2 [KEEP POINTER TO BSLIST 9#B2 FON 9,0 [AND SET THE BSUNJAMMER GOING 9#TL LDX 2 5 [RESTORE POINTER 9**= M1JM 9*SW #NOR 9B4N ...[??? RESQUERY SECT FILE FGN 14 DOC 9B#G #MAC RESQUERY 9BS6 LDX 0 %A 9C?Q LDX 1 BSAB 9CRB LDN 2 BMISC 9D?2 MRESQUERY 9DQL LDX 2 FPTR(2) 9F== TXU 2 CXMI 9FPW BCC %B 9G9G TXU 1 ATYPE(2) 9GP6 TXU 0 BACK1(2) 9H8Q BCS MRESQUERY 9HNB LDX 0 A1+4(2) 9J82 BNG 0 %B 9JML #NOR 9JXD ...[??? LBSUN SECT FILE FGN 14 DOC 9K7= #MAC LBSUN 9KLW LADDP %A,%B 9L6G LTYPE %A,0 9LL6 SBN 0 9 9M5Q BZE 0 MBDR 9MKB SBN 0 16 9N52 BZE 0 MBDR 9NJL MOD LDX %B BSUNIT,%B 9P4= BRN MBSU 9PHW MBDR 9Q3G MOD LDX %B BDRUM,%B 9QH6 MBSU ANDN %B #7777 9R2Q #NOR 9RGB ...[??? NOTALLOC SECT FILE FGN 14 DOC 9S22 ...#MAC NOTALLOC 9SFL ...#UNS FSHB 9S^= ...( 9TDW ...#UNS FSHTEST 9TYG ...#SKI 9WD6 ...( 9WXQ ...!! NOTALLOC ILLEGAL IN MACHINE B !! 9XCB ...#EXIT 9XX2 ...) 9YBL ...) 9YW= ...#STR %A 9^*W ...( 9^TG ...#SKI (%A<4$4)^(%A>63$63) =2*6 ...( =2SQ ...!! RESIDENCE NO. OUT OF RANGE: %A !! =3#B ...#EXIT =3S2 ...) =4?L ...#MEND GETBAX =4R= ...#TRA K100GETBAX =5=W ... NULL =5QG ...#END =6=6 ...#MEND SETLIST =6PQ ...#TRA K100SETLIST =79B ... NULL =7P2 ...#SKI %A<24$24 =88L ...( =8N= ...#TRA ANOTALRES =97W ...#DEF 21?=#40000000@C-%A =9MG ... +34?+0?]^21? ==76 ...#END ==LQ ...#EXIT =?6B ...) =?L2 ...#SKI %A<48$48 =#5L ...( =#K= ...#TRA ANOTALRES+1 =*4W ...#DEF 21?=#40000000@C-(%A-24) =*JG ... +34?+0?]^21? =B46 ...#END =BHQ ...#EXIT =C3B ...) =CH2 ...#TRA ANOTALRES+2 =D2L ...#DEF 21?=#40000000@C-(%A-48) =DG= ... +34?+0?]^21? =D^W ...#END =FFG ...#EXIT =F^6 ...) =GDQ ...#MEND GETBAX [%A MISSING SWITCH OFF =GYB ...#TRA K100GETBAX =HD2 ... BRN K101GETBAX =HXL ...#END =JC= ...#MEND SETLIST =JWW ...#TRA K100SETLIST =KBG ... BRN K101SETLIST =KW6 ...#TRA ANOTALRES =L*Q ... +0 =LTB ... +0 =M*2 ... +0 =MSL ...#END =N#= ...#NOR ^^^^ ...041534030019