やってみましょう!MSXBASICその1-2

・保存するディスクを作る
・ロードする
・実行する
・簡単な選択プログラム
・BASIC自動実行機能を使う
その2へ進む

ゲーム編はこちらです

保存するディスクを作る

保存ディスクはユーザーディスク、プログラムを保存したい場合に作ります。
使用可能メディアは2DDまたは2HDを使うことができます。
まず、ファイルを保存できるように何も入っていない2DDディスクをドライブに入れてみましょう。 

なお、1chipMSXのSDカードは指定されたフォーマットを行ってください。

 CALL FORMAT

と打ち込みましょう。これからフォーマットを行います。

 Drive name(A,B)

Aドライブのフォーマットですから、Aを押しましょう。

 1−1 side ,single track
 2−2 sides,double track

 ?

ここでは両面書き込みの2。

 Strike a key when ready

何かキーを押すとはじまります。

※表示中に中止の場合は[CTRL]+[C]です。

 Completed

これで準備が完了しました。

MSX-FDD

この機能でMSX−DOS(2)のディスクをAドライブ、Bドライブを保存するディスクにすれば
システムファイルをコピーしなくてもMSX−DOS(2)を動作することができます。
また2ドライブシミュレーションは
MSX−DOS(2)の機能で転送元がAドライブ、転送先がBドライブにもできます。
 2HDの場合、ディスクの□の穴が左右にあります。右側の穴をセロテープでふさいでください。
フォーマット済みディスクでは形式が異なりますので、MSXフォーマットに必ず行います。
MSXパソコンではフロッピーの入れ替え操作が必要な為に1chipMSXが考案されたのです。

簡 単なファイル操作

FILES

を実行すると

A:¥
TEST1   .BAS MINI    .BAS
TEST2   .BAS SELECT  .BAS
TEXT    .TXT AUTOEXEC.BAS

Ok
とファイルのリストが表示されます。

<<BASファイルのみ表示>>
FILES”*.BAS”

<<TEST01.BAS、TEXT9.BASなどを表示>>
FILES”TE?T*.BAS”

<<TEST10.BAS、TEST8.BAS、TEST777.BASなどを表示>>
FILES”TEST*.BAS”

<<AUTOEXEC.BASのみ表示>>
FILES”AUTOEXEC.BAS”

MSXBASICファイルのロード

MSXパソコンのROMBASICではCLOADでしたが、
DISKBASICになり、ファイル名8文字+拡張子3文字の11文字で
COMファイルはMSX-DOS、BASファイルはBASICと決まっていますが、
MSXは基本的に拡張子を自由に変えることができます。


今回はDISKBASICのコマンドです。

<<TEST.BASをロードする>>

LOAD”TEST.BAS”

ROMBASICの場合、CLOAD"TEST"はバイナリ 形式でLOAD"TEST"はアスキー形式
でしたが、どちらもLOAD"TEST.BAS"でロードできます。

ロードのコマンドはLOADで十分です。
これからは、このサイトに多数あるファイルをダウンロードしてやってみてください。

さまざまな実 行方法

[F5] キーを押して実行します。

<<最初から実行する>>

RUN

<<指定された行から実行する>>
RUN 300

<<指定されたファイルから実行する>>
RUN"TEST.BAS"

<<実行環境を作り再度実行させる>>
FX=127:GOTO160

このように実行環境をあらかじめ作ってから
指定行で実行させることが可能です。
RUNとは違いGOTOは初期化しないのが特長です。
ここまで、できればかなりのMSX通でしょう。

プ ログラムを止める

<<実行中のプログラムを中断>>
実行を中断するには[CTRL]を押したまま、[STOP]を押します。

Break in 230
Ok

プログラムをプロセスごとに調べたい場合はプログラムの途中の
区切りがいいところでENDを入れます。
ここでデータ、変数が正常に機能しているかをPRINT命令で調べることができます。

<<100行と110行の間で実行を一時停止するブレイクポイント>>

105 I$=INPUT$(1)

例えば実行すると
「一瞬は正常に表示されて消えてしまった」というような事がありませんか?
そういう場合に一時停止させます。
プログラムのとめる場所をブレイクポイントと呼んでいます。
ちょっとレベルが高いですが、もう1つやってみます。

<<100行の条件処理をしたかのアラーム>>

100 IF A$=”3” AND SX>32 THEN SX=0:BEEP

これは100行の条件処理を実行中にしたかのアラームです。
SX=0の後にBEEPが入っていますね。
プログラムが複雑になると予測ができなくなります。
そこでアラームを加えて処理をしているか?していないか?を判断できます。
また、音ならばユーザーはキークリック音(確認音)と判断するので
音くらいのデバッグ処理ならば残すこともできます。そう考えると…
地味なプログラミングはゲームに見えてきませんか?

簡 単な選択プログラム

FILES

A:¥
TEST1   .BAS MINI    .BAS
TEST2   .BAS SELECT  .BAS
TEXT    .TXT AUTOEXEC.BAS

Ok

10 CLS:LINEINPUT"FILE:";A$
20 IF A$="MINI" THEN RUN"MINI.BAS"

 このように「MINI」と打つことで実行させることができます。
IF〜THEN(イフ〜ゼン)は条件処理に使いますので、覚えると便利です。
今度はショートカットのようにしてみることにします。

<<「M」と入力して実行させる場合>>
20 IF A$="M" THEN RUN"MINI.BAS"

全部入力をすればMSXBASICを実行できます。

20 RUN A$

実行できないファイルの場合MSXBASICに箱根寄木細工のサヤ形を読み込む
Direct statement in fileというエラーやBad file modeなどと表示します。

<<文字とファイル名を表示してみる>>

こんな感じでタイトルを書くとわかりやすくなります。

100 I$(0)="テストプログラム,TEST1.BAS"
110 I$(1)="ならびかえプログラム,TEST2.BAS"
120 I$(2)="ミニゲーム,MINI.BAS"
130 I$(3)="きどうプログラム,AUTOEXEC.BAS"
140 FOR I=0 TO 3
150 PRINT I$(I);:LOCATE 0:I$=INPUT$(1)
160 IF I$=CHR$(13) THEN 190
170 NEXT
180 END
190 PRINT I$(I)

190行はリターンキーを押して表示で終わっています。
”きどうプログラム,AUTOEXEC.BAS”
はカンマから後はプログラム名です。
まず、INSTRでカンマの文字列を調べて
左端からの文字を取り出すのはLEFT$で
ここでは右端からの文字を取り出すのはRIGHT$です。
これを使って、使っていない変数をR$でもよいでしょう。
R$にAUTOEXEC.BASを入れましょう。
RUN R$まで書いて保存すればOKです。

BASIC 自動実行機能を使う

BASICファイルをAUTOEXEC.BASに変えれば
次回からは自動的に実行されます。
SAVE"AUTOEXEC.BAS"

すでにBASICファイルがある場合は次のようにします。

<<AUTO.BASをAUTOEXEC.BASに変える>>

NAME”AUTO.BAS”AS”AUTOEXEC.BAS”
Ok

<<AUTO.BASをAUTOEXEC.BASにコピーする>>
COPY"AUTO.BAS"TO"AUTOEXEC.BAS"
Ok

AUTO.BASというファイル名も使いたいし、AUTOEXEC,BASを使いたい場合は
AUTO.BASと同じものをAUTOEXEC.BASに作ります。
このページを読み終わる頃にはMSXファイルを実行できると思います。

 まだまだ、ページはあります。MSXにトライがんばってください。

次へ-トップへ