Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CHANG867)}} ====== CHANG867 ====== (George Source) **Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:DOFINDGV|DOFINDGV]], [[george:macro:HUNT|HUNT]], [[george:macro:JBC|JBC]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:P|P]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:UP|UP]], [[george:macro:VFREE|VFREE]], [[george:macro:VSKIP|VSKIP]] <code - CHANG867.txt>22FL SEG CHANG8,867,MULTIPLX HANDLING,,G501,G400 22^= [ 23DW [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 23YG ...[ THIS EXCLUDES CODE UNDER #SKI G501 24D6 [ 24XQ #LIS K0CHANG>K0MULTIPLX>K0ALLGEO>K0GREATGEO 25CB #OPT G501 = 0 25X2 #SKI G501&1 26BL # WITH G3UG EDIT M501 (3-SHIFT INPUT ON MOP) 26W= # ENTRY POINTS 27*W SEGENTRY K1CHANG,Z1CHANG [ MACRO 'CHANG' 27TG SEGENTRY K2CHANG,Z2CHANG [ MACRO 'CHANGVD' 28*6 #UNS ENHOPER 28SQ SEGENTRY K3CHANG,Z3CHANG [ MACRO 'CHANGALL' 29#B MENDAREA 20,K100CHANG 29S2 # 29WK ...#UNS G400 29^8 ...( 2=3R ...# THIS ROUTINE IS MODIFIED FOR G3PLUS-IH MK 2 2=6B ...# 2=8^ ...) 2=?L # THIS ROUTINE CONVERTS THE LINE OF INPUT FROM A MOP CONSOLE 2=R= # FOUND IN A FILE/FRB BLOCK 2?=W # IE A FILESTORE FILE READ BLOCK 2?QG # TO CARD IMAGE FORM,LEAVING IT IN A BLOCK ADATA/CREADL 2#=6 # IE A READLINE BLOCK 2#PQ # 2*9B T13 #13 2*P2 T41 #41 2B8L T67 #67 2BN= #UNS ENHOPER 2C7W T68 #70 2CMG T74 #74 2D76 T76 #76 2DLQ #SKI G501&1 2F6B ( 2FL2 T30 #30 2G5L T40 #40 2GK= ) 2H4W Z1CHANG 2HJG #UNS ENHOPER 2J46 ( 2JHQ STOZ AWORK4(2) 2K3B ZCONVONLY 2KH2 ) 2L2L MHUNTW 3,FILE,FRB [INPUT BLOCK 2LG= STO 3 AWORK1(2) [SAVE PTR 2L^W LDN 6 0 [COUNT OF CHS OUTPUT 2MFG LDX 4 A1(3) [INPUT CH COUNT 2M^6 ANDN 4 #7777 2NDQ #SKI G501&1 2NYB ( 2PD2 JBC P,2,G501SHIFT [ STANDARD CODE IF NOT SHIFT 2PXL LDX 2 3 2QC= LDN 0 #7400 2QWW STO 0 GEN0 [ INITIAL SHIFT FOR RECORD 2RBG LDN 7 #74 [ CURRENT INPUT SHIFT := 2RW6 STO 7 GEN1 [ CURRENT OUTPUT SHIFT := ALPHA 2S*Q ZSEL CALL 0 SELEC 2STB TXL 5 T40(1) [ SHIFT NOT REQD FOR CHARS < #40 2T*2 BCS ZSNA 2TSL TXL 5 T74(1) [ IF >= #40 BUT NOT A SHIFT CHAR, 2W#= BCS ZXAB [ MUST BE A SHIFT-SENSITIVE CHAR 2WRW TXU 5 T76(1) 2X?G BCC ZDELT 2XR6 LDX 7 5 [ REMEMBER ALPHA OR BETA 2Y=Q BRN ZSEL [ FOR OUTPUT LATER IF NECESSARY 2YQB ZXAB TXU 7 GEN1 2^=2 BCC ZSNA [ ALREADY IN CORRECT SHIFT 2^PL LDX 0 7 329= STO 7 GEN1 32NW ZPSH DCH 0 CPDATA(2) [ OUTPUT SHIFT CHAR FROM X0, 338G ADN 6 1 33N6 BCHX 2 £ 347Q ZSNA CALL 0 SCOP [ THEN OUTPUT CHAR 34MB BRN ZSEL 3572 ZDELT CALL 0 SELEC [ NEED TO CHECK SPECIAL DELTA CHARS 35LL TXU 5 T13(1) 366= BCC PEND 36KW TXU 5 T30(1) [ BACKSPACE CHAR = BACK ARROW 375G BCC ZBSP 37K6 LDN 0 #76 384Q TXU 5 T67(1) [ UNLESS BACK ARROW (DELETE) 38JB BCS ZPSH [ OUTPUT DELTA SHIFT CHAR 3942 # 39HL SMO FX2 [ COPY BACK ARROW CHAR 3=3= TXL 0 AWORK4 [ IF Z3 ENTRY (FX2 > #76 3=GW BCS ZPSH [ AND NO SPARE ACCS - SORRY!) 3?2G # 3?G6 # PROPER BACKSPACE - J.T.T. JUNE 1977 3?^Q ZBSP LDN 0 2 3#FB ZBKSP BZE 6 ZSEL [ CAN'T BKSP IF NO CHARS OUTPUT 3#^2 SLC 2 2 [ AND DON'T NEED TO CHECK SHIFTS 3*DL SBN 2 1 [ IF ONLY ONE CHAR HAS BEEN OUTPUT 3*Y= SBN 6 1 3BCW SRC 2 2 3BXG BCT 0 ZBKSP 3CC6 LDCH 0 CPDATA(2) [ LOOK IF SHIFT BEFORE DELETED CHAR 3CWQ TXU 0 T76(1) [ REMOVE DELTA - NO PROBLEM 3DBB BCC ZSEL 3DW2 TXL 0 T74(1) 3F*L BCC ZDAB 3FT= ADN 6 1 3G#W BCHX 2 ZSEL [ KEEP IF NOT ALPHA OR BETA 3GSG ZDAB ERN 0 1 [ PREVIOUS SHIFT IN OUTPUT BUFFER 3H#6 STO 0 GEN1 [ MUST HAVE BEEN THE OTHER ONE 3HRQ BRN ZSEL 3J?B # 3JR2 P STOZ GEN0 [ NOT SHIFT - USE OLD CODE 3K=L ) 3KQ= LDX 2 3 3L9W PSEL CALL 0 SELEC [SELECT CHARACTER 3LPG TXU 5 T76(1) 3M96 BCC PTY76 [BRANCH IF CHARACTER TYPE = #76 3MNQ TXL 5 T74(1) 3N8B BCC PSEL [IGNORE IF > #74 3NN2 PCOPY CALL 0 SCOP [TRANSFER CHARACTER 3P7L BRN PSEL 3PM= # 3Q6W PTY76 CALL 0 SELEC [SELECT CHARACTER AFTER #76 3QLG TXU 5 T13(1) 3R66 BCC PEND [BRN IF #7613 (N/L) 3RKQ #UNS ENHOPER 3S5B ( 3SK2 SMO FX2 3T4L LDX 0 AWORK4 3TJ= BNZ 0 PNDEL [TRANSLATE BACK-ARROW FOR 'CHANGALL' 3W3W ) 3WHG TXU 5 T67(1) 3X36 BCC PEDIT [BRANCH IF #7667 (BACK-ARROW) 3XGQ #UNS ENHOPER 3Y2B PNDEL 3YG2 #SKI G501&1 3Y^L ( 3^F= TXU 5 T30(1) [ BACKSPACE = BACK ARROW 3^YW BCC PEDIT 42DG ) 42Y6 TXL 5 T41(1) 43CQ BCS PSEL [IGNORE IF < #7641 43XB TXL 5 T68(1) 44C2 BCC PSEL [IGNORE IF > #7667 44WL ADN 5 8 [CONVERT CHARACTER 45B= BRN PCOPY [COPY ACROSS 45TW # 46*G PEDIT BZE 6 PSEL [J. IF OUTPUT LINE EMPTY. 46T6 SLC 2 2 [DELETE CHARACTER BY TAKING ONE 47#Q SBN 6 1 [OFF COUNT AND STEPPING BACK 47SB SBN 2 1 [THE OUTPUT POINTER. 48#2 SRC 2 2 48RL BRN PSEL 49?= # 49QW PEND SMO FX2 [RETREIVE POINTER TO BLOCK. 4==G LDX 3 AWORK1 4=Q6 SBN 6 2000 [IF >/= 2000,TAKE FIRST 2000 CHARS 4?9Q BNG 6 RESCT [<2000 CHARS 4?PB LDN 6 0 4#92 RESCT ADN 6 2000 4#NL STO 6 A1(3) [STORE CONVERSION COUNT 4*8= ANDN 6 3 [FORM CHARACTER REMAINDER COUNT 4*MW #SKI G501&1 4B7G ( 4BM6 LDX 0 6 4C6Q SRC 0 2 4CLB ORN 0 #41 [ FORM 2ND RED TAPE WORD 4D62 ORX 0 GEN0 [ PREVIOUS SHIFT ALPHA IF ALLCHAR 4DKL STO 0 A1+1(3) 4F5= BZE 6 PFIL 4FJW ) 4G4G #SKI G501&1$1 4GJ6 ( 4H3Q SRC 6 2 [LAST CH POSITION 4HHB ADN 6 #41 4J32 STO 6 A1+1(3) 4JGL SBN 6 #41 4K2= BZE 6 PFIL [BRANCH IF ZERO 4KFW SLC 6 2 4K^G ) 4LF6 NGX 7 6 4LYQ ADN 7 4 [FORM SPACE FILL COUNT 4MDB LDN 5 #20 [SPACE CHARACTER 4MY2 PHIL CALL 0 SCOP [TRANSFER SPACE CHARACTER 4NCL BCT 7 PHIL [BRN ON COUNT 4NX= PFIL LDX 6 A1(3) 4PBW ADN 6 CPDATA-A1*4+3 [ROUND UP CHARACTER COUNT 4PWG SRL 6 2 [TO NEARST FOUR 4QB6 STO 6 A1(3) [WORD COUNT 4QTQ TXU 6 ALOGLEN(3) [COMPARE TO BLOCK LENGTH 4R*B BCC PSAL [BRN IF NOT EQUAL 4RT2 ALTLEN 3,6 [DECREASE LENGTH 4S#L PSAL UP [FINISH 4SS= # 4T?W # THIS SUBROUTINE SELECTS NEXT CHARACTER TO 4TRG # BE CONVERTED PUTS IT IN X5 4W?6 # 4WQQ SELEC BZE 4 PEND [BRANCH IF END OF DATA 4X=B LDCH 5 A1+2(3) 4XQ2 SBN 4 1 [DECREASE COUNT BY 1 4Y9L BCHX 3 (0) [UPDATE INPUT POINTER, AND EXIT. 4YP= # 4^8W # THIS SUB INSERTS THE NEXT CHAR IN CONVERSION BLOCK (X2 POINTER) 4^NG # SCOP INSERTS THE CHAR IN X5 IN THE CONVERSION BLOCK 5286 #SKI A1+2-CPDATA� 52MQ ! CPDATA > A1+2 WILL CORRUPT THE INPUT MESSAGE DURING CONVERSION ! 537B # 53M2 SCOP ADN 6 1 [UPDATE COUNT 546L DCH 5 CPDATA(2) [THIS ASSUMES CPDATA<A1+3 ALWAYS. 54L= BCHX 2 (0) [UPDATE OUTPUT POINTER, AND EXIT. 555W # 55KG # 5656 # 56JQ # SUBROUTINE TO RE-FIND BLOCK BEING LENGTHENED BY ALTLENG 574B VREF MHUNTW 2,FILE,FRB 57J2 EXIT 1 0 583L # 58H= # THIS ROUTINE CONVERTS INPUT RECEIVED FROM A MOP DISPLAY 592W # FOUND IN A FILE/FRB BLOCK 59GG # TO GRAPHIC FORMAT 5=26 # AND LEAVES IT IN A NEW,POSSIBLY LONGER,FILE/FRB BLOCK 5=FQ # THE CURSOR POSITIONING COUNTS IN THE AMXOR/ADCB BLOCK ARE UPDATED 5=^B # UNLESS BREAK-IN HAS OCCURRED. 5?F2 # 5?YL VCHARIN 16H0123456789:;<=>? 5#D= 16H !"£$%&'()*+,-./ 5#XW 24H@ABCDEFGHIJKLMNOPQRSTUVW 5*CG #70717273 5*X6 #23757677 5BBQ TIS4 #14 5BWB TNL #32 5CB2 T64 #64 5CTL T70 #70 5D*= Z2CHANG 5DSW MHUNTW 2,FILE,FRB [RENAME INPUT DATA BLOCK 5F#G NAME 2,ADATA,CREADL 5F#T ... SEGENTRY K30CHANG 5F*8 ... BRN X31CHANG 5F*H ...#UNS G400 5F*W ...( 5FB9 ... STOZ 7 5FBJ ... LDCH 0 CPDATA(2) [IS THERE A PID 5FBX ... BCHX 2 £ 5FC= ... BXU 0 T76(1),VNOPID [J CANT BE NO SHIFT 5FCK ... LDCH 0 CPDATA(2) [GET QUALIFIER 5FCY ... BXE 0 TIS4(1),VSETUP [PID HERE OTHER CHECKS WILL DO 5FD? ...VNOPID [CHECK TERMINAL FOR SECURITY 5FDL ... VFREE IUSER,BADGE 5FD^ ... LDX 2 FX2 5FF# ... LDN 5 4 5FFM ... LDX 3 JSOURCE2(2) 5FG2 ...VIDENCONV 5FG* ... SRL 34 3 [GET TERM IDEN IN OCTAL 5FGN ... SRL 4 3 5FH3 ... BCT 5 VIDENCONV [ALLOW FOUR CHARS 5FHB ... LDX 3 FX1 [FIND GLOBAL VARIABLE 5FHP ... DOFINDGV XSTRM(3),1 5FJ4 ... BNG 1 VSETUP [J NO VARIABLE 5FJC ... LDX 5 VHEADER(1) 5FJQ ... SBN 5 5 5FK5 ... BZE 5 VSETUP [EMPTY LIST 5FKD ... SMO FX1 5FKR ... LDX 0 VBAST 5FL6 ... BXE 0 VDATA(1),VSETUP [EMPTY LIST 5FLF ...VCHSEC 5FLS ... BXE 4 VDATA(1),VSECONLY 5FM7 ... ADN 1 1 [TERM NOT FOUND 5FMG ... BCT 5 VCHSEC [CHECK NEXT 5FMT ... BRN VSETUP 5FN8 ...VSECONLY 5FNH ... NGN 7 1 [PID MISSING - ERROR 5FNW ...VSETUP 5FP9 ...VBADGE3 5FPJ ... MHUNTW 2,ADATA,CREADL 5FPX ...) 5FQ= ... SEGENTRY K31CHANG 5FQK ...X31CHANG 5FS6 LDX 6 ALOGLEN(2) [SET UP BLOCK FOR CONVERTED DATA 5G?Q SETUPCOR 6,4,FILE,FRB 5GRB STO 4 AWORK4(2) [SAVE ADDRESS OF FILE/FRB 5H?2 MHUNTW 2,ADATA,CREADL [RE-FIND INPUT DATA BLOCK 5HQL SMO FX2 5J== STO 2 AWORK2 [SAVE ADDRESS OF ADATA/CREADL BLOCK 5JPW MHUNTW 3,AMXOR,ADCB 5K9G LDX 0 ICURPOS(3) 5KP6 SMO FX2 5L8Q STO 0 AWORK1 [SAVE CURSOR POSITIONING COUNTS 5LNB LDX 6 A1(2) 5M82 ANDN 6 #7777 [NO OF INPUT CHARS 5MML ADN 4 CPDATA [CONVERTED DATA POINTER 5N7= BZE 6 VFREE [CHAR COUNT ZERO : NO CONVERSION 5NLW ADN 2 CPDATA [INPUT DATA POINTER 5NS4 ... SEGENTRY K32CHANG 5N^= ... BRN X33CHANG 5P6G # 5P9L ...#UNS G400 5P#Q ... BNG 7 VBADY 5PCW ... SEGENTRY K33CHANG 5PH2 ...X33CHANG 5PL6 LDN 7 1 [SET IGNORE BADGE DATA SWITCH TO OFF 5Q5Q V1ST LDCH 0 0(2) [GET FIRST CHAR 5QKB SBN 0 #20 5R52 BNZ 0 VCONV [NOT A SPACE CHAR 5RJL SBN 6 1 [DECREMENT COUNT OF INPUT CHARS 5S4= BRN VCEND [IGNORE THIS SPACE CHAR 5SHW # 5T3G VCONV LDCH 0 0(2) [GET NEXT CHAR 5TH6 SBN 6 1 [DECREMENT COUNT OF INPUT CHARS 5W2Q TXL 0 T74(1) 5WGB BCS VNIFT [NOT A SHIFT CHAR 5X22 TXU 0 T76(1) 5XFL BCS VCEND [NOT DELTA, IGNORE ALPHA AND BETA 5X^= # DELTA SHIFT 5YDW BZE 6 VCEND [INPUT ENDED WITH DELTA CHAR 5YYG BCHX 2 £ [LOOK AT NEXT CHAR OF DELTA PAIR 5^D6 LDCH 0 0(2) 5^XQ SBN 6 1 [DECREMENT COUNT OF INPUT CHARS 62CB TXU 0 TIS4(1) 62X2 BCS VTNL [NOT IS4 CHAR 63BL NGX 7 7 [NEGATE "IGNORE BADGE DATA" SWITCH 63D8 ... SEGENTRY K34CHANG 63FQ ... BRN X35CHANG 63H# ...#UNS G400 63JW ...( 63LD ... BNG 7 VBADGE 63N2 ... BRN XB 63PJ ...) 63R6 ... SEGENTRY K35CHANG 63SN ...X35CHANG 63W= BNG 7 VCEND [FIRST IS4 OF BADGE DATA FIELD 64*W ...XB BZE 6 VCEND [LAST IS4 AND END OF INPUT 64TG BCHX 2 V1ST [LAST IS4 : GET FIRST DATA CHAR 65*6 VTNL BNG 7 VCEND [BADGE DATA : IGNORE 65SQ TXU 0 TNL(1) 66#B BCS VSKIP [NOT N/L CHAR 66S2 # 67?L LDX 1 FX2 67R= LDEX 7 ICHARS(3) [DISPLAY WIDTH 68=W LDEX 0 AWORK1(1) [COLUMN NO (SO FAR) 68QG SBX 7 0 [COUNT OF CHARS TO END OF LINE 69=6 SBX 2 AWORK2(1) 69PQ STO 2 AWORK2(1) [SAVE RELATIVE INPUT DATA POINTER 6=9B LDX 5 AWORK4(1) [ADDR OF CONVERTED DATA BLK(FILE/FRB) 6=P2 SBX 4 AWORK4(1) 6?8L STO 4 AWORK4(1) [SAVE RELATIVE CONVERTED DATA PTR 6?N= LDX 4 7 6#7W ADN 4 3 6#MG SRL 4 2 [NO OF WORDS REQUIRED FOR SPACING 6*76 SMO 5 6*LQ ADX 4 ALOGLEN [NEW BLOCK LENGTH 6B6B ALTLENG 5,4,VREF [LENGTHEN CONVERTED DATA BLOCK(FRB) 6BL2 LDX 1 FX2 6C5L LDX 4 AWORK4(1) [RESET CONVERTED DATA POINTER 6CK= MHUNTW 2,FILE,FRB 6D4W STO 2 AWORK4(1) 6DJG ADX 4 2 6F46 LDX 5 AWORK2(1) [RESET INPUT DATA POINTER 6FHQ MHUNTW 2,ADATA,CREADL 6G3B STO 2 AWORK2(1) 6GH2 ADX 2 5 6H2L MHUNTW 3,AMXOR,ADCB [RE-FIND DCB 6HG= # 6H^W LDN 0 #20 [SPACEFILL TO COMPLETE THE CURR. LINE 6JFG VFILL STO 4 1 6J^6 DCH 0 0(1) 6KDQ BCHX 4 £ 6KYB BCT 7 VFILL 6LD2 BRN VLINE 6LXL # 6MC= VSKIP TXL 0 T64(1) 6MWW BCS VCEND [<#64,IGNORE 6NBG TXL 0 T70(1) 6NW6 BCC VNAT [>/=#70 : NATIONAL CHARACTER 6P*Q ADN 0 8 6PTB BRN VNIFT 6Q*2 VNAT ADN 0 4 6QSL BRN VSTOC [SKIP FURTHER CONVERSION 6R#= # 6RRW VNIFT BNG 7 VCEND [BADGE DATA : IGNORE 6S?G LDXC 7 ICONTU(3) 6SR6 BCS VSTOC [CODE 2 VDU : SKIP CONVERSION 6T=Q VCODE SRC 0 2 [GET CHAR EQUIVALENT 6TQB STO 0 1 6W=2 SMO FX1 6WPL LDCH 0 VCHARIN(1) 6X9= VSTOC STO 4 1 [STORE CONVERTED CHAR 6XNW DCH 0 0(1) 6Y8G BCHX 4 £ [UPDATE CONVERTED DATA POINTER 6YN6 SMO FX2 6^7Q LDEX 0 AWORK1 [COLUMN NO (SO FAR) 6^MB ADN 0 1 7272 LDEX 7 ICHARS(3) [DISPLAY WIDTH 72LL TXU 0 7 736= BCS VCOLM [NOT END OF LINE 73KW VLINE LDCT 0 #010 745G SMO FX2 74K6 ADS 0 AWORK1 [UPDATE LINE NO 754Q VCOLM SMO FX2 75JB DEX 0 AWORK1 [UPDATE COLUMN NO 7642 VCEND BCHX 2 £ [UPDATE INPUT DATA POINTER 76HL LDX 1 FX1 [RESET X1 773= BNZ 6 VCONV [NOT END OF INPUT 77GW # 782G LDX 5 4 78G6 LDN 7 #20 78^Q VSFW TXL 5 BITS22LS [COMPLETE LAST WORD WITH SPACES 79FB BCS VFREE [COMPLETED 79^2 STO 5 1 7=DL DCH 7 0(1) 7=Y= BCHX 5 VSFW 7?CW VFREE MFREEW ADATA,CREADL [FREE INPUT DATA BLOCK 7?XG LDX 2 AWORK4(2) [ADDR OF CONVERTED DATA BLK(FILE/FRB) 7#C6 SBX 4 2 [RELATIVISE CONVERTED DATA POINTER 7#WQ SBN 4 CPDATA [- RED TAPE 7*BB SLC 4 2 [NO OF CONVERTED DATA CHARS 7*W2 SBN 4 2000 [IF >/=2000,TAKE FIRST 2000 CHARS 7B*L BNG 4 VDCT [< 2000 CHARS 7BT= LDN 4 0 7C#W VDCT ADN 4 2000 7CSG LDX 7 4 7D#6 ANDN 7 3 7DRQ SRC 7 2 [CHAR POSITION OF LAST CHAR + 1 7F?B ADN 7 #41 [PFCC 7FR2 STO 7 A1+1(2) [STORE SECOND WORD OF RED TAPE 7G=L ADN 4 CPDATA-A1*4+3 [ROUND UP CHAR CT TO NEAREST FOUR 7GQ= SRL 4 2 [WORD COUNT 7H9W STO 4 A1(2) [STORE NO OF CONVERTED WORDS 7HPG TXU 4 ALOGLEN(2) 7J96 BCC VEB [BLOCK ALREADY CORRECT LENGTH 7JNQ ALTLENG 2,4 [DECREASE LENGTH 7K8B VEB LDX 2 FX2 7KN2 LDCT 6 #010 7L7L LDX 0 IWAIT(3) 7LM= ANDX 0 BIT9 7M6W ERS 0 IWAIT(3) [UNSET BIT9 IF SET 7MLG BNZ 0 VUCCS [NEWLINE SUPPRESSION ON INPUT REQUEST 7N66 LDEX 0 AWORK1(2) [CURRENT COLUMN NO OF CURSOR 7NKQ BZE 0 VSCOL [CURSOR ON COLUMN 0:STOR CURR LINE NO 7P5B ADS 6 AWORK1(2) [STORE NEXT LINE NO 7PK2 VSCOL DEX 6 AWORK1(2) [STORE COLUMN NO 0 7Q4L VUCCS ANDX 6 IWAIT(3) 7QJ= BNZ 6 VUP [G3 BREAK-IN:DON'T UPD CURSOR COUNTS 7R3W BCHX 3 £ [-> CHAR 1 7RHG LDCH 0 ICHARS(3) [DISPLAY LENGTH 7S36 ANDX 3 BITS22LS 7SGQ LDCH 6 AWORK1(2) [CURRENT LINE NO 7T2B TXL 6 0 7TG2 BCS VUPC [CURRENT LINE NO < DISPLAY LENGTH 7T^L DCH 0 AWORK1(2) [WRAP ROUND : RESET LINE NO TO DISPLAY LENGTH 7WF= VUPC LDX 0 AWORK1(2) 7WYW STO 0 ICURPOS(3) [UPDATE CURSOR POSITIONING COUNTS 7XDG #SKI K6IPB>100-100 7XY6 STO 0 ACOMMUNE6(2) 7YCQ VUP UP 7YXB #UNS ENHOPER 7^C2 ( 7^WL [ 82B= [ 82TW [ WW WW WWWWW 83*G [ WW WW WW WW 83T6 [ WW WW WW 84#Q [ WWWW WWWW 84SB [ WWWW WW 85#2 [ WW WW WW 85RL [ WW WW WW WW 86?= [ WW WW WWWWW 86QW [ 87=G [ 87Q6 Z3CHANG 889Q STO 2 AWORK4(2) [TO DISTINGUISH FROM K1 ENTRY 88PB BRN ZCONVONLY 8992 ) 8995 ...#UNS G400 8998 ...( 899? ...VBADGE 899B ... HUNT 1,IUSER,BADGE 899F ... BNG 1 VBADGE2 899J ... LDX 7 1 899M ... LDN 5 0 899Q ... STO 5 ANUM(1) 899T ... BCHX 2 £ 899Y ...VBADGE1 89=3 ... BNZ 6 VBAD1 [END OF TEXT TEST 89=6 ... LDX 1 FX1 [TIDY UP 89=9 ... LDX 5 4 89=# ... LDN 7 #20 89=C ... BRN VSFW [AND EXIT 89=G ...VBAD1 89=K ... LDCH 0 0(2) [GET NEXT CH 89=N ...VBAD4 89=R ... BNG 5 VBAD6 [J IF BADGE TOO LONG 89=W ... DCH 0 APARA(1) [STORE IT 89=^ ... BCHX 1 £ [STEP POINTERS 89?4 ...VBAD6 89?7 ... BCHX 2 £ 89?= ... SBN 6 1 [AND IP COUNT 89?* ... SMO FX1 89?D ... TXU 0 T76 [TEST IF DELTA 89?H ... BCC VBAD2 [J IF SO 89?L ...VBAD3 89?P ... BNG 5 VBADGE1 [J NO MORE BADGE ROOM 89?S ... ADN 5 1 89?X ... SMO 7 89#2 ... STO 5 ANUM [UPDATE BADGE COUNT 89#5 ... SMO FX1 89#8 ... TXL 5 T14 89#? ... BCS VBADGE1 [J IF BADGE NOT FULL 89#B ... NGN 5 1 [MARK FULL 89#F ... BRN VBADGE1 [DO NEXT CH 89#J ...VBAD2 89#M ... BZE 6 VBAD3 89#Q ... LDCH 0 0(2) [LOAD POST-DELTA CH 89#T ... SMO FX1 89#Y ... TXU 0 TIS4 [TEST IF END OF BADGE 89*3 ... BCC VBAD5 [J IF SO 89*6 ... BRN VBAD3 89*9 ...VBAD5 89*# ... BCHX 2 £ [STEP IP POINTER 89*C ... SBN 6 1 89*G ...# 89*K ...# IF BADGE IN CO2/3 CODE ,CONVERT TO DECIMAL 89*N ...# 89*R ... STO 2 GEN0 [SAVE X2 89*W ... LDX 2 7 [POINTER TO BADGE BLOCK 89*^ ... LDX 0 ANUM(2) 89B4 ... SBN 0 2 89B7 ... BNZ 0 VBCO1 [MUST BE TWO CHARS FOR CO2/3 89B= ... LDCH 0 APARA(2) 89B* ... ANDN 0 #40 89BD ... BZE 0 VBCO1 [AND HAVE FIRST BIT OF CHAR SET 89BH ... LDCH 0 APARA(2) [* 89BL ... LDN 1 0 [ 89BP ... BCHX 2 £ [ 89BS ... LDCH 1 APARA(2) [ 89BX ... SRC 1 4 [ 89C2 ... SLL 01 4 [ 89C5 ... ANDN 0 #377 [ 89C8 ... LDN 1 0 89C? ... SMO FX1 [ 89CB ... DVR 0 T1000 [ 89CF ... LDX 0 1 89CJ ... LDCT 1 #200 89CM ... LDX 2 7 89CQ ... LDN 5 3 89CT ... STO 5 ANUM(2) 89CY ... STOZ APARA(2) 89D3 ...VBCO2 89D6 ... CBD 0 APARA(2) [CONVERT NEXT CHAR 89D9 ... BCHX 2 £ [STEP POINTER 89D# ... BCT 5 VBCO2 [BRANCH UNTIL COUNT ZERO 89DC ... LDX 2 7 89DG ...VBCO1 89DK ... LDX 2 GEN0 [RETRIEVE X2 89DN ...# 89DR ...# CHECK BADGE IN RANGE 89DW ...# 89D^ ... LDX 5 2 [ SAVE X2 89F4 ... LDX 2 7 89F7 ... DOFINDGV APARA+4(2),1 89F= ... LDX 2 5 [ RESET X2 89F* ... BNG 1 VBADY [ GLV NOT FOUND 89FD ... LDX 5 VHEADER(1) [ BLOCK LENGTH 89FH ... SBN 5 5 [ REDUCE TO START OF DATA 89FL ... BZE 5 VBADY [ NO DATA 89FP ... SMO FX1 89FS ... LDX 0 VBAST [ LOAD **** 89FX ... ERX 0 VDATA(1) [ MASK WITH GLV DATA 89G2 ... BZE 0 VBADZ [ NO CHECK REQD. 89G5 ...VBCH2 89G8 ... SMO 7 89G? ... LDX 0 APARA [ BADGE CODE 89GB ... ERX 0 VDATA(1) [ GLV DATA 89GF ... SRL 0 6 [ REMOVE BITS 18-23 89GJ ... BZE 0 VBADZ [ J. IF VALID PID 89GM ... ADN 1 1 [ 89GQ ... BCT 5 VBCH2 [ J. UNTIL GLV DATA FINISHED 89GT ...VBADY 89GY ... LDN 6 0 89H3 ... BRN VCEND 89H6 ...VBADZ 89H9 ... BZE 6 VCEND [ NO DATA ON LINE 89H# ... LDX 1 FX1 89HC ... LDN 7 1 89HG ... BRN V1ST [ CONTINUE WITH TEXT PROPER 89HK ...VBADGE2 89HN ... SETNCORE 7+APARA-A1,1,IUSER,BADGE 89HR ... SMO FX1 89HW ... LDX 0 VBID 89H^ ... STO 0 APARA+4(1) 89J4 ... LDX 0 ACES 89J7 ... STO 0 APARA+6(1) 89J= ... LDX 7 JSOURCE2(2) 89J* ... SLL 7 12 89JD ... LDN 0 4 89JH ...VBCH1 89JL ... LDN 6 0 89JP ... SLL 67 3 89JS ... DCH 6 APARA+5(1) 89JX ... BCHX 1 £ 89K2 ... BCT 0 VBCH1 89K5 ... SBN 1 1 89K8 ... STOZ ANUM(1) 89K? ... LDX 2 ACTRING(2) 89KB ... SBN 2 ACTRING 89KF ... LDX 2 BPTR(2) 89KJ ... CHAIN 1,2 [CHAIN TO AVOID CLEAN 89KM ... MFREE FILE,FRB 89KQ ... STOZ 7 89KT ... BRN VBADGE3 [START AGAIN 89KY ...T14 +14 89L3 ...T1000 +1000 89L6 ...VBID 4HIDEN 89L9 ...VBAST 4H**** 89L# ...XSTRM 12HSTRM 89LC ...#DEF VDATALEN=A1+2 89LG ...#DEF VHEADER=0 89LK ...#DEF REDTAPE2=1 89LN ...#DEF VNAME=2 89LR ...#DEF VDATA=5 89LW ...) 89NL MENDAREA 50,K100CHANG 8=8= #END ^^^^ ...622233410004 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In