BASICプログラムは、そのままの状態でシリアルポートから送受信する事ができません。
送受信する時は、必ずTEXTモードで「変換」という作業が発生します。
これは、BASICプログラムがポケコン内部では「中間コード」という形式で扱われているからです。
仮に、次のプログラムをポケコンに入力したとします。
10 INPUT A 20 INPUT B 30 C=A+B 40 PRINT C
これをそのままの形でポケコンのメモリに保存しようとすると、1バイト文字が41字、改行(CR+LF)が3個、EOFが1個の、計48バイトが必要です。
これでは長いプログラムを記述すると、少ないポケコンのメモリがあっという間に食いつぶされてしまいます。
また、命令を実行する度に、「文字→命令」の翻訳作業を行わなければなりません。
そこで、BASICプログラムは「中間コード」という形式で保存されています。
詳しくは「ポケコンの場所-命令関係」が詳しいので、そちらをご覧下さい。
ポケコンの内部形式である「中間コード」は、そのままではプログラマにも読めない、テキストで転送しても意味不明な文字の羅列であるため、テキストで書き出す前には中間コードを人間に読める文字(テキスト形式)に変換する必要があるのです。
ポケコンに保存されているBASICプログラムをパソコンに転送するには、中間コードで保存されているBASICプログラムをテキスト形式に変換する必要があります。
まずは転送用のBASICプログラムを用意します。
10 INPUT A 20 INPUT B 30 C=A+B 40 PRINT C
次に、TEXTモードにします。
TEXTキーを押します。
*** TEXT EDITOR *** Edit Del Print Sio File Basic Rfile
Bを押します。
<< BASIC CONVERTER >> Basic<text Text<basic
中間コードからテキスト形式にするので、Tを押します。
このときテキストエリアに何かが入っている場合は、上書き確認されます。
<< BASIC CONVERTER >> Basic<text Text<basic TEXT DELETE OK? (Y)
相当長いプログラムでなければ、変換はすぐに終わり、TEXTメニューに戻ります。TEXT EDITOR <
この状態で下キーを押します。
10INPUT A 20INPUT B 30C=A+B 40PRINT C
後は「テキストファイルの転送」の要領で、パソコンに転送する事ができます。
では今度は、テキスト化されたBASICのプログラムを、実行できる形式に変換します。
前の説明が終わった段階で、BASICプログラムエリアとTEXTエディタには「見た目が同じ」BASICのプログラムが入っています。
では、テキストからBASICプログラムに変換するために、BASICのプログラムを消去します。
BASICキーを押し、PROモードにします。
当然ですが、TEXTモードからなら2回押してください。
PROGRAM MODE >
躊躇なくNEWします。
PROGRAM MODE NEW >
これでBASICプログラムは消えました。では、TEXTモードに戻りましょう。
TEXTキーを押します。
*** TEXT EDITOR *** Edit Del Print Sio File Basic Rfile
Eを押して下キーを押し、テキスト化されたBASICプログラムがある事を確認して下さい。
TEXTキーを押してTEXTメニューに戻り、Bを押します。
<< BASIC CONVERTER >> Basic<text Text<basic
テキスト形式を中間コードに変換するので、Bを押します。
TEXTメニューに戻るので、BASICキーを2回押し、PROモードに移動します。
PROGRAM MODE >
上キーか下キーを押すと、中間コードに変換されたBASICプログラムが表示されます。
RUNモードで実行できる事を確認して下さい。
パソコンから受信した「テキスト化されたBASICプログラム」を実行できる中間コードに変換する方法も、全く同じです。
これまでの説明の要点をまとめると
ということです。
BASICプログラムは直接パソコンとやりとりできない事に注意して下さい。