home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
ERIC
/
TEST
/
EARTRAIN
(
.txt
)
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS
UTF-8
Wrap
Applesoft BASIC Source Code
|
1998-04-04
|
1.7 KB
|
70 lines
|
[FC] Applesoft BASIC Program (0x0801)
1 REM - MUST HAVE LOADED PRIM AND TABLE FIRST
2 CALL 36864: CALL 36908: REM INIT BOTH CHIPS
3 CALL 36897: CALL 36941: REM RESET BOTH CHIPS
5 TEXT : HOME : PRINT "EAR TRAINING PROGRAM": PRINT
7 PRINT "CONCERT A = 145, Bb=137, E=193": PRINT
10 GOSUB 1000
20 REM L=LEFT SPKR FINE TONE, R=RIGHT SPKR FINE TONE
25 PRINT
30 V = 15: REM VOLUME
40 B1 = 768:B2 = B1 +16
50 M1 = 32768:M2 = 32796
60 V1 = B1 +8:V2 = B2 +8
70 P1 = 12 *4096 +6 *16 +1:P2 = P1 +1
100 POKE 8,B1 - INT(B1/256) *256
110 POKE 9, INT(B1/256)
120 POKE 10,B2 - INT(B2/256) *256
130 POKE 11, INT(B2/256)
140 FOR I = 0 TO 15: POKE B1 +I,0: POKE B2 +I,0: NEXT
150 POKE B1,L: POKE B2,R
160 POKE B1 +7,62: POKE B2 +7,62
170 POKE V1,0: POKE V2,0
180 CALL M1: CALL M2
190 PRINT "OPEN APPLE PLAYS LEFT SPEAKER TONE": PRINT "SOLID APPLE PLAYS RIGHT SPEAKER TONE"
200 POKE V1,0: POKE V2,0
205 S1 = 0:S2 = 0: REM STATUS OF BUTTONS
210 IF PEEK(P1) >127 THEN POKE V1,V:S1 = 1
220 IF PEEK(P2) >127 THEN POKE V2,V:S2 = 1
230 CALL M1: CALL M2
240 IF (S1 = 1) AND ( PEEK(P1) < = 127) THEN 200
250 IF (S1 = 0) AND ( PEEK(P1) >127) THEN 200
260 IF (S2 = 1) AND ( PEEK(P2) < = 127) THEN 200
270 IF (S2 = 0) AND ( PEEK(P2) >127) THEN 200
280 IF PEEK( -16384) <128 THEN 240
290 IF Q$ = "Q" THEN GOSUB 5000
300 PRINT : INPUT "RUN AGAIN (Y/N):";Y$
310 IF LEFT$(Y$,1) = "Y" THEN 5
311 IF LEFT$(Y$,1) < >"N" THEN 300
315 IF SN = 0 THEN 999
320 PRINT "FINAL SCORE: "SC"/"SN" OR " INT(SC/SN *100)"%"
999 END
1000 INPUT "DO YOU WANT (P)RACTICE OR (Q)UIZ:";Q$
1010 IF LEFT$(Q$,1) = "P" THEN GOSUB 2000: RETURN
1020 IF LEFT$(Q$,2) = "Q" THEN GOSUB 3000: RETURN
1030 PRINT "TRY AGAIN": GOTO 1000
2000 PRINT
2005 INPUT "LEFT SPEAKER FINE TONE: ";L
2010 INPUT "RIGHT SPEAKER FINE TONE: ";R
2020 RETURN
3000 R1 = INT( RND(1) *5) -2:R2 = INT( RND(1) *3) +1
3010 IF R2 = 1 THEN L = 145:R = 145 +R1
3020 IF R2 = 2 THEN L = 137:R = 137 +R1
3030 IF R2 = 3 THEN L = 193:R = 193 +R1
3040 RETURN
5000 INPUT "WAS THE RIGHT SPEAKER (S)HARP, (F)LAT, OR (E)QUAL:";U$
5010 U = 0
5011 IF LEFT$(U$,1) = "S" THEN U = 1
5012 IF LEFT$(U$,1) = "F" THEN U = 2
5013 IF LEFT$(U$,1) = "E" THEN U = 3
5014 IF U = 0 THEN 5000
5020 CO = 0
5021 IF R >L AND U = 2 THEN CO = 1
5022 IF R <L AND U = 1 THEN CO = 1
5023 IF R = L AND U = 3 THEN CO = 1
5025 PRINT
5030 IF CO = 1 THEN PRINT "*** CORRECT! ***"
5040 IF CO = 0 THEN PRINT "SORRY, THAT IS INCORRECT."
5050 PRINT "LEFT TONE WAS: ";L: PRINT "RIGHT TONE WAS: ";R
5060 SC = SC +CO:SN = SN +1
5070 PRINT : PRINT "YOUR SCORE IS "SC"/"SN" OR " INT(SC/SN *100)"%"
5090 RETURN