home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_BAS / PRO98SRC.ZIP / ANSWER.BAS < prev    next >
BASIC Source File  |  1994-01-29  |  3KB  |  120 lines

  1. ' This section will set up a modem to answer the phone, however, it will
  2. ' first write a lf+cr pair (backwards) to the port.  If an PROZOL terminal is
  3. ' attached to it, it should return a burst of CHR$(4)'s.  This program will
  4. ' see this (needs 2 in a row) and automatically go into hardwired host mode.
  5.  
  6. CLOSE
  7. i$=DIR$("init" + MID$(STR$(Port%), 2))
  8. if i$="" THEN
  9.     CLOSE #1
  10.     OPEN "o",#1, "init" + MID$(STR$(Port%),2)
  11.     print #1, "ATS0=1"
  12.     CLOSE #1
  13.     END IF
  14. OPEN "i", #1, "init" + MID$(STR$(Port%),2): LINE INPUT #1, INIT$: CLOSE
  15. CALL PROZOPRINT("INITIALIZING " + PARM$ + CrLf$)
  16. PROZOPRINT "REQUESTING MODEM FOR RESET" + CrLf$
  17. COMOPEN PARM$
  18. COMPRINT CHR$(13)
  19. CALL EFFECT("PHASERS")
  20. DELAY .5 'allow hardwire terminal to respond
  21. 'HEY: different sound effects for different activities and on|off too
  22. IF COMCHARS% THEN A$=COMCHAR$:IF INSTR(A$,STRING$(2,4)) THEN GOTO HARDWIRE
  23. Delay 1.5
  24. COMPRINT "+"
  25. delay .25
  26. COMPRINT "+"
  27. delay .25
  28. COMPRINT "+"
  29. Delay 1.5
  30. COMPRINT "ATZ"+CHR$(13)
  31. Comline = 0
  32. PROZOPRINT "Press ESC to exit to DOS or F10 for command line" + CrLf$ + CrLf$
  33. PROZOPRINT "Waiting for RING..."
  34. Comline = -1
  35.  
  36. Delay 1
  37. COMPRINT INIT$+CHR$(13)
  38. Delay 1
  39.  
  40.     LET TIM# = TIMER
  41.     DO
  42.         CALL DVPAUSE
  43.         IF COMCHARS% THEN
  44.             b$ = COMCHAR$
  45.                         COMLINE=0
  46.                         PROZOPRINT B$
  47.                         COMLINE=-1
  48.             x$ = x$ + b$
  49.         END IF
  50.  
  51.         IF TIM# + 5 < TIMER AND INSTR(x$, "OK") = 0 THEN ERROR 2
  52.         IF TIM# + 3600 < TIMER THEN CLOSE:CLEAR:RUN                          '    *** RECYCLE EVERY HOUR
  53.         b$ = INKEY$: IF b$ = CHR$(0) + CHR$(68) THEN EXIT DO
  54.                  IF b$ = CHR$(27) THEN EXIT DO
  55.                  if b$=chr$(0,59) then exit do
  56.         IF LEN(x$) > 100 THEN ERROR 2
  57.         'HEY: Allow keystrokes to go to the modem
  58.         'HEY: Answer phone with ATA instead of S0=1
  59.         'HEY: Allow sysop to shell busy or popup on call
  60. '        IF INSTR(x$,"RING") THEN
  61. '           DELAY .5
  62. '           COMPRINT "A"
  63. '           DELAY .25
  64. '           COMPRINT "T"
  65. '           DELAY .25
  66. '           COMPRINT "A"
  67. '           DELAY .25
  68. '           COMPRINT CHR$(13)
  69. '           REPLACE "RING" WITH "RANG" IN X$
  70. '        END IF
  71.         IF INSTR(x$, "NO") THEN ERROR 99
  72.         LOOP WHILE INSTR(x$, "NN") = 0
  73.  
  74.         IF b$ = CHR$(0,68) THEN
  75.                 COMPRINT "ATH0M0S0=0"+CrLf$
  76.                 COMCLOSE
  77.                 Prog%=0
  78.                 GOTO PROGINPUT
  79.         END IF
  80.         IF b$ = CHR$(27) THEN COMPRINT "ATH0M0S0=0"+CrLf$:END
  81.     IF b$ = CHR$(0,59) THEN GOTO ANSWERTHEPHONE
  82.     Delay 2
  83.     b$ = COMCHAR$: x$ = x$ + b$
  84.         COMLINE=0
  85.         PROZOPRINT b$
  86.         COMLINE=-1
  87.     Delay 1
  88.     Baud = VAL(BAUD$)
  89.     If Baud < 9600 THEN
  90.     IF INSTR(X$, "9600") THEN
  91.         Baud = 9600
  92.         COMCLOSE
  93.         MID$(PARM$,6)="9600"
  94.         COMOPEN PARM$
  95.         END IF
  96.     IF INSTR(X$, "4800") THEN
  97.         Baud = 4800
  98.         COMCLOSE
  99.         MID$(PARM$,6)="4800"
  100.         COMOPEN PARM$
  101.         END IF
  102.     IF INSTR(x$, "2400") THEN
  103.         Baud = 2400
  104.         COMCLOSE
  105.         MID$(PARM$,6)="2400"
  106.         COMOPEN PARM$
  107.         END IF
  108.     IF INSTR(x$, "1200") THEN
  109.         COMCLOSE
  110.         MID$(PARM$,6)="1200"
  111.         COMOPEN PARM$
  112.         Baud = 1200
  113.         END IF
  114.     END IF
  115. Comline = 1: e = 0 : Carrier%=1
  116. HardWire:
  117. DELAY 2
  118. A$=COMCHAR$
  119.  
  120.