{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: FINDRUM866)}}
====== FINDRUM866 ======
(George Source)
**Macros used:** [[george:macro:BACKREAD|BACKREAD]], [[george:macro:BADBLOCK|BADBLOCK]], [[george:macro:FINDPEREC|FINDPEREC]], [[george:macro:GEOERR|GEOERR]], [[george:macro:INFORM|INFORM]], [[george:macro:LADDP|LADDP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINT|LINT]], [[george:macro:LOCK|LOCK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:PHOTO|PHOTO]], [[george:macro:READ|READ]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETREP|SETREP]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UP|UP]]
22FL ...#SEG FINDRUM70 [FRANK BLUNDELL
22^= #LIS K0FINDRUM
23DW 8HFINDRUM
23YG #
24D6 SEGENTRY K1FINDRUM,QK1FINDRUM
24XQ #
25CB #
25M8 ...XGHSD 4HGHSD
25X2 RTEN +10
26BL #DEF X=EXBSP
26W= #DEF TREP=ACOMMUNE9
27*W #
27TG #
28*6 # S/R TO READ FROM BACKING STORE,CHECK REPLY AND OUTPUT FAIL
28SQ # MESSAGE IF NECESSARY.
29#B #
29S2 # LINK X7
2=?L # EXPECTS X3 TO POINT TO EUDAS/GNAME
2=R= # ON EXIT X1=FX1 X2=FX2
2?=W # JUMPS TO P4 IF A FAIL OCCURS
2?QG [
2#=6 READ SBX 7 FX1
2#PQ BACKREAD BSET+BONL,X+1(3),,X(3),X+3(3),X+2(3)
2*9B LDX 4 TREP(2)
2*P2 #SKI K6FINDRUM>99-99
2B8L (
2BN= BPZ 4 R1
2C7W GEOERR 1,BSTSREP [T.I.P REPLY
2CMG R1
2D76 )
2DLQ SRL 4 18
2F6B BNZ 4 R2 [JUMP IF TRANSFER ERROR
2FL2 ADX 7 FX1 [RESET LINK
2G5L EXIT 7 0
2GK= # SOMETHING NASTY
2H4W R2 PHOTO 7
2HJG R2B OUTNUM AGEOG(3),0 [GEOGNO AS NEXT MESSAGE PARAM
2J46 ANDN 4 1 [CHECK IF INOP
2JHQ BNZ 4 R3 [NOT INOP
2K3B INFORM 1,FIDRFAIL,1 [OUTPUT FAIL MESSAGE
2KH2 BRN R4
2L2L R3 INFORM 1,FIDRINOP,1 [OUTPUT INOP MESSAGE
2LG= R4 TESTMOVE 7,R4A
2L^W MHUNTW 3,EWDAS,FDRUM
2MFG R4A BADBLOCK EXBSP(3)
2M^6 BRN P13
2NDQ #
2NYB #
2PD2 QK1FINDRUM
2PXL MHUNTW 3,EWDAS,FDRUM
2QC= LOCK 3
2QWW LDX 5 AGTYPE(3)
2RBG SRL 5 18
2RW6 #SKI K6FINDRUM>199-199
2S*Q (
2STB LDX 0 5 [CHECK TYPE
2T*2 SBN 0 9
2TSL BZE 0 P1
2W#= SBN 0 16
2WRW BZE 0 P1
2X?G GEOERR 1,DRUMTYPE
2XR6 P1
2Y=Q )
2YQB LDN 0 BBUFF(3)
2^=2 STO 0 EXBSP+2(3) [BUFFER ADDRESS FOR TRANSFERS
2^PL #
329= ...P7 FINDPEREC 1,APFOTY,5,P4,,XCME,XCME
32NW BNG 1 P2 [NO MORE DRUMS
338G LADDP 1,2
33N6 #SKI BDMK7<1$1
347Q LDX 0 BSUNIT(2)
34MB #SKI BDMK7
3572 LDX 0 BDRUM(2)
35LL ANDN 0 #377 [BSUN
366= STO 0 EXBSP(3)
36KW LGEOG 1,0
375G STO 0 AGEOG(3) [GEOGRAPHIC NO.
37K6 LDX 0 5
384Q LDX 5 1 [SAVE DL PTR
38JB SBN 0 9
3942 BZE 0 P3 [ JUMP IF SLOW DRUM
39HL LDN 0 0
3=3= STO 0 EXBSP+3(3)
3=GW LDN 0 128
3?2G STO 0 EXBSP+1(3)
3?G6 CALL 7 READ
3?K= ... SMO FX1
3?NB ... LDX 4 XGHSD [BIT PATTERN=GHSD
3?RG ... TXU 4 BBUFF(3) [TEST IF INITIALISED
3?WL ... BCC P4A [J IF SO
3?^Q LINT 5,4
3#FB TXU 4 BBUFF(3)
3#^2 BCS UGHDRUM [HSD NOT INITIALISED
3*8S ...P4A
3*DL LDN 4 BBUFF(3)
3*Y= LDX 7 BBUFF+1(3) [COUNT OF ENTRIES
3BCW LDN 0 32
3BXG TXL 7 0
3CC6 BCC UGHDRUM [TOO MANY FILES?
3CWQ P5 ADN 4 4
3DBB SBN 7 1
3DW2 BNG 7 P13 [NO MORE FILES ON THIS DRUM
3F*L LDN 1 3 [CHECK FILENAMES
3FT= P6 SMO 4
3G#W LDX 0 0(1)
3GSG SMO 1
3H#6 TXU 0 ANAME-1(3)
3HRQ BCS P5 [JUMP IF DIFFERENT
3J?B BCT 1 P6
3JR2 SMO 4
3K=L LDX 0 0
3KQ= LDX 4 0
3L9W ANDN 4 #7777 [FILE LENGTH IN BLOCKS
3LPG SRL 0 12 [FILE DATUM
3M96 BRN P11 [JUMP TO FINISH
3MNQ P2 SETREP NOTFOUND
3N8B BRN P12
3NN2 # SLOW DRUM PART
3P7L #
3PM= P3 LDN 0 1024 [B.S ADDRESS
3Q6W STO 0 EXBSP+3(3)
3QLG LDN 0 6 [READ SUFFICIENT OF DIR TO DO
3R66 [CHECKS ON IT
3RKQ STO 0 EXBSP+1(3)
3S5B CALL 7 READ
3SK2 LDN 0 128-9
3T4L SBS 0 EXBSP+3(3)
3TJ= LDN 0 128
3W3W STO 0 EXBSP+1(3)
3WHG LDX 6 BBUFF(3)
3X36 LDEX 0 BBUFF+5(3)
3XGQ LDN 2 3
3Y2B TXL 0 2
3YG2 BCC UGHDRUM [TOO BIG DIR?
3Y^L SLL 0 10
3^F= ADN 0 1024
3^YW TXL 6 0
42DG BCC UGHDRUM [TOO MANY FILES?
42Y6 SBN 6 1033
43CQ SRL 6 2 [COUNT OF FILES
43XB LDN 2 0 [COUNT OF ENTRIES IN CORE
44C2 P9 ADN 7 4
44WL SBN 6 1
45B= BNG 6 P13 [NO MORE FILES ON THIS DRUM
45TW SBN 2 1
46*G BPZ 2 P8 [JUMP IF MORE FILES IN CORE
46T6 LDN 0 128
47#Q ADS 0 EXBSP+3(3)
47SB CALL 7 READ
48#2 LDN 7 BBUFF(3)
48RL LDN 2 31 [ENTRIES/BLOCK-1
49?= P8 LDN 1 3 [CHECK FILENAMES
49QW P10 SMO 7
4==G LDX 0 0(1)
4=Q6 SMO 1
4?9Q TXU 0 ANAME-1(3)
4?PB BCS P9 [JUMP IF DIFFERENT
4#92 BCT 1 P10
4#NL SMO 7 [GET DATUM AND LENGTH
4*8= LDX 0 0
4*MW LDX 4 0
4B7G SRL 0 10
4BM6 ANDN 0 #3777 [DATUM
4C6Q ANDN 4 #1777 [LENGTH
4CLB SLL 0 10 [ GET INTO WORDS
4D62 SLL 4 10 [GET INTO WORDS
4DKL P11 STO 0 EXBSP+1(3)
4F5= STO 4 EXBSP+2(3)
4FJW #SKI BDMK7
4G4G STO 5 ADRDLIST(3) [STORE DL PTR IN /FDRUM
4GJ6 SETREP OK
4H3Q P12 UNLOCK 3
4HHB UP
4J32 P13 LDX 1 5 [RETIEVE DL PTR
4JGL LDX 5 AGTYPE(3)
4K2= SRL 5 18 [GET DEVICE TYPE
4KFW BRN P4
4K^G #
4LF6 # DIRECTORY CORRUPT
4LYQ UGHDRUM
4MDB LGEOG 5,6
4MY2 OUTNUM 6,0
4NCL INFORM 1,JDCORR,1 [TELL OPERATORS
4NX= BRN P13 [& TRY NEXT DRUM
4PBW #
4PGR ...#
4PLN ...XCME GEOERR 1,NOTCME
4PQK ...#
4PWG MENDAREA 20,K99FINDRUM
4QB6 #END
^^^^ ...34251400000100000000