温故知新 - fx-9860GII
プログラム電卓 温故知新
- 搭載プログラミング言語に注目して、プログラム電卓の変遷を考える -
2021/08/12
追記修正 2021/08/15
過去から現在に至る性能や仕様の変化を調べ、プログラミング言語を中心にカシオ製プログラム電卓の系譜を明らかにする。
8. 新世代 Casio Basic の進化 - Casio Basic とハードウェアの改善
今回は、fx-9860GII を取り上げる。このモデルは、fx-9860G の直接の後継機として日本国内で 2009年10月に新発売された。
▶ 2009年10月発行のカシオ電卓総合カタログ
初めてOSがアップデートできるようになった 2005年発売 fx-9860G の後継モデルが fx-9860GII であり、OSのアップデートに対応している。Casio Basic はOSに含まれているので、OSアップデートに伴い Casio Basic もアップデートされる。
2009年発売当初の fx-9860GII のOSバージョンは 2.00 であり、その後 2.01、2.04、2.09 とアップデートされてきている。ところで、1つ前のモデル fx-9860G のOSバージョンは1.xx であったが、fx-9860GII の発売に合わせて fx-9860G 向けのOS2.0x のアップデーモジュールも提供された。1つ前のモデルにも同じ機能が適用可能になるというのは、製品寿命の長い電卓製品ならではの良いサービスだと思う。
fx-9860GII には前期型と後期型があり、それぞれで使われているCPUが異なる。前期型は fx-9860G と同じルネサス(日立)製SH3カスタムチップが使われており、後期型では SH4Aカスタムチップが採用されている。
前期型、後期型ともに、fx-9860GII と fx-9860GII SD が発売された。SDバージョンにはSDカードスロットがあり、プログラムやデータをSDカードに保存できる。純正 Casio Basic では、残念ながらSDカードにあるプログラムを起動することはできないが、SDカード内のデータは保存用として使え、さらにデータリンクによりPCに転送できる。SDバージョンは、青とシルバーの塗色が使われており高級感があると思う。
SH3が採用されている前期モデルは、fx-9860G(SD) と fx-9860GII(SD) ともに、液晶の下に USB POWER GRAPHIC と表記されている。SH4A が採用されている後期型の fx-9860GII と fx-9860GII SD では、液晶の下の表記は末尾に 2 が追加され USB POWER GRAPHIC 2 と変化している。

