公式サイト

月: 2021年4月

誰が読むのかBASIC講座(5かいめ) [プログラムの入力と保存と実行]

ここまででは、PRINT や CLS、 PLAYといった命令を、ひとつだけ実行するやりかたでしたが、これらを順番にならべて自動的に実行させることができます。これが「プログラミング」です。

順番に実行させるためには、BASICでは行頭に「行番号」を入力します。
[行番号][スペース][命令]
これはBASICならではのプログラミング作法です。

以下のように入力してみてください。尚、行末では必ず[Enter(Return)]を押して改行します。([Enter(Return)]を押すことでその行のプログラムがRAMに記録されます)。

10 CLS
20 PRINT "PLAYING MUSIC"
30 PLAY "GCAFECDR4GCABO5CDC"
40 END

このプログラムは以下の様にふるまいます

画面を消去→画面にPLAYING MUSICとメッセージを表示→音楽を演奏→プログラムを終了する

 行番号を記述したプログラム入力では、記述しただけでは実行はされません。実行の方法は後述しますが、MSX BASICでは実行する前に必ず入力したプログラムをメディアに保存するのが鉄則と認識しておいたほうが良いです。なぜなら実行させたプログラムが意図せぬ不具合で暴走して保存する操作ができなくなり、あとでプログラムを全て打ち込み直すという不幸にみまわれる可能性があるからです。
 プログラムを保存する方法は、BlueMSXでは仮想フロッピーディスクもしくは仮想カセットテープ(※なつかしー^-^)への保存が可能です。今回は使い勝手の良いフロッピーを使いましょう。

BlueMSXのメニューより
[ファイル]→[ディスクドライブA]→[新規ディスクイメージを挿入] をクリックします。

仮想フロッピーディスクとして保存するファイル名を指定し、「開く」をクリックすると指定した場所とファイル名で、ディスクイメージファイルが作成されます。

仮想フロッピーディスクの準備ができたら、次はディスクのフォーマットです。フォーマットとは外部記憶装置の区画整理みたいなものと現段階では認識してください。新しいディスクは最初にフォーマットしないと使用できません。
BASICシステム上で以下のコマンドを入力します

CALL FORMAT

入力すると Drive name? (A,B) という応答が表示されます。

ここではフォーマットするフロッピードライブを尋ねられていますので、Aを入力することになります。

次に
1- 1Side, double track
2- 2Side, double track
と尋ねられますが、これは(片面倍精度ディスク)か(両面倍精度ディスク)のどちらかを尋ねられています。

2の両面倍精度で良いので、2を入力します

Strike a key when ready(準備ができたらキーを押してね) と尋ねられました。[Enter(Return)]等を押せば、フォーマット処理がはじまります。フォーマット処理中は画面が固まったままになりますが、しばらく(数分かかると思います)待つと、Format Compleat OK と出て、フォーマットが完了します。

仮想フロッピーディスクのフォーマットが完了しました。次に先程入力したプログラムを保存しましょう。以下の様に入力します。

SAVE "MUSIC01.BAS"

OKと表示されたなら仮想フロッピーディスクへの保存が成功した事になります。保存されたファイルの存在を確認してみましょう。以下の様に入力します

FILES

このコマンド(FILES)はディスクに保存されているファイルを一覧表示します。現時点では先程保存した”MUSIC.BAS”のみがディスクに収録されているので、このような表示になりました。

保存がされていることが確認できたので、さっそく入力したプログラムを実行しましょう。以下のように入力します。

RUN

無事実行されたでしょうか?
もしも Syntax Error in ~ とか Illigal Function Code in ~といった表示が出た場合、それはプログラムにバグ(異常)があるという事になるので、入力を間違っていないか確認してみてください。入力済みのプログラムを再度表示するには以下コマンドを入力します

LIST

LISTで表示されたプログラムに訂正箇所がある場合は、カーソルキー(↑↓→←)で、白い箱(カーソル)を訂正箇所まで動かします。文字を上書きするならそのまま入力しますが、文字を挿入したい場合は[Insert(INS)]キーを押して挿入モードに切り替えます(カーソルの高さが低くなります)。挿入モードから上書きモードに戻すときは、もう一度[Insert(INS)]キーを押します。

訂正したら、必ずその行ごとに[Enter(Return)]キーを押します(この操作がその行のプログラムをメモリへ保存する操作となります)。このとき、行の桁位置は問いません。

誰が読むのかBASIC講座(4かいめ)[音楽の演奏]

音楽を奏でてみましょう。MSXには3音ポリのPSGシンセサイザーが搭載されています。容易に音を出力させることができる命令があります。以下構文を入力して[Enter(Return)]を押下してください。

