Ear training program to learn music notes.
Content
Source Code
3 REM RESET By Frank Bouldin,W5GAA, 11-25-83; ALL RIGHTS RESERVED
4 REM LOAD "MUZIK" or LOAD ""
5 REM Enter "GOTO 8" to Run.
6 REM Line 2000: Change vari-able "t" (seconds) to adjust sound note duration.
8 CLS
10 BORDER 5: PAPER 7: INK 0
11 PRINT AT 0,9;"MUZIK MASTER"
12 PRINT AT 2,5;"---Test Your Skill---"
14 PAUSE 60
15 PLOT 10,127: GO SUB 2014: DRAW 240,0: GO SUB 2034
30 DRAW 0,-100: GO SUB 2054: DRAW -242,0: GO SUB 2064: DRAW 0,100: GO SUB 2084
60 PLOT 32,65: GO SUB 2104: DRAW 0,-38: GO SUB 2124: PLOT 56,65: GO SUB 2134: DRAW 0,-38
100 PLOT 80,126: DRAW 0,-99: PLOT 104,65: DRAW 0,-38:
140 PLOT 128,65
150 DRAW 0,-38
160 PLOT 152,65
170 DRAW 0,-38
180 PLOT 176,126
190 DRAW 0,-99
200 PLOT 200,65
210 DRAW 0,-38
220 PLOT 224,65
222 DRAW 0,-38
228 INK 0
230 LET x=6
235 OVER 1
240 PRINT AT x,2;" ██ ██ ██ ██ ██ ██ ██"
250 LET x=x+1
260 IF x=13 THEN GO TO 280
270 GO TO 240
280 OVER 0
290 PLOT 8,127
300 DRAW 240,0
310 INK 1
315 PRINT AT 17,2;"C"
317 PRINT AT 17,8;"E"
319 PRINT AT 17,14;"G"
321 PRINT AT 17,20;"B"
323 PRINT AT 17,26;"D"
325 INK 3
330 PRINT AT 17,5;"D"
350 PRINT AT 17,11;"F"
370 PRINT AT 17,17;"A"
390 PRINT AT 17,23;"C"
410 PRINT AT 17,29;"E"
420 INK 1
440 PRINT AT 13,3;"#"
442 PRINT AT 13,6;"#"
444 PRINT AT 13,12;"#"
446 PRINT AT 13,15;"#"
448 PRINT AT 13,18;"#"
450 PRINT AT 13,24;"#"
452 PRINT AT 13,27;"#"
454 INK 3
455 PRINT AT 13,4;"b"
457 PRINT AT 13,7;"b"
459 PRINT AT 13,13;"b"
461 PRINT AT 13,16;"b"
463 PRINT AT 13,19;"b"
465 PRINT AT 13,25;"b"
467 PRINT AT 13,28;"b"
470 INK 1
480 PRINT AT 20,2;"^"
490 PRINT AT 21,1;"Middle C"
492 INK 2
494 PRINT AT 21,13;"Press ""z"" for Demo"
500 INK 0
505 INVERSE 1
510 PRINT AT 19,2;"Q"
515 PRINT AT 19,5;"W"
520 PRINT AT 19,8;"E"
525 PRINT AT 19,11;"R"
530 PRINT AT 19,14;"T"
535 PRINT AT 19,17;"Y"
540 PRINT AT 19,20;"U"
545 PRINT AT 19,23;"I"
550 PRINT AT 19,26;"O"
555 PRINT AT 19,29;"P"
560 PRINT AT 4,4;"2"
565 PRINT AT 4,7;"3"
570 PRINT AT 4,13;"5"
575 PRINT AT 4,16;"6"
580 PRINT AT 4,19;"7"
585 PRINT AT 4,25;"9"
590 PRINT AT 4,28;"0"
592 GO SUB 2132: GO SUB 2122: GO SUB 2102: GO SUB 2082: GO SUB 2062: GO SUB 2052: GO SUB 2032: GO SUB 2014
595 INK 0
600 INVERSE 0
610 GO TO 2000
2005 GO TO 3000
2012 BEEP .15,0: LET y=19: LET x=2: LET z$="Q": GO SUB 3500: RETURN
2014 BEEP .4,0: LET y=19: LET x=2: LET z$="Q": GO SUB 3500: RETURN
2022: BEEP .15,1: LET y=4: LET x=4: LET z$="2": GO SUB 3500: RETURN
2024: BEEP .4,1: LET y=4: LET x=4: LET z$="2": GO SUB 3500: RETURN
2032 BEEP .15,2: LET y=19: LET x=5: LET z$="W": GO SUB 3500: RETURN
2034 BEEP .4,2: LET y=19: LET x=5: LET z$="W": GO SUB 3500: RETURN
2042 BEEP .15,3: LET y=4: LET x=7: LET z$="3": GO SUB 3500: RETURN
2044 BEEP .4,3: LET y=4: LET x=7: LET z$="3": GO SUB 3500: RETURN
2052 BEEP .15,4: LET y=19: LET x=8: LET z$="E": GO SUB 3500: RETURN
2054 BEEP .4,4: LET y=19: LET x=8: LET z$="E": GO SUB 3500: RETURN
2062 BEEP .15,5: LET y=19: LET x=11: LET z$="R": GO SUB 3500: RETURN
2064 BEEP .4,5: LET y=19: LET x=11: LET z$="R": GO SUB 3500: RETURN
2072 BEEP .15,6: LET y=4: LET x=13: LET z$="5": GO SUB 3500: RETURN
2074 BEEP .4,6: LET y=4: LET x=13: LET z$="5": GO SUB 3500: RETURN
2082 BEEP .15,7: LET y=19: LET x=14: LET z$="T": GO SUB 3500: RETURN
2084 BEEP .4,7: LET y=19: LET x=14: LET z$="T": GO SUB 3500: RETURN
2092 BEEP .15,8: LET y=4: LET x=16: LET z$="6": GO SUB 3500: RETURN
2094 BEEP .4,8: LET y=4: LET x=16: LET z$="6": GO SUB 3500: RETURN
2102 BEEP .15,9: LET y=19: LET x=17: LET z$="Y": GO SUB 3500: RETURN
2104 BEEP .4,9: LET y=19: LET x=17: LET z$="Y": GO SUB 3500: RETURN
2112 BEEP .15,10: LET y=4: LET x=19: LET z$="7": GO SUB 3500: RETURN
2114 BEEP .4,10: LET y=4: LET x=19: LET z$="7": GO SUB 3500: RETURN
2122 BEEP .15,11: LET y=19: LET x=20: LET z$="U": GO SUB 3500: RETURN
2124 BEEP .4,11: LET y=19: LET x=20: LET z$="U": GO SUB 3500: RETURN
2132 BEEP .15,12: LET y=19: LET x=23: LET z$="I": GO SUB 3500: RETURN
2134 BEEP .4,12: LET y=19: LET x=23: LET z$="I": GO SUB 3500: RETURN
2142 BEEP .15,13: LET y=4: LET x=25: LET z$="9": GO SUB 3500: RETURN
2144 BEEP .4,13: LET y=4: LET x=25: LET z$="9": GO SUB 3500: RETURN
2152 BEEP .15,14: LET y=19: LET x=26: LET z$="O": GO SUB 3500: RETURN
2154 BEEP .4,14: LET y=19: LET x=26: LET z$="O": GO SUB 3500: RETURN
2162 BEEP .15,15: LET y=4: LET x=28: LET z$="0": GO SUB 3500: RETURN
2164 BEEP .4,15: LET y=4: LET x=28: LET z$="0": GO SUB 3500: RETURN
2172 BEEP .15,16: LET y=19: LET x=29: LET z$="P": GO SUB 3500: RETURN
2174 BEEP .4,16: LET y=19: LET x=29: LET z$="P": GO SUB 3500: RETURN
3000 IF INKEY$="z" THEN GO TO 4000
3008 IF INKEY$="q" THEN GO SUB 2010
3010 IF INKEY$="2" THEN GO SUB 2020
3020 IF INKEY$="w" THEN GO SUB 2030
3030 IF INKEY$="3" THEN GO SUB 2040
3040 IF INKEY$="e" THEN GO SUB 2050
3050 IF INKEY$="r" THEN GO SUB 2060
3060 IF INKEY$="5" THEN GO SUB 2070
3070 IF INKEY$="t" THEN GO SUB 2080
3080 IF INKEY$="6" THEN GO SUB 2090
3090 IF INKEY$="y" THEN GO SUB 2100
3100 IF INKEY$="7" THEN GO SUB 2110
3110 IF INKEY$="u" THEN GO SUB 2120
3120 IF INKEY$="i" THEN GO SUB 2130
3130 IF INKEY$="9" THEN GO SUB 2140
3140 IF INKEY$="o" THEN GO SUB 2150
3150 IF INKEY$="0" THEN GO SUB 2160
3160 IF INKEY$="p" THEN GO SUB 2170
3170 GO TO 3000
3500 FOR f=0 TO 3
3510 PRINT AT y,x;"█"
3520 PAUSE 1
3530 PRINT AT y,x;" "
3550 NEXT f
3560 INVERSE 1: PRINT AT y,x;z$: INVERSE 0
3570 RETURN
4010 GO SUB 2032
4020 GO SUB 2084
4025 PAUSE 15
4030 GO SUB 2032
4040 GO SUB 2082
4044 GO SUB 2032
4046 GO SUB 2082
4050 GO SUB 2102
4060 GO SUB 2124
4070 GO SUB 2084
4080 PAUSE 45
4090 GO SUB 2132
4100 GO SUB 2132
4110 GO SUB 2082
4115 GO SUB 2102
4120 GO SUB 2124
4140 PAUSE 30
4150 GO SUB 2032
4160 GO SUB 2084
4165 PAUSE 30
4170 GO SUB 2032
4180 GO SUB 2082
4184 GO SUB 2032
4186 GO SUB 2082
4190 GO SUB 2102
4200 GO SUB 2124
4210 GO SUB 2084
4215 PAUSE 30
4220 GO SUB 2122
4230 GO SUB 2122
4240 GO SUB 2102
4250 GO SUB 2102
4260 GO SUB 2122
4270 GO SUB 2104
4280 PAUSE 45
4290 GO SUB 2102
4300 GO SUB 2102
4310 GO SUB 2092
4320 GO SUB 2102
4330 GO SUB 2122
4335 GO SUB 2102
4340 GO SUB 2084
4350 GO SUB 2034
4355 PAUSE 45
4360 GO SUB 2132
4370 GO SUB 2132
4375 GO SUB 2082
4380 GO SUB 2102
4390 GO SUB 2124
4400 PAUSE 45
4410 GO SUB 2052
4420 GO SUB 2072
4430 GO SUB 2082
4440 GO SUB 2072
4450 GO SUB 2082
4460 GO SUB 2052
4470 GO SUB 2034
4480 GO SUB 2084
4490 PAUSE 45
4500 GO SUB 2102
4510 GO SUB 2124
4520 GO SUB 2134
4530 GO SUB 2124
4540 GO SUB 2104
4550 GO SUB 2084
4660 PAUSE 60
4680 GO TO 3000
9999 CLEAR : SAVE "MUZIK" LINE 1
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.
