13 229S ... SEG TROBJ,867,SECT.FILE,,G505 8 22FL #OPT K0TROBJ=K0OLP 8 22_= #OPT K6TROBJ=K6OLP 7 23DW #LIS K0TROBJ 4 23JR ...[ 15 23NN ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 13 23SK ...[ THIS EXCLUDES CODE UNDER #SKI G505 4 23YG ...[ 7 244C ...#OPT G505 = 0 6 248# ...#SKI G505&1 17 24#9 ...# WITH UGUG EDIT M505 (3-SHIFT WORKING FOR MOP ONLINE) 4 24D6 # 21 24XQ # THIS SEGMENT IMPLEMENTS OFFLINE A TR PERI IF *TR IS ASSIGNED TO A 16 25CB # AWORK1= N/CH READ BY PREVIOUS PERI 16 25X2 # AWORK2= PERI MODE (NEW RECORD MODE) 21 25_K # AWORK3 B23 SET. LAST TRANSFERRED CH OF PREVIOUS PERI WA 21 2648 # DELTA. MODE IS PREVIOUS SO SUCCESSOR MUST BE 19 266R # FIRST CH. TRANSFERRED IN THIS PERI. 21 269B # B22 SET. LAST TRANSFERRED CH OF PREVIOUS PERI WA 21 26?_ # DELTA. MODE IS ALPHA SO SUCCESSOR MUST BE REMO 21 26BJ # FROM THIS PERI TRANSFER AND IF IT WAS A STOP C 21 26F7 # (EG N/L) THE TERMINATE STATUS MUST BE FORGO 21 26HQ # B4 SET. THE LOST CHARACTER(SEE B22 ABOVE) WAS A 21 26L* # STOP CHARACTER AND ACONV IS NOW EMPTY. MUST 20 26NY # CONTINUE AND GET NEXT RECORD AS TERMINATE 16 26RH # STATUS MUST BE FORGOTTEN. 17 26W= # B0 = N/L CHAR HAS BEEN INSERTED 17 27*W # B01=1 RECORD IS 2000 CHARS LONG 21 27TG # B6 SET. LAST CH OF 2000 CH RECORD IS A DELTA. 19 28*6 # AWORK4 B0 =1 END OF MULTIFILE HAS BEEN REACHED 21 28F3 # B10 SET. NLNULL PERIPHERAL NAME QUALIFIER GIVEN IN 20 28JY # ASSIGN COMMAND. THIS HAS NO EFFECT EXCEPT FOR 12 28NT # GRAPHIC PERIS. 12 28SQ # ACOMMUNE1= RECORD MODE 11 29#B # ACOMMUNE2= PERI MODE 4 29S2 # 11 2=R= SEGENTRY K1TROBJ,Z1TROBJ 9 2?=W MASK1 #60077777 9 2?QG MASK2 #60000000 8 2#=6 MAX +129 6 2##P ...#SKI G505&1 4 2#C# ...( 16 2#FX ...XCCS1 #76137632 [ FOR 'CURSOR' 19 2#JG ...MASKID #70000706 [ PERMANENT BITS OF IDENTIND 4 2#M5 ...) 9 2#PQ NEWLINE #76322020 8 2*9B XALP #74 8 2*P2 XBET #75 5 2B8L PLINK1 9 2BN= PAIR TROBJ,1 4 2C7W # 19 2CMG # THIS SUBROUTINE GETS LENGTH OF RECORD (CHARACTERS) IN ACONV. 10 2D76 # ENTRY:X0=LINK 13 2DLQ # X3=PTR TO RECORD 12 2F6B # EXIT: X0,X3=UNCHANGED 13 2FL2 # X4=N/CH IN RECORD 12 2G5L # X6=OVERVRITTEN 4 2GK= # 5 2H4W RECLEN 18 2HJG LDX 4 0(3) [PICK UP N/W IN RECORD 17 2J46 SBN 4 2 [SUBTRACT RED TAPE 8 2JHQ BZE 4 Q4 19 2K3B SLL 4 2 [MULTIPLY BY 4_NO.OF CHARS. 19 2KH2 LDCH 6 1(3) [PICK UP NO.OF USED CHARS. 17 2L2L SRL 6 4 [IN LAST WORD OF RCD. 8 2LG= BZE 6 Q4 17 2L_W SBN 4 4 [SUBTRACT 4 CHARS. 20 2MFG ADX 4 6 [AND ADD NO.OF CHARS.IN LAST WORD 7 2M_6 Q4 EXIT 0 0 4 2NDQ # 20 2NYB # THE SUBROUTINE SETS AWORK3 IF THE RECORD IS 2000 CHARS LONG 14 2PD2 # ENTRY:X0=N/W IN THE RECORD 10 2PXL # X1=LINK 13 2QC= # X3=PTR TO RECORD-A1 4 2QWW # 5 2RBG TEST2000 17 2RW6 LDCT 0 #004 [IS LAST CH A DELTA 9 2S*Q ANDX 0 AWORK3(2) 9 2STB STOZ AWORK3(2) 20 2T*2 ORS 0 A1+1(3) [TRANSFER BIT TO RECORD IN ACONV. 9 2TSL LDEX 0 A1+FRH(3) 8 2W#= SBN 0 502 16 2WRW BNZ 0 (1) [RECORD <2000 CHARS 9 2X?G LDCH 0 A1+1(3) 7 2XR6 SRL 0 4 16 2Y=Q BNZ 0 (1) [RECORD <2000 CHARS 8 2YQB LDCT 0 #600 14 2_=2 ORS 0 AWORK3(2) [SWITCH 9 2_PL LDX 0 A1+501(3) 8 329= ANDN 0 #77 21 32NW ERN 0 #76 [TEST IF LAST CH OF 2000 CH RECORD IS 17 338G BNZ 0 (1) [A DELTA. J IF NOT. 8 33N6 LDCT 0 #004 18 347Q ORS 0 AWORK3(2) [SET 'DELTA AT 2000' BIT_ 8 34MB BRN (1) 4 3572 # 5 35LL Z1TROBJ 9 366= #SKI K6TROBJ>799-799 9 36KW TRACE FX2,TROBJ 15 375G LDX 3 APETADDR(2) [PTR TO APET 9 37K6 LOCKCA 3,ACAP(2) 16 384Q LDX 4 ACAP(2) [CA IN OBJ.PROG. 15 38JB LDN 5 ACA1(2) [CA IN AOLPT 7 3942 LDN 6 4 16 39HL FOUTMOVE 3,4,5,6,HLOCK1 [MOVE CA TO OLPA 17 3=3= STOZ ACA2(2) [ZEROISE REPLY WORD 9 3=GW LDX 0 AWORK4(2) 18 3?2G BNG 0 NORE15 [J IF END OF MULTIFILE 8 3?4P PMODES 4,3 8 3?6Y ANDN 4 #10 18 3?97 BNZ 4 NOTPACT [J IF NOT COMPACT MODE 9 3??B LDX 4 MASK1(1) 9 3?*K ANDS 4 ACA4(2) 5 3?CS NOTPACT 14 3?G6 LDX 3 ACA3(2) [COUNT 8 3?_Q BZE 3 WC1 6 3#2B ...#SKI G505&1 4 3#32 ...( 9 3#3L ... LDX 0 MASKID(1) 10 3#4= ... ANDS 0 IDENTIND(2) 4 3#4W ...) 6 3#5G ...#SKI G505&1 4 3#66 ...( 8 3#6Q ... LDN 0 #10 9 3#7B ... ANDX 0 ACA1(2) 15 3#82 ... IF 0,ZE [ SHIFT PERI 8 3#8L ... LDN 6 6 11 3#9= ... ANDX 6 IDENTIND(2) 16 3#9W ... AND 6,NZ [ SHIFT DEVICE 6 3#=G ... THEN 9 3#?6 ... LDN 0 #20 10 3#?Q ... ANDX 0 ACA1(2) 9 3##B ... IF 0,ZE 7 3#*2 ... THEN 20 3#*L ... LDN 6 4 [ NORMAL ON ALLCHAR DEVICE 6 3#B= ... FI 8 3#BW ... SLL 6 12 11 3#CG ... ORS 6 IDENTIND(2) 5 3#D6 ... FI 4 3#DQ ...) 17 3#FB BXGE 3 MAX(1),WC1 [CHECK 0JOBRING OF CPAT. 8 3YG2 LDN 0 #10 12 3Y_L ANDX 0 CONTEXT-JOBRING(3) 21 3_F= BNZ 0 XGRAMOP [J IF MOP AND ASSUME GRAPHIC FILE MOD 12 3_YW LDX 3 FILEBRING-JOBRING(3) 9 42DG LDX 3 BPTRF(3) 10 42Y6 ADX 3 FBACKPOINT(3) 16 43CQ LDX 3 BPTR(3) [X3->FCB OF JDF. 17 43XB LDEX 6 FETM(3) [PICK UP FILE MODE. 8 44C2 BRN TRANS 11 44WL PRESB BXL 4 ALOGLEN(2),OKBL 7 45B= LDX 6 2 8 45TW ALTLEN 6,4 16 46*G OKLEN STEPAGAIN [PTR.TO RECORD 10 46T6 MHUNT 2,ADATA,ACONV 4 47#Q OKBL 8 47SB LDN 4 A1(2) 9 48#2 SMO FRH(3) 18 48RL MOVE 3 0 [MOVE RECORD TO ACONV. 7 49?= LDX 3 4 8 49QW SBN 3 A1 8 4==G LDX 2 FX2 19 4=Q6 CALL 1 TEST2000 [TEST IF RECORD IS 2000 CHARS 15 4?9Q RCMOD LDX 6 FSCTM(2) [TYPE/MODE 8 4?PB ANDN 6 #7777 15 4#92 BNZ 6 TRANS [J IF TR FILE 5 4#NL XGRAMOP 16 4*8= LDN 6 #12 [CR,CP,LP FILE 6 4*9S ...#SKI G505&1 4 4*?B ...( 10 4*#Y ... LDX 0 IDENTIND(2) 7 4*BG ... SRL 0 9 17 4*D4 ... ANDN 0 #60 [ SHIFT DEVICE BITS 8 4*FL ... BZE 0 XCONV 18 4*H8 ... LDN 6 #20 [ ALLCHAR, START IN ALPHA 18 4*JQ ... ANDX 6 0 [ POSS CHANGE TO NORMAL 4 4*L# ...) 8 4*MW BRN XCONV 15 4B7G TRANS LDX 0 6 [RECORD MODE 8 4BM6 ANDN 0 #10 15 4C6Q BNZ 0 XCONV [J IF GRAPHIC 18 4CLB ORN 6 4 [ALL RECORDS IN PREVIOUS 16 4D62 XCONV TRANSFO1 6,7 [CONVERT THE MODE 17 4DKL TESTREP2 ILLMODE,MOLE [TEST IF LEGAL MODE 10 4F5= TESTRPN2 SHIFT,OKACA 7 4FJW LDN 0 4 17 4G4G ORS 0 ACA1(2) [CHANGE TO PREVIOUS 18 4GJ6 OKACA STO 7 AWORK2(2) [STORE NEW RECORD MODE 8 4H3Q ANDN 7 #10 10 4HHB MHUNT 3,ADATA,ACONV 18 4J32 LDX 5 3 [REMEMBER PTR TO ACONV 8 4JGL ADN 3 A1 9 4K2= CALL 0 RECLEN 18 4KFW BNZ 7 NLPRE [J IF RECORD IN GRAPHIC 9 4K_G NLCH LDX 0 AWORK3(2) 21 4LF6 BNG 0 NLPRE [J IF N/L HAS ALREADY BEEN INSERTED 13 4LYQ LDCT 0 #400 [B0=1 18 4MDB ORS 0 AWORK3(2) [N/L IS BEING INSERTED 15 4MY2 ADN 3 2 [ADD RED TAPE 7 4NCL SRC 4 2 17 4NX= ADX 3 4 [PTR TO LAST CHAR+1 7 4PBW SLC 4 2 6 4PD7 ...#SKI G505&1 4 4PFD ...( 8 4PGP ... LDCT 0 #200 10 4PJ2 ... ANDX 0 IDENTIND(2) 15 4PK? ... BZE 0 XCCS4 [ NO 'CURSOR' 9 4PLJ ... LDN 2 XCCS1(1) 7 4PMT ... MVCH 2 4 7 4PP6 ... ADN 4 4 8 4PQC ... BRN XCCS5 5 4PRN ...XCCS4 4 4PS_ ...) 7 4PWG SLC 3 2 14 4QB6 SBN 3 2 [- 2 CHRS 7 4QTQ SRC 3 2 15 4R*B LDCH 0 0(3) [TEST FOR _* 8 4RT2 SBN 0 #76 7 4S#L BCHX 3 / 15 4SS= BNZ 0 NONL [J IF NOT _ 8 4T?W LDCH 0 0(3) 15 4TRG SBN 0 #32 [TEST FOR * 14 4W?6 BZE 0 NLPRE [J IF _* 7 4WQQ NONL BCHX 3 / 10 4X=B LDN 2 NEWLINE(1) 15 4XQ2 MVCH 2 2 [INSERT _* 15 4Y9L ADN 4 2 [ADD 2 CHARS 6 4YBS ...#SKI G505&1 5 4YJ2 ...XCCS5 8 4YP= LDX 2 FX2 15 4_8W LDX 3 5 [PTR TO ACONV 7 4_NG LDN 0 3 17 5286 ANDX 0 4 [N/CH IN LAST WORD 7 52MQ SLL 0 4 15 537B DCH 0 A1+1(3) [UPDATE R/T 16 53M2 LDX 0 4 [N/CH IN RECORD 15 546L ADN 0 11 [ADD RED TAPE 13 54L= SRL 0 2 [N/W 15 555W STO 0 A1(3) [UPDATE R/T 17 55KG NLPRE LDX 3 5 [RESTORE PTR TO ACONV 14 5656 LDEX 6 AWORK3(2) [SWITCH 17 56JQ BZE 6 NOSET [J IF IT IS NOT SET 16 56SJ BZE 4 NSET2 [J IF ACONV E-PTY 9 574B LDCH 0 A1+2(3) 16 57J2 SBN 0 #76 [TEST IF DELTA 14 57NN BZE 0 TYPE2 [J IF SO 20 57TB LDN 0 2 [UNSET SWITCH AS _ AN& 00CCE00OR 19 5824 SBS 0 AWORK3(2) [ALREADY RE-OVE& BY TRANSFOR 8 586Q BRN NSET 5 58?D TYPE2 7 58H= BCHX 3 / 17 592W SBN 4 1 [SUBTRACT ONE CHAR 19 594F SEGENTRY K91TROBJ [RESTORE TIME MACRO TRTYPE1 19 5964 BCT 6 TYPE2 [X6 CONTAINS CURRENT STATE OF 18 597M [BITS 22,23 OF AWORK3. 4 598D NSET 18 599= BNZ 4 NOSET [J IF ACONV NOT EMPTY. 20 59=T [IE STOP CHARACTER NOT REACHED. 5 59?L NSET2 21 59#D LDCT 0 #02 [SET BIT TO INDICATE TERMINATE STATUS 19 59B3 ORS 0 AWORK3(2) [OF STOP CH. MUST BE LOST, 19 59CL [SINCE SPLIT OVER TWO PERIS. 17 59FC NOSET BZE 7 NOGRAPH [J IF NOT GRAPHIC. 20 59KJ LDX 0 4 [INDICATE NO EMBEDDED STOP CH. 8 59PP BRN NOST 5 59TW NOGRAPH 15 5=26 LDX 0 ACA1(2) [PERI MODE 7 5=FQ ANDN 0 2 17 5=_B BZE 0 NOST [J IF READ N CHARS 17 5?F2 LDX 6 3 [REMEMGR PTR TO ADATA 18 5?YL LDX 7 4 [NO. OF CHS IN RECORD. 9 5#D= BZE 7 NOSTA1 17 5#XW ADN 3 A1+2 [PTR TO THE RECORD 15 5*CG NCHAR LDCH 0 0(3) [LOAD CHAR 8 5*X6 SBN 0 #76 7 5BBQ BCHX 3 / 15 5BWB BZE 0 SUCT [J IF DELTA 8 5CB2 TNCH BCT 7 NCHAR 18 5CTL BRN NOSTA1 [J IF NOT A STOP CHAR 8 5D*= SUCT BCT 7 SUCT1 5 5DSW NOSTA1 7 5F#G LDX 0 4 17 5FS6 BRN NOSTA [J IF NOT A STOP CHAR 16 5G?Q SUCT1 LDCH 0 0(3) [LOAD SUCCESOR 7 5GRB BCHX 3 / 8 5H?2 SBN 0 20 15 5HQL BNZ 0 NOTC4 [J IF NOT TC4 9 5J== LDX 0 ACA1(2) 16 5JPW SBN 0 2 [TEST IF NORMAL 14 5K9G BZE 0 STOP [J IF TC4 8 5KP6 BRN TNCH 7 5L8Q NOTC4 SBN 0 6 16 5LNB BNG 0 TNCH [J IF NOT A STOP 7 5M82 SBN 0 4 16 5MML BPZ 0 TNCH [J IF NOT A STOP 4 5N7= STOP 8 5NLW SBN 3 A1+2 7 5P6G SLC 3 2 7 5PL6 SLC 6 2 7 5Q5Q SBX 3 6 7 5QKB SRC 6 2 16 5R52 LDX 0 4 [N/CH IN RECORD 18 5RJL LDX 4 3 [ASSUMED RECORD LENGTH 7 5S4= NOSTA LDX 3 6 15 5SHW NOST LDX 6 ACA3(2) [PERI COUNT 19 5T3G BXL 6 4,SETAW [J IF PERI COUNT100-100 9 8Q?W TRACE 7,TROBJWAK 8 8QRG CALL 5 TOPCA 20 8R?6 ACROSS OLPODD,1 [WAIT FOR A RECORD TO BE APPENDED 10 8RQQ MENDAREA 100,K99TROBJ 4 8S=B #END 8 ____ ...77636503000100000000