PLAY "CDEFGAB"

「ド-レ-ミ-ファ-ソ-ラ-シ-」が演奏されたと思います。

PLAY構文に続く””(ダブルコーテーション)でかこまれた部分に音楽演奏記号を記述することで音楽を奏でる事ができます。これをMML(Music Macro Langage)と言います。

MMLについて

まず、音階を示す記号は以下です

Cドの音を出す
Dレの音を出す
Eミの音を出す
Fファの音を出す
Gソの音を出す
Aラの音を出す
Bシの音を出す

上記の音階記号を修飾する記号が以下です

MML記号説明使用例
+直前に記述された音階を半音上げる(#)C+ (ドの#になる)
直前に記述された音階を半音下げる(♭)E- (ミの♭になる)
L音符の長さを指定するL8 (以降の音が8分音符になる)
R休符を入れるR16 (16分休符が入る)
. (ピリオド)付点音符にするL4C. (付点4分音符でドの音を出す)
Oオクターブを指定する(1~8)(未指定ではO4)CDEFGABO5C
(ドレミファソラシドを演奏)
V音量を指定する(0~15)V5CV10CV5CV10CV5CV10CV5CV10C
(アクセント奏法)
Tテンポを指定する(32~255)BPMT180CDEFGABO5C
(早いテンポでドレミファソラシド)

サンプルコード カエルのうた

PLAY "CDEFEDCR4EFGAGFER4CR4CR4CR4CR4L16CR16CR16DR16DR16ER16ER16FR16FR16L4EDCR4"

カエルのうたが演奏されましたか?

MSXは3音ポリフォニック(厳密にいえば、オシレータ×3でそれぞれ独立のエンベローブがあり、ノイズも1系統付加されている)なので、3つまでの音を同時にならせます。方法は、PLAY構文を「,」(カンマ)で区切って三つのMMLを記述すると、それぞれ並行して演奏されます。

サンプルコード (I → Ⅳ →V→I の和音進行)

PLAY "L1CFGG","L1EABO5C","L1GO5CDE"

誰が読むのかBASIC講座(3かいめ)[画面の文字を消去]

前回までのコマンド操作で画面がごちゃごちゃしてきたので、一旦キレイにしましょう。画面上の文字をクリアするコマンドがあります。以下のように入力して[Enter(Return)]キーを押します。

CLS

画面がすっきりしました。

CLS (クリアスクリーン)

現在の画面に表示されているテキストをすべて消去する

誰が読むのかBASIC講座(2かいめ)[計算した数値を表示]

前回のPRINT構文はテキストを表示させるだけでした。

数式を記述すると、その演算結果を表示させることもできます。数式を記述する場合、””では囲まずに記述します。

以下の構文を入力し、Enter(Return)キーを押してください。

PRINT 1+1

1+1の演算結果である「2」が表示されたと思います。

ちなみに四則演算の記号はプログラミングの世界ではたいてい以下の表記となります。

四則演算子プログラミング言語で使われる四則演算子
++
×*(アスタリスク)
÷/(スラッシュ)

演算子は他にもありますが、慣れてから追々説明していこうと思っているのであせらずに( ^^) _旦~~

多項演算も可能です。

カッコを使うこともできますが、入れ子の時でも大かっこ[]は使わず、すべて中かっこ()を使います。

小数点も使えます。(以上をふまえたサンプルが以下)

PRINT 1+((1*20)/2)-1.5

1+{(1×20)÷2}-1.5

の計算ができていますね。

誰が読むのかBASIC講座(1かいめ)[文字を表示]

いきなりですがMSXBASIC講座を開設致します。

パソコンをお持ちの方はMSXエミュレータである「BlueMSX」あたりをインストールすると良いでしょう。

BlueMSX公式→http://bluemsx.msxblue.com/jindex.htm

BlueMSXダウンロード→http://bluemsx.msxblue.com/download.html

スマホの方は「fMSX」が良いでしょう

fMSX(GooglePlay)→https://play.google.com/store/apps/details?id=com.fms.fmsx&hl=ja&gl=US

画像はBlueMSXです。ウィンドウの左上にある丸い大きなボタンをクリックするとMSXエミュレータが起動し、BASICシステムが起動します。

まずはプログラミングの定番。Hello Worldをやってみましょう。画面に「Hello BASIC World」と表示するプログラムです。以下のようにタイプしてEnter(Return)キーを押します。

PRINT "HELLO BASIC WORLD"

問題なければ、入力したコマンドのすぐ下の行にHELLO BASIC WORLDが表示されるはずです。

このようにPRINT構文では””で囲ったテキストを画面に表示させることができます。

Algorithm Biorhytm 's musics are legacy electronic sounds and performance.