Source Code
1 FAST
2 PRINT AT 1,6;"WELCOME TO MELODYLAND"
3 PRINT AT 3,9;"ARE YOU READY TO"
5 PRINT AT 4,7;"""SCALE""YOUR GUITAR?"
10 FOR A=0 TO 19
15 PLOT A,24
16 NEXT A
20 PLOT 19,25
21 PLOT 19,26
22 PLOT 19,27
23 PLOT 19,28
24 PLOT 20,29
25 PLOT 21,30
26 FOR A=22 TO 31
27 PLOT A,31
28 NEXT A
29 PLOT 32,30
30 PLOT 33,29
31 PLOT 34,28
32 PLOT 35,28
33 PLOT 36,28
34 PLOT 37,29
35 PLOT 38,30
36 FOR A=39 TO 49
37 PLOT A,31
38 NEXT A
39 PLOT 50,30
40 PLOT 51,29
41 FOR A=28 TO 14 STEP -1
42 PLOT 52,A
43 NEXT A
44 PLOT 51,13
45 PLOT 50,12
46 FOR A=49 TO 39 STEP -1
47 PLOT A,11
48 NEXT A
49 PLOT 38,12
50 PLOT 37,13
51 PLOT 36,14
52 PLOT 35,14
53 PLOT 34,14
54 PLOT 33,13
55 PLOT 32,12
56 FOR A=31 TO 22 STEP -1
57 PLOT A,11
58 NEXT A
59 PLOT 21,12
60 PLOT 20,13
61 PLOT 19,14
62 PLOT 19,15
63 PLOT 19,16
64 PLOT 19,17
65 FOR A=19 TO 0 STEP -1
66 PLOT A,18
67 NEXT A
68 FOR A=18 TO 24
69 PLOT 0,A
70 NEXT A
71 FOR A=33 TO 36
72 PLOT A,24
73 NEXT A
74 FOR A=23 TO 19 STEP -1
75 PLOT 37,A
76 NEXT A
77 FOR A=36 TO 33 STEP -1
78 PLOT A,18
79 NEXT A
80 FOR A=19 TO 23
81 PLOT 32,A
82 NEXT A
83 FOR A=24 TO 18 STEP -1
84 PLOT 45,A
85 NEXT A
86 FOR A=45 TO 0 STEP -1
87 PLOT A,22
88 NEXT A
89 FOR A=45 TO 0 STEP -1
90 PLOT A,20
91 NEXT A
110 PRINT AT 18,6;"ENTER A MAJOR SCALE"
115 PRINT AT 19,4;"(E.G.""A"",""B FLAT"",ETC.)"
120 INPUT S$
122 CLS
125 IF S$="C" THEN GOTO 200
130 IF S$="C SHARP" OR S$="D FLAT" THEN GOTO 300
135 IF S$="D" THEN GOTO 400
140 IF S$="E FLAT" THEN GOTO 500
145 IF S$="E" THEN GOTO 600
150 IF S$="F" THEN GOTO 700
155 IF S$="F SHARP" OR S$="G FLAT" THEN GOTO 800
160 IF S$="G" THEN GOTO 900
165 IF S$="A FLAT" THEN GOTO 1000
170 IF S$="A" THEN GOTO 1100
175 IF S$="B FLAT" THEN GOTO 1200
180 IF S$="B" THEN GOTO 1300
200 GOSUB 2000
205 PRINT AT 1,15;"C"
210 PRINT AT 13,12;"2";AT 13,18;"4";AT 11,9;"1";AT 11,12;"2";AT 11,18;"4";AT 9,9;"1";AT 9,12;"2";AT 9,18;"4";AT 7,9;"1";AT 7,15;"3";AT 7,18;"4";AT 5,12;"1";AT 5,18;"3";AT 5,21;"4";AT 3,12;"1";AT 3,18;"3"
215 GOSUB 5000
220 GOTO 10
300 GOSUB 2000
305 PRINT AT 1,8;"C SHARP/D FLAT"
310 PRINT AT 13,6;"1";AT 13,9;"3";AT 13,15;"4";AT 11,6;"1";AT 11,12;"3";AT 11,15;"4";AT 9,6;"1";AT 9,12;"3";AT 9,15;"4";AT 7,6;"1";AT 7,12;"3";AT 5,6;"1";AT 5,9;"2";AT 5,15;"4";AT 3,6;"1";AT 3,12;"2";AT 3,15;"4"
315 GOSUB 5000
320 GOTO 10
400 GOSUB 2000
405 PRINT AT 1,15;"D"
410 PRINT AT 13,9;"1";AT 13,12;"2";AT 13,18;"4";AT 11,9;"1";AT 11,15;"3";AT 11,18;"4";AT 9,9;"1";AT 9,15;"3";AT 9,18;"4";AT 7,9;"1";AT 7,15;"3";AT 5,9;"1";AT 5,12;"2";AT 5,18;"4";AT 3,9;"1";AT 3,12;"2";AT 3,18;"4"
415 GOSUB 5000
420 GOTO 10
500 GOSUB 2000
505 PRINT AT 1,11;"E FLAT"
510 PRINT AT 13,12;"1";AT 13,15;"2";AT 13,21;"4";AT 11,12;"1";AT 11,18;"3";AT 11,21;"4";AT 9,12;"1";AT 9,18;"3";AT 9,21;"4";AT 7,12;"1";AT 7,18;"3";AT 5,12;"1";AT 5,15;"2";AT 5,21;"4";AT 3,12;"1";AT 3,15;"2";AT 3,21;"4"
515 GOSUB 5000
520 GOTO 10
600 GOSUB 2000
605 PRINT AT 1,15;"E"
610 PRINT AT 13,9;"1";AT 13,15;"3";AT 13,18;"4";AT 11,9;"1";AT 11,15;"4";AT 9,6;"1";AT 9,9;"2";AT 9,15;"4";AT 7,6;"1";AT 7,9;"2";AT 7,15;"4";AT 5,9;"1";AT 5,15;"3";AT 5,18;"4";AT 3,9;"1";AT 3,15;"3";AT 3,18;"4"
615 GOSUB 5000
620 GOTO 10
700 GOSUB 2000
705 PRINT AT 1,15;"F"
710 PRINT AT 13,12;"1";AT 13,18;"3";AT 13,21;"4";AT 11,12;"1";AT 11,18;"4";AT 9,9;"1";AT 9,12;"2";AT 9,18;"4";AT 7,9;"1";AT 7,12;"2";AT 7,18;"4";AT 5,12;"1";AT 5,18;"3";AT 5,21;"4";AT 3,12;"1";AT 3,18;"3";AT 3,21;"4"
715 GOSUB 5000
720 GOTO 10
800 GOSUB 2000
805 PRINT AT 1,8;"F SHARP/G FLAT"
810 PRINT AT 13,9;"2";AT 13,15;"4";AT 11,6;"1";AT 11,9;"2";AT 11,15;"4";AT 9,6;"1";AT 9,12;"3";AT 9,15;"4";AT 7,6;"1";AT 7,12;"3";AT 7,15;"4";AT 5,9;"2";AT 5,15;"4";AT 3,6;"1";AT 3,9;"2";AT 3,15;"4"
815 GOSUB 5000
820 GOTO 10
900 GOSUB 2000
905 PRINT AT 1,15;"G"
910 PRINT AT 13,12;"2";AT 13,18;"4";AT 11,9;"1";AT 11,12;"2";AT 11,18;"4";AT 9,9;"1";AT 9,15;"3";AT 9,18;"4";AT 7,9;"1";AT 7,15;"3";AT 7,18;"4";AT 5,12;"2";AT 5,18;"4";AT 3,9;"1";AT 3,12;"2";AT 3,18;"4"
915 GOSUB 5000
920 GOTO 10
\n1000 GOSUB 2000
\n1005 PRINT AT 1,11;"A FLAT"
\n1010 PRINT AT 13,15;"2";AT 13,21;"4";AT 11,12;"1";AT 11,15;"2";AT 11,21;"4";AT 9,12;"1";AT 9,18;"3";AT 9,21;"4";AT 7,12;"1";AT 7,18;"3";AT 7,21;"4";AT 5,15;"2";AT 5,21;"4";AT 3,12;"1";AT 3,15;"2";AT 3,21;"4"
\n1015 GOSUB 5000
\n1020 GOTO 10
\n1100 GOSUB 2000
\n1105 PRINT AT 1,15;"A"
\n1110 PRINT AT 13,9;"1";AT 13,15;"3";AT 13,18;"4";AT 11,9;"1";AT 11,15;"3";AT 11,18;"4";AT 9,9;"1";AT 9,15;"4";AT 7,6;"1";AT 7,9;"2";AT 7,15;"4";AT 5,9;"1";AT 5,12;"2";AT 5,18;"4";AT 3,9;"1";AT 3,15;"3";AT 3,18;"4"
\n1115 GOSUB 5000
\n1120 GOTO 10
\n1200 GOSUB 2000
\n1205 PRINT AT 1,11;"B FLAT"
\n1210 PRINT AT 13,12;"1";AT 13,18;"3";AT 13,21;"4";AT 11,12;"1";AT 11,18;"3";AT 11,21;"4";AT 9,12;"1";AT 9,18;"4";AT 7,9;"1";AT 7,12;"2";AT 7,18;"4";AT 5,12;"1";AT 5,15;"2";AT 5,21;"4";AT 3,12;"1";AT 3,18;"3";AT 3,21;"4"
\n1215 GOSUB 5000
\n1220 GOTO 10
\n1300 GOSUB 2000
\n1305 PRINT AT 1,15;"B"
\n1310 PRINT AT 13,9;"2";AT 13,15;"4";AT 11,6;"1";AT 11,9;"2";AT 11,15;"4";AT 9,6;"1";AT 9,9;"2";AT 9,15;"4";AT 7,6;"1";AT 7,12;"3";AT 7,15;"4";AT 5,9;"1";AT 5,15;"3";AT 5,18;"4";AT 3,9;"1";AT 3,15;"3"
\n1315 GOSUB 5000
\n1320 GOTO 10
\n2000 FOR A=8 TO 57
\n2005 PLOT A,36
\n2010 NEXT A
\n2015 FOR A=8 TO 57
\n2020 PLOT A,32
\n2025 NEXT A
\n2030 FOR A=8 TO 57
\n2035 PLOT A,28
\n2040 NEXT A
\n2045 FOR A=8 TO 57
\n2050 PLOT A,24
\n2055 NEXT A
\n2060 FOR A=8 TO 57
\n2065 PLOT A,20
\n2070 NEXT A
\n2075 FOR A=8 TO 57
\n2080 PLOT A,16
\n2085 NEXT A
\n2090 FOR A=16 TO 36
\n2095 PLOT 8,A
\n3000 NEXT A
\n3005 FOR A=16 TO 36
\n3010 PLOT 9,A
\n3015 NEXT A
\n3020 FOR A=16 TO 36
\n3025 PLOT 15,A
\n3030 NEXT A
\n3035 FOR A=16 TO 36
\n3040 PLOT 21,A
\n3045 NEXT A
\n3050 FOR A=16 TO 36
\n3055 PLOT 27,A
\n3060 NEXT A
\n3065 FOR A=16 TO 36
\n3070 PLOT 33,A
\n3075 NEXT A
\n3080 FOR A=16 TO 36
\n3085 PLOT 39,A
\n3090 NEXT A
\n3095 FOR A=16 TO 36
\n4000 PLOT 45,A
\n4005 NEXT A
\n4010 FOR A=16 TO 36
\n4015 PLOT 51,A
\n4020 NEXT A
\n4025 FOR A=16 TO 36
\n4030 PLOT 57,A
\n4035 NEXT A
\n4040 RETURN
\n5000 PRINT AT 15,7;"NUMBERS INDICATE"
\n5001 PRINT AT 16,5;"LEFT HAND FINGERINGS"
\n5002 PRINT AT 18,2;"WOULD YOU LIKE A COPY?(Y/N)"
\n5005 INPUT C$
\n5010 IF C$="Y" THEN COPY
\n5015 IF C$="N" THEN PRINT AT 18,1;"HOW ABOUT ANOTHER SCALE?(Y/N)"
\n5020 PRINT AT 18,1;"HOW ABOUT ANOTHER SCALE?(Y/N)"
\n5025 INPUT X$
\n5030 CLS
\n5035 IF X$="Y" THEN RETURN
\n5040 IF X$="N" THEN PRINT AT 11,6;"SEE YOU NEXT TIME"
\n5045 STOP