{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: DTSUBS867)}}
====== DTSUBS867 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BBS|BBS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:CONSERNO|CONSERNO]], [[george:macro:FREECORE|FREECORE]], [[george:macro:JBC|JBC]], [[george:macro:JBCC|JBCC]], [[george:macro:JBS|JBS]], [[george:macro:JMBAC|JMBAC]], [[george:macro:JMBAS|JMBAS]], [[george:macro:JMBS|JMBS]], [[george:macro:LF|LF]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:OPENINC|OPENINC]], [[george:macro:OUTEXES|OUTEXES]], [[george:macro:OUTMON|OUTMON]], [[george:macro:OUTNULL|OUTNULL]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:READBACK|READBACK]], [[george:macro:REPEAT|REPEAT]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:STEP|STEP]], [[george:macro:STF|STF]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
225X ... SEG DTSUBS,867,C.R.JOHNSON,SCHEDULER
229S ...[
22*P ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22FL ...[
22PD ...[
237Q ... SEGENTRY K1DTSUBS,(GEOERR)
23L4 ... SEGENTRY K9DTSUBS,(GEOERR)
244B ... SEGENTRY K3DTSUBS,(GEOERR)
24GN ... SEGENTRY K2DTSUBS,(GEOERR)
24^2 ... SEGENTRY K5DTSUBS,(GEOERR)
25CB ... SEGENTRY K7DTSUBS,(GEOERR)
25X2 SEGENTRY K8DTSUBS,X8DTSUBS
26BL ... SEGENTRY K11DTSUBS,X11DTSUBS
26W= SEGENTRY K4DTSUBS,X4DTSUBS
27*W SEGENTRY K10DTSUBS,X10DTSUBS
27TG SEGENTRY K12DTSUBS,X12DTSUBS
28*6 SEGENTRY K13DTSUBS,X13DTSUBS
28SQ SEGENTRY K14DTSUBS,X14DTSUBS
29#B SEGENTRY K15DTSUBS,X15DTSUBS
29S2 [ AWORK1 USED IN TSNS AND OUTTAPE S.R. TO DISTINGUISH ENTRY POINTS
2=?L [ AWORK1 ZERO UNLESS TSNS ENTRY USED
2=R= [
2?=W [ THE FOLLOWING ENTRY POINTS ARE PROVIDED TO DEAL WITH THE VARIOUS
2?QG [ TYPES OF FAILURE. THE "FDT" BLOCK IS USED (AND MARKED) TO FIND
2#=6 [ THE INCREMENT THAT WAS IN USE.
2#PQ [
2#WY ...[ MONITORING FILE MESSAGES
2*46 ...[
2*9B [
2*P2 [
2B8L ...WMTLOAD +JMTLOAD [PLEASE LOAD RETRIEVE TAPE%A : %B
2FL2 MASK0 #37777777
2G5L MAGNO +7036875
2G*D ...TEN +10
2GK= QIS 4HIS
2H4W QARE 4HARE
2H56 ...QWPR 8H(WPR)
2H5B ...QFSNO 4H(FS [USED BY X11DTSUBS
2H5N ...WRSTRING [THESE CHARACTER STRINGS
2H5T ... 4H(U) [ARE USED BT OUTTSNS
2H62 ... 4H(O) [......THEY MUST BE KEPT
2H67 ... 8H(O,U) [CONTIGUOUS....
5=^B ...[
5?F2 ...[ SET UP A FDINCS BLOCK FOR TAPE IN ADTSN
5XPD ...[
5X^= ...[ ********************************************************************
5Y94 ...[
5YDW X8DTSUBS
5YHF ... JBCC XOPENINC,BOLC,BIFDTOPEN [J IF INCINDEX NOT OPEN
5YJX ... LDN 4 20 [SET 'NOT DUMPING' FLAG
5YL* ...[ SEARCH BACKWARDS THROUGH INCINDEX UNTIL TAPE
5YLL ...[ MISSING FOR 20 CONSECUTIVE INCS OR BEGINNING OF FILE
5YLX ...X8DT1 READBACK
5YM8 ... TESTREP2 BEGFILE,X8DT3,FIRSTREC,X8DT3
5YMF ... MHUNTW 3,FILE,FRB
5YMQ ... ADN 3 A1
5YN3 ... LDX 0 AWORK2(2) [TSN
5YN# ... LDEX 2 AINCRHR(3)
5YNK ... SBN 2 AMAGR
5YNW ...X8DT2 SBN 2 INCMAGLEN
5YP7 ... SMO 2
5YPD ... BXE 0 AMAGR(3),X8DT4
5YPP ... BNZ 2 X8DT2
5YQ2 ... BNG 4 X8DT6
5YQ? ... SBN 4 1
5YQJ ... BRN X8DT5
5YQK ...X8DT4 LDN 4 20
5YQL ...X8DT5 SBN 3 A1
5YQM ... FREECORE 3
5YQN ... BRN X8DT1
5YQP ...X8DT6
5YQQ ... SBN 3 A1
5YQR ... FREECORE 3
5YQS ... BRN X8DT7
5YQT ...X8DT3 REWIND
5YQW ...
5YQX ...X8DT7 LDN 4 20
5YR6 ... SMO FX2
5YR# ... STO 4 ACOMMUNE1
5YRG ... LDN 4 0
5YRN ... BRN XNOOPEN
5YW5 ...XOPENINC
5YYG OPENINC ,READ
5^7D ... LDN 4 1 [SET 'DUMPING' FLAG
5^BB ...XNOOPEN [
5^K# ... SETNCORE 7,3,FILE,FDINCS
5^S= ... STOZ FDINCNO(3)
6238 ... LDX 0 AWORK2(2) [X0 => TSN
62=6 ... STO 0 FDINCTSN(3) [STORE TSN IN FDINCS
62F4 ... LDN 2 0 [X2 => ZERO
62N2 ... STF 3,FDINCFSNO,2 [FILESTORE 0
62X2 T1SUBS
63BL STEP
63W= BZE 3 T5SUBS
64*W ... JBS T1SUBS,3,BINSUITRVR [J IF INCREMENT NOT SUITABLE
64TG ... LDEX 2 AINCRHR(3)
65*6 ... SBN 2 AMAGR
65SQ SMO FX2
66#B LDX 0 AWORK2
66S2 T2SUBS
67?L SBN 2 INCMAGLEN
67R= SMO 2
68=W ... BXE 0 AMAGR(3),T3SUBS [J IF TSN FOUND IN INCINDEX RECORD
68*N ... BNZ 2 T2SUBS
68DG ... MHUNTW 2,FILE,FDINCS
68H# ... LDX 3 FDINCNO(2)
68L6 ... BZE 3 T1SUBS [READ NEXT RECORD
68NY ... SMO FX2
68RQ ... LDX 3 ACOMMUNE1
68WJ ... BNG 3 T5SUBS
68^B ... SBN 3 1
6948 ... SMO FX2
6972 ... STO 3 ACOMMUNE1
69=6 BRN T1SUBS [READ NEXT INCINDEX RECORD
69FY ...T3SUBS
69KT ... LDN 6 20
69PQ ... SMO FX2
69^J ... STO 6 ACOMMUNE1
6=9B ADX 2 3
6=P2 LDX 6 AMAGSTATE-A1(2) [PICK UP MAGSTATE OF THIS TAPE
6?8L ... LDCT 5 #562 [CHECK STATE OF TAPE
6?N= ANDX 5 6
6#7W SLC 5 2
6#MG BNG 5 T1SUBS [J IF TAPE RETURNED
6*76 BZE 4 T4SUBS [ J IF NOT FOR DUMPING
6*LQ BNZ 5 T6SUBS [J IF FAILED OR WRONGED
6B6B T4SUBS
6BL2 LDX 7 AINCNO-A1(3)
6C5L MHUNTW 2,FILE,FDINCS
6CK= ... LDX 3 FDINCNO(2) [NUMBER OF ENTRIES
6D4W LDN 0 1
6DJG ... ADS 0 FDINCNO(2) [INCREASE NO. OF ENTRIES
6FHQ SMO 2
6G3B ... STO 7 FDINCINC(3) [INC NO. FOR THIS ENTRY
6G?8 ... ADN 3 5 [PLUS 1 SPARE
6GH2 ...
6H^W BXL 3 ALOGLEN(2),T1SUBS
6JFG LDX 6 2
6JP# ... ADN 3 8 [INCREASE LENGTH BY 8 IF NESCESSARY
6J^6 ALTLEN 6,3,FILE,FDINCS [INCREASE BLOCK SIZE IF MESS
6KDQ BRN T1SUBS
6KYB T5SUBS
6LD2 LDN 5 0
6LXL T6SUBS
6MC= CLOSETOP
6MWW STO 6 ACOMMUNE1(2)
6N6N ... BZE 4 PLUS0 [J IF NOT FOR DUMPING
6NBG BNZ 5 PLUS1
6NL# ...PLUS0
6NW6 UP
6P*Q PLUS1
6PTB UPPLUS 1 [EXIT PLUS 1 IF DUMPING CASE AND
6Q*2 [TAPE FAILED OR WRONGED
6QSL [X5 HOLDS APPRO BITS : X6 = AMAGSTATE
6R#= [
6RRW [ S.R. TO SET NEXT PARAM S OR NULL,NEXT AS SET OF TSNS
6R^4 ...[
6S6= ...[ ********************************************************************
6S?G [
6SR6 OUTTAPE
6T=Q LDX 2 FX2
6TQB STOZ AWORK1(2) [SET'NO IS OR ARE'
6W=2 BRN TSNS2
6WPL [
6X9= [ SR TO SET FIRST PARAM AS S OR NULL,SECOND PARAM AS SET OF TSNS,
6XNW [ 3RD PARAM IS OR ARE
6Y8G TSNS LDX 2 FX2
6YN6 STO 7 AWORK1(2)
6^7Q TSNS2 SBX 7 FX1 [SET'IS OR ARE'REQUIRED
6^#D ...[ CALCULATE SIZE OF FILE FINTER
6^F6 ... MHUNTW 2,FILE,APROC
6^KS ... LDX 4 AMTS(2) [COUNT OF TAPES
6^QG ... STO 4 5
6^X8 ... SLL 4 1 [2 WORDS PER TSN
723W ... ADN 5 15 [1 WORD FOR A1 AND
728J ... SRL 5 2 [SPACE FOR SPACES
72*= ... ADX 4 5 [AND SPACE FOR (O,U)
72FY ... SETUPCORE 4,3,FILE,FINTER
72LL STOZ A1(3)
736= MHUNTW 2,FILE,APROC
73KW LDX 4 AMTS(2) [COUNT OF TAPES
745G SBN 4 1
74K6 BZE 4 ONLYONE [J IF ONLY ONE COPY
754Q LDCT 0 #630 [S CHAR
75JB SMO FX2
7642 STO 0 ACOMMUNE1
76HL LDN 0 1
773= OUTPARAM 0,ACOMMUNE1
77GW BRN OUTN
782G ONLYONE
78G6 OUTNULL
78^Q OUTN ADN 4 1 [RESET COUNT OF MTS
79FB LDN 5 0 [MODIFIER
79K? ...#UNS IDC
79P8 ... LDN 1 0 [MARKER FOR LENGTHENING FINTER BLOCK
79T5 ...[
79^2 [ CONVERT NEXT TSN TO CHARS
7=8S ...[
7=DL OUTTSN
7=G8 ...#UNS IDC
7=HQ ...(
7=K# ... BZE 1 NOINCREASE [J IF NO INCREASE
7=LW ... LDX 3 1 [X3 => INCREASE IN LENGTH
7=ND ... MHUNTW 1,FILE,FINTER [FIND FINTER
7=Q2 ... ADX 3 ALOGLEN(1) [X3 => NEW LENGTH
7=RJ ... ALTLEN 1,3,FILE,FINTER [INCREASE LENGTH
7=T6 ...NOINCREASE [
7=WN ...)
7=Y= MHUNTW 3,FILE,APROC
7?CW SMO 5
7?XG LDX 6 AMAG(3)
7#C6 CONSERNO 6,ACOMMUNE1
7#WQ LDX 1 ACOMMUNE1(2)
7*BB ADN 2 ACOMMUNE2
7*W2 MHUNTW 3,FILE,FINTER
7B*L ... LDX 6 3
7BT= LDX 3 A1(3)
7C#W ADN 3 A1+1
7CSG ... ADX 3 6
7D#6 MVCH 2 0(1)
7D#L ...#UNS IDC
7D*6 ...(
7D*L ...[
7DB6 ...[ IS TAPE WRONGED?
7DBL ...[
7DC6 ... MHUNTW 1,FILE,APROC [X1 -> INCINDEX RECORD
7DCL ... ADX 1 5 [ADD ON MODIFIER
7DD6 ... JMBAC NOTWRONG,1,BMOPWR,BMUSWR [J IF NOT WRONGED
7DDL ... LDN 2 0 [X2 IS MODIFIER FOR CHAR STRING
7DF6 ... JMBAS XBOTHWR,1,BMUSWR,BMOPWR [J IF USER AND OPERATOR WRONGED
7DFL ... JBS USWR,1,BMUSWR [J IF USER WRONGED ONLY
7DG6 ... ADN 2 1 [MUST BE OPERATOR WRONGED
7DGL ...USWR [
7DH6 ... SMO FX1 [
7DHL ... ADN 2 WRSTRING [X2 -> APPRPRIATE STRING
7DJ6 ... MVCH 2 3 [MOVE IN STRING
7DJL ... LDN 1 1 [INCREASE FINTER BY ONE WORD
7DK6 ... BRN SPACE [
7DKL ...XBOTHWR [WRONGED IN BOTH CONTEXTS
7DL6 ... ADN 2 2 [OP AND US WRONGED
7DLL ... SMO FX1 [
7DM6 ... ADN 2 WRSTRING [X2 -> CHAR STRING
7DML ... MVCH 2 5 [MOVE IN STRING
7DN6 ... LDN 1 2 [INCREASE FINTER BY TWO WORDS
7DNL ... BRN SPACE [
7DP6 ...NOTWRONG [DO NOT INCREASE FINTER LENGTH
7DPL ... LDN 1 0 [MARKER.
7DQ6 ...SPACE [
7DQL ...)
7DRQ [
7F?B [ INSERT SPACE
7FR2 [
7G=L ... LDN 0 #20
7GQ= ... DCH 0 0(3)
7H9W BCHX 3 £
7HPG ... SBX 3 6
7J96 SBN 3 A1+1
7JNQ ... SMO 6
7K8B STO 3 A1
7KN2 ADN 5 INCMAGLEN
7L7L BCT 4 OUTTSN
7LM= [
7M6W [ ALL TSNS NOW CONVERTED-OUTPUT MESSAGE
7MLG [
7N66 MHUNTW 3,FILE,FINTER
7NKQ LDX 2 A1(3)
7P5B SLC 2 2 [NO.OF CHARS
7PK2 SBN 2 1 [DONT O/P LAST SPACE CHAR
7Q4L ... OUTEXES 2,A1+1,FILE,FINTER
7QJ= MFREEW FILE,FINTER
7R3W [
7RHG [ IS OR ARE
7S36 [
7SGQ LDX 0 AWORK1(2)
7T2B BZE 0 TSNEND [J IF NO'IS OR ARE'REUQUIRED
7TG2 MHUNTW 3,FILE,APROC
7T^L LDX 4 AMTS(3)
7WF= SBN 4 1
7WYW LDN 0 2 [CHARS IN IS
7XDG ADN 1 QIS [ADDRESS OF IS
7XY6 BZE 4 NULLPARAM
7YCQ ADN 0 1 [CHARS IN ARE
7YXB ADN 1 1 [ADDRESS OF ARE
7^C2 NULLPARAM
7^WL LDX 6 0(1) [MESSAGE
82B= STO 6 ACOMMUNE1(2)
82TW OUTPARAM 0,ACOMMUNE1 [PARAM=IS OR ARE
83*G TSNEND
83T6 ADX 7 FX1
84#Q EXIT 7 0
84SB [
85#2 [ SR TO DO OUTPARAM OF LIST OF INC.NOS IN FLINC BLOCK,AND THEN
85RL [
86?= OUTINCNOS
86QW SBX 7 FX1
87=G MHUNTW 3,FLIB,FLINC
87Q6 LDX 6 A1(3)
889Q SBN 6 2
88PB BZE 6 ONLYINC [J IF ONLY ONE INC
88R5 ...#SKI JSKI30
88SS ...(
88WH ... LDX 0 FLINCST(3)
88Y= ... BNZ 0 OLDFORM [J IF NO FLINCST
88^^ ... SBN 6 1
893N ... BZE 6 ONLYINC [J IF ONLY 1 INC,FORMAT 2 FLINC
895C ...OLDFORM
8976 ...)
8992 LDCT 0 #630 [S CHAR
89NL SMO FX2
8=8= STO 0 ACOMMUNE1
8=MW LDN 0 1
8?7G OUTPARAM 0,ACOMMUNE1
8?M6 BRN OUTOTHER
8#6Q ONLYINC
8#LB OUTNULL
8*62 OUTOTHER
8*KL ADN 6 2
8B5= SLL 6 2
8BJW SETUPCORE 6,2,ADATA,CREADL
8C4G ADN 2 CPDATA [NEXT CHAR POSN
8CJ6 MHUNTW 3,FLIB,FLINC
8D3Q LDX 6 A1(3)
8DHB SBN 6 1
8F32 XDECR LDX 0 A1+2(3) [NEXT INC.NO.
8F4P ...#SKI JSKI30
8F6D ...(
8F87 ... BNZ 0 NOFLINCST [J IF NO FLINCST
8F9W ... ADN 3 1
8F?K ... SBN 6 1
8F*# ... BRN XDECR
8FC3 ...NOFLINCST
8FDQ ...)
8FGL LDN 4 0
8G2= SMO FX1
8GFW MPY 0 MAGNO
8G^G MODE 0
8HF6 LDN 5 7
8HYQ VCON CBD 0 4
8JDB BNZ 4 NOTZ
8JY2 BCT 5 VCON
8KCL ADN 5 1
8KX= NOTZ DCH 4 0(2) [FIRST NON-ZERO CHAR
8LBW BRN NOTZ2
8LWG WCON CBD 0 0(2)
8MB6 NOTZ2 BCHX 2 £
8MTQ BCT 5 WCON
8N*B BCT 6 PUTCOMMA [COMMA IF MORE LEFT
8NT2 BRN NOINCSLEFT
8P#L PUTCOMMA
8PS= LDN 4 #34 [COMMA
8Q?W DCH 4 0(2)
8QRG BCHX 2 £
8R?6 ADN 3 1 [POINT TO NEXT INC.NO.
8RQQ BRN XDECR
8S=B [
8SQ2 [ X2 POINTS TO NEXT CHAR POSN IN ADATA
8T9L [
8TP= NOINCSLEFT
8W8W SLC 2 2
8WNG MHUNTW 3,ADATA,CREADL
8X86 LDX 4 3
8XMQ ADN 4 CPDATA
8Y7B SLL 4 2
8YM2 SBX 2 4 [NO OF CHARS IN X2
8^6L ... OUTEXES 2,CPDATA,ADATA,CREADL
8^L= MFREEW ADATA,CREADL
925W ADX 7 FX1
92KG EXIT 7 0
9356 [
93JQ [ SR TO DO MONOUT
944B [
94J2 OUTMON
953L SBX 7 FX1
95H= SMO 7
962W LDX 5 0(1) [MESSAGE
96GG MONOUTX 5
9726 ADX 7 FX1
97FQ EXIT 7 1
97GY ...[
97J6 ...[
97K# ...[ MESSAGE-PLEASE LOAD RETRIEVE TAPE%A :%B
97LG ...[
97MN ...[ ********************************************************************
97NW ...[
97Q4 ... SEGENTRY K100DTSUBS [USED BY RESTORE TIME MACRO REQRVMAX
97R= ... +175 [DEFAULT SETTING FOR MAX NO OF TSNS T
97SD ...X11DTSUBS
97TL ...#UNSET FIRSTR
97WS ...(
97Y2 ... LDX 7 K100DTSUBS(1) [X7 => MAX NO OF TSNS TO BE OUTPUT IN
97^8 ... LDN 6 0 [X6 => WILL CONTAIN NO OF TSNS PUT IN
982B ... LDX 3 BOLC [X3 => FDT
983J ... LDX 4 A1(3) [X4 => NO OF TAPE ENTRIES
984Q ... BZE 4 XNOMESS2 [J IF NO TSNS
985Y ... BXL 4 7,XFOURLOW [J IF X4 < X7
9876 ... SLL 7 1 [TWO WORDS PER TSN
988# ... SETUPCORE 7,2,FILE,FINTER1 [USED TO HOLD TSNS IN BINARY FORM
989G ... SRL 7 1 [RESET X7
98=N ... SLL 4 2 [4 WORDS PER TSN
98?W ... BRN XSEVLOW [
98*4 ...XFOURLOW [
98B= ... SLL 4 1 [TWO WORDS PER TSN
98CD ... SETUPCORE 4,2,FILE,FINTER1 [USED TO HOLD TSNS IN BINARY FORM
98DL ... SLL 4 1 [FOUR WORDS PER TSN
98FS ...XSEVLOW [
98H2 ... ADX 4 BOLC [X4 => LIMIT OF ENTRIES IN FDT
98J8 ... LDX 3 BOLC [X3 SET UP AS A MODIFIER FOR
98KB ... SBN 3 4 [SCANNING UP FDT
98LJ ...REPEAT [
98MQ ... ADN 3 4 [POINT TO NEXT ENTRY
98NY ... BXE 3 4,XFDTEND [J IF END OF FDT
98Q6 ... JBC REPEAT,3,BIFDTO [J IF BIFDT CLEAR
98R# ... JMBS REPEAT,3,BIFDTOW,BIFDTUW,BIFDTCL [J IF TAPE WRONGED OR CA
98SG ... LDX 5 FDSN(3) [X5 => BINARY TSN
98TN ... STO 5 A1(2) [STORE TSN IN FINTER1
98WW ... LDX 5 FDST(3) [X5 => STATE OF TAPE
98Y4 ... STO 5 A1+1(2) [STORE STATE OF TAPE IN FINTER1
98^= ... ADN 2 2 [UPDATE FINTER1 POINTER
992D ... ADN 6 1 [UPDATE COUNT OF TSNS
993L ... BXL 6 7,REPEAT [J IF MAX NO OF TSNS NOT YET REACHED
994S ...XFDTEND [
9962 ... BZE 6 XNOMESS1 [J IF NO TSNS FOUND
9978 ... SBN 6 1 [WE NOW HAVE TO OUTPUT AN
998B ... BZE 6 XONLYONE [ S CHARACTER IF MORE THAN ONE TAPE
999J ... LDCT 0 #630 [ S CHARACTER
99=Q ... SMO FX2 [
99?Y ... STO 0 ACOMMUNE1 [STORE S CHARACTER FOR OUTPARAM
99*6 ... LDN 0 1 [ONE CHARACTER
99B# ... OUTPARAM 0,ACOMMUNE1 [OUTPARAM ASSUMES ACTIVITY BLOCK
99CG ... BRN TSNSETUP [
99DN ...XONLYONE [
99FW ... OUTNULL [NO S IF ONLY ONE TAPE
99H4 ...TSNSETUP [
99J= ... ADN 6 1 [RESET X6 => NO. OF TAPES
99KD ... STO 6 4 [X4 => NO. OF TAPES, X6 IS CORRUPTED
99LL ... STO 6 7 [NOW SET UP A FILE/FINTER BLOCK
99MS ... SLL 6 1 [TWO WORDS PER TSN
99P2 ... ADN 7 7 [1 WORD FOR A1 AND
99Q8 ... SRL 7 2 [SPACE FOR COMMAS
99RB ... ADX 6 7 [SPACE FOR (FSN) = 2 WORDS +
99SJ ... ADN 6 6 [SPACE FOR '(WPR)' STRING, 5*3 = 4 WO
99TQ ... SETUPCORE 6,3,FILE,FINTER [USED TO HOLD CHARACTER TSNS
99WY ... STOZ A1(3) [SET CHARACTER COUNT ZERO
99Y6 ... LDN 5 0 [X5 SET UP AS MODIFIER FOR FINTER1
99^# ...#UNS FTS2
9=2G ... LDN 7 0 [SET 'DONT INCREASE LENGTH' FLAG
9=3N ...TSNLOOP [
9=4W ...#UNS FTS2
9=64 ...(
9=7= ... BZE 7 XNOINCREAS [J IF NO 'FS'
9=8D ... MHUNTW 3,FILE,FINTER [X3 -> FINTER
9=9L ... LDX 7 ALOGLEN(3) [X7 => LOGICAL LENGTH
9==S ... ADN 7 2 [INCREASE BY 2
9=#2 ... ALTLEN 3,7,FILE,FINTER [INCREASE
9=*8 ... LDN 7 0 [SET 'DON'T INCREASE LENGTH' FLAG
9=BB ...XNOINCREAS
9=CJ ...)
9=DQ ... MHUNTW 3,FILE,FINTER1 [FIND BINARY TSNS AGAIN
9=FY ... SMO 5 [MODIFIES FINTER1
9=H6 ... LDX 6 A1(3) [X6 => TSN
9=J# ... CONSERNO 6,ACOMMUNE1 [CONVERT TSN TO CHARACTERS
9=KG ... LDX 1 ACOMMUNE1(2) [X1 => CHARACTER COUNT
9=LN ... ADN 2 ACOMMUNE2 [X2 -> FIRST TSN CHARACTER
9=MW ... MHUNTW 3,FILE,FINTER [X3 -> FINTER
9=P4 ... LDX 6 3 [X6 -> FINTER
9=Q= ... LDX 3 A1(3) [X3 => CHARACTER COUNT
9=RD ... ADN 3 A1+1 [X3 => RELATIVE CHARACTER POSITION
9=SL ... ADX 3 6 [X3 => ABSOLUTE CHARACTER POSITION IN
9=TS ... MVCH 2 0(1) [MOVE TSN INTO FINTER,X3 IS UPDATED
9=X2 ... MHUNTW 2,FILE,FINTER1 [FIND FINTER1 AGAIN
9=Y8 ... SBN 2 1 [TO FIND FILESTORE
9=^B ... ADX 2 5 [NUMBER AND
9?2J ... LF 2,FDTFSNO,1 [IN ORDER TO SEE IF A
9?3Q ... LDX 2 A1+2(2) [WPR IS NEEDED
9?4Y ... BBS 7,2,XNOWPR [J IF NO WPR REQUIRED
9?66 ...[
9?7# ...[ INSERT '(WPR)' STRING IF NECESSARY
9?8G ...[
9?9N ... SMO FX1 [X1 WAS CORRUPTED
9?=W ... LDN 2 QWPR [X2 => ADDRESS OF STRING (WPR)
9?#4 ... MVCH 2 5 [MOVE THE FIVE CHARACTERS
9?*= ...#UNS FTS2
9?BD ... BNZ 1 (GEOERR) [J IF ALIEN TAPE NEEDS WPR!
9?CL ...[
9?DS ...[ NOW INSERT FILESTORE NUMBER
9?G2 ...[
9?H8 ...XNOWPR [
9?JB ...#UNS FTS2
9?KJ ...(
9?LQ ... BZE 1 XNOFSNO [J IF HOST FILESTORE
9?MY ... SMO FX1 [X1 CORRUPTED
9?P6 ... LDN 2 QFSNO [X2 -> STRING '(FS'
9?Q# ... MVCH 2 3 [MOVE THE THREE CHARACTERS
9?RG ... LDN 7 1 [SET 'INCREASE LENGTH' FLAG
9?SN ... SMO FX1 [
9?TW ... DVS 0 TEN [CONVERT FILESTORE NUMBER TO DECIMAL
9?X4 ... LDN 2 2 [X2 => COUNT OF RELEVENT CHARS
9?Y= ... SLL 1 18 [QUOTIENT IN TOP CHARACTER POSITION
9?^D ... SLL 0 12 [REMAINDER IN SECOND POSITION
9#2L ... BNZ 1 XTWOCHAR [J IF TWO CHARS
9#3S ... SBN 2 1 [ONLY ONE CHARACTER
9#52 ... SLL 0 6 [REMAINDER IN TOP POSITION
9#68 ...XTWOCHAR [
9#7B ... ORX 1 0 [X1 => FILESTORE IN CHARS
9#8J ... BZE 1 (GEOERR) [X1 ILLEGAL
9#9Q ... SMO FX2 [
9#=Y ... STO 1 ACOMMUNE1 [STORE FILESTORE NUMBER
9##6 ... LDX 1 2 [X1 => COUNT
9#*# ... SMO FX2 [
9#BG ... LDN 2 ACOMMUNE1 [X2 -> FILESTORE NUMBER
9#CN ... SMO 1 [X1 => 1 OR 2
9#DW ... MVCH 2 0 [MOVE CHARACTERS
9#G4 ... LDN 0 #31 [X0 => ')'
9#H= ... DCH 0 0(3) [PUT ) IN FINTER
9#JD ... BCHX 3 £ [UPDATE CHARACTER BY ONE
9#KL ...)
9#LS ...[
9#N2 ...[ NOW INSERT A SPACE
9#P8 ...[
9#QB ...XNOFSNO [
9#RJ ... LDN 0 #20 [X0 => SPACE
9#SQ ... DCH 0 0(3) [PUT COMMA IN FINTER
9#TY ... BCHX 3 £ [UPDATE CHARACTER COUNT BY ONE
9#X6 ... SBX 3 6 [RESET X3 TO CONTAIN
9#Y# ... SBN 3 A1+1 [NEW CHARACTER COUNT
9#^G ... SMO 6 [
9*2N ... STO 3 A1 [STORE NEW CHARACTER COUNT IN FINTER
9*3W ... ADN 5 2 [UPDATE MODIFIER
9*54 ... BCT 4 TSNLOOP [J IF NOT ALL TSNS YET CONVERTED
9*6= ...[
9*7D ...[ ALL TSNS NOW CONVERTED - OUTPUT MESSAGE
9*8L ...[
9*9S ... MHUNTW 3,FILE,FINTER [FIND FINTER
9*?2 ... LDX 2 A1(3) [X2 => CHARACTER COUNT WORD
9*#8 ... SLC 2 2 [NO. OF CHARACTERS
9**B ... SBN 2 1 [DONT OUTPUT LAST COMMA
9*BJ ... OUTEXES 2,A1+1,FILE,FINTER [OUTPUT %B OF MESSAGE
9*CQ ... MFREEW FILE,FINTER [GET RID OF FINTER
9*DY ... CALL 7 OUTMON [OUTPUT MESSAGE
9*G6 ... +JMTLOAD
9*H# ...XNOMESS1
9*JG ... MFREEW FILE,FINTER1 [FREE FILE/FINTER1
9*KN ...XNOMESS2
9*LW ... UP [RETURN FROM WHENCE WE CAME (SCHEDMTX
9*N4 ...)
9*SW [
9B#G ...[ MESSAGE-MT%A %B %C%D WRONGED MAKING INC%E %F UNAVAILABLE
9BS6 [
9B^# ...[ ********************************************************************
9C6G ...[
9C?Q X4DTSUBS
9CRB CALL 7 TSNS [CONVERT LIST OF TSNS FROM PSEUDO
9D?2 [INCINDEX RECORD IN APROC BLOCK
9DGS ... OUTNULL
9DQL BRN OUTWRNGMES
9F== [
9FH7 ...[ O/P LIST OF INCREMENTS AND MESSAGE:
9FS4 ...[ MT%A %B %C%D WRONGED MAKING INC%E %F UNAVAILABLE
9G4^ ...[ %A AND %B ARE NULL, %C AND %D ALREADY OUTPUT (BY DTWRONG)
9G*W ...[
9GLR ...[ ********************************************************************
9GXN ...[
9H8Q X10DTSUBS
9HNB OUTWRNGMES [SEND MESSAGE ABOUT WRONGED TAPES
9J82 CALL 7 OUTINCNOS
9JML CALL 7 OUTMON
9K7= ... +HMTWRONGP
9KLW UP
9L6G [
9LL6 [ MESSAGE OF THE TYPE-INC %A ON MT%B %C-DEAL WITH A,B,C FROM APROC
9LTY ...[
9M5Q ...[ ********************************************************************
9M*J ...[
9MKB X12DTSUBS
9N52 MHUNTW 2,FILE,APROC
9NJL OUTNUM AINCNO(2),0
9P4= CALL 7 OUTTAPE
9PHW UP
9Q3G [ ENTRY POINTS FOR OUTINCS,OUTTSNS AND OUTINCTSN MACROS
9Q7C ...[
9Q?# ...[ ********************************************************************
9QC9 ...[
9QH6 X13DTSUBS
9R2Q CALL 7 OUTINCNOS
9RGB UP
9RKG ...[
9RNL ...[ ********************************************************************
9RRQ ...[
9RWW ...[
9S22 X14DTSUBS
9SFL CALL 7 OUTTAPE [ WITH NO PARAMETER
9S^= UP
9T57 ...[
9T94 ...[ ********************************************************************
9T#^ ...[
9TDW X15DTSUBS
9TYG CALL 7 TSNS [ WITH PARAMETER ARE
9WD6 UP
9WXQ MENDAREA 20,K99DTSUBS
9XCB #END
9XX2
^^^^ ...76463364000100000000