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