Casio Basic のバージョンとバグ
2015/06/19
追記: 2015/06/20
追記: 2015/06/21
追記: 2017/10/10
追記: 2015/06/20
追記: 2015/06/21
追記: 2017/10/10
先日、OS Ver 2.00 の fx-9860GII で Casio Basic を走らせる機会がありました。このプログラムは OS 2.04 では正常動作しているものです。すると、以下の記述でエラーが出ました。
E=0⇒Locate 14,2,"(-):Stop"
この fx-9860GII の OS を Ver 2.00 から 2.04 へバージョンアップしてみると、エラーが消えました。
Ver 2.04 から 2.00 に戻せないので、詳細の確認は出来ていませんが、おそらく ' : ' (区切りコード)が、字句解析で失敗して文字列の一部として認識されずに、区切りコードとして認識されたことがエラーの原因ではないかと推察されます(
sentaro様によれば、fx-9860G の OS Ver 1.04 や CFX-9850GC PLUS の OS Ver 1.04 でもエラーが出るのを確認されたとのことです。つまり、OS Ver 2.00 以前では、このエラーが発生するようで、最新の Ver 2.04 でバグが解消されていると分かります。
[2015/06/20 追記]
sentaro様から頂いた情報では、fx-9860G の OS を Ver 2.01 にして確認したところ、表示する文字列に : (区切りコード)が含まれる場合エラーが出るとのことです。文字列から ' : ' を外してみるとエラーが出なくなることから、区切り文字の字句解析に失敗しているようです。
=====
最新OS は機種により異なります。
- fx-CG20 / fx-CG10: Ver 2.00 [更新日:2014/04/09]
- fx-980GII: Ver 2.04 [更新日:2014/04/16]
- fx-9860G: Ver 2.01 [更新日:2011/06/03]
もし、OS バージョンと Casio Basic バージョンが同じならば、fx-CG20 / 10 の OS 2.00 では上記のエラーが発生することになります。
エラーが発生しなければ、OS バージョンと Casio Basic バージョンは別ということになります。
このあたりは、今は未確認ですが、興味があります。
コメント欄で情報を頂ければ、記事に反映させて頂きたいと思います。
何か必要性がなければ、OS は最新にしておくと、Casio Basic のバグも解消されているようです。
[2015/06/21 追記]
コメント欄にて、sentaro様から情報を頂きました。ありがとうございます。fx-CG10 PRISM は、OS Ver2.00 ですが、今回のエラーは発生しないとのことです。機種毎に OS がバージョンアップされますが、おそらくそのタイミングで バグフィックスされているようです。
なお、今回は Locate コマンドに指定する文字列でエラーが発生しましたが、旧来の入力命令 " " については、エラーにならないとのことです。Basic コマンドとしての Locate を実装した初期段階でこのバグが入り込んだと考えられます。そして、今は解消しています。
=====
2006 年発売の fx-5800P のCasio Basic は一貫して同じなのか、それとも少しずつバージョンアップしているのか、興味のあるところです。fx-5800P のシリアルナンバー/製造ロットが、イースターエッグで確認できると、面白いですね。
fx-5800P のROMに書き込まれているであろうシリアル番号をチェックするためのキーの組み合わせを知りたいところです。
[2017/10/10 追記]
fx-5800P のROMバージョンを調べる方法が見つかっています。
⇒ fx-5800P のイースタエッグ - 自己診断機能
シリアル番号はここでは管理されていないようですが、Casio Basic はROMバージョンに依存すると思われるので、何か問題が見つかった際には、ROMバージョンと共に調べることはできそうです。
応援クリックをお願いします。励みになるので...