home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Generous Efforts of Many
/
gemcd.zip
/
GEM.CD.B.po
/
SOUNDS
/
GS.TONER.bas
< prev
next >
Wrap
BASIC Source File
|
2010-05-14
|
7KB
|
117 lines
0 REM <CTRL-J><CTRL-J>Setup<CTRL-J><CTRL-J>
1 DIM H(28),H1(28)
2 POKE 49186,0
3 CALL PEEK(175) + PEEK(176) *256 -768
10 D$ = CHR$(4)
20 GOSUB 9980: PRINT D$"pr#3": HOME : PRINT
21 VTAB 7: HTAB 36: PRINT "The Toner": VTAB 8: HTAB 9: PRINT "A Telephone Signal Generator Written Specifically For The IIgs"
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"
23 VTAB 23: HTAB 17: PRINT "(List me and learn, but modify and get burned.)"
24 CALL 29184: POKE 49186,0: HOME : GOSUB 10000: POKE 49186,16 *15
25 ONERR GOTO 30
29 REM <CTRL-J><CTRL-J>Get a key<CTRL-J><CTRL-J>
30 WAIT 49152,128: VTAB 1: HTAB 1: GET A$:A = ASC(A$)
39 REM <CTRL-J><CTRL-J>Check the key value<CTRL-J><CTRL-J>
40 IF A >96 AND A <123 THEN A$ = CHR$(A -32):A = A -32
50 IF A >64 AND A <84 THEN 900
60 IF A = 24 OR A$ = "=" OR A$ = "/" OR A$ = "*" OR A$ = "\" OR A$ = "[" OR A$ = "]" OR A$ = "-" OR A$ = "+" OR A$ = "." THEN 100
70 IF A >47 AND A <58 THEN 100
80 IF A = 13 THEN BB = 1 -BB: REM Blue Box toggle
85 IF A = 27 THEN HOME : END
90 GOTO 30
99 REM <CTRL-J><CTRL-J>Dial<CTRL-J><CTRL-J>
100 IF A >47 AND A <58 THEN A = A -48 +(BB *10): GOTO 200
101 IF A = 46 THEN H = 2600: GOSUB 9030: GOTO 210
110 IF A = 45 THEN A = 20: GOTO 200
120 IF A = 43 THEN A = 21: GOTO 200
130 IF A = 24 THEN A = 22: GOTO 200
140 IF A = 61 THEN A = 23: GOTO 200
150 IF A = 47 THEN A = 24: GOTO 200
160 IF A = 42 THEN A = 25: GOTO 200
170 IF A = 91 THEN A = 26: GOTO 200
180 IF A = 93 THEN A = 27: GOTO 200
190 IF A = 92 THEN A = 28
200 H = H(A):H1 = H1(A): GOSUB 9040
210 IF PEEK(49168) >127 THEN 210
220 GOSUB 9050
230 GOTO 30
899 REM <CTRL-J><CTRL-J>Dispatch<CTRL-J><CTRL-J>
900 A = A -64
910 ON A GOTO 1010,1110,1210,1310,1410,1510,1610,1710,1810,1910,2010,2110,2210,2310,2410,2510,2610,2710,2810,2910
1000 REM <CTRL-J><CTRL-J>Dial Tone<CTRL-J><CTRL-J>
1010 H = 350:H1 = 440: GOSUB 9040: GOTO 9060
1100 REM <CTRL-J><CTRL-J>Busy Signal<CTRL-J><CTRL-J>
1110 H = 480:H1 = 620:S = .5: GOSUB 9010: GOSUB 9020: GOTO 1110
1200 REM <CTRL-J><CTRL-J>Reorder<CTRL-J><CTRL-J>
1210 H = 480:H1 = 620:S = .3: GOSUB 9010:S = .2: GOSUB 9020: GOTO 1210
1300 REM <CTRL-J><CTRL-J>Ringback<CTRL-J><CTRL-J>
1310 H = 440:H1 = 480:S = 2: GOSUB 9010:S = 4: GOSUB 9020: GOTO 1310
1400 REM <CTRL-J><CTRL-J>English Ringback<CTRL-J><CTRL-J>
1410 H = 400:H1 = 450:S = .3: GOSUB 9010:S = .1: GOSUB 9020:S = .3: GOSUB 9010:S = 3: GOSUB 9020: GOTO 1410
1500 REM <CTRL-J><CTRL-J>Conference Dial Tone<CTRL-J><CTRL-J>
1510 H = 350:H1 = 440: FOR N = 1 TO 3:S = .1: GOSUB 9010: GOSUB 9020: NEXT N: GOTO 1010
1600 REM <CTRL-J><CTRL-J>Bad Code Siren<CTRL-J><CTRL-J>
1610 H = 440:S = .3: GOSUB 9000:H = 620: GOSUB 9000: GOTO 1610
1700 REM <CTRL-J><CTRL-J>Nickel<CTRL-J><CTRL-J>
1710 H = 1125:H1 = 1825:S = .1: GOSUB 9010: GOTO 30
1800 REM <CTRL-J><CTRL-J>Dime<CTRL-J><CTRL-J>
1810 H = 1125:H1 = 1825:S = .1: GOSUB 9010: GOSUB 9020: GOSUB 9010: GOTO 30
1900 REM <CTRL-J><CTRL-J>Quarter<CTRL-J><CTRL-J>
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
2000 REM <CTRL-J><CTRL-J>Conference Added Signal<CTRL-J><CTRL-J>
2010 H = 1500:H1 = 36:S = .3: GOSUB 9010: GOTO 30
2100 REM <CTRL-J><CTRL-J>Conference Hung Up Signal<CTRL-J><CTRL-J>
2110 H = 1500:H1 = 36:S = .2: GOSUB 9010:H1 = 1096:S = .5: GOSUB 9010: GOTO 30
2200 REM <CTRL-J><CTRL-J>Howler<CTRL-J><CTRL-J>
2210 H = 1125:H1 = 1825:S = .5: GOSUB 9010:S = .2: GOSUB 9020: GOTO 2210
2300 REM <CTRL-J><CTRL-J>Call Waiting Beep<CTRL-J><CTRL-J>
2310 H = 442:S = .6: GOSUB 9000: GOTO 30
2400 REM <CTRL-J><CTRL-J>Broken Dial Tone<CTRL-J><CTRL-J>
2410 H = 350:H1 = 440:S = .6: GOSUB 9010:S = .2: GOSUB 9020: GOTO 2410
2500 REM <CTRL-J><CTRL-J>Sprint Tone<CTRL-J><CTRL-J>
2510 H = 400: GOSUB 9030: GOTO 9060
2600 REM <CTRL-J><CTRL-J>Recording Alert Tones<CTRL-J><CTRL-J>
2610 H = 993:S = .3: GOSUB 9000:H = 1379: GOSUB 9000:H = 1830: GOSUB 9000: GOTO 30
2700 REM <CTRL-J><CTRL-J>Off Hook Signal<CTRL-J><CTRL-J>
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
2800 REM <CTRL-J><CTRL-J>Hertz Tone<CTRL-J><CTRL-J>
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)
2820 IF H <13108 AND H1 <13108 THEN GOSUB 9040
2830 GOTO 9060
8999 REM <CTRL-J><CTRL-J>Subroutines<CTRL-J><CTRL-J>
9000 GOSUB 9030: GOSUB 9020: GOSUB 9050: RETURN
9010 GOSUB 9040: GOSUB 9020: GOSUB 9050: RETURN
9020 POKE 0, INT(S *60): CALL 24576: IF PEEK(49152) < >160 THEN RETURN
9021 POP : GOTO 9060
9030 & S,0,H *5,255: RETURN
9040 & S,0,H *5,255,1,H1 *5,255: RETURN
9050 & S,0,0,0,1,0,0,2,0,0,3,0,0: RETURN
9060 IF PEEK(49152) < >160 THEN 9060
9061 GET A$: GOSUB 9050: GOTO 30
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
9990 DATA 44,25,192,16,251,44,25,192,48,251,198,0,208,242,96
9991 DATA 941,1336,697,1209,697,1336,697,1477,770,1209,770,1336,770,1477,852,1209,852,1336,852,1477
9992 DATA 1300,1500,700,900,700,1100,900,1100,700,1300,900,1300,1100,1300,700,1500,900,1500,1100,1500
9993 DATA 941,1209,941,1477,697,1633,770,1633,852,1633,941,1633,1700,1100,1700,1300,1700,1500
9999 REM <CTRL-J><CTRL-J>Title Screen<CTRL-J><CTRL-J>
10000 PRINT "GS Phone Toner by >>Joe User [SPACE] kills any active tone"
10005 PRINT "________________________________________________________________________________"
10010 FOR Y = 4 TO 22: VTAB Y: HTAB 1: READ A$: PRINT A$;: HTAB 40: PRINT "|": NEXT Y
10020 VTAB 3: HTAB 40: PRINT "|": VTAB 23: HTAB 40: PRINT "|"
10030 POKE 49167,0: VTAB 24: HTAB 1: PRINT CHR$(27);: INVERSE : FOR X = 1 TO 79: PRINT "L";: NEXT X: NORMAL
10040 FOR Y = 4 TO 12: VTAB Y: HTAB 42: READ A$: PRINT A$: NEXT Y
10050 FOR X = 43 TO 77: VTAB 13: HTAB X: PRINT "_": VTAB 23: HTAB X: FLASH : PRINT "L": NORMAL : NEXT X
10060 FLASH : FOR Y = 14 TO 22: VTAB Y: HTAB 43: PRINT "_";: HTAB 77: PRINT "Z": NEXT Y: NORMAL
10070 VTAB 15: HTAB 45: PRINT "Call:"
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
10090 VTAB 17: HTAB 50: PRINT "The Interstellar Circuits": VTAB 20: HTAB 50: PRINT "The Infomaniac"
10100 VTAB 21: HTAB 56: PRINT "(813) 584-4447"
10110 VTAB 18: HTAB 56: PRINT "(813) 855-1347"
10120 VTAB 4: HTAB 62: PRINT "'[' KP Tone": VTAB 5: HTAB 62: PRINT "']' KP2 Tone": VTAB 6: HTAB 62: PRINT "[\] ST Tone"
10130 VTAB 8: HTAB 62: PRINT "[ESC] Quits"
10140 VTAB 7: HTAB 62: PRINT "[.] 2600Hz"
18990 RETURN
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
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
19020 DATA [R] Off Hook Signal,[S] Hertz Tone
19030 DATA [CLEAR] A key,[=] B key,[/] C key,[*] D key,[-] * key,[+] # key,[ENTER] Toggles BlueBox/DTMF mode, ,Number keys dial