1 'DIALER.NEC - Copyright (C) 1992 2 'by Gary Weber. (v1.0 11/17/92 15:01) 3 'Autodialer for HAYES-compatible 4 'modems. 5 'May be freely distributed as long as 6 'lines 1 through 6 remain intact. 10 SCREEN,0:CLS:MAXFILES=2:CLEAR 512:DEFSTR E:DEFINT A:E=CHR$(27) 15 ON ERROR GOTO 10000 20 PRINT E"pDIALER 1.0 - NEC 8201/8300 by Gary Weber"E"q":GOSUB2050 25 LOCATE 0,7:PRINT" Call Find Stat Term Menu";: 30 LOCATE 0,2:FORA!=62470!TO62475!:PRINTCHR$(PEEK(A!));:NEXT:PRINT 32 PRINT "Select: "E"K"; 35 I$=INPUT$(1) 40 IF I$=CHR$(251) THEN PRINT"Call ";:LINEINPUTI$:GOTO 300 50 IF I$=CHR$(252) THEN PRINT"Find ";:LINEINPUTI$:GOTO 500 55 IF I$=CHR$(253) THEN PRINT"Stat ";:LINEINPUTI$:GOTO 1000 60 IF I$=CHR$(254) THEN PRINT"Term":GOTO 3000 70 IF I$=CHR$(255) OR I$="M" THEN PRINT"Menu":GOSUB 200:MENU 80 GOTO 30 200 REM ** RESET FUNCTION KEYS ** 210 KEY1,"Load "+CHR$(34) 220 KEY2,"Save "+CHR$(34) 230 KEY3,"Files"+CHR$(13) 240 KEY4,"List " 250 KEY5,"Run"+CHR$(13) 260 RETURN 300 REM ** CALL A NUMBER ** 305 IF I$="" THEN 30 310 OPEN "COM:"+STAT$ FOR INPUT AS 1 320 OPEN "COM:" FOR OUTPUT AS 2:T=1 330 T$=RIGHT$(STR$(T),LEN(STR$(T))-1) 335 LOCATE 0,5:PRINT E"K#"T$"...Dialing "I$" "; 340 PRINT #2,"ATM1DT"I$:J$="" 350 IF INKEY$>"" THEN BEEP:PRINT"(aborted)";:PRINT #2,:CLOSE:FOR A=1 TO 500:NEXT:LOCATE 0,CSRLIN:PRINTE"K":GOTO 30 360 IF PEEK(65093!)=0 GOTO 350 370 J$=J$+INPUT$(1,1) 380 IF INSTR(J$,"CONNECT")THEN3000 390 IF INSTR(J$,"NO CARRIER") THEN PRINT #2,:T=T+1:GOTO 330 400 IF INSTR(J$,"BUSY") THEN PRINT #2,:T=T+1:GOTO 330 410 GOTO 350 500 REM ** LOOK UP BBS IN TELDIR ** 510 OPEN "TELDIR.DO" FOR INPUT AS 1 520 IF(PEEK(65111!)AND16)=0 THEN GOSUB 800 'cnvt to upper if capslock is off 530 IFEOF(1)THEN560ELSELINEINPUT#1,A$:LINEINPUT#1,B$:IFINSTR(A$,I$)=0THEN530 540 LOCATE0,5:PRINTA$" ?"E"K";:J$=INPUT$(1):IFJ$="Y"ORJ$="y"THENPRINTJ$:GOTO600 550 GOTO 530 560 CLOSE:BEEP:LOCATE0,CSRLIN:PRINTE"K";:GOTO 30 600 CLOSE:STAT$=LEFT$(B$,6) 610 I$=MID$(B$,INSTR(B$,":")+1,LEN(B$)-INSTR(B$,":")) 620 IF INSTR(I$,":") THEN I$=LEFT$(I$,INSTR(I$,":")-1) 630 LOCATE 0,2:PRINT STAT$:LOCATE13,3:PRINTA$:GOTO 300 800 J$=I$:I$="":FORI=1TOLEN(J$):J=ASC(MID$(J$,I,1)):IF(J>96)AND(J<123)THENJ=J-32 810 I$=I$+CHR$(J):NEXT:RETURN 999 GOTO 30 1000 REM ** CHANGE COMM PARAMETERS ** 1010 OPEN "COM:"+I$ FOR INPUT AS 1:CLOSE 1020 GOTO 30 2050 KEY 1,CHR$(251) 2060 KEY 2,CHR$(252) 2070 KEY 3,CHR$(253) 2080 KEY 4,CHR$(254) 2090 KEY 5,CHR$(255) 2100 RETURN 3000 GOSUB200:CLS:LOCATE0,2:PRINT"Bytes Free:"FRE(0):PRINT:IF PEEK(21214)=246 THEN POKE65128!,1:POKE65129!,3:POKE65130!,255:EXEC21212:ELSEEXEC21384 10000 IF ERL=1010 THEN PRINT"Bad comm parameters!";:BEEP:FORA=1TO500:NEXT:LOCATE0,CSRLIN:PRINTE"K";:RESUME 30 10010 IF ERL=510 THEN PRINT"TELDIR.DO doesn't exist!";:BEEP:FORA=1TO1000:NEXT:LOCATE0,CSRLIN:PRINTE"K";:RESUME 30 10020 IF (ERL=520) AND (ERR=54) THEN PRINT"Invalid TELDIR.DO format!";:BEEP:FORA=1TO1000:NEXT:LOCATE0,CSRLIN:PRINTE"K";:RESUME 30 11000 BEEP:CLS:PRINT "ERROR" ERR "IN" ERL:RESUME11010 11010 END