14 22FL #SEG IPBTAPE [IPB - COMM 16 22_= [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 11 23DW #LIS K0IPBTAPE>K0IPB>K0ALLGEO 9 23YG 8HIPBTAPE 4 24D6 # 13 24XQ SEGENTRY K1IPBTAPE,SK1IPBTAPE 8 25CB SALPH #74 8 25X2 SHIFT #76 8 26BL XA #41 5 26W= TYPTAB 8 27*W BRN TCT 8 27TG #10 8 28*6 BRN STLEG 8 28SQ #20 8 29#B BRN STRAL 8 29S2 #21 8 2=?L BRN TCT 8 2=R= #27 8 2?=W BRN STLEG 8 2?QG #30 8 2#=6 BRN SPACK 8 2#PQ #31 8 2*9B BRN TABEX 8 2*P2 #32 8 2B8L BRN TCT 8 2BN= #33 8 2C7W BRN STLEG 8 2CMG #35 8 2D76 BRN ZCAR 8 2DLQ #36 8 2F6B BRN STLEG 8 2FL2 #40 8 2G5L BRN TCT 8 2GK= #64 8 2H4W BRN TNATC 8 2HJG #70 8 2J46 BRN STLEG 8 2JHQ #73 8 2K3B BRN STRAL 8 2KH2 #74 8 2L2L BRN STLEG 8 2LG= #100 4 2L_W # 19 2MFG # SUBROUTINE TO RE-FIND BLOCK BEING LENGTHENED BY ALTLENG 4 2M_6 # 11 2NDQ REH MHUNTW 2,ADATA,CREADL 7 2NYB EXIT 1 0 4 2PD2 # 4 2PXL [ 8 2QC= [ K1 IPBTAPE 4 2QWW [ 6 2RBG SK1IPBTAPE 4 2RW6 # 20 2S*Q # INPUT FROM REMOTE TAPE READER ; NPU IS MAXIMUM OR UP TO ETX ; 20 2STB # CONVERSION COMPLETE AFTER 2000 CHARS OR NEWLINE OR ETX : STORE 20 2T*2 # RECORD IN FILE ; IN GRAPHIC MODE CONVERT PAIRS FROM LINE CODE 4 2TSL # 21 2W#= # CHANGE FROM BETA TO ALPHA SHIFT BETWEEN IDATSGS CAUSES ALPHA SHIFT 20 2WRW # TO BE LOST : MUST INSERT #74 IF MEET SHIFT SENSITIVE CHARACTER 21 2X?G # (I.E. A LETTER) BEFORE #75 IN NORMAL OR ALLCHARS MODE WHEN LAST 20 2XR6 # BLOCK ENDED IN BETA SHIFT ; OTHERWISE DISCARD REDUNDANT #75 4 2Y=Q # 11 2YQB MHUNTW 3,ADATA,CREADL 11 2_=2 MHUNTW 2,ADATA,INPUSG 8 2_PL LDX 1 FX2 8 329= LDEX 5 A1(3) 21 32NW LDX 6 A1(2) [ROOM LEFT IN PARTIALLY FULL OR 128 18 338G ANDN 6 #7777 [NO. CHARS IN INPUT SEG 21 33N6 ADX 3 ACOMMUNE6(1) [CPDATA OR DCH POINTER IF PART FULL 21 347Q ADX 2 ACOMMUNE4(1) [LDCH POINTER IF PART USED OR A1+2 8 34MB TAPE LDN 7 #6000 20 3572 ANDX 7 AWORK4(1) [B12 SET IF DISCARDING DATA DUE 17 35LL SLL 7 12 [TO TAB OUT OF RANGE 4 366= TAR 8 36KW LDCT 4 #300 18 375G STO 2 ACOMMUNE7(1) [IN CASE JUMP TO RINRE 7 37K6 LDCT 0 1 21 384Q ANDX 4 AWORK4(1) [B1 SET IF ALLCHAR ; B2 IF GRAPHIC 9 38JB ANDX 0 AWORK4(1) 21 3942 SLC 4 2 [>0 IF ALL ; 0 IF NORMAL ; <0 IF GRAP 21 39HL ERS 0 AWORK4(1) [B8 SET IF LAST BLOCK INCOMPLETE AND 16 3=3= LDX 1 FX1 [ENDED WITH #76 17 3=GW BNZ 0 TPAIR [TEST FOR DELTA PAIR 8 3?2G SMO FX2 9 3?G6 LDEX 1 AWORK4 21 3?_Q BZE 1 TLOOP [NO OUTSTANDING TAB SPACES TO STORE 8 3#FB SMO FX2 9 3#_2 DEX 0 AWORK4 18 3*DL ADN 6 1 [COUNTERACT BCT AFTER TUD 18 3*Y= BRN RINRE [STORE SPACES OUTSTANDING 4 3BCW # 8 3BXG TLOOP LDCH 0 0(2) 8 3CC6 LDX 1 FX1 7 3CWQ BCHX 2 / 9 3DBB TXL 0 SALPH(1) 14 3DW2 BCS TSEN [< #74 13 3F*L TXU 0 SHIFT(1) [#76 20 3FT= BCC TDEL [LOOK FOR DELTA PAIR NEXT CHAR 18 3G#W BNG 4 TCT [DISCARD SHIFT IF GRAPHIC 8 3GSG SMO FX2 15 3H#6 LDEX 1 AWORK3 [OLD SHIFT 8 3HRQ SMO FX2 15 3J?B STO 0 AWORK3 [NEW SHIFT 20 3JR2 BNG 7 TCT [TAB OUT OF RANGE : DISCARD SHIFT 7 3K=L TXU 0 1 15 3KQ= BCC TCT [NO CHANGE 8 3L9W PUT DCH 0 0(3) 7 3LPG BCHX 3 / 8 3M96 TUD BCT 5 TCT 7 3MNQ SBN 6 1 21 3N8B BRN TALT [CREADL FULL : INCREASE LENGTH BY 32 4 3NN2 # 8 3P7L TSEN BNG 7 TCT 7 3PM= ADN 7 1 8 3Q6W SMO FX2 9 3QLG LDXC 1 AWORK3 8 3R66 BCC PUT 8 3RKQ SMO FX1 13 3S5B TXL 0 XA [#41 21 3SK2 BCS PUT [NOT SHIFT SENSITIVE I.E. ALPHABETIC 8 3T4L LDN 1 #74 8 3TJ= DCH 1 0(3) 8 3W3W SMO FX2 16 3WHG STO 1 AWORK3 [SHIFT CHANGED 7 3X36 BCHX 3 / 7 3XGQ SBN 5 1 8 3Y2B BNZ 5 PUT 17 3YG2 SBN 7 1 [CANCEL ADN AT TSEN 21 3Y_L BCHX 2 TMOB [NOT ENOUGH ROOM : MOVE BACK 1 CHAR 4 3_F= # 8 3_YW TDEL DCH 0 0(3) 21 42DG BCT 6 TPAIR [TEST FOR DELTA PAIR IF NOT BLOCK END 8 42Y6 LDX 1 FX2 7 43CQ LDCT 0 1 20 43XB ORS 0 AWORK4(1) [INDICATE IDATSG ENDED WITH #76 19 44C2 BRN TLAT [TEST FOR DELTA PAIR LATER 8 44WL TPAIR LDCH 0 0(2) 7 45B= BCHX 2 / 9 45TW TXU 0 SHIFT(1) 19 46*G BCC TDEL [#7676 : IGNORE SECOND #76 19 46T6 BNG 7 TENEL [TEST FOR END OF RECORD ONLY 16 47#Q ADN 1 TYPTAB [POINT TO TABLE 5 47SB TYPLP 8 48#2 TXL 0 1(1) 20 48RL BCS (1) [J WHEN FOUND CHARAVCTER RANGE 18 49?= BDX 1 TYPLP [TRY NEXT CHARACTER RANGE 16 49QW STRAL [STORE IF ALLCHAR 16 4==G BZE 4 TCT [IGNORE IF NORMAL 17 4=Q6 STLEG [STORE UNLESS GRAPHIC 16 4?9Q BPZ 4 STIT [STORE IF ALLCHAR 15 4?PB BRN TCT [ELSE IGNORE 17 4#92 ZCAR LDN 7 0 [ZEROISE TAB COUNT 8 4#NL BNG 4 TCT 8 4*8= BRN STORO 8 4*MW STIT BUX 7 STORO 7 4B7G TNATC ADN 7 1 20 4BM6 BNG 4 TGR [IF GRAPHIC CONVERT #7664 - #7667 7 4C6Q STORO BCHX 3 / 8 4CLB BCT 5 PUT 21 4D62 LDCT 0 1 [CREADL FULL : INDICATE CHAR IS PART 19 4DKL SMO FX2 [OF DELTA PAIR (FOR LATER) 9 4F5= ORS 0 AWORK4 21 4FJW BCHX 2 TMOB [FORWARD 1 , BACK 2 : INVERSE BCHX 20 4G4G SPACK SBN 7 1 [BACKSPACE : DECREMENT TAB COUNT 18 4GJ6 BNG 4 TCT [DO NOT STORE IF GRAPHIC 8 4H3Q BRN STORO 18 4HHB TGR ADN 0 #10 [CONVERT FROM LINE CODE 8 4J32 BRN PUT 4 4JGL # 21 4K2= # EXPAND #7631 = HORIZ TAB INTO SPACES ACCORDING TO TAB FIELDS SPEC. 4 4KFW # 8 4K_G TABEX LDX 1 FX2 10 4LF6 STO 2 ACOMMUNE7(1) 10 4LYQ HUNTW 2,AINPAR,ATB 8 4MDB LDN 0 #31 19 4MY2 BNG 2 NOTAB [NO TABS PARAMETER : PASS ON 7 4NCL ADN 7 1 17 4NX= LDX 1 A1(2) [COUNT OF TAB FIELDS 9 4PBW TABAG TXL 7 A1+1(2) 19 4PWG BCS THIST [THIS IS THE RELEVANT FIELD 7 4QB6 ADN 2 1 8 4QTQ BCT 1 TABAG 18 4R*B ADN 5 1 [COUNTERACT BCT AT TUD 8 4RT2 LDN 0 #6000 21 4S#L LDCT 7 #600 [COUNT TOO BIG : IGNORE REST OF BLOCK 8 4SS= SMO FX2 21 4T?W ORS 0 AWORK4 [SET 'DISCARD REST OF BLOCK' MARKER 8 4TRG BRN ONLY1 9 4W?6 THIST LDX 1 A1+1(2) 7 4WQQ SBX 1 7 16 4X=B LDX 7 A1+1(2) [UPDATE TAB COUNT 7 4XQ2 SBN 7 1 21 4Y9L RINRE TXL 5 1 [REENTRY PT AFTER CREADL LENGTHENED 20 4YP= BCC ROMOK [ENOUGH ROOM IN CREADL FOR SPACES 7 4_8W SBX 1 5 8 4_NG SMO FX2 21 5286 DEX 1 AWORK4 [SPACES TO BE INSERTED AFTER ALTLEN 20 52MQ LDX 1 5 [STORE SPACES TO END OF CREADL 8 537B ROMOK LDN 0 #20 7 53M2 SBN 1 1 8 546L DCH 0 0(3) 7 54L= LDX 2 3 7 555W BCHX 3 / 17 55KG BZE 1 ONLY1 [STORE ONLY ONE SPACE 18 5656 MVCH 2 0(1) [STORE REQUISITE SPACES 7 56JQ SBX 5 1 8 574B ONLY1 SMO FX2 18 57J2 LDX 2 ACOMMUNE7 [RETRIEVE INPUSG POINTER 8 583L BRN TUD 10 58H= NOTAB LDX 2 ACOMMUNE7(1) 17 592W BPZ 4 STORO [STORE IF NOT GRAPHIC 8 59GG LDN 0 #20 17 5=26 BRN PUT [ELSE STORE 1 SPACE 4 5=FQ # 20 5=_B TENEL SBN 0 #32 [TEST FOR END OF RECORD AFTER TAB 15 5?F2 BNZ 0 TCT [OUT OF RANGE 18 5?YL TGNL LDN 0 #20 [SPACE-FILL REMAINDER OF 15 5#D= SACE TXL 3 BITS22LS [LAST WORD 20 5#XW BCS TNLF [B0-1 ZERO : POINTING TO CHAR 0 8 5*CG DCH 0 0(3) 8 5*X6 BCHX 3 SACE 7 5BBQ TNLF SBN 6 1 8 5BWB LDX 1 FX2 21 5CB2 ADS 2 ACOMMUNE4(1) [LDCH POINTER IN INPUSG FOR NEXT MESS 10 5CTL SBX 2 ACOMMUNE4(1) 8 5D*= DSA 6 A1(2) 9 5DSW TUNS LDX 0 BITS22LS 21 5F#G ANDS 0 AWORK3(1) [UNSET SHIFT-SENS-SEARCH BIT FOR NOW 8 5FS6 BRN TEND 4 5G?Q # 18 5GRB TCT BCT 6 TLOOP [PICK UP NEXT CHARACTER 18 5H?2 TCT2 LDX 1 FX2 [<127 CHARS ; END OF NPU 7 5HQL TLAT LDX 7 3 20 5J== NGX 2 ACOMMUNE4(1) [START ADDRESS OF ADATA/INPUSG 8 5JPW LDX 0 A1(2) 18 5K9G BPZ 0 TGSA [J IF NOT END OF NPU 19 5KP6 BUX 6 TGNL [INCREASE X6 AS SBN 1 LATER 4 5L8Q TGSA 10 5LNB LDX 3 ACOMMUNE5(1) 20 5M82 DEX 5 A1(3) [ROOM LEFT FOR CONVERTING INTO 7 5MML SBX 7 3 20 5N7= STO 7 ACOMMUNE6(1) [DCH POINTER WRT START OF BLOCK 7 5NLW FREECORE 2 21 5P6G BRN SEA [GET NEXT IDATSG TO COMPLETE MESSAGE 4 5PL6 # 19 5Q5Q # ADATA/CREADL FULL : INCREASE BY 32 WORDS UP TO MAX. OF 500 4 5QKB # 7 5R52 TWOB ADN 6 1 7 5RJL TMOB SLC 2 2 18 5S4= SBN 2 2 [MOVE BACK 2 CHARACTERS 7 5SHW SRC 2 2 8 5T3G TALT LDX 1 FX2 10 5TH6 ADS 2 ACOMMUNE4(1) 10 5W2Q SBX 2 ACOMMUNE4(1) 21 5WGB DSA 6 A1(2) [REMAINDER COUNT OF CHARS TO CONVERT 20 5X22 LDX 2 ACOMMUNE5(1) [START ADDRESS OF ADATA/CREADL 10 5XFL LDX 4 ALOGLEN(2) 7 5X_= LDX 3 4 10 5YDW LDN 0 CPDATA+500-A1 7 5YYG TXL 4 0 21 5_D6 BCC TMAR [2000 CHARS STORED : APPEND RECORD 8 5_XQ ADN 4 32 8 62CB LDN 5 128 7 62X2 TXL 4 0 8 63BL BCS TALEN 18 63W= LDN 4 CPDATA+500-A1 [ALREADY 480+CPDATA-A1 8 64*W LDN 5 80 9 64TG TALEN ALTLENG 2,4,REH 11 65*6 MHUNTW 2,ADATA,CREADL 8 65SQ LDX 1 FX2 10 66#B STO 2 ACOMMUNE5(1) 17 66S2 ADN 3 A1(2) [ADDRESS FOR NEXT DCH 11 67?L MHUNTW 2,ADATA,INPUSG 18 67R= ADX 2 ACOMMUNE4(1) [ADDRESS FOR NEXT LDCH 20 68=W SBS 2 ACOMMUNE4(1) [START ADDRESS OF ADATA/INPUSG 17 68QG BZE 6 TLAT [ALSO END OF IDATSG 7 69=6 LDCT 0 1 9 69PQ ANDX 0 AWORK4(1) 21 6=9B BZE 0 TAR [OK : LAST CHAR STORED NOT DELTA CHAR 21 6=P2 SBN 3 1 [STEP DCH ADDR BACK 1 CHAR TO DELTA 20 6?8L ORX 3 CACT [FOR STORO TO STORE DELTA PAIR 18 6?N= ADN 5 1 [STEP BACK BCT AS WELL 8 6#7W BRN TAR 4 6#MG TMAR 19 6*76 ACROSS READBULK,3 [STORING 2000 CHARS RECORD 4 6*LQ TEND 16 6B6B ACROSS READBULK,4 [END OF MESSAGE 4 6BL2 SEA 21 6C5L ACROSS READBULK,5 [GET NEXT IDATSG TO COMPLETE MESSAGE 4 6CK= #END 6 ____ ...005306370001