BASICプログラムを転送しよう

BASICプログラムは中間コード

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プログラムをテキスト形式に変換する必要があります。

まずは転送用の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メニューに戻ります。
E(Edit)を押せば、テキスト形式に変換されたBASICプログラムを確認する事ができます。

TEXT EDITOR <

この状態で下キーを押します。

10INPUT A 20INPUT B 30C=A+B 40PRINT C

後は「テキストファイルの転送」の要領で、パソコンに転送する事ができます。

テキスト形式からBASICプログラムに変換する

では今度は、テキスト化されたBASICのプログラムを、実行できる形式に変換します。

前の説明が終わった段階で、BASICプログラムエリアとTEXTエディタには「見た目が同じ」BASICのプログラムが入っています。
では、テキストからBASICプログラムに変換するために、BASICのプログラムを消去します。

BASICキーを押し、PROモードにします。
当然ですが、TEXTモードからなら2回押してください。

PROGRAM MODE >

躊躇なくNEWします。

PROGRAM MODE NEW >

これでBASICプログラムは消えました。
上下キーを押しても、LISTを実行しても、プログラムは表示されません。
RUNモードでRUNしても何も起きません。

では、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プログラムをパソコンとやり取りするときのまとめ

これまでの説明の要点をまとめると

ということです。

BASICプログラムは直接パソコンとやりとりできない事に注意して下さい。