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