home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.B.po / SOUNDS / GS.TONER.bas < prev    next >
BASIC Source File  |  2010-05-14  |  7KB  |  117 lines

  1. 0  REM <CTRL-J><CTRL-J>Setup<CTRL-J><CTRL-J>
  2. 1  DIM H(28),H1(28)
  3. 2  POKE 49186,0
  4. 3  CALL  PEEK(175) + PEEK(176) *256 -768
  5. 10 D$ =  CHR$(4)
  6. 20  GOSUB 9980: PRINT D$"pr#3": HOME : PRINT 
  7. 21  VTAB 7: HTAB 36: PRINT "The Toner": VTAB 8: HTAB 9: PRINT "A Telephone Signal Generator Written Specifically For The IIgs"
  8. 22  VTAB 9: HTAB 34: PRINT "By >>Joe User": VTAB 15: HTAB 35: PRINT "Version 1.8": VTAB 16: HTAB 21: PRINT "This program inspired by The Cats Meow": VTAB 17: HTAB 28: PRINT "Press any key to continue"
  9. 23  VTAB 23: HTAB 17: PRINT "(List me and learn, but modify and get burned.)"
  10. 24  CALL 29184: POKE 49186,0: HOME : GOSUB 10000: POKE 49186,16 *15
  11. 25  ONERR  GOTO 30
  12. 29  REM <CTRL-J><CTRL-J>Get a key<CTRL-J><CTRL-J>
  13. 30  WAIT 49152,128: VTAB 1: HTAB 1: GET A$:A =  ASC(A$)
  14. 39  REM <CTRL-J><CTRL-J>Check the key value<CTRL-J><CTRL-J>
  15. 40  IF A >96  AND A <123  THEN A$ =  CHR$(A -32):A = A -32
  16. 50  IF A >64  AND A <84  THEN 900
  17. 60  IF A = 24  OR A$ = "="  OR A$ = "/"  OR A$ = "*"  OR A$ = "\"  OR A$ = "["  OR A$ = "]"  OR A$ = "-"  OR A$ = "+"  OR A$ = "."  THEN 100
  18. 70  IF A >47  AND A <58  THEN 100
  19. 80  IF A = 13  THEN BB = 1 -BB: REM  Blue Box toggle
  20. 85  IF A = 27  THEN  HOME : END 
  21. 90  GOTO 30
  22. 99  REM <CTRL-J><CTRL-J>Dial<CTRL-J><CTRL-J>
  23. 100  IF A >47  AND A <58  THEN A = A -48 +(BB *10): GOTO 200
  24. 101  IF A = 46  THEN H = 2600: GOSUB 9030: GOTO 210
  25. 110  IF A = 45  THEN A = 20: GOTO 200
  26. 120  IF A = 43  THEN A = 21: GOTO 200
  27. 130  IF A = 24  THEN A = 22: GOTO 200
  28. 140  IF A = 61  THEN A = 23: GOTO 200
  29. 150  IF A = 47  THEN A = 24: GOTO 200
  30. 160  IF A = 42  THEN A = 25: GOTO 200
  31. 170  IF A = 91  THEN A = 26: GOTO 200
  32. 180  IF A = 93  THEN A = 27: GOTO 200
  33. 190  IF A = 92  THEN A = 28
  34. 200 H = H(A):H1 = H1(A): GOSUB 9040
  35. 210  IF  PEEK(49168) >127  THEN 210
  36. 220  GOSUB 9050
  37. 230  GOTO 30
  38. 899  REM <CTRL-J><CTRL-J>Dispatch<CTRL-J><CTRL-J>
  39. 900 A = A -64
  40. 910  ON A GOTO 1010,1110,1210,1310,1410,1510,1610,1710,1810,1910,2010,2110,2210,2310,2410,2510,2610,2710,2810,2910
  41. 1000  REM <CTRL-J><CTRL-J>Dial Tone<CTRL-J><CTRL-J>
  42. 1010 H = 350:H1 = 440: GOSUB 9040: GOTO 9060
  43. 1100  REM <CTRL-J><CTRL-J>Busy Signal<CTRL-J><CTRL-J>
  44. 1110 H = 480:H1 = 620:S = .5: GOSUB 9010: GOSUB 9020: GOTO 1110
  45. 1200  REM <CTRL-J><CTRL-J>Reorder<CTRL-J><CTRL-J>
  46. 1210 H = 480:H1 = 620:S = .3: GOSUB 9010:S = .2: GOSUB 9020: GOTO 1210
  47. 1300  REM <CTRL-J><CTRL-J>Ringback<CTRL-J><CTRL-J>
  48. 1310 H = 440:H1 = 480:S = 2: GOSUB 9010:S = 4: GOSUB 9020: GOTO 1310
  49. 1400  REM <CTRL-J><CTRL-J>English Ringback<CTRL-J><CTRL-J>
  50. 1410 H = 400:H1 = 450:S = .3: GOSUB 9010:S = .1: GOSUB 9020:S = .3: GOSUB 9010:S = 3: GOSUB 9020: GOTO 1410
  51. 1500  REM <CTRL-J><CTRL-J>Conference Dial Tone<CTRL-J><CTRL-J>
  52. 1510 H = 350:H1 = 440: FOR N = 1 TO 3:S = .1: GOSUB 9010: GOSUB 9020: NEXT N: GOTO 1010
  53. 1600  REM <CTRL-J><CTRL-J>Bad Code Siren<CTRL-J><CTRL-J>
  54. 1610 H = 440:S = .3: GOSUB 9000:H = 620: GOSUB 9000: GOTO 1610
  55. 1700  REM <CTRL-J><CTRL-J>Nickel<CTRL-J><CTRL-J>
  56. 1710 H = 1125:H1 = 1825:S = .1: GOSUB 9010: GOTO 30
  57. 1800  REM <CTRL-J><CTRL-J>Dime<CTRL-J><CTRL-J>
  58. 1810 H = 1125:H1 = 1825:S = .1: GOSUB 9010: GOSUB 9020: GOSUB 9010: GOTO 30
  59. 1900  REM <CTRL-J><CTRL-J>Quarter<CTRL-J><CTRL-J>
  60. 1910 H = 1125:H1 = 1825:S = .05: FOR X = 1 TO 5: GOSUB 9010:S = 1/60: GOSUB 9020:S = .05: NEXT X: GOTO 30
  61. 2000  REM <CTRL-J><CTRL-J>Conference Added Signal<CTRL-J><CTRL-J>
  62. 2010 H = 1500:H1 = 36:S = .3: GOSUB 9010: GOTO 30
  63. 2100  REM <CTRL-J><CTRL-J>Conference Hung Up Signal<CTRL-J><CTRL-J>
  64. 2110 H = 1500:H1 = 36:S = .2: GOSUB 9010:H1 = 1096:S = .5: GOSUB 9010: GOTO 30
  65. 2200  REM <CTRL-J><CTRL-J>Howler<CTRL-J><CTRL-J>
  66. 2210 H = 1125:H1 = 1825:S = .5: GOSUB 9010:S = .2: GOSUB 9020: GOTO 2210
  67. 2300  REM <CTRL-J><CTRL-J>Call Waiting Beep<CTRL-J><CTRL-J>
  68. 2310 H = 442:S = .6: GOSUB 9000: GOTO 30
  69. 2400  REM <CTRL-J><CTRL-J>Broken Dial Tone<CTRL-J><CTRL-J>
  70. 2410 H = 350:H1 = 440:S = .6: GOSUB 9010:S = .2: GOSUB 9020: GOTO 2410
  71. 2500  REM <CTRL-J><CTRL-J>Sprint Tone<CTRL-J><CTRL-J>
  72. 2510 H = 400: GOSUB 9030: GOTO 9060
  73. 2600  REM <CTRL-J><CTRL-J>Recording Alert Tones<CTRL-J><CTRL-J>
  74. 2610 H = 993:S = .3: GOSUB 9000:H = 1379: GOSUB 9000:H = 1830: GOSUB 9000: GOTO 30
  75. 2700  REM <CTRL-J><CTRL-J>Off Hook Signal<CTRL-J><CTRL-J>
  76. 2710 S = .1: & S,0,1400 *5,255,1,2060 *5,255,2,2450 *5,255,3,2600 *5,255: GOSUB 9020: GOSUB 9050: GOSUB 9020: GOTO 2710
  77. 2800  REM <CTRL-J><CTRL-J>Hertz Tone<CTRL-J><CTRL-J>
  78. 2810  VTAB 2: PRINT : VTAB 1: HTAB 40: PRINT  SPC( 39): PRINT : VTAB 1: HTAB 42: INPUT "Enter tone pair: ";H,H1: PRINT : VTAB 1: HTAB 42: PRINT "[SPACE] kills any active tone" SPC( 10)
  79. 2820  IF H <13108  AND H1 <13108  THEN  GOSUB 9040
  80. 2830  GOTO 9060
  81. 8999  REM <CTRL-J><CTRL-J>Subroutines<CTRL-J><CTRL-J>
  82. 9000  GOSUB 9030: GOSUB 9020: GOSUB 9050: RETURN 
  83. 9010  GOSUB 9040: GOSUB 9020: GOSUB 9050: RETURN 
  84. 9020  POKE 0, INT(S *60): CALL 24576: IF  PEEK(49152) < >160  THEN  RETURN 
  85. 9021  POP : GOTO 9060
  86. 9030  & S,0,H *5,255: RETURN 
  87. 9040  & S,0,H *5,255,1,H1 *5,255: RETURN 
  88. 9050  & S,0,0,0,1,0,0,2,0,0,3,0,0: RETURN 
  89. 9060  IF  PEEK(49152) < >160  THEN 9060
  90. 9061  GET A$: GOSUB 9050: GOTO 30
  91. 9980  RESTORE : FOR X = 24576 TO 24590: READ Y: POKE X,Y: NEXT X: FOR N = 0 TO 28: READ H(N),H1(N): NEXT N: RETURN 
  92. 9990  DATA  44,25,192,16,251,44,25,192,48,251,198,0,208,242,96
  93. 9991  DATA  941,1336,697,1209,697,1336,697,1477,770,1209,770,1336,770,1477,852,1209,852,1336,852,1477
  94. 9992  DATA  1300,1500,700,900,700,1100,900,1100,700,1300,900,1300,1100,1300,700,1500,900,1500,1100,1500
  95. 9993  DATA  941,1209,941,1477,697,1633,770,1633,852,1633,941,1633,1700,1100,1700,1300,1700,1500
  96. 9999  REM <CTRL-J><CTRL-J>Title Screen<CTRL-J><CTRL-J>
  97. 10000  PRINT "GS Phone Toner by >>Joe User             [SPACE] kills any active tone"
  98. 10005  PRINT "________________________________________________________________________________"
  99. 10010  FOR Y = 4 TO 22: VTAB Y: HTAB 1: READ A$: PRINT A$;: HTAB 40: PRINT "|": NEXT Y
  100. 10020  VTAB 3: HTAB 40: PRINT "|": VTAB 23: HTAB 40: PRINT "|"
  101. 10030  POKE 49167,0: VTAB 24: HTAB 1: PRINT  CHR$(27);: INVERSE : FOR X = 1 TO 79: PRINT "L";: NEXT X: NORMAL 
  102. 10040  FOR Y = 4 TO 12: VTAB Y: HTAB 42: READ A$: PRINT A$: NEXT Y
  103. 10050  FOR X = 43 TO 77: VTAB 13: HTAB X: PRINT "_": VTAB 23: HTAB X: FLASH : PRINT "L": NORMAL : NEXT X
  104. 10060  FLASH : FOR Y = 14 TO 22: VTAB Y: HTAB 43: PRINT "_";: HTAB 77: PRINT "Z": NEXT Y: NORMAL 
  105. 10070  VTAB 15: HTAB 45: PRINT "Call:"
  106. 10080  VTAB 17: HTAB 48: FLASH : PRINT "[": VTAB 20: HTAB 48: PRINT "[": VTAB 18: HTAB 51: PRINT "SSU": VTAB 21: HTAB 51: PRINT "SSU": NORMAL 
  107. 10090  VTAB 17: HTAB 50: PRINT "The Interstellar Circuits": VTAB 20: HTAB 50: PRINT "The Infomaniac"
  108. 10100  VTAB 21: HTAB 56: PRINT "(813) 584-4447"
  109. 10110  VTAB 18: HTAB 56: PRINT "(813) 855-1347"
  110. 10120  VTAB 4: HTAB 62: PRINT "'[' KP Tone": VTAB 5: HTAB 62: PRINT "']' KP2 Tone": VTAB 6: HTAB 62: PRINT "[\] ST Tone"
  111. 10130  VTAB 8: HTAB 62: PRINT "[ESC] Quits"
  112. 10140  VTAB 7: HTAB 62: PRINT "[.] 2600Hz"
  113. 18990  RETURN 
  114. 19000  DATA  [A] Dial Tone,[B] Busy Signal,[C] Reorder,[D] Ringback,[E] English Ringback,[F] Conference Dial Tone,[G] Bad Code Siren,[H] Nickel,[I] Dime,[J] Quarter
  115. 19010  DATA  [K] Conference Added Signal,[L] Conference Hung Up Signal,[M] Howler,[N] Call Waiting Beep,[O] Broken Dial Tone,[P] Sprint Tone,[Q] Recording Alert Tones
  116. 19020  DATA  [R] Off Hook Signal,[S] Hertz Tone
  117. 19030  DATA  [CLEAR] A key,[=] B key,[/] C key,[*] D key,[-] * key,[+] # key,[ENTER] Toggles BlueBox/DTMF mode, ,Number keys dial