home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #2 / RBBS_vol1_no2.iso / 001o / hayestst.bas next >
BASIC Source File  |  1985-12-09  |  3KB  |  105 lines

  1. 10 CLS
  2. 20 PRINT "Hayes SMARTMODEM Switch Test"
  3. 30  PRINT "(C) Copyright 1984, Sally A. Gaer"
  4. 50 PRINT
  5. 55 GOSUB 960
  6. 60 PRINT "MODEM test started.  Test will take about 15 seconds ..";
  7. 70 ON ERROR GOTO 890
  8. 80 DIM A$(20)
  9. 90 S1$="?": S2$="?": S3$="?": S4$="?": S5$="?": S6$="?"
  10. 100 S7$="?": S8$="?"
  11. 110 OPEN "com1:300,e,7,2" AS #1
  12. 120 S6$="D"
  13. 130 '
  14. 140 '
  15. 150 '------------Reset Modem------------
  16. 160 '
  17. 170 PRINT "..";
  18. 180 FOR I=1 TO 2000
  19. 190 NEXT I
  20. 200 PRINT#1,"+++";
  21. 210 FOR I=1 TO 2000
  22. 220 NEXT I
  23. 230 PRINT#1,"ATZ"
  24. 240 FOR I=1 TO 2000
  25. 250 NEXT I
  26. 260 PRINT "..";
  27. 270 '
  28. 280 '
  29. 290 '-------Reset modem again and check for return code and echo-----
  30. 300 '
  31. 310 GOSUB 830
  32. 320 A=INSTR(1,A$,"OK"): IF A>0 THEN S3$="D": S2$="U": GOTO 360
  33. 330 A=1
  34. 340 A=INSTR(A,A$,"0"): IF A>0 THEN S3$="D": S2$="D": GOTO 360
  35. 350 S3$="U"
  36. 360 PRINT#1,"ATZ"
  37. 370 FOR I=1 TO 2000: NEXT I
  38. 380 PRINT "..";
  39. 390 GOSUB 830
  40. 400 '
  41. 410 '-------Check for echo---------
  42. 420 '
  43. 430 IF LEFT$(A$,3)="ATZ" THEN S4$="U": GOTO 440 ELSE S4$="D"
  44. 440 IF LEFT$(A$,1)="0" THEN S2$="D": GOSUB 670: STOP
  45. 450 GOSUB 500: GOTO 600
  46. 460 '
  47. 470 '
  48. 480 '-------CheCk Modem Status Registers for switch settings ------
  49. 490 '
  50. 500 PRINT#1,"AT S13? S14? S15?"
  51. 510 FOR I=1 TO 4000: NEXT I
  52. 520 GOSUB 830
  53. 530 IF S4$="U" THEN A$=MID$(A$,19,255)
  54. 540 S13=VAL(LEFT$(A$,3)): S14=VAL(MID$(A$,5,3)): S15=VAL(MID$(A$,9,3))
  55. 550 IF S13=0 AND S14=0 AND S15=0 THEN S8$="U" ELSE S8$="D"
  56. 560 RETURN
  57. 570 '
  58. 580 '
  59. 590 '
  60. 600 S5$=MID$(A$,7,1): IF S5$="1" OR S5$="3" OR S5$="5" OR S5$="7" THEN S5$="U" ELSE S5$="D"
  61. 610 IF S8$="U" THEN S5$="?": S2$="?": S3$="?"
  62. 620 GOSUB 670
  63. 630 C$=S1$+S2$+S3$+S4$+S5$+S6$+S7$+S8$
  64. 640 IF C$="?UDUDD?D" THEN PRINT "MODEM switch settings are correct": BEEP: END
  65. 650 PRINT "MODEM switch settings are incorrect"
  66. 660 STOP
  67. 670 PRINT "Modem switch settings"
  68. 680 PRINT "Switch 1 = ";S1$
  69. 690 PRINT "Switch 2 = ";
  70. 700 IF S2$="U" THEN PRINT S2$: GOTO 710 ELSE COLOR 31: PRINT S2$: COLOR 15
  71. 710 PRINT "Switch 3 = ";
  72. 720 IF S3$="D" THEN PRINT S3$: GOTO 730 ELSE COLOR 31: PRINT S3$: COLOR 15
  73. 730 PRINT "Switch 4 = ";
  74. 740 IF S4$="U" THEN PRINT S4$: GOTO 750 ELSE COLOR 31: PRINT S4$: COLOR 15
  75. 750 PRINT "Switch 5 = ";
  76. 760 IF S5$="D" THEN PRINT S5$: GOTO 770 ELSE COLOR 31: PRINT S5$: COLOR 15
  77. 770 PRINT "Switch 6 = ";
  78. 780 IF S6$="D" THEN PRINT S6$: GOTO 790 ELSE COLOR 31: PRINT S6$: COLOR 15
  79. 790 PRINT "Switch 7 = ";
  80. 800 IF S7$="?" THEN PRINT S7$: GOTO 810 ELSE COLOR 31: PRINT S7$: COLOR 15
  81. 810 PRINT "Switch 8 = ";S8$
  82. 820 RETURN
  83. 830 A$=""
  84. 840 WHILE NOT EOF(1)
  85. 850 PRINT ".";
  86. 860 A$=A$+INPUT$(LOC(1),#1)
  87. 870 WEND
  88. 880 RETURN
  89. 890 IF ERR=24 THEN S6$="U": GOSUB 670: STOP
  90. 900 PRINT "Unknown error "
  91. 910 RESUME
  92. 960 PRINT : PRINT "Turn your modem power switch off and then on"
  93. 970 PRINT "Press enter when you have done this"
  94. 980 A$=""
  95. 990 A$=INKEY$: IF A$="" THEN GOTO 990
  96. 1000 RETURN
  97. 1010 RETURN
  98. INT "Switch 2 = ";
  99. 700 IF S2$ou have done this"
  100. 980 A$=""
  101. 990 A$=INKEY$: IF A$="" THEN GOTO 990
  102. 1000 RETURN
  103. 1010 RETURN
  104. INT "Switch 2 = ";
  105. 700 IF S2$