@1re1 メモ)MSX1 BASICで音に関する物は非常に少ない。
BEEP、PLAY、SOUND
たった3つ。しかしPLAYは注意。これは
PLAY "文字列" ・・・演奏する「ステートメント」
PLAY(0) ・・・・・・演奏中を調べる「関数」
の2機能ある
@1re1 MSXメモ
10 PLAY "T40L1CDEFGAB"
20 IF PLAY(0) THEN PLAY "O1L32EEFFAA"
命令的には10行演奏途中で即20行が演奏されそうですが、実際の結果は「必ず10行全てを演奏し終えた後に、20行が演奏される」
@bnr32_nismo 伊江島ではハンドボール選手を目指す若者のサクセス・ストーリー「伊江島 ハンドボールぐゎー(いぇー!いゃーすぐーえーじまんちゅーかいわじらりーさや?!!」
さっきの元ネタ
八重瀬ぬ漫才(えーじぬまんざい
ryukyushimpo.jp/okinawa-dic/pr…
@bnr32_nismo まじでか!(どこかのおじさん口調で)
あんしねー、伊江島ハンドボールぐゎーは「ミームン」にすーみ?(えーひゃー!
@1re1 ところが
10 PLAY "T40L1CDEFGAB"
20 IF PLAY(0) THEN SOUND 7,1
この場合、実際、音は「鳴らず」「ザー」っという雑音しかならない。つまり10行の音を鳴らす直前、実行が20行に移り、SOUND文を既に実行している
@1re1 これはPLAY(0)関数の判定の後は「PLAY命令は終了後続けて実行、SOUND命令は即実行・反映」する事を示唆している。
ブログ更新しました。(重要!)「投票時間の繰り上げ問題」→miyake-yukiko.com/blog/post-1465… なぜ、この問題をメディアはあまり取り上げないのか不可解です。驚くべき事実が次々と判明。
09:01:25 [第1報] 北海道東方沖 M5.6 深さ 10km 最大震度4 #地震
09:01:25 [第2報] 北海道東方沖 M5.5 深さ 70km 最大震度3 #地震
09:01:23 震度3 根室 #地震 pic.twitter.com/UMcEQTRXun
April Highlights: [507 views] MEGA Drive Classics Hub announced for Steam bit.ly/26MPezF pic.twitter.com/e5lvlQzO1I
今更)MSX1 PSG MMLと88/98系他MMLとの違い
MSX 1 PSG MMLと他MMLとでは注意しなければいけない違いがありまして、MSXは
1:「<」「>」でオクターブ上下が出来ない
2:R(休符)はL指定にかかわらず、数値省略すると「必ずR4」になる
という物です
@1re1 この仕様により、例えば
T80 O4 L8 CRCR
88/98系は C8 R8 C8 R8 と解釈されますが
MSX1は C8 R4 C8 R4 になってしまうんです!
@1re1 また
CDEFGAB>C
88/98系は難なく1オクターブ発音しますが、
MSX1ではエラーになり、プログラムが止まります。
@1re1 この為、同じ意味でも
88/98系:L32 CRCRCRCR
MSX1系:L32 CR32CR32CR32CR32
と、ただでさえ少ないメモリを余計に使ってしまうのですよ。Xコマンドを上手く利用できれば一部は短くなりますが。
@CMOStone そうきますか。やはり、そうなりますよね(いやなりますよ絶対)w とりあえず昨日からMSX標準BASIC(音命令はBEEP、PLAY、SOUNDのたった3つ)で映像と音をどう扱えるか、もう少し探ってみますね。
@CMOStone それだけして「MMLで」というのがいかにもな魅力で面白そうです。想像ですが、MMLでおおまかに打ち込んで、細かな音の仕上げをDAWでする?感じでしょうか? それとも 結構 MMLでも制御できるのでしょうか?
※コメント投稿者のブログIDはブログ作成者のみに通知されます