Nの世界

【 txt2bas流用の可能性 】

●はじめに

ベーマガライブラリを企画してから急に昔、雑誌やプログラミング本に
載っていたプログラムを打込みたくなってきました。
しかし、エミュ上でBASICやマシン語を打込むのは、今のWindows環境に
馴染んでしまった今、非常に辛いものがあります。
確かに根性出せば打込みは可能ですが・・・。せめてノートパットや秀丸等の
テキストエディタから打込むことが出来れば楽ですが・・・。
しかし、ベーマガ関連の資料を探っていた時に、他機種(PC-6001)ながら
面白そうなツールを発見しました。
それが、「txt2bas」である。
このツールは、テキストファイルにあるBASICプログラムをcmt形式(P6DatRecと同じ)に
変換してくれるので、あとは、X88000でロードすれば理論上上記要求を満たすことが出来るはず。
※「txt2bas」は、「iP6 homepage」から入手してください。

●実験プログラムの準備

本当に変換出来るのか?以下のようなプログラムをテキストファイルで作成してみました。
10 print "test1"
20 print "test2"
[EOF]
これを、test.txtにセーブします。

●実際に使ってみる

txt2bas 変換元ファイル名 変換先ファイル名
変換可能なので、以下のコマンドを入力して実際に変換しました。
txt2bas test.txt test.cmt
※test.txtは上記で作成したファイルを指定。txt2bas.exeと同じ場所に置きます。
とりあいずそれらしきファイルが出来たので、X88000でロードしました。(NBASICモード)
ちなみに、ロードファイル名は、"t2b"固定です。

結果は失敗。見事に次のようにプログラムが化けました。
10 on "test1"
20 on "test2"
[EOF]

print文を誤認識しているらしいことが判明したため。
pc6001に無い命令を含めたプログラムで実験してみました。
10 width 40,25
20 print "test2"
[EOF]

これを先ほどと同じ手順で作成し、変換しました。
結果、PC-6001に無い命令は正しく変換されました。
10 width 40,25
20 on "test2"
[EOF]

●結論

普通なら、PC-6001でしか使えないと位置付けるのですが、幸い?なことに
ソースが付いていたので、ちょっと見てみました。
数分ソースを見た感じでは、p6code.hに定義されている文字、命令が別コードに
変換してcmtファイルを作っていることが判明しました。
(中間言語の変換表だと思うのですが・・・。)
ここをPC80/88用書き換えてリコンパイルすれば、何とかなると思います。
しかし、現在手持ちの資料ではV1(初代88)モードの中間コード表しか
無いため、現時点では断念しました。(爆)
もし、興味のある方が、いらっしゃいましたら、是非挑戦して見て下さい。

P.S これが上手くいけば、同サイトにある「P6EDIT」と一緒に併用したいのですが・・・。


【 diskdrvでBASICプログラミング 】へ続く



[戻る]