0 'X-PORT.BA V1.00 5/2/87 - WorldPort Software for the M100 by Denny Thomas All Rights Reserved. 1 MAXFILES=2:CLEAR512:DEFINTE-Z:DIMM(37),S$(5):GOSUB45:E$=CHR$(27):RV$=E$+"p":NO$=E$+"q":FORA=0TO36:READM(A):NEXT 2 D=58923 '= (normal), 53930 = (Chipmunk)<<---Change this value to reflect TOP address of X-TEL. 3 KEY7,"RUN"+CHR$(34)+"X-PORT"+CHR$(34)+CHR$(13) 'Spot for function key definition. 4 A$="":FORA=63610TO63613:A$=A$+CHR$(PEEK(A)):NEXT:IFA$="Menu"THENOPEN"COM:57I1E"FORINPUTAS1:CLOSE:RUN"X-TEL 5 CLS:GOSUB64:PRINT@40,RV$" WorldPort Communication Program "NO$:PRINT@87,"[1] Setup Menu":PRINT@127,"[2] Modem Speed = ";:GOSUB66:PRINT@167,"[3] Screen Scroll ";:GOSUB68:PRINT@207,"[4] Resume X-TEL":PRINT@246,"[CR] Dial Modem"; 6 A$=INPUT$(1):CALLVARPTR(M(0)),0,VARPTR(A$):IFA$="C"THENCLS:CALLDELSEIFA$="1"THEN23ELSEIFA$="2"THEN7ELSEIFA$="3"THENIFPEEK(63038)=0THENCALL16959:GOTO73ELSECALL16964:GOTO73ELSEIFA$="4"THENCLS:CALLDELSE9 7 IFR$="COM:5"THENR$="COM:3":GOTO71ELSEIFR$="COM:3"THENR$="COM:6":GOTO71ELSEIFR$="COM:6"THENR$="M":GOTO71ELSEIFR$="M"THENR$="COM:5 8 GOTO71 9 CLS:ONERRORGOTO50 10 CLOSE:G=0:OPENQ$+"ADRS.DO"FORINPUTAS1:LINEINPUT" Find: ";A$:CALLVARPTR(M(0)),0,VARPTR(A$):IFINSTR(A$,"DIAL")ORINSTR(A$,"MENU")THENCALLD 11 IFEOF(1)THEN10ELSELINEINPUT#1,Y$:I=INSTR(Y$,":"):B$=LEFT$(Y$,I):CALLVARPTR(M(0)),0,VARPTR(B$):IFINSTR(B$,A$)=0THEN11ELSEJ=INSTR(I,Y$,"<"):IFJ=0THEN11 12 K=INSTR(J,Y$,">"):PH$=MID$(Y$,I+1,J-I-1)+CHR$(0):PS$=MID$(Y$,J,K-J+1)+CHR$(0):PRINTLEFT$(Y$,J-1);:Z$=INPUT$(1):CALLVARPTR(M(0)),0,VARPTR(Z$):PRINT:IFZ$=CHR$(27)THEN10ELSEIFZ$=CHR$(13)THEN11ELSEIFZ$=CHR$(8)THENCLOSE:GOTO5 13 A1$="":A$=LEFT$(Y$,J-1):A3$=MID$(A$,I+1):FORA=1TOLEN(A3$):C$=MID$(A3$,A,1):IFC$="="THENC$=", 14 IFC$<>"-"THENA1$=A1$+C$ 15 NEXT:A2$=MID$(Y$,J+1,K-J)+CHR$(0):E=0:CLOSE:IFR$="M"THENV=VARPTR(PM$):CALL6118,0,PEEK(V+1)+PEEK(V+2)*256:G=0:GOTO51 16 OPENR$+ST$FORINPUTAS1:OPENR$+ST$FOROUTPUTAS2:IFINP(187)AND32THENPRINT:PRINT" Modem Is Not Connected!":GOSUB58:GOTO5ELSE17 17 FORA=1TO500:NEXT:PRINT"Initializing Modem.....":Z$=AZ$:GOSUB63:Z$=C2$:GOSUB63:Z$="ATX1":GOSUB63:Z$="ATX4":GOSUB63:GOSUB65:Z$=CS$+A1$:GOSUB63 18 GOSUB60:IFINSTR(A$,"NO DIALTONE")THENPRINT:PRINT" Is Modem Connected?":GOSUB58:GOTO5 19 IFINSTR(A$,"BUSY")ORINSTR(A$,"NO CARRIER")THENPRINT"Redial":FORA=1TO1000:NEXT:K$=INKEY$:IFK$<>""THENK$="":GOTO10ELSEPRINT#2,"A/";:A$="":E=1:GOTO18 20 IFINSTR(A$,"CONNECT")THEN21ELSE18 21 IFE=1THENGOSUB57 22 FORA=1TO1000:NEXT:V=VARPTR(A2$):CALL21443,0,PEEK(V+1)+256*PEEK(V+2):A=PEEK(64643)+256*PEEK(64644):B=PEEK(A+2)+256*PEEK(A+3):C=PEEK(A+4)+256*PEEK(A+5):POKEB,0:POKEC,0:CALLVARPTR(M(16)):CALLD 23 CLS:GOSUB64:PRINT@64,"---Registers---";:PRINT@80,"1) STAT = ";:GOSUB43:PRINT@120,"2) Pulse/Tone = ";:GOSUB44:PRINT@160,"3) Modem Std. = ";:GOSUB42 24 PRINT@104,"4) S6 7) S9";:PRINT@144,"5) S7 8) S10";:PRINT@184,"6) S8 9) S11";:GOSUB46:PRINT@209,"10) Reset to Defaults";:PRINT@293,RV$" Setup Menu "NO$; 25 A$="":GOSUB39:INPUTA$:IFA$=""THEN5 26 A=VAL(A$):IFA<1ORA>10THENGOSUB48:GOTO25ELSEONAGOTO27,28,29,30,31,32,33,34,35,36 27 GOSUB49:PRINT@240,"Enter STAT:";:INPUTST$:IFLEN(ST$)<>4THENGOSUB49:GOSUB48:GOTO25ELSECALLVARPTR(M(0)),0,VARPTR(ST$):GOSUB43:PM$=ST$+CHR$(0):GOTO25 28 GOSUB41:GOTO25 29 GOSUB40:GOTO25 30 A=0:GOTO37 31 A=1:GOTO37 32 A=2:GOTO37 33 A=3:GOTO37 34 A=4:GOTO37 35 A=5:GOTO37 36 GOSUB45:GOTO23 37 GOSUB49:PRINT@240,"Enter Register Value:";:A$="":INPUTA$:IFA$=""THENPRINT@263,S$(A);:GOSUB59:GOTO25ELSES$(A)=A$ 38 IFVAL(S$(A))>255THENGOSUB49:GOSUB48:GOTO25ELSEGOSUB46:GOTO25 39 GOSUB49:PRINT@240,"SELECT";:RETURN 40 IFC2$="ATB1"THENC2$="ATB0":GOTO42ELSEC2$="ATB1":GOTO42 41 IFCS$="ATDT"THENCS$="ATDP":GOTO44ELSECS$="ATDT":GOTO44 42 PRINT@176,RV$;:IFC2$="ATB0"THENPRINT"CCITT"NO$;ELSEPRINT"Bell "NO$; 43 PRINT@90,RV$ST$NO$;:RETURN 44 PRINT@136,RV$CS$NO$;:RETURN 45 AZ$="ATZ":CS$="ATDT":C1$="AT":C2$="ATB1":R$="COM:5":ST$="7I1E":PM$=ST$+CHR$(0):FORA=0TO5:S$(A)="":NEXT:RETURN 46 A=0:N=109:GOSUB47:A=1:N=149:GOSUB47:A=2:N=189:GOSUB47:A=3:N=119:GOSUB47:A=4:N=159:GOSUB47:A=5:N=199:GOTO47 47 IFS$(A)<>""THENPRINT@N,"*";:RETURNELSEPRINT@N," ";:RETURN 48 PRINT@248,"Invalid Input";:GOSUB58 49 PRINT@240,SPACE$(39);:RETURN 50 IFQ$=""ANDERR=52THENQ$="0:":RESUME10ELSEIFERR=54THENPRINT:PRINT" Timming Error, Try Again....":GOSUB58:RESUME5ELSEPRINT"Error"ERR"in line"ERL:END 51 G=G+1:PRINTGLEFT$(Y$,I);:V=VARPTR(PH$):CALL21293,0,PEEK(V+1)+256*PEEK(V+2):CALL21172:PRINT:N=1000:X=0 52 N=N-1:CALLVARPTR(M(13)),0,VARPTR(X):IFX=0THEN55ELSEIFN>0THENK$=INKEY$:IFK$=""THEN52 53 PRINT"NO CARRIER":CALL21179:N=750 54 IFK$>""THEN10ELSEN=N-1:K$=INKEY$:IFN>0THEN54ELSE51 55 PRINT"CONNECT":IFG<>1THENGOSUB57 56 IFA2$>""THENCALL21264:CALL21392,60,PEEK(VARPTR(PS$)+1)+256*PEEK(VARPTR(PS$)+2):CALL21608ELSECALL21589 57 BEEP:FORA=1TO100:NEXT:BEEP:RETURN 58 BEEP 59 FORH=1TO1500:NEXT:RETURN 60 A$="":FORA=1TO300:NEXT 61 ZZ$=INPUT$(1,1):A=ASC(ZZ$):IFA>127ORA=10THEN61ELSEA$=A$+ZZ$:IFZZ$=CHR$(13)THEN62ELSE61 62 IFLEN(A$)=1THENRETURNELSEPRINTA$:RETURN 63 PRINT#2,Z$:GOSUB60:GOSUB60:RETURN 64 PRINTRV$" X-PORT.100 Ver 1.00 "NO$:RETURN 65 FORG=0TO5:IFS$(G)=""THENNEXT:RETURNELSEZ$=C1$+"S"+STR$(G+6)+"="+S$(G):GOSUB63:NEXT:RETURN 66 PRINT@145,RV$;:IFR$="COM:5"THENPRINT" 1200 Baud "NO$;ELSEIFR$="COM:3"THENPRINT" 300 Baud "NO$;ELSEIFR$="COM:6"THENPRINT" 2400 Baud "NO$;ELSEPRINT"Internal Modem"NO$; 67 RETURN 68 PRINT@185,RV$;:IFPEEK(63038)=0THENPRINT"On "NO$;ELSEPRINT"Off"NO$; 69 RETURN 70 PRINT@261,"";:RETURN 71 GOSUB66 72 GOSUB70:GOTO6 73 GOSUB68:GOTO72:DATA-18562,20424,32291,26147,4463,2,-5683,6449,6865,-5683,4623,3347,-5688,-4147,30574,201,-11734,506,3701,13833,8961,310,291,319,8246,2851,-20104,-2587,10949,-2463,4097,2304,-3647,-16157,13107,201,0