Casio Basic のバージョンとバグ

2015/06/19
追記: 2015/06/20
追記: 2015/06/21


先日、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 でバグが解消されていると分かります。

Ver 2.01 はどうなのかも今は不明です。
[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 も同じかどうか、まだ未確認です。

もし、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に書き込まれているであろうシリアル番号をチェックするためのキーの組み合わせを知りたいところです。今のところまだ見つかっていません。






応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


  
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

2.01でもNGでした。

管理人様、こんにちは!

手持ちのfx-9860Gを2.01にしてチェックしてみました。

Locate 7,2,"EXE:NEXT”の
Tと”の間でカーソルがブリンクしてエラー発生です。
エラーを解消するには「:」を削除すればよいので「:」がエラーに絡んでいるのは間違いなさそうです。

これは以前の1.04でもCFS-9860GC+でも同じ箇所でエラーが起きていたのですが、2.01まではこのバグがありということですね(^^;

Re: 2.01でもNGでした。

sentaro様

チェックありがとうございます。

2.01 でもエラーと言うことですね。

ところで、fx-CG10 のOS は、2.00 ですよね。
これでは、エラーは解消されているかどうか、お分かりでしょうか?

Casio Basic のバージョンが、OSバージョンと連動しているならば、fx-CG10 の OS 2.00 でアウトの筈です。
fx-CG10 OS 2.00 で問題ないならば、OS と Casio Basic のバージョン番号は連動していないということが分かるので、ちょっと興味があったりします。

Re: 2.01でもNGでした。

sentaro様

御願いついてに、もう一つチェック頂けないでしょうか?

ご確認頂いたエラーは、Locate コマンドでのものです。

旧来の出力命令” ”に区切り文字が入る場合は、如何でしょうか?

旧来の命令は、入力位置の管理が Locate とは別系統で行っていて、従って内部ルーチンは昔のままと思われます。区切り文字も古くからあるものなので、旧来の出力命令ではエラーが出ない可能性が考えられるのです。

No title

管理人様、こんにちは!

>ところで、fx-CG10 のOS は、2.00 ですよね。
>これでは、エラーは解消されているかどうか、お分かりでしょうか?

CG10の2.00ではfx-9860GIIの2.04同様にエラーは出ない模様です。
ベクトル命令新設とかで、CG10の2.00とfx-9860GIIの2.04のOS更新内容が同じなので、同様のバグ修正が行われたものと思われます。
CG10とfx-9860GIIではバージョンNo.よりもアップデート更新時期で判断するのがよさそうですね。


>旧来の出力命令” ”に区切り文字が入る場合は、如何でしょうか?

これはどのバージョンでもエラーにならないです。

管理人様が推測されている通り、Locateコマンドが新設されたときに発生したバグという感じがしますね。
最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム関数電卓は、プログラムを作り・使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。
にほんブログ村 IT技術ブログ 開発言語へ
にほんブログ村


人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR