« NEC PC-8001 その5 | メイン | 富士通 FM-7 »
2017年9月24日
CASIO PB-200 その3
10日の日記のその後です。小さくて電池駆動できるということで気軽にいじれるポケコンですが、実際にBASICでプログラムを組もうとすると、こいつはかなりハードで、歯ごたえのあるプラットフォームですね(^^;)
まずメモリが1.5KBしかない(先代のPB-100でも動くように考えたら0.5KB)というのは、思ったより厳しいです。実際にはバイト単位ではなくプログラムのステップ単位のようで(変数用のメモリは別に確保されているらしい)残りステップ数が画面に表示されるのですが、まあどちらにしてもテキストなら半角1500文字くらいと考えると、かなり少ないことが分かります。
また変数はA〜Zの26個と、あと特殊な変数がいくつかある程度で、大きなプログラムを作ろうと思ったら、これまた厳しい制限です。なお26個の変数は数値か文字列のどちらかとして使用でき、文字列の場合は7文字までとなります。つまり変数1つで8バイトということですね。配列も使えますが、この26個の変数を利用して行います。使用可能なステップ数を削って変数の数を増やすことも可能なようですが、焼け石に水という感じです。
また、数値を文字列に変換するような関数(STR$やHEX$のようなもの)がなく、これが意外と実用的なプログラムを組むための障害となります。
何か作ってみようと思っていたのですが、この画面の狭さも相まって(プログラムの編集が大変)ちょっと挫折しそうです(^^;)
一方、通常のBASICにはないポケコン独自の特徴があることにも気づきました。例えばPRINT文は画面に表示したあと自動的にプログラムが一時停止され、EXEキーが押されるまで待つようです。これは画面が1行しかないので当然かもしれませんが、プログラムを組んで止めなくていいのは便利です。
また、INPUT文で数値を入力させるプログラムを組むと、単なる数値だけでなく計算式も入力できるという素晴らしい機能があることに気づきました。これは前回書いた電卓としての機能がそのまま生きているのでしょうね。例えば以下のようなプログラムです。
20 PRINT A*1.08
実行(RUN)すると画面に?マークが表示されキーボードから数値の入力待ちとなります。ここまでは通常のBASICと同じですが、ここで数値だけでなく式(例えば100+200+300など)を入力してもエラーになりません。もちろん、括弧などの入力もOKです。入力された計算式は自動的に計算されてから、変数Aに代入されます。これまで私が経験してきた(この時代の)マイクロソフト系のBASICでは、みんなエラーになっていたと思います。
ちなみに行番号20では、入力された値の消費税計算をして、画面に表示しています。つまり、このたった2行のプログラムで、簡易レジスターのようなソフトウェアが作れたことになります!(^^;)
これだと1回計算するたびにプログラムが終了してしまうので、更に以下の1行を追加すれば、繰り返して計算ができます。
PBシリーズはオプションとしてレシートサイズの小型プリンタも用意されていたので(本体に内蔵している機種もあった)そちらにも印字するよう改良すれば、更にレジらしくなりますね。
ただ、こうやってGOTO文などで無限ループのプログラムを書くと、それを停止する方法が分かりません(^^;) 他の機種のようにSTOPキーで止まるのかと思ったらだめみたいです。改めてモードやプログラムバンクを切り替えると止まりますが、ちょっと不便です。他に何か方法があるのでしょうか?
コメント
よろしければコメントしてください。
※メールアドレス以外の項目はこのページ上に公開されます。個人情報などの入力にはご注意ください。