VL-BASICのPLAY(MML)を.mid(SMF)に変換サンプル
以前紹介しましたMML→.mid変換をするBASICプログラムを
サンプルとして追加しmid~.zipを公開しました。
VL-BASICにCHILD命令を追加しました。
CHILDはBASICからコンソール(DOS)アプリを
呼び出す命令です。
また、MPU TRONに待ち時間(ディレイタイム)
に関する不具合がありましたので修正しました。
mid~.zip(tron2txt.exe、txt2mid.exe、
tron.bas)と、VL-BASICは、
以下からダウンロードして下さい。
VL-BASIC(N88-BASIC互換?)ホームページへのリンク
ホームページに書いてあるパスワードを入力して、
Readme.txtを読んで、遊んで見て下さい。
すべて、windows用です。
tron.basのLISTです。
100 '----------------------------------------------------------------------
110 ' Jupiter of the planets by G.Holst の一部演奏
120 '
130 ' for VL-BASIC(MML→.mid) by ULproject
140 '----------------------------------------------------------------------
150 CMD MPU ON
160 MPU TRON ("a")
170 GOSUB *PLAY
180 MPU TROFF
190 CHILD "tron2txt a.txt"
200 CHILD "txt2mid a_txt.txt"
210 MPU MCI "open a_txt_txt.mid alias FILE"
220 MPU MCI "set FILE time format ms"
230 MPU MCI "play FILE"
240 MPU MCI "status FILE length", B$
250 K = VAL(B$)
260 WHILE I < K AND INKEY$ = ""
270 MPU MCI "status FILE position", B$
280 I = VAL(B$)
290 WEND
300 MPU MCI "close ALL"
310 MPU OFF
320 END
330 '--- play
340 *PLAY
350 PLAY "@127", "@127", "@127"
360 PLAY "v 10", "v 10", "v 10", "v 10"
370 PLAY "t100", "t100", "t100", "t100"
380 PLAY "l8q7o4", "l8q7o4", "l8q7o4", "l8q7o4"
390 A$ = "<g&b-&"
400 PLAY A$ '--- 1
410 A$ = "> c 4 c&e-&d .&<b-16&"
420 B$ = "< a-4&r4 a-.& r 16 "
430 C$ = "< e-4 r4 f4"
440 D$ = "<<a-4 r4 f4"
450 PLAY A$, B$, C$, D$ '--- 2
460 A$ = "> e-&f&e-4d 4&"
470 B$ = " b-&r r 4r 4 "
480 C$ = " e-4 r 4e-4 "
490 D$ = " g 4 r 4g 4 "
500 PLAY A$, B$, C$, D$ '--- 3
510 A$ = " c &d&c4<b-4&"
520 B$ = " a-&r r4 f 4&"
530 C$ = " e-4 r4 d 4 "
540 D$ = " a-4 r4 b-4 "
550 PLAY A$, B$, C$, D$ '--- 4
560 A$ = " g 2 g&b-&"
570 B$ = " e-2 d&r "
580 C$ = "> c 2<b-4 "
590 PLAY A$, B$, C$ '--- 5
600 A$ = "> c 4 c8&e-&d .&<b-16&"
610 B$ = " a-4&r4 a-.& r 16 "
620 C$ = " e-4 r4 f4"
630 D$ = " a-4 r4 f4"
640 PLAY A$, B$, C$, D$ '--- 6
650 A$ = "> e-&f&g4g 4&"
660 B$ = " b-&r r4e-4&"
670 C$ = " e-4 r4b-4 "
680 D$ = " g 4 r4e-g "
690 PLAY A$, B$, C$, D$ '--- 7
700 A$ = " g&f&e-4&f 4&"
710 B$ = " c 2 c 4 "
720 C$ = " a-2 a-4 "
730 D$ = " a-2 a-4 "
740 PLAY A$, B$, C$, D$ '--- 8
750 A$ = " e-4&>b-4r4"
760 B$ = " r 4 g 4r4"
770 C$ = " r 4 e-4r4"
780 D$ = " r 4 e-4r4"
790 PLAY A$, B$, C$, D$ '--- 9
800 RETURN