Music Maker

Developer(s): Bill Ferrebee
Date: 198x
Type: Program
Platform(s): TS 1000

Appears on

Assembled by Tim Ward from many sources. Contains programs 10211 – 10251.

Gallery

Music Maker

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 
Scroll to Top