Source Code
10 REM NEXT A\##I-: INKEY$PEEK COPY ( UNPLOT INKEY$<= RETURN ( UNPLOT H4 LET 94 GOTO TAN
15 REM "MUSIC-MAKER" 1984 BILL FERREBEE 749 HILL STREET NO. 6 PARKERSBURG, WV 26104 TO SAVE GOTO 950
20 GOTO 180
30 FAST
40 POKE 16516,Z(1)
50 FOR I=1 TO X
60 POKE 16520,N(I)
70 POKE 16518,D(I)*1000/N(I)
80 IF N(I)=100 THEN POKE 16528,255
90 IF N(I)<>100 THEN POKE 16528,254
100 LET A=USR 16514
110 NEXT I
120 SLOW
130 PRINT AT 7,4;"PRESS % %S%P%A%C%E% TO STOP";AT 9,3;"PRESS % %T% TO CHANGE TEMPO";AT 11,0;"PRESS % %S% TO SAVE MELODY ON TAPE";AT 13,1;"PRESS ANY OTHER KEY TO REPLAY"
140 IF INKEY$="" THEN GOTO 140
150 IF INKEY$="S" THEN GOTO 680
160 IF INKEY$="T" THEN GOTO 860
170 GOTO 30
180 PRINT AT 10,9;"% %M%U%S%I%C%-%M%A%K%E%R% ";AT 21,2;"% %M%O%U%N%T%A%I%N%E%E%R% %S%O%F%T%W%A%R%E% % %1%9%8%4% "
190 FOR I=1 TO 100
200 NEXT I
210 CLS
220 DIM Z(1)
230 LET X=0
240 PRINT TAB 6;"% %M%U%S%I%C%-%M%A%K%E%R% %L%O%A%D%E%R% ";AT 3,0;"NAME OF MELODY ?: ";
250 INPUT X$
260 PRINT X$;AT 5,0;"HOW MANY MEASURES ?:";
270 INPUT M
280 PRINT M
290 PRINT AT 7,0;"TEMPO ?:";
300 INPUT T
310 PRINT T
320 LET Z(1)=960/T
330 FOR I=1 TO 50
340 NEXT I
350 CLS
360 DIM A(M)
370 FOR I=1 TO M
380 PRINT AT 0,6;"% %M%U%S%I%C%-%M%A%K%E%R% %L%O%A%D%E%R% ";AT 2,16-(INT (LEN X$/2));X$;AT 4,0;"HOW MANY NOTES IN MEASURE ";I;" ?:";AT 4,30;" "
390 INPUT A(I)
400 PRINT AT 4,30;A(I)
410 LET X=X+A(I)
420 FOR J=1 TO 50
430 NEXT J
440 NEXT I
450 CLS
460 DIM N(X)
470 DIM D(X)
480 LET I=1
490 FOR J=1 TO M
500 FOR K=1 TO A(J)
510 PRINT AT 0,16-(INT (LEN X$/2));X$
520 PRINT AT 2,9;" ";TAB 21;" ";AT 2,0;"MEASURE :";J;TAB 15;"NOTE :";K
530 PRINT AT 4,9;" ";AT 6,12;" "
540 PRINT AT 4,0;"% %P%I%T%C%H% :";
550 INPUT N(I)
560 PRINT N(I)
570 PRINT AT 6,0;"% %D%U%R%A%T%I%O%N% :";
580 INPUT D(I)
590 PRINT D(I)
600 LET I=I+1
610 NEXT K
620 NEXT J
640 FOR I=1 TO 50
650 NEXT I
660 CLS
670 GOTO 130
680 CLS
690 PRINT AT 9,0;"PREPARE TAPE RECORDER FOR SAVING";AT 11,3;"(PRESS ANY KEY WHEN READY)"
700 IF INKEY$="" THEN GOTO 700
710 PRINT AT 9,0;" START TAPE RECORDER NOW... ";AT 11,3;" COUNTDOWN : 5 "
720 FOR I=4 TO 0 STEP -1
730 FOR J=1 TO 10
740 NEXT J
750 PRINT AT 11,21;I
760 NEXT I
770 FOR J=1 TO 10
780 NEXT J
790 CLS
800 SAVE X$
810 PRINT AT 10,5;"NAME OF SAVED PROGRAM:";AT 11,16-(INT (LEN X$/2));X$
820 FOR I=1 TO 100
830 NEXT I
840 CLS
850 GOTO 130
860 CLS
870 PRINT AT 1,0;"TEMPO ?:";
880 INPUT T
890 PRINT T
900 LET Z(1)=960/T
910 FOR I=1 TO 50
920 NEXT I
930 CLS
940 GOTO 130
950 SAVE "1023%9"
960 RUN