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