2025/1/14(火)
XL-BASICでcmd_play
片山博文MZ 様の
https://katahiromz.fc2.page/cmd_play/
cmd_play.exeを
XL-BASICで呼び出して演奏して見ました
XL-BASIC ver0.0028w5は
下記リンクからダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい
古いバージョンではコンソールウインドウが
開いてしまいます
cmd_play.exeと
cmdplay.basを
XLBasic01.exeと同じフォルダーにコピーして下さい
下記リストをメモ帳にコピペし名前を付けて保存で
ANSIを選択してcmdplay.basなどの名前で保存し
cmdplay.basをXL-BASICの画面に重ねてRUNするか
下記リストをコピー(Ctrl+c)し
XL-BASICの画面でAlt+vでペーストして
(SAVE "cmdplay.bas"で保存出来ます)
RUNして下さい
0 Enterでcmd_play #4(FM音源3+SSG1)
1 EnterでXL-BASICのCMD PLAY #4(MSGS音源3+矩形波1)
2 EnterでXL-BASICのCMD PLAY #5(MSGS音源4)
0,1,2のどれかを入力すると演奏されます
以下cmdplay.basのリストです
100 '----------------------------------------------------------------------
110 ' Jupiter of the planets by G.Holst
120 ' の一部を演奏してみた for cmd_play & XL-BASIC
130 ' MML by ULproject
140 '----------------------------------------------------------------------
150 PRINT "0 : CMD PLAY #4 (cmd_play)"
160 PRINT "1 : CMD PLAY #4 (XL-BASIC)"
170 PRINT "2 : CMD PLAY #5 (XL-BASIC)"
180 INPUT MODE
190 GOSUB *MAIN
200 END
210 '--- cmdplay
220 *CMDPLAY
230 A$ = A0$ + A$
240 B$ = B0$ + B$
250 C$ = C0$ + C$
260 D$ = D0$ + D$
270 IF MODE = 1 THEN CMD PLAY #4, A$, B$, C$, D$: RETURN
280 IF MODE = 2 THEN CMD PLAY #5, A$, B$, C$, D$: RETURN
290 '--- cmd_play
300 P$ = "cmd /c cmd_play #4 "
310 P$ = P$ + CHR$(34) + A$ + CHR$(34) + " "
320 P$ = P$ + CHR$(34) + B$ + CHR$(34) + " "
330 P$ = P$ + CHR$(34) + C$ + CHR$(34) + " "
340 P$ = P$ + CHR$(34) + D$ + CHR$(34)
350 CHILD P$
360 RETURN
370 '--- main
380 *MAIN
390 A0$ = "@13v10t80l8q7"
400 B0$ = "@13v10t80l8q7"
410 C0$ = "@13v10t80l8q7"
420 D0$ = "@13v10t80l8q7"
430 '---
440 A$ = "<gb-> c 4c e-d .<b-16>"
450 B$ = " r4 < a-4r4 a-. r 16>"
460 C$ = " r4 < e-4r4 f4 >"
470 D$ = " r4 <<a-4r4 f4 >>"
480 GOSUB *CMDPLAY '--- 1,2
490 A$ = "e-fe-4d 4 c dc4<b-4> <g 2 g b->"
500 B$ = "b-rr 4r 4 a-rr4 f 4 e-2 d r "
510 C$ = "e-4r 4e-4 e-4r4 d 4 >c 2<b-4 "
520 D$ = "g 4r 4g 4 a-4r4 b-4 "
530 GOSUB *CMDPLAY '--- 3,4,5
540 A$ = "c 4c8e-d .<b-16> e-fg4g 4"
550 B$ = "a-4r4 a-. r 16 b-rr4e-4"
560 C$ = "e-4r4 f4 e-4r4b-4"
570 D$ = "a-4r4 f4 g 4r4e-g"
580 GOSUB *CMDPLAY '--- 6,7
590 A$ = "g fe-4f 4 e-4<b-4r4>"
600 B$ = "c 2 c 4 r 4 g 4r4 "
610 C$ = "a-2 a-4 r 4 e-4r4 "
620 D$ = "a-2 a-4 r 4 e-4r4 "
630 GOSUB *CMDPLAY '--- 8,9
640 RETURN