fx-9860GII SD (SH3) fx-9860GII SD (SH4) fx-9860GII (SH4)
(バックライト点灯) (バックライト消灯) (バックライト消灯)
世界で初めて液晶のバックライトが搭載されたのが fx-9860G Slim であったが、元のモデルである fx-9860G や fx-9860G SD にはバックライトは搭載されていなかった。このバックライト機能が fx-9860GII と fx-9860GII SD に標準的に搭載された。fx-9860GII には Slim バージョンが用意されなかったが、有れば絶対に入手していたと思う。Slim バージョンがなかったのはとても残念だ (fx-9860G Slim の勧め)。
2009年に発売された fx-9860GII の Casio Basic を含むソフトウェアとハードウェアの基本機能は、2021年月現在の最新機種 fx-CG50、fx-9860GIII、fx-9750GIII にほぼそのまま引き継がれており、Pythonモード以外で大きな違いがない。その完成度の高さを示している。
▋Casio fx-9860GII
fx-9860GII が、国内では 2009年10月に発売開始された。
カタログ
取扱説明書 ハードウェア (e-Gadgetサイト)
取扱説明書 ソフトウェア OS2.00 (e-Gadgetサイト)
取扱説明書 ソフトウェア OS2.04 (e-Gadgetサイト)
取扱説明書 ソフトウェア OS2.09 (e-Gadgetサイト)
fx-9860GII / fx-9860GII SD の前期型には、ルネサス(日立)製SH3のカスタムチップ SH7705 が搭載され、液晶の下に USB POWER GRAPHIC と表記されている。後期型には、ルネサス(日立)製 SH4Aのカスタムチップ SH7305 が搭載され、液晶の下に USB POWER GRAPHIC 2 と表記されている。
メインメモリは 64KBで、Casio Basicを含めたOSが格納されている。アドインプログラムに使えるストレージメモリは 1.5MB ある。アドインプログラム作成用のSDKは、fx-9860G 用のものがそのまま使える。SDKの入手
fx-9860GII SD は、表のシルバー塗装と濃い青色塗装が施されている。
▍ハードウェア
fx-9860G に比べて fx-9860GII / fx-9860GII SD の液晶は応答性・視認性が少し悪化しているが、その一方でバックライト機能が追加された。バックライトにより暗い部屋でも画面が見やすくなり画期的だと思う。中高年の目にも優しい。
重量は fx-9860G より13.5%軽くなり、寸法も若干小さくなった。電池寿命は少し短くなった。
▍関数電卓としての性能
▶分数表示と演算精度
235÷658 を計算すると 0.3571428571 と表示される。ここで、[F↔D]キーを押すと 5/14 と表示される。計算精度は内部15桁だ。
▶複素指数関数
eπi を計算してみる。計算できれば答えは -1 になる。
1つ前の機種 fx-9850GC PLUS では複素指数関数の計算ができず、演算エラー(Ma ERROR) になったが、fx-9860G で初めて複素指数関数の計算に対応した。
一方、e(5/3)πi を計算させると、0.5 - 0.8660254038i と表示され、[F↔D]キーを押すと 1/2 - 0.8660254038i と表示される (OSバージョンによらない)。なお、次の機種 fx-9860GII 以降は自然数式表示機能が徹底され、これを計算すると 1/2 - √3/2i と表示される。
▶積分計算
時間のかかる積分計算として次の計算の処理時間を調べる。角度単位は Rad で実行。
※ この積分の詳細はこちら
fx-9860Gシリーズは、最初の出力が分数になり、[F↔D] キーを押すと π と表示される。
fx-9860GII では、最初の出力が π となり、[F↔D] キーで 3.141592654 と分数になる。その処理速度は1つ前のモデル fx-9860G よりも遅く、fx-9860GII では CPUが SH3 の前期モデルよりも SH4A の後期モデルが遅い。
▋搭載言語 (Casio Basic) の概要
fx-9860G OS1.0x に対して、fx-9860GII OS2.0x では、文字列処理コマンド、Xor論理演算、Menuコマンド、乱数発生コマンドRanInt#, RanBin# などが追加された。さらに、グラフ描画機能に関連した表計算、統計計算などの大幅な機能追加に対応して大量のCasio Basicコマンドが追加された。
▶ 主なコマンド
- 入力:?→, Getkey
- 出力:" ", ◢, Locate
- テキスト画面消去:ClrText
- 無条件ジャンプ:Goto / Lbl
- 条件ジャンプ:⇒ (fx-4000P、7000G と同じ仕様)
- カウントジャンプ:Isz, Dsz
- 条件分岐:If / Then / Else / IfEnd
- For ループ:For / To / Step / Next
- Do ループ:Do / LpWhile
- While ループ:While / WhileEnd
- 制御コマンド:Break, Return, Stop
- 比較演算: =, ≠, >, <, ≧, ≦
- 論理演算: And, Or, Not, Xor
- 配列:無し
- リスト:List (配列としても使える)
- 行列:Mat (配列としても使える)、行列初期化コマンド Dim
- 各種関数
▶ 主なグラフィックス コマンド
- グラフ設定:CoordOn/CoordOff, GridOn/GridOff,
AxesOn/AxesOff, LabelOn/LabelOff
- 座標系設定:ViewWindow,
Xmax/Xmin/Xscl/Xfct, Xdot, Ymax/Ymin/Yscl/Yfct
- 消去コマンド:ClrGraph, Cls
- Sketchコマンド:Plot, PlotOn/PlotOff, PlotChg, LINE,
PxlOn, PxlOff, PxlChg, PxlTest(, Text,
F-Line, Vertical, Horizontal, Circle
SketchNormal, SketchThick, SketchBroken, SketchDot
- 各種グラフ描画関連コマンド
▋プログラムの作成と実行
キーコード取得プログラムを入力した。コマンドを入力するためのキー (キープレス) は、1つ前のモデル fx-9860Gシリーズ から最新のモノクロ液晶搭載の fx-9860GIII や fx-9750GIII と全く同じだ。高精細カラー液晶搭載モデル fx-CG10, CG20 そして fx-CG50 でも 純正Casio Basic の基本仕様に変更はなく、カラー関係のコマンドや高精細液晶を活かしたコマンドが追加されているのみだ。
ファイル名:GETKEY
Locate 1,1,"=== Get Keycode ==="
Locate 1,3,"Keycode ="
Locate 10,5,"Hit Any Key"
Locate 13,7,"[AC]:Quit"
Do
While Getkey
WhileEnd
Do:Getkey→K
LpWhile K=0
Locate 9,3,"= " (スペース6個)
Locate 11,3,K
LpWhile 1
この画面は、[EXE]キーを押して、キーコード31が表示されているところだ。
テキスト表示の範囲は21桁、7行で、fx-9860G から変化はない。
▋プログラムの転送
リンク用ケーブル (下記2種類) で電卓とPCを接続し、プログラムリンクソフトウェア (FA-124) を使ってリンクできる。
▶ PCリンク - USBケーブル使用
▋fx-9860GII でのプログラミング
▍純正Casio Basic の問題点
プログラミング言語 Casio Basic は fx-9860G でほぼ完成しており、実行速度以外に相違点が見当たらない。バグもそのまま引き継がれている。
▶出力文字列に : を含む行を ' でコメントアウトすると Syn ERRORになる
※対策:機切り文字 : の直後に ' を付加する
この問題は fx-9860G にあり、fx-9860GII や fx-CGシリーズにも残っており、カシオは操作マニュアルを修正して対応している。詳しくは 楽屋裏 - Casio Basic コメントアウト ' のバグ を参照
▶Do / While / For ループからの脱出に Dsz / Isz を使うと Syn ERROR になる
※対策:ループを Lbl / Goto に置き換えるか、ループ脱出に Break を使う
この現象は、fx-5800P や fx-9860G 以降のグラフ関数電卓で共通して確認されている。
⇒ 楽屋裏 - Dsz によるループ脱出 参照
カシオお客様サポートのご担当者とのやりとりの結果、ループの後 (必ずしも直後でなくても良い) に Goto 0:Lbl 0 と記述することでこのエラーを回避できることが分かっている (詳細は上記記事参照)。
▋処理速度の比較
▍四則演算および関数計算
▶加算プログラム
プログラムを起動し、N に 1000 を入力して実行時間を計る。
fx-9860GII のプログラム
繰り返しに Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。
▶数値積分プログラム
この通史積分は、とね日記 - 席初の手帳型プログラム関数電卓 CASIO FX-502P (1979), FX602P (1981) で取り上げられているものをそのまま使わせていただく。
プログラム起動し、分割数として 1000 を入力して、時効時間を計る。
fx-9860GII のプログラム
繰り返しに Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。
以前調べた結果と併せて、上記の計算速度のを比較結果を示す [2019/07/31 修正];
記念すべき FX-502P を基準に、速度が何倍になっているかも併せて示している。
いずれの処理も 1つ前のモデル fx-9860G に比べて遅くなっている。そして、SH3搭載の前期モデルよりも、SH4搭載の後期モデルが遅くなっている。
▍グラフィックス描画
▶ ドット描画プログラム
fx-7000G のグラフィック画面が 95 x 63 ドットなので、それに合わせて fx-9860GII でも 95 x 63 ドットを塗りつぶして処理速度を比較する。
fx-7000G のプログラム
fx-9860GII のプログラム

Plot を使うケース(左)と PxlOn を使うケースの2通りで処理速度を調べる。
fx-9860GII は、fx-9860G より処理速度が少し遅くなっている。
PxlOn と Plot のドット描画処理速度は同レベルで、PxlOn の方が Plot よりも僅かに速い。この傾向は1つ前のモデル fx-9860G と同じである。
但し、fx-7000G よりは依然として遅い。加算処理や関数処理は大幅に高速化しているのに、ドット描画が大変遅いのは、画面更新時にVRAMからのデータ転送自体に時間がかかっているためだ。
▍画面更新プログラム
上で、画面へのデータ転送が処理速度のボトルネックになることが分かったので、頻繁に画面更新するプログラムを実行して、その処理速度を調べて比較することにする。
ところで新世代Casio Basic で用意されている Getkey コマンドは [AC]を除く全てのキーに個別に対応しており、Locate コマンドは任意の位置へのテキストの出力が可能であることから、画面がスクロールさせずに自由度の高いプログラムを書ける。そして画面がスクロールしないプログラムでは、画面更新速度が極めて重要な評価ポイントになる。これが適用できるのは、CFX-9850G, CFX-9850GC PLUS, fx-9860G, そして 今回取り上げる fx-9860GII なので、これらのプログラムを比較する。
出力画面は、テキスト画面とグラフィックス画面 (グラフ画面) の2つがあり、これらは同時に表示できない。そこでテキスト画面の高速更新プログラムとグラフィックス画面の高速更新プログラムを作成して評価に利用することにする。
▶ グラフィックス画面更新プログラム - モンテカルロ法による円周率計算 - MONTECAR
⇒ プログラムのダウンロード - Montecar.g1m を電卓に転送する
⇒ プログラムの詳細はこちら
ランダムに500回点を打って出力するまでの時間を調べる。
▶ テキスト画面更新プログラム - ピタゴラス数の計算 - PYTHA
⇒ プログラムのダウンロード - PYTHA.g1m を電卓に転送する
⇒ プログラムの詳細はこちら
ピタゴラス数500個を計算して結果を出力するまでの時間を調べる。
Getkey と Locate を最初に搭載した CFX-9850G を基準に、処理速度の比率も合わせて示した。
MONTECAR はグラフィック画面にドットを繰り返し描画する。fx-9860G (SH3) に対して fx-9860GII (SH3) では処理速度が少し低下している。VRAMから画面への転送速度には変わりが無いので、機能が増えた分遅くなっていると思われる。
一方で、PYTHA はテキスト画面にテキストを繰り返し出力する。fx-9860GII (SH4) では テキスト出力の処理速度が上がっており、OS2.04 よりも OS2.09 でさらに向上している。fx-9860GII (SH4) は PLL回路の逓倍率 (14.75 MHz の整数倍) が fx-9860G や fx-9860GII (SH3) よりも 8 倍大きくなっていることが寄与していると思われる。
▋プログラム電卓の系譜
単なる計算やグラフ表示のマクロ言語から脱却し、アプリケーションとしてのプログラムを書けるように進化した 新世代Casio Basic を搭載し、初めてアドインプログラムを走らせることができて、それを開発するための公式SDKを提供した野心的なモデルが fx-9860G シリーズであった。この基本仕様の完成度を高めた後継モデルが fx-9860GII シリーズだ。
北米の学校教育用に圧倒的シェアを有していた TI-84 Plus シリーズへの対抗モデルとして性能と価格で競争力のある fx-9860GII の前期モデル、後期モデルが投入されたが、シェアを大きく奪うまでには至らなかった。前期モデルと後期モデルの間に高精細カラー液晶搭載の fx-CG10 PRIZM を北米で発売しており、北米市場での競争の激しさを物語っている。
fx-9860GII の OS2.xx の機能が、1つ前のモデル fx-9860G のOSアップデートとして提供されたのも、競争力強化の施策の1つであろう。
fx-9860GII シリーズでは、新世代Casio Basic が大幅に拡張 (文字列処理、グラフ描画、表計算、統計計算のコマンドが追加増強) された。その背景にはグラフ関数電卓としてのグラフ描画機能、表計算機能、統計計算機能のアップデートがある。
ハードウェア面では、fx-9860GII で液晶バックライトが標準装備されたのが大きな改善点だ。このバックライト機能は、2007年発売(ただし日本では未発売)の fx-9860G Slim で初めて搭載されたものだ。
fx-9860GII は2009年発売のモデルであるが、そのハードウェアとソフトウェアの基本仕様は、2021年現在の最新モデル fx-CG50、fx-9860GIII、fx-9750GIII にまで引き継がれていることから、カシオのグラフ関数電卓の基本仕様は fx-9860GII で完成したといえる。
fx-9860GII シリーズに続いて、表現力の高い高精細カラー液晶搭載モデルが投入されることになる。
温故知新 - FX-502P / FX-602P / FX-603P
温故知新 - fx-4000P / fx-4500P / fx-4800P
温故知新 - fx-7000G
温故知新 - CFX-9850G
温故知新 - CFX-9850GC PLUS
温故知新 - fx-9860G
温故知新 - fx-5800P
温故知新 - fx-9860GII
温故知新 - fx-CG10 / fx-CG20
温故知新 - fx-CP400
温故知新 - fx-CG50
温故知新 - fx-9750GIII
温故知新:番外編 - 関数電卓としての使い勝手
温故知新:番外編 - 電卓評価用の積分を解いてみた
温故知新:番外編 - 電卓評価用の複素数を解いてみた
応援クリックをお願いします。励みになるので...
- 搭載プログラミング言語に注目して、プログラム電卓の変遷を考える -
2021/08/12
追記修正 2021/08/15
過去から現在に至る性能や仕様の変化を調べ、プログラミング言語を中心にカシオ製プログラム電卓の系譜を明らかにする。
8. 新世代 Casio Basic の進化 - Casio Basic とハードウェアの改善
今回は、fx-9860GII を取り上げる。このモデルは、fx-9860G の直接の後継機として日本国内で 2009年10月に新発売された。
▶ 2009年10月発行のカシオ電卓総合カタログ
初めてOSがアップデートできるようになった 2005年発売 fx-9860G の後継モデルが fx-9860GII であり、OSのアップデートに対応している。Casio Basic はOSに含まれているので、OSアップデートに伴い Casio Basic もアップデートされる。
2009年発売当初の fx-9860GII のOSバージョンは 2.00 であり、その後 2.01、2.04、2.09 とアップデートされてきている。ところで、1つ前のモデル fx-9860G のOSバージョンは1.xx であったが、fx-9860GII の発売に合わせて fx-9860G 向けのOS2.0x のアップデーモジュールも提供された。1つ前のモデルにも同じ機能が適用可能になるというのは、製品寿命の長い電卓製品ならではの良いサービスだと思う。
fx-9860GII には前期型と後期型があり、それぞれで使われているCPUが異なる。前期型は fx-9860G と同じルネサス(日立)製SH3カスタムチップが使われており、後期型では SH4Aカスタムチップが採用されている。
前期型、後期型ともに、fx-9860GII と fx-9860GII SD が発売された。SDバージョンにはSDカードスロットがあり、プログラムやデータをSDカードに保存できる。純正 Casio Basic では、残念ながらSDカードにあるプログラムを起動することはできないが、SDカード内のデータは保存用として使え、さらにデータリンクによりPCに転送できる。SDバージョンは、青とシルバーの塗色が使われており高級感があると思う。
SH3が採用されている前期モデルは、fx-9860G(SD) と fx-9860GII(SD) ともに、液晶の下に USB POWER GRAPHIC と表記されている。SH4A が採用されている後期型の fx-9860GII と fx-9860GII SD では、液晶の下の表記は末尾に 2 が追加され USB POWER GRAPHIC 2 と変化している。


fx-9860GII SD (SH3) fx-9860GII SD (SH4) fx-9860GII (SH4)
(バックライト点灯) (バックライト消灯) (バックライト消灯)
世界で初めて液晶のバックライトが搭載されたのが fx-9860G Slim であったが、元のモデルである fx-9860G や fx-9860G SD にはバックライトは搭載されていなかった。このバックライト機能が fx-9860GII と fx-9860GII SD に標準的に搭載された。fx-9860GII には Slim バージョンが用意されなかったが、有れば絶対に入手していたと思う。Slim バージョンがなかったのはとても残念だ (fx-9860G Slim の勧め)。
2009年に発売された fx-9860GII の Casio Basic を含むソフトウェアとハードウェアの基本機能は、2021年月現在の最新機種 fx-CG50、fx-9860GIII、fx-9750GIII にほぼそのまま引き継がれており、Pythonモード以外で大きな違いがない。その完成度の高さを示している。
▋Casio fx-9860GII

カタログ
取扱説明書 ハードウェア (e-Gadgetサイト)
取扱説明書 ソフトウェア OS2.00 (e-Gadgetサイト)
取扱説明書 ソフトウェア OS2.04 (e-Gadgetサイト)
取扱説明書 ソフトウェア OS2.09 (e-Gadgetサイト)
fx-9860GII / fx-9860GII SD の前期型には、ルネサス(日立)製SH3のカスタムチップ SH7705 が搭載され、液晶の下に USB POWER GRAPHIC と表記されている。後期型には、ルネサス(日立)製 SH4Aのカスタムチップ SH7305 が搭載され、液晶の下に USB POWER GRAPHIC 2 と表記されている。
メインメモリは 64KBで、Casio Basicを含めたOSが格納されている。アドインプログラムに使えるストレージメモリは 1.5MB ある。アドインプログラム作成用のSDKは、fx-9860G 用のものがそのまま使える。SDKの入手
fx-9860GII SD は、表のシルバー塗装と濃い青色塗装が施されている。
▍ハードウェア
fx-9860G に比べて fx-9860GII / fx-9860GII SD の液晶は応答性・視認性が少し悪化しているが、その一方でバックライト機能が追加された。バックライトにより暗い部屋でも画面が見やすくなり画期的だと思う。中高年の目にも優しい。
重量は fx-9860G より13.5%軽くなり、寸法も若干小さくなった。電池寿命は少し短くなった。
fx-9860GII 後期型 | fx-9860GII 前期型 | fx-9860G | |
電池 | 単四 x 4 (アルカリ) | 単四 x 4 (アルカリ) | 単四 x 4 (アルカリ) |
電池寿命 (メーカー測定基準) | 200 時間 | 200 時間 | 220 時間 |
サイズ (cm) | 21.2 x 91.5 x 18.4 | 21.2 x 91.5 x 18.4 | 24 x 92.5 x 184.5 |
重さ (g) | 225 | 225 | 260 |
液晶ディスプレイ解像度 ・Casio Basic グラフィック ・Casio Basic テキスト | 64 x 128 pixel ・63 x 127 dot ・7 x 21 文字 | 64 x 128 pixel ・63 x 127 dot ・7 x 21 文字 | 64 x 126 pixel ・63 x 127 dot ・7 x 21 文字 |
仮数 + 指数 | 10桁 + 2桁 | 10桁 + 2桁 | 10桁 + 2桁 |
内部演算桁数 | 15桁 | 15桁 | 15桁 |
プログラムメモリ容量 | 最大 ~62 KB | 最大 ~62 KB | 最大 63 KB |
メインメモリ (利用可能) | ~64 KB ROM | ~64 KB ROM | ~63 KB ROM |
ストレージメモリ | ~1.5 MB SRAM | ~1.5 MB SRAM | ~1.5 MB SRAM |
プログラムファイル名 | 最大 8文字 | 最大 8文字 | 最大 8文字 |
CPU※ | SH4A (SH7305) | SH3 (SH7705) | SH3 (SH7705) |
クロック | ~29 MHz | ~29 MHz | ~29 MHz |
- FLL: | 14.75 MHz x900 | 14.74 MHz | 14.74 MHz |
- PLL: | FLL x 16, 235.93 MHz | FLL x 2, 29.49 MHz | FLL x 2, 29.49 MHz |
- IFC: CPUコアクロック | 1/8 PLL, 29.49 MHz | 1/1 PLL, 29.49 MHz | 1/1 PLL, 29.49 MHz |
- SFC: SuperHywayバスクロック | 1/8 PLL, 29.49 MHz | 1/1 PLL, 29.49 MHz | 1/1 PLL, 29.49 MHz |
- BFC: メモリバスクロック | 1/8 PLL, 29.49 MHz | 1/1 PLL, 29.49 MHz | 1/1 PLL, 29.49 MHz |
- PFC: I/Oクロック | 1/16 PLL, 14.75 MHz | 1/1 PLL, 14.74 MHz | 1/1 PPL, 14.74 MHz |
※ sentaro様作成の カシオグラフ関数電卓用チューンアップツールを使用して得られた結果。
▍OSのアップデート
2009年の発売当初のOSバージョンは 2.00、その後 2.01、2.04、2.09 へのアップデートファイルが提供された。
これらアップデートは主に欧米での各種試験への電卓持ち込み対策である。
▍OSのアップデート
2009年の発売当初のOSバージョンは 2.00、その後 2.01、2.04、2.09 へのアップデートファイルが提供された。
これらアップデートは主に欧米での各種試験への電卓持ち込み対策である。
▍関数電卓としての性能
▶分数表示と演算精度
235÷658 を計算すると 0.3571428571 と表示される。ここで、[F↔D]キーを押すと 5/14 と表示される。計算精度は内部15桁だ。
▶複素指数関数
eπi を計算してみる。計算できれば答えは -1 になる。
1つ前の機種 fx-9850GC PLUS では複素指数関数の計算ができず、演算エラー(Ma ERROR) になったが、fx-9860G で初めて複素指数関数の計算に対応した。
一方、e(5/3)πi を計算させると、0.5 - 0.8660254038i と表示され、[F↔D]キーを押すと 1/2 - 0.8660254038i と表示される (OSバージョンによらない)。なお、次の機種 fx-9860GII 以降は自然数式表示機能が徹底され、これを計算すると 1/2 - √3/2i と表示される。
▶積分計算
時間のかかる積分計算として次の計算の処理時間を調べる。角度単位は Rad で実行。

※ この積分の詳細はこちら
モデル名 (OSバージョン) | 結果出力 | 処理時間 |
fx-9860G Slim (OS2.00) | 3.141592654 | 21.5 秒 |
fx-9860G (OS2.01) | 3.141592654 | 22.3 秒 |
fx-9860G Slim (OS1.11) | 3.141592654 | 23.6 秒 |
fx-9860G (OS1.03) | 3.141592654 | 26.2 秒 |
fx-5800P | π | 173 秒 |
fx-9860GII [SH3] (OS2.00) | π | 22.8 秒 |
fx-9860GII [SH4] (OS2.04) | π | 24.1 秒 |
fx-9860GII [SH4] (OS2.09) | π | 23.7 秒 |
fx-9860Gシリーズは、最初の出力が分数になり、[F↔D] キーを押すと π と表示される。
fx-9860GII では、最初の出力が π となり、[F↔D] キーで 3.141592654 と分数になる。その処理速度は1つ前のモデル fx-9860G よりも遅く、fx-9860GII では CPUが SH3 の前期モデルよりも SH4A の後期モデルが遅い。
▋搭載言語 (Casio Basic) の概要
fx-9860G OS1.0x に対して、fx-9860GII OS2.0x では、文字列処理コマンド、Xor論理演算、Menuコマンド、乱数発生コマンドRanInt#, RanBin# などが追加された。さらに、グラフ描画機能に関連した表計算、統計計算などの大幅な機能追加に対応して大量のCasio Basicコマンドが追加された。
▶ 主なコマンド
- 入力:?→, Getkey
- 出力:" ", ◢, Locate
- テキスト画面消去:ClrText
- 無条件ジャンプ:Goto / Lbl
- 条件ジャンプ:⇒ (fx-4000P、7000G と同じ仕様)
- カウントジャンプ:Isz, Dsz
- 条件分岐:If / Then / Else / IfEnd
- For ループ:For / To / Step / Next
- Do ループ:Do / LpWhile
- While ループ:While / WhileEnd
- 制御コマンド:Break, Return, Stop
- 比較演算: =, ≠, >, <, ≧, ≦
- 論理演算: And, Or, Not, Xor
- 配列:無し
- リスト:List (配列としても使える)
- 行列:Mat (配列としても使える)、行列初期化コマンド Dim
- 各種関数
▶ 主なグラフィックス コマンド
- グラフ設定:CoordOn/CoordOff, GridOn/GridOff,
AxesOn/AxesOff, LabelOn/LabelOff
- 座標系設定:ViewWindow,
Xmax/Xmin/Xscl/Xfct, Xdot, Ymax/Ymin/Yscl/Yfct
- 消去コマンド:ClrGraph, Cls
- Sketchコマンド:Plot, PlotOn/PlotOff, PlotChg, LINE,
PxlOn, PxlOff, PxlChg, PxlTest(, Text,
F-Line, Vertical, Horizontal, Circle
SketchNormal, SketchThick, SketchBroken, SketchDot
- 各種グラフ描画関連コマンド
▋プログラムの作成と実行
キーコード取得プログラムを入力した。コマンドを入力するためのキー (キープレス) は、1つ前のモデル fx-9860Gシリーズ から最新のモノクロ液晶搭載の fx-9860GIII や fx-9750GIII と全く同じだ。高精細カラー液晶搭載モデル fx-CG10, CG20 そして fx-CG50 でも 純正Casio Basic の基本仕様に変更はなく、カラー関係のコマンドや高精細液晶を活かしたコマンドが追加されているのみだ。
ファイル名:GETKEY
Locate 1,1,"=== Get Keycode ==="
Locate 1,3,"Keycode ="
Locate 10,5,"Hit Any Key"
Locate 13,7,"[AC]:Quit"
Do
While Getkey
WhileEnd
Do:Getkey→K
LpWhile K=0
Locate 9,3,"= " (スペース6個)
Locate 11,3,K
LpWhile 1

この画面は、[EXE]キーを押して、キーコード31が表示されているところだ。
テキスト表示の範囲は21桁、7行で、fx-9860G から変化はない。
▋プログラムの転送
リンク用ケーブル (下記2種類) で電卓とPCを接続し、プログラムリンクソフトウェア (FA-124) を使ってリンクできる。
▶ PCリンク - USBケーブル使用
USB(mini) - USB(A) ケーブルが必要。多くの場合標準添付されている。
▶ 3pin-USBケーブル (SB-88) 使用
現在は製造中止品だが、takumako様により互換ケーブルが有償頒布されているので私はこれを利用している。
▶ プログラムリンク ソフトウェア (FA-124)
カシオのサイトから無償ダウンロードできる。上記のいずれかのケーブルとFA-124で、プログラムファイルやデータファイルの転送や電卓の画面画像を取得できる。PCに転送されるプログラムファイルは、g1m ファイル (拡張子が g1m) になる。
▶ 電卓間のプログラム転送
3pin-3pinケーブル (SB-62) を使えば、3pin端子のあるグラフ関数電卓同士でプログラム転送ができる。
3pin-3pinケーブル (SB-62)
▶ 3pin-USBケーブル (SB-88) 使用
現在は製造中止品だが、takumako様により互換ケーブルが有償頒布されているので私はこれを利用している。
▶ プログラムリンク ソフトウェア (FA-124)
カシオのサイトから無償ダウンロードできる。上記のいずれかのケーブルとFA-124で、プログラムファイルやデータファイルの転送や電卓の画面画像を取得できる。PCに転送されるプログラムファイルは、g1m ファイル (拡張子が g1m) になる。
▶ 電卓間のプログラム転送
3pin-3pinケーブル (SB-62) を使えば、3pin端子のあるグラフ関数電卓同士でプログラム転送ができる。
3pin-3pinケーブル (SB-62)
まだ販売されているが、takumako様により互換ケーブルが有償頒布されている。SB-62 は fx-9
860GIIシリーズや fx-CGシリーズの国内正規版には標準添付されていた。
▍テキストベース・プログラム
▶ モグラ叩きゲーム
このプログラムは、最初 fx-5800P で作成したものを fx-9860GII の液晶解像度に合わせて変更・移植したものだ。
※ ダウンロード:アクションゲーム - "Whack-a-Mole (もぐら叩き)"
使用するプログラムファイルは、WHACKAMO, WAM, INPI の3つで、メインプログラム WHACKAMO を起動して遊ぶ。
1つ前のモデル fx-9860G シリーズでは OS2.0x 以上なら完全互換で動作する。
▍テキストベース・プログラム
▶ モグラ叩きゲーム
このプログラムは、最初 fx-5800P で作成したものを fx-9860GII の液晶解像度に合わせて変更・移植したものだ。
※ ダウンロード:アクションゲーム - "Whack-a-Mole (もぐら叩き)"
使用するプログラムファイルは、WHACKAMO, WAM, INPI の3つで、メインプログラム WHACKAMO を起動して遊ぶ。
1つ前のモデル fx-9860G シリーズでは OS2.0x 以上なら完全互換で動作する。


▋fx-9860GII でのプログラミング
▍純正Casio Basic の問題点
プログラミング言語 Casio Basic は fx-9860G でほぼ完成しており、実行速度以外に相違点が見当たらない。バグもそのまま引き継がれている。
▶出力文字列に : を含む行を ' でコメントアウトすると Syn ERRORになる
※対策:機切り文字 : の直後に ' を付加する
この問題は fx-9860G にあり、fx-9860GII や fx-CGシリーズにも残っており、カシオは操作マニュアルを修正して対応している。詳しくは 楽屋裏 - Casio Basic コメントアウト ' のバグ を参照
▶Do / While / For ループからの脱出に Dsz / Isz を使うと Syn ERROR になる
※対策:ループを Lbl / Goto に置き換えるか、ループ脱出に Break を使う
この現象は、fx-5800P や fx-9860G 以降のグラフ関数電卓で共通して確認されている。
⇒ 楽屋裏 - Dsz によるループ脱出 参照
カシオお客様サポートのご担当者とのやりとりの結果、ループの後 (必ずしも直後でなくても良い) に Goto 0:Lbl 0 と記述することでこのエラーを回避できることが分かっている (詳細は上記記事参照)。
▋処理速度の比較
▍四則演算および関数計算
▶加算プログラム

プログラムを起動し、N に 1000 を入力して実行時間を計る。
fx-9860GII のプログラム


繰り返しに Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。
▶数値積分プログラム

この通史積分は、とね日記 - 席初の手帳型プログラム関数電卓 CASIO FX-502P (1979), FX602P (1981) で取り上げられているものをそのまま使わせていただく。
プログラム起動し、分割数として 1000 を入力して、時効時間を計る。
fx-9860GII のプログラム


繰り返しに Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。
以前調べた結果と併せて、上記の計算速度のを比較結果を示す [2019/07/31 修正];
加算プログラム | 数値積分プログラム | |||||||
機種 | 実行時間 | 比較 | 実行時間 (秒) | 比較 | ||||
FX-502P | 123.1 秒 | --- | 1261.8 秒 | --- | ||||
FX-602P | 111.2 秒 | 1.1 倍 | 716.5 秒 | 1.8 倍 | ||||
FX-603P | 37.8 秒 | 3.3 倍 | 166.2 秒 | 7.6 倍 | ||||
fx-4000P | 61.7 秒 | 2.0 倍 | 349.1秒 | 3.6 倍 | ||||
fx-4500P | 195.0 秒 | 0.6 倍 | 798.1 秒 | 1.6 倍 | ||||
fx-4800P | A=A+1 | 26.3 秒 | 4.7 倍 | 114.3 秒 | 11.0 倍 | |||
Isz A | 21.2. 秒 | 5.8 倍 | 109.4 秒 | 11.5 倍 | ||||
fx-7000G | A=A+1 | 20.7 秒 | 5.9 倍 | 146.1 秒 | 8.6 倍 | |||
Isz A | 19.3 秒 | 6.4 倍 | 143.2 秒 | 8.8 倍 | ||||
CFX-9850G | Goto | 20.9 秒 | 5.9 倍 | 98.3 秒 | 12.8 倍 | |||
For | 9.2 秒 | 13.4 倍 | 84.3 秒 | 15.0 倍 | ||||
CFX-9850GC PLUS | Goto | 22.0 秒 | 5.6 倍 | 100 秒 | 12.6 倍 | |||
For | 9.2 秒 | 13.4 倍 | 85.4 秒 | 14.8 倍 | ||||
fx-9860G [SH3] | OS 1.02 | Goto | 2.1 秒 | 61.6 倍 | 14.6 秒 | 86.4 倍 | ||
For | 1.3 秒 | 94.7倍 | 13.2 秒 | 95.6 倍 | ||||
OS 1.03 | Goto | 2.1 秒 | 61.6 倍 | 14.4 秒 | 87.6 倍 | |||
For | 1.1 秒 | 111.9 倍 | 13.1 秒 | 96.3 倍 | ||||
OS 1.04 | Goto | 2.5 秒 | 61.6 倍 | 14.3 秒 | 88.2 倍 | |||
For | 1.2 秒 | 102.6 倍 | 13.0 秒 | 97.1 倍 | ||||
OS 1.05 | Goto | 2.3 秒 | 61.6 倍 | 14.3 秒 | 88.2 倍 | |||
For | 1.2 秒 | 102.6 倍 | 13.1 秒 | 96.3 倍 | ||||
OS 2.01 | Goto | 3.6 秒 | 34.2 倍 | 17.0 秒 | 74.2 倍 | |||
For | 2.5 秒 | 49.2 倍 | 15.1 秒 | 83.6 倍 | ||||
fx-9860GII [SH3] | OS2.00 | Goto | 4.5 秒 | 27.4 倍 | 18.2 秒 | 69.3 倍 | ||
For | 2.7 秒 | 45.6 倍 | 15.6 秒 | 80.9 倍 | ||||
fx-9860GII [SH4] | OS2.04 | Goto | 6.7 秒 | 18.4 倍 | 19.2 秒 | 65.7 倍 | ||
For | 3.8 秒 | 32.4 倍 | 15.4 秒 | 82.0 倍 | ||||
OS2.09 | Goto | 6.8 秒 | 18.1 倍 | 18.8 秒 | 67.1 倍 | |||
For | 3.9 秒 | 31.6 倍 | 15.0 秒 | 84.1 倍 |
いずれの処理も 1つ前のモデル fx-9860G に比べて遅くなっている。そして、SH3搭載の前期モデルよりも、SH4搭載の後期モデルが遅くなっている。
▍グラフィックス描画
▶ ドット描画プログラム
fx-7000G のグラフィック画面が 95 x 63 ドットなので、それに合わせて fx-9860GII でも 95 x 63 ドットを塗りつぶして処理速度を比較する。
fx-7000G のプログラム


fx-9860GII のプログラム



Plot を使うケース(左)と PxlOn を使うケースの2通りで処理速度を調べる。
PxlOn | Plot | ||||
fx-7000G | 213 秒 | --- | --- | --- | |
CFX-9850G | 926.5 秒 | 0.23 倍 | 496.0 秒 | 0.43 倍 | |
CFX-9850GC PLUS | 901.1 秒 | 0.24 倍 | 929.1 秒 | 0.23 倍 | |
fx-9860G [SH3] | OS 1.02 | 251.2 秒 | 0.85 倍 | 255.7 秒 | 0.83 倍 |
OS 1.03 | 251.7 秒 | 0.84 倍 | 256.6 秒 | 0.83 倍 | |
OS 1.04 | 252.8 秒 | 0.84 倍 | 257.5 秒 | 0.83 倍 | |
OS 1.05 | 251.9 秒 | 0.85 倍 | 256.7 秒 | 0.83 倍 | |
OS 2.01 | 295.8 秒 | 0.72 倍 | 301.7 秒 | 0.71 倍 | |
fx-9860GII [SH3] | OS2.00 | 300.0 秒 | 0.71 倍 | 306.2 秒 | 0.70 倍 |
fx-9860GII [SH4] | OS2.04 | 288.3 秒 | 0.74 倍 | 291.1 秒 | 0.73 倍 |
OS2.09 | 301.7 秒 | 0.71 倍 | 303.8 秒 | 0.70 倍 |
fx-9860GII は、fx-9860G より処理速度が少し遅くなっている。
PxlOn と Plot のドット描画処理速度は同レベルで、PxlOn の方が Plot よりも僅かに速い。この傾向は1つ前のモデル fx-9860G と同じである。
但し、fx-7000G よりは依然として遅い。加算処理や関数処理は大幅に高速化しているのに、ドット描画が大変遅いのは、画面更新時にVRAMからのデータ転送自体に時間がかかっているためだ。
▍画面更新プログラム
上で、画面へのデータ転送が処理速度のボトルネックになることが分かったので、頻繁に画面更新するプログラムを実行して、その処理速度を調べて比較することにする。
ところで新世代Casio Basic で用意されている Getkey コマンドは [AC]を除く全てのキーに個別に対応しており、Locate コマンドは任意の位置へのテキストの出力が可能であることから、画面がスクロールさせずに自由度の高いプログラムを書ける。そして画面がスクロールしないプログラムでは、画面更新速度が極めて重要な評価ポイントになる。これが適用できるのは、CFX-9850G, CFX-9850GC PLUS, fx-9860G, そして 今回取り上げる fx-9860GII なので、これらのプログラムを比較する。
出力画面は、テキスト画面とグラフィックス画面 (グラフ画面) の2つがあり、これらは同時に表示できない。そこでテキスト画面の高速更新プログラムとグラフィックス画面の高速更新プログラムを作成して評価に利用することにする。
▶ グラフィックス画面更新プログラム - モンテカルロ法による円周率計算 - MONTECAR

⇒ プログラムのダウンロード - Montecar.g1m を電卓に転送する
⇒ プログラムの詳細はこちら
ランダムに500回点を打って出力するまでの時間を調べる。
▶ テキスト画面更新プログラム - ピタゴラス数の計算 - PYTHA

⇒ プログラムのダウンロード - PYTHA.g1m を電卓に転送する
⇒ プログラムの詳細はこちら
ピタゴラス数500個を計算して結果を出力するまでの時間を調べる。
PYTHA | MONTECAR | ||||
CFX-9850G | 294.3 秒 | 165.6 秒 | |||
CFX-9850GC PLUS | 295.2 秒 | 0.99 倍 | 267.7 秒 | 0.62 倍 | |
fx-9860G | OS 1.02 | 76.0 秒 | 3.87 倍 | 115.4 秒 | 2.55 倍 |
OS 1.03 | 89.3 秒 | 3.30 倍 | 115.8 秒 | 2.54 倍 | |
OS 1.04 | 89.4 秒 | 3.29 倍 | 115.8 秒 | 2.54 倍 | |
OS 1.05 | 89.2 秒 | 3.30 倍 | 115.9 秒 | 2.54 倍 | |
OS 2.01 | 95.8 秒 | 3.07 倍 | 128.7 秒 | 2.29 倍 | |
fx-9860GII [SH3] | OS2.00 | 100.1 秒 | 2.94 倍 | 131.5 秒 | 2.24 倍 |
fx-9860GII [SH4] | OS2.04 | 87.1 秒 | 3.38 倍 | 135.9 秒 | 2.17 倍 |
OS2.09 | 83.0 秒 | 3.54 倍 | 135.5 秒 | 2.17 倍 |
Getkey と Locate を最初に搭載した CFX-9850G を基準に、処理速度の比率も合わせて示した。
MONTECAR はグラフィック画面にドットを繰り返し描画する。fx-9860G (SH3) に対して fx-9860GII (SH3) では処理速度が少し低下している。VRAMから画面への転送速度には変わりが無いので、機能が増えた分遅くなっていると思われる。
一方で、PYTHA はテキスト画面にテキストを繰り返し出力する。fx-9860GII (SH4) では テキスト出力の処理速度が上がっており、OS2.04 よりも OS2.09 でさらに向上している。fx-9860GII (SH4) は PLL回路の逓倍率 (14.75 MHz の整数倍) が fx-9860G や fx-9860GII (SH3) よりも 8 倍大きくなっていることが寄与していると思われる。
▋プログラム電卓の系譜
単なる計算やグラフ表示のマクロ言語から脱却し、アプリケーションとしてのプログラムを書けるように進化した 新世代Casio Basic を搭載し、初めてアドインプログラムを走らせることができて、それを開発するための公式SDKを提供した野心的なモデルが fx-9860G シリーズであった。この基本仕様の完成度を高めた後継モデルが fx-9860GII シリーズだ。
北米の学校教育用に圧倒的シェアを有していた TI-84 Plus シリーズへの対抗モデルとして性能と価格で競争力のある fx-9860GII の前期モデル、後期モデルが投入されたが、シェアを大きく奪うまでには至らなかった。前期モデルと後期モデルの間に高精細カラー液晶搭載の fx-CG10 PRIZM を北米で発売しており、北米市場での競争の激しさを物語っている。
fx-9860GII の OS2.xx の機能が、1つ前のモデル fx-9860G のOSアップデートとして提供されたのも、競争力強化の施策の1つであろう。
fx-9860GII シリーズでは、新世代Casio Basic が大幅に拡張 (文字列処理、グラフ描画、表計算、統計計算のコマンドが追加増強) された。その背景にはグラフ関数電卓としてのグラフ描画機能、表計算機能、統計計算機能のアップデートがある。
ハードウェア面では、fx-9860GII で液晶バックライトが標準装備されたのが大きな改善点だ。このバックライト機能は、2007年発売(ただし日本では未発売)の fx-9860G Slim で初めて搭載されたものだ。
fx-9860GII は2009年発売のモデルであるが、そのハードウェアとソフトウェアの基本仕様は、2021年現在の最新モデル fx-CG50、fx-9860GIII、fx-9750GIII にまで引き継がれていることから、カシオのグラフ関数電卓の基本仕様は fx-9860GII で完成したといえる。
fx-9860GII シリーズに続いて、表現力の高い高精細カラー液晶搭載モデルが投入されることになる。
温故知新 - FX-502P / FX-602P / FX-603P
温故知新 - fx-4000P / fx-4500P / fx-4800P
温故知新 - fx-7000G
温故知新 - CFX-9850G
温故知新 - CFX-9850GC PLUS
温故知新 - fx-9860G
温故知新 - fx-5800P
温故知新 - fx-9860GII
温故知新 - fx-CG10 / fx-CG20
温故知新 - fx-CP400
温故知新 - fx-CG50
温故知新 - fx-9750GIII
温故知新:番外編 - 関数電卓としての使い勝手
温故知新:番外編 - 電卓評価用の積分を解いてみた
温故知新:番外編 - 電卓評価用の複素数を解いてみた
応援クリックをお願いします。励みになるので...
- 関連記事
-
-
プログラム電卓 温故知新 - 目次 2021/08/15
-
温故知新 - fx-CG10 / fx-CG20 2021/08/15
-
温故知新 - fx-9860GII 2021/08/15
-
温故知新 - fx-9860G 2021/08/15
-
温故知新 - CFX-9850GC PLUS 2021/08/15
-