home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
hard.hdv
/
HARD
/
TAKE1
/
SOUND.FN.PROGRA
(
.txt
)
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS
UTF-8
Wrap
Applesoft BASIC Source Code
|
1996-06-13
|
1.2 KB
|
42 lines
|
[FC] Applesoft BASIC Program (0x0801)
0 REM <CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08><CTRL-0x08>*********************<CTRL-0x0d>* SOUND FN PROGRAM *<CTRL-0x0d>* (C)1985 BAUDVILLE *<CTRL-0x0d>*********************<CTRL-0x0d>
10 TEXT : HOME : DIM D(9),P(9)
20 PRINT "TAKE 1 PROGRAMMER'S TOOLKIT SOUND FN";
30 PRINT "----------------------------------------"
100 FOR N = 0 TO 9:D(N) = 0:P(N) = 0: NEXT :N = 0: PRINT : PRINT "DEFINE SOUND FN ";
200 A$ = "":B$ = "":C$ = ""
210 GET A$: IF A$ = CHR$(13) THEN PRINT CHR$(8);: PRINT " ": GOTO 1000
220 IF ASC(A$) <48 OR ASC(A$) >57 THEN 210
230 PRINT A$;
240 GET B$: IF B$ = CHR$(13) THEN 300
245 IF B$ = CHR$(8) THEN PRINT B$;: GOTO 210
250 IF ASC(B$) <48 OR ASC(B$) >57 THEN 240
260 PRINT B$;
270 GET C$: IF C$ = CHR$(13) THEN 300
275 IF C$ = CHR$(8) THEN PRINT C$;: GOTO 240
280 IF ASC(C$) <48 OR ASC(C$) >57 THEN 270
290 PRINT C$;
295 GET D$: IF D$ = CHR$(8) THEN PRINT D$;: GOTO 270
296 IF D$ < > CHR$(13) THEN 295
300 D(N) = VAL(A$ +B$ +C$): IF D(N) >255 THEN PRINT : PRINT : PRINT "<CTRL-0x07>DURATION VALUE TOO LARGE!": GOTO 100
400 PRINT ",";:A$ = "":B$ = "":C$ = ""
410 GET A$: IF A$ = CHR$(13) THEN PRINT "0";: GOTO 500
420 IF ASC(A$) <48 OR ASC(A$) >57 THEN 410
430 PRINT A$;
440 GET B$: IF B$ = CHR$(13) THEN 500
445 IF B$ = CHR$(8) THEN PRINT B$;: GOTO 410
450 IF ASC(B$) <48 OR ASC(B$) >57 THEN 440
460 PRINT B$;
470 GET C$: IF C$ = CHR$(13) THEN 500
475 IF C$ = CHR$(8) THEN PRINT C$;: GOTO 440
480 IF ASC(C$) <48 OR ASC(C$) >57 THEN 470
490 PRINT C$;
495 GET D$: IF D$ = CHR$(8) THEN PRINT D$;: GOTO 470
496 IF D$ < > CHR$(13) THEN 495
500 P(N) = VAL(A$ +B$ +C$): IF P(N) >255 THEN PRINT : PRINT : PRINT "<CTRL-0x07>PITCH VALUE TOO LARGE!": GOTO 100
600 PRINT ";";:N = N +1: IF N <10 THEN 200
1000 PRINT : PRINT "[SPACE] PLAY [RETURN] DEFINE NEW SOUND"
1010 Z = FRE(0): GET A$: IF A$ = CHR$(13) THEN 100
1020 IF A$ = CHR$(27) THEN PRINT : END
1030 IF A$ < >" " THEN 1010
2000 & SOUND FN D(0),P(0);D(1),P(1);D(2),P(2);D(3),P(3);D(4),P(4);D(5),P(5);D(6),P(6);D(7),P(7);D(8),P(8);D(9),P(9)
2010 GOTO 1010