やってみましょう!BASICその2

改訂版へ戻る
・Syntax errorで友達のように
・キーボードを使う
・BASICで使う特殊記号
・キーボードリピート
・MSXパソコンは誤作動しない
・プログラミングと中断後の復帰方法
その1-2へ進む

ゲーム編はこちらです

MSX擬人化計画:FM-X

MSX擬人化計画:FUJITSU FM-X


■BASIC画面に慣れる

MSXパソコンはこの青画面で素晴らしい機能を発 揮してくれます。
日常のあらゆる計算もこの画面でプログラムすれば可能になります。
今となっては少し恥ずかしいのですが、MSXパソコンはここからスタートです。

MSX:テキスト画面

次に最下段にある表示は[F1]キーから[F5]キーまで押してみます。

■Syntax errorで友達のように

このようにReturnまたはEnterを入力するとSyntax errorと表示されます。
color auto goto list runをパソコンはエラーを警告音と文字で「わからない」と、言っているのです。
エラーはパソコンの誤った操作になりそうな場合に表示する警告メッセージです。
またエラーメッセージの原因の解説もwebページでやっていますから
難解なMSXBASICの解説書よりも数時間早く覚えることができます。
このように数種類のエラーがわかればMSXもわかってくると思います。
MSXは英数小文字であっても英数大文字のように処理をしてくれます。

また、この話はキーボードの説明の後にします。

■キーボードを使う

キーボードは英数タイプライターを基本とした万国共通のQWERTY配列です。
まず、CAPSランプを点けたり消したりして、入力をしてみましょう。
次に左手でShiftを押しながら英数を入力してみましょう。
これでどのような時に小文字、小文字になるのかわかってきます。

キーボードのキーの刻印について見て見ましょう。
& ぉ
6 お

直接入力モードではCAPSランプでは左下、かなランプでは右下になります。左上、左下はShiftキーを使います。
MSXの場合は大文字主体のプログラミングになります。

次にMSX独自のキーとしてGRPHキー(グラフキー)があります。
 これはテキストで罫線を引いたり、漢字などを表示させることができます。
月火水木金土日…を入力する場合はGRPHキーを押しながら12345となります。
その他トランプのマークもあり、マイクロソフトのトランプはこの時代までつながっています。

※MSX2の機能としてローマ字変換があります。ひらがなの場合SHIFTを押しながら、かなを点灯させます。

■BASICの日本語入力は

*MSXBASICでは

MSXの標準はABCのテキストエディタで限られた漢字になります。
日本語入力はASCIIとコード体系が異なるのでMSX2+以前の機種では対応されていません。
日本語入力はMSX-Writeなどのソフトウェアを使います。
後は次世代日本語入力プロジェクトのケータイ入力のようにテキストを書くソフトなどになります。

*N88BASICでは

日本語BASICを使用します。[CTRL]+[XFER]で入力のON/OFFができます。

*99BASICでは

Windows標準の漢字ドライバを使用できます。

■BASICで使う特殊記号

これから”「ダブルクォート」を使っていきます。
この記号はキーボードの左上の123の2にあります。
[Shift]+[2]を同時に押すことで入力できます。
*「アスタリスク」、米印に似た記号です。
この記号はキーボードの右下にあります。
[Shift]+[*]を同時に押すことで入力できます。
?も同様です。そのほか
CapsONでピリオドは「る」、アンダーバーは「ろ」
コロンは「け」、セミコロンは「れ」
のキーになります。

■キーボードリピート

キーを押したままにすると右端からまた左端へ表示されます。
文字幅が29文字の場合30文字は画面では改行されて次の行になります。
プログラミングの場合はReturn キーを押した時のみ行番号が 改行されます
これは後ほど説明します。

■MSXパソコンは誤作動しない

初期の画面で落書きのような画面ですが、この画面操作を覚えることでMSXBASICを操作できます。
DISKBASICなので念のためにフロッピーは抜いておきましょう。

キーの練習をやってもキーボードを掃除してもパソコンの環境が変わったり壊れることはありません。
おかしい場合は[ctrl]+[stop]で止めましょう。

もし、違うエラーが出た場合はこちらにあります。
http://www.geocities.jp/fullmsx2/u-yan/basic/message.html

エラーというのは一般的な誤操作で復帰しやすいのですが一番こわいのは
正常に処理されたような見えない不具合、暴走などのバグなのです。

■プログラミングと中断後のプログラムモードの復帰方法

BASICは[CAPS]、[shift]+[caps lock]でCAPSランプを点灯させた状態でキー入力を行います。

実行をして[ctrl]+[stop]を押して通常の画面に戻します。
文字の表示されていない状態でプログラムを打ってみましょう。
この初期画面になっていない場合は次のコマンドを入力します。

*99BASIC、N88-BASICでは

[Break]キーで中断します。

■グラフィックモードを使う

MSXBASICでは文字とグラフィックを同時に表示することはできません。
グラフィックを表示する場合はモードを設定します。

10 COLOR15,1,0:SCREEN5
20 FOR I=0 TO 255 STEP 4
30     LINE(I,0)-(I,200),3
40 NEXT
50 I$=INPUT$(1)

*99BASIC、N88-BASICの場合
グラフィックが表示されている場合は
CLS 3でグラフィック画面を消します。
10、50行は不要です。

■プログラミングのエラーとバグ

プログラムはエラーとバグが存在します。
エラーはエラーメッセージなどです。
このエラーがわかってくると今度はバグが現れてきます。
上のプログラムは実行後のIは255のままです。
BASICにはC++などと比べると古い言語ですから
変数、文字列は格納されたままです。
この数が255で入ってI=0と入力をしないでI=I+1、IF I>7 THENと
7以上ならば分岐などと書き進めると不具合(バグ)になります。
不具合というのはプログラムは正しく、数値が異常という状態です。
このバグを修正することをデバッグと呼びます。
この場合はA=3と数を入れ直して実行させるような一時的な変数にします。
また不要ならば初期化して数字、文字列をゼロ(空)にします。

■画面をプログラムモードに戻す

SCREEN命令は文字の色、スプライト表示などでVRAMを初期化したい場合に
モードの初期化の2つの使い方があります。

文字を消す場合はCLSまたはPRINT CHR$(12)
です。

*MSXBASICでは

画面を消す場合はSCREEN1または
プログラムで指定したSCREEN番号とCLSです。

ゲームによっては画面色が変わっている場合もあります。
color15,4,7で初期の色に戻します。
これは[shift]+[F1]で[F6]キーになります。

*99BASIC、N88-BASICでは

CLS 3

画面と文字を消します。

■プログラムを消す

プログラムを中断して新たに組み直す場合に使います。

NEW

■MSXから99BASIC、N88-BASICに移植

スペースを詰めないで入力することで
MSXBASICの大半の命令は実行できると思います。


■メモリの容量の設定をしてみよう

記憶する文字数によって変化します。
プログラムも3画面以上になってくると
文字列領域が足りなくなってOut string space in 140というエラーが出ます。
そこで初期の段階で設定します。初期の状態では300です。
この数値は大まかなものでよいです。
<<文字列領域を1000に設定する>>
CLEAR 1000

■入力しやすい画面を選びましょう

MSXはプログラム画面が
初期の状態ではSCREEN1の32文字表示です。
WIDTHで文字幅を決めます。
SCREEN1では読みやすい文字で32文字までです。

*MSX2でN88BASICのような文字幅に

MSXBASICでプログラムの構文が2行になるような
長い場合には1行にすることができます。
32文字が最大80文字までの範囲になります。
この画面では文字が小さくなります。

SCREEN0:WIDTH 80

■ゲームポートに差し込んで試す

キーボード以外のI/Oゲームポートからの設定です。
抜き差しは起動中でもできます。
ゲームポートにハードウェアが差し込まれている状態で行います。

<<1ポートのAボタンを押す>>
10 FORI=0TO1
20 I=-STRIG(1)
30 NEXT

■データレコーダのCLOADを中断する>>

CLOAD
実行の中断を練習してみましょう。
カチッと音がしたら[ctrl]+[stop]を押します。
Device I/O errorという表示が出ることがあります。
これは入出力のエラーをして止まったことです。

この[ctrl]+[stop]は実行を中断するコマンドで
MSXBASICプログラムが正しい動作をしていても思った動作ではない場合など
処理を中断させることができます。

■グラフィックの設定

現在のテキスト画面からグラフィック画面に描くモードの設定です。

<<ラインを引く>>
10 SCREEN5
20 SETPAGE2,2
20 LINE(0,0)-(100,100),15
30 I$=INPUT$(1)

■ダイレクトコマンドで音を出す

初期の状態ではPSGの音源をMMLで設定します。

<<テンポ120、ボリューム10、4分音符のドレミ>>
PLAY"T120V10L4CDE"

もし、動かなくなった場合は[ctrl]+[stop] または [ctrl]+[page up]で中断します。
まだ、一部ですがこのような設定を最初に行うことでプログラミングができます。

■MSXはカートリッジを差し込むことで環境が変わる

MSXパソコンはMSXカートリッジ、FDDなどハードウェアを差し込むことで自動的に環境が設定されます。
アプリケーションが起動するか、MSX-DOS(2)を起動する場合、システムディスクが必要になります。
また、MSXはROM1、ROM2とハードウェアにメモリがあるインタースロットコールのメモリ切り替えのみで
メインRAMのメモリに割り当てる方式ではないのでコンフィグレーションファイルはMSXパソコンにはありません。
何も差し込まれていない状態ではMSXBASICの画面になります。

※ROMBASICをDISK用に拡張した
MSXDISKBASICが内蔵されている機種もあります

目次へ - 次へ