DECLARE SUB SLEEP2 (t!)
COM(1) ON
ON COM(1) GOSUB 120
DIM nms(1 TO 200) AS STRING * 20
q = 1
CLS
PRINT "DEMON DIALER V1.0"
INPUT "What is your area code"; ar$
INPUT "What is the first two digits of your phone number"; ph$
INPUT "Special dialing prefix (default is *67)"; dp$
IF LTRIM$(dp$) = "" THEN dp$ = "*67"
10 RANDOMIZE TIMER
OPEN "COM1:2400" FOR RANDOM AS #1
r$ = RTRIM$(LTRIM$(STR$(INT(RND * 9))))
r2$ = RTRIM$(LTRIM$(STR$(INT(RND * 9))))
r3$ = RTRIM$(LTRIM$(STR$(INT(RND * 9))))
r4$ = RTRIM$(LTRIM$(STR$(INT(RND * 9))))
f2$ = RTRIM$(LTRIM$(STR$(INT(RND * 9))))
Phn$ = dp$ + "," + ar$ + "-" + ph$ + f2$ + "-" + r$ + r2$ + r3$ + r4$
'Phn$ = "*67,1800-365-4636"
x% = CSRLIN + 1: y% = POS(0)
LOCATE 5, 1: PRINT "Dialing "; Phn$
LOCATE x%, LEN(c$) + 1
PRINT #1, "ATDT" + Phn$
SLEEP2 22
LOCATE x% - 1, y%
CLOSE 1
GOTO 10
END

120 COM(1) OFF
b$ = ""
INPUT #1, b$
PRINT b$
IF RIGHT$(b$, 1) = "" THEN b$ = ""
IF UCASE$(b$) = UCASE$("connect 2400") THEN nms(q) = Phn$: q = q + 1: FOR v = 1 TO 25: PRINT #1, "+++ATH+++": NEXT v: c$ = "": PRINT Phn$; " has been added to the list": b$ = "": CLOSE 1:  GOTO 123
IF UCASE$(b$) = UCASE$("no carrier") THEN FOR v = 1 TO 25: PRINT #1, "ATH": NEXT v: c$ = ""
IF UCASE$(b$) = UCASE$("no dialtone") THEN PRINT " - Requires Dialtone": END
123 PRINT
COM(1) ON
d$ = ""
b$ = ""
RETURN

SUB SLEEP2 (t)
a = TIMER + t
DO UNTIL TIMER >= a: LOOP
END SUB

