温故知新 - CFX-9850GC PLUS

プログラム電卓 温故知新
 - 搭載プログラミング言語に注目して、プログラム電卓の変遷を考える -

 
2019/06/23
追記修正 2019/06/24
追記修正 2019/06/25
追記修正 2019/06/30
追記修正 2019/07/01
追記修正 2019/08/17
追記 2019/08/22


特定のカシオ製プログラム電卓に搭載されたプログラミング言語にスポットライトを当てて、過去から現在に至る仕様の変化を調べる。

5. 新世代 Casio Basic 登場前夜 - 可読性と機能の向上(2)

今回は、2004年発売の CFX-9850GC PLUS を取り上げる。国内では 2005年1月に発売された。海外では2010年まで発売されていたが、国内では2006年には生産中止扱いになり、2007年にはカタログに掲載されなくなった。国内でのカタログ掲載期間は1年8ヶ月と短かった。
2005年1月発行のカシオ電卓総合カタログ
2006年9月発行のカシオ電卓総合カタログ

カシオ機に搭載されたプログラム言語で、Basicコマンドが追加されたものを欧米のプログラム電卓コミュニティでは Casio Basic と呼ばれている。私も当ブログ開設当初から Casio Basic という呼称を使っていた。

Casio BasicGetkeyLocate が追加されたのが CFX-9850G であった。その後、コマンドや関数が追加され、シリーズ最終の CFX-9850GC PLUS が登場した。この機種の後継として fx-9860G が発売され、これ以降の機種に搭載された言語を私は "次世代Casio Basic" と呼称している。詳しくは fx-9860G を取り上げる時に紹介したい。

CFX-9850GC PLUS はCFXシリーズの最終形であり、新世代Casio Basic 登場前夜と言える。



Casio CFX-9850GC PLUS

CFX-9850GC_PLUSCFX-9850GC_PLUS_Manual

2004年海外で発売、2005年1月 に国内発売開始、海外では2004年発売。
カタログ 取扱説明書 (Casioサイト) 取扱説明書 (e=Gadgetサイト) 

64KBのメモリ領域にシステムも含まれており、それ以外がプログラムやデータに使える。取扱説明書の表紙から分かるのは、fx-9750G PLUS(モノクロ液晶)など複数の機種とほぼ共通の仕様になっている。

取扱説明書で分からない Casio Basic の使いこなし が当ブログのメインテーマなので、実際に触ってみたいと思い、以前から中古品を探していた。



実際に入手した CFX-9850GC PLUS
幸運なことに、eBayで "未使用品 - 動作確認のため開封" というものを見つけたので入手した。EU域内保証書が添付されていた。
 CFX-9860GC_PLUS_1 CFX-9850GC_PLUS_2 
実際に傷や汚れが一切なく、新品状態であった。

CFXシリーズは、3色カラー液晶搭載のグラフ関数電卓で、デフォルトがブルーで、オレンジとグリーンを追加した3色が使える。実際の画面は、輝度も色もコントラストが低い。液晶を見る角度でコントラストや色合いが大きく変化するのも見づらさの原因だ。明るいところでは問題ないが、少し暗くなると見づらいと感じる。実際にしばらく使い続けると多少は慣れた。
CFX-9850GC_PLUS_Display 

fx-9860GIIシリーズのメニュー画面を比較する。
CFX-9850GC_PLUS_Display fx-9860GII_SD_Display 
液晶のバックグランドが黄色みが強いことも視認性の悪さの原因だと感じる。
また、この3色カラー液晶は応答性が悪い。

なお、CFX-9850GC PLUSの液晶画面のサイズは、fx-9860Gシリーズと比較すると小さいことが分かる。
Disp_Size_9859GC_9860GII 



関数電卓としての性能 [2019/06/25 追記]
キーの種類と配置は、後継機のfx-9860Gシリーズと同じになっている。但し、[SHIFT] と一緒に押して選ぶ裏の機能やファンクションメニューの機能は fx-9860G よりは少なく、当然ながら後継機で進化しているわけだ 。

分数表示と演算精度
235÷658 を計算すると 0.3571428571 と表示される。計算制度は内部15桁で、後継機種 fx-9860Gと同じ。
ここで、[F↔D] キーを押しても 5/14 にはならない。ここは、後継機種 fx-9860Gと異なる。
最初に 235/658 と入力し [EXE] を押すと、5/14 と表示され、[F↔D] キーを押すと 0.3571428571 と表示が変わる。

複素指数関数
eπi を計算してみる。計算できれば答えは -1 になる。
Complex 
fx-9850GC PLUS では複素指数関数の計算ができず、演算エラー(Ma ERROR) になる。但し、複素数の加減乗除はできる。
後継機種の fx-9860G以降のモデルでは複素指数関数の計算に対応している。



搭載言語 (Casio Basic) の概要 [2019/8/18 追記]

追加されているBasicコマンドによりプログラムの可読性と機能が向上し、さらに GetkeyLocate が追加されているのでプログラムの自由度が向上している。さらに CFX-9850G よりも関数が追加されている。

主なコマンド
 - 入力:?→, Getkey
 - 出力:" ", , Locate
 - カラーコマンド:Orange, Green (" "とSketchコマンドにのみ有効)
 - 無条件ジャンプ: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
 - 配列:無し
 - リスト:List (配列としても使える)
 - 行列:Mat (配列としても使える)、
初期化コマンド Dim が追加されている
 - 各種関数

但し、以下の要因により可読性が損なわれている。
 - Then / Else 直後の改行:Syn ERROR になる
 - 行頭での改行 (空白行):Sys ERROR になる

 主なグラフィック コマンド
 - グラフ設定:CoordOn/CoordOff, GridOn/GridOff,
        AxesOn/AxesOff, LabelOn/LabelOff
 - 座標系設定:ViewWindow,
        Xmax/Xmin/Xscl/Xfct, XdotYmax/Ymin/Yscl/
Yfct  Xdotが追加されている
 - 消去コマンド:ClrGraph, Cls
 - Sketchコマンド:Plot, PlotOn/PlotOff, PlotChg, PxlOn, PxlOff, PxlTest
          Line, F-Line, Vertical, Horizontal, Circle
 - 各種グラフコマンド

但し、Plot, PlotOn, PlotOff, PlotChg, PxlOn, PxlOff, PxlChg, Circle の詳細仕様は、後継の fx-9860G 以降とは異なる。CFX-9850GC PLUS ではこれらのコマンドのパラメータに X, Y を使うと誤動作する。X, Y は内部動作のために予約されていると思われ、これらのコマンドを実行すると予期せぬ値が X, Y に自動的に入力されてしまう。つまり、X, Y をパラメータに使ってはいけない。

後継機種である fx-9860G 以降 fx-CG50 までのグラフ関数電卓では上記のコマンド実行後に、それぞれのコマンドの詳細仕様に従った正しい値が X と Y に自動的に入力される。つまり、その詳細仕様を理解していれば上記のコマンドのパラメータに X, Y を使える。



プログラムの作成と実行
キーコード取得プログラム GETKEY を入力してみた。コマンドを入力するためのキー (キープレス) は、fx-9860Gシリーズや最新の fx-CGシリーズと全く同じだ。言語機能の基本仕様はこの機種の頃から固まっていることが分かる

ファイル名:GETKEY
Locate 1,1,"=== GET KEYCODE ==="
Locate 1,3,"KEYCODE ="
Locate 10,5,"HIT ANY KEY"
Locate 13,7,"[AC]:QUIT"
While Getkey
WhileEnd
Do
Do:Getkey→K
LpWhile K=0
Locate 9,3,"=   "
(スペース6個)
Locate 11,3,K
LpWhile


GETKEY 
[DEL]キーを押したところ、キーコード44が表示されている。
fx-9860Gシリーズや fx-CGシリーズと同様に、テキスト表示の範囲は21桁7行だ。

[AC]キーを押してプログラムを終了させると、画面下8行目に Break と表示される。
ここで、[EXE] を押すとプログラムが再起動し、もう一度 [AC] を押すとProgram List に戻らず RUNモードに切り替わる。
この仕様は、fx-9860Gシリーズや fx-CGシリーズとは異なる。完成したプログラムを繰り返し使うには便利な仕様だ。一方、プログラムを試してから修正する場合は面倒だ。RUNモードに戻った後、[MENU] を押して PRGMモードに移行して編集するプログラムを探す必要がある。

Program List には、プログラム名 (ファイル名) は入力した順序で並んでおり、アルファベット順になっていない。プログラムの数が多いと、編集あるいは実行したいプログラムを探すのが楽ではない。

CFX-9850GC PLUSProgram List でプログラムを探す最善の方法は、サーチ(検索)機能だ。Program List 画面で [F6] (▷) - [F1] (SRC) と押せば Search For Program 画面が現れるので、そこで探しているプログラム名の頭のアルファベットを押せば良い。すると同じ頭文字で始まるプログラム名が全て表示される。この機能は必須だ。

ところで、取扱説明書には、以下の記述がある。
Program_Manual_Note
繰り返し計算や複雑な計算を便利に実行するのが、プログラム機能の主目的だと考えれば、プログラム終了後に Program List 画面に戻らず、RUMモードになる仕様は、理にかなっている。



プログラムの編集 [2019/07/01 修正]
プログラム編集画面は、極めて使いにくい。

パソコンで文章を書く時は、通常は挿入モードで利用しているはずで、上書きモードは必要な時のみ切り替えて使うと思う。fx-9860Gシリーズや fx-CGシリーズでも、プログラム編集画面は常に挿入モードになっていて、必要な時に [SHIFT]-[DELL](INS) と押して上書きモードに切り替えて使う。

ところが、CFX-9850GC PLUS は、通常が上書きモードになっていて、[SHIFT]-[DELL](INS) を押して挿入モードに切り替える必要がある。一旦挿入モードに切り替えると、改行を超えない範囲でカーソル移動する限りは挿入モードが維持されるが、カーソルが改行を超えると上書きモードに戻ってしまう。改行から改行までを1行として認識し、その行内なら挿入モードが維持されるのは、ラインエディタの仕様をそのままマルチラインのエディタに持ち込んでると考えるのが妥当であろう。そのためマルチラインエディタとして編集の利便性が得られず残念な仕様と言える。

昔のプログラム電卓やポケコンで、区切り文字を使ってプログラムをズラズラと1行に書く時の仕様を、そのまま引きずっているのではないかと想像している。



プログラムの転送 [2019/08/15 追記修正]

PClink_9850GC_Plus2 PCリンク
3pin-USBケーブル (SB-88) と プログラムリンク ソフトウェア (FA-124) を使えばPCリンクや電卓の画面取得が可能になる。
3pin-USBケーブル (SB-88)
現在は製造中止品だが、takumako様により互換ケーブルが有償頒布されているので私はこれを利用した。
プログラムリンク ソフトウェア (FA-124)
カシオのサイトから無償ダウンロードできる。

 電卓間転送
3pin-3pinケーブル (SB-62) を使えば、3pin端子のあるグラフ関数電卓とプログラムの転送ができる。
3pin-3pinケーブル (SB-62)
まだ販売されているが、takumako様により互換ケーブルが有償頒布されている。SB-62 は fx-9860Gシリーズや fx-CGシリーズの国内正規版には標準添付されている。

PCへ転送されるファイルは CAT ファイル (拡張子 cat) だ。CATファイルには複数プログラムを格納できる。

ところで、電卓本体右下にある3pinコネクタには、防塵防滴用と思われるゴム製の "栓" が刺さっている。ある程度使われた中古品だとこれが無くなっているケースが多いのではないかと思う。



fx-9860Gシリーズからのプログラムの移植
以前作ったプログラムの入った fx-9860Gシリーズと CFX-9850GC PLUS を 3pinケーブル (SB-62) で接続し、プログラムを CFX-9850GC PLUS に転送する。次にプログラムを走らせ、エラーが出たら [◀] か [▶] キーを押すとエラーが発生したコマンドにカーソルが表示されている。そこでカーソルのある部分を修正できるので、移植作業は比較的楽だ。当然エラーが発生している原因と対策を知っておく必要がある。具体的には、以下で紹介しているので、参照ください。

テキストベース・プログラム
モグラ叩きゲーム
以前作ったアクションゲーム - "Whack-a-Mole(もぐら叩き)" を転送して、必要な変更を行ってから遊んでみた。ついでにトップ画面のタイトルをオレンジにしてみた。デフォルトはブルーになっている。
ここで転送して修正したプログラムファイルは、WHACKAMOWAMINPI の3つだ。
プログラムのダウンロード - ダウンロードした Whackamo.cat には上記3つのプログラムを含む
Whack-a-Mole_9850GC 

CFX-9850GC PLUS の処理速度に対応するために、WHACKAMO の冒頭にある変数A の初期化を 2→A と変更しただけで、ロジックは変えていない。他は CFX-9850GC PLUS の搭載言語の制限に合わせて、エラーが出なくなるように修正を行うだけで移植は完了する。搭載言語のこの制限と修正方法については後述する。

実際に遊んでみると、液晶のハードウェアとしての応答性が悪い割にはゲームとして遊べて、それほど悪い感じはしない。表示が始まってところで反応できるから、表示が完了するまでのタイムラグが問題にならないのだろうと思う。

キーコード取得プログラム
以前作ったキーコード取得プログラムを転送し、エラーが出なくなるように必要な修正を行って CFX-9850GC PLUS / fx-9750G 専用に変更した。
プログラムのダウンロード - Keycode.cat
GetKey_1 GetKey_2 
左:起動直後の画面、右:キーコード取得プログラム、[EXIT] キーを押してみたところ。

CFX-9850GC PLUSfx-9860Gシリーズ / fx-CG シリーズは、全く同じキーを備えており、キーコードも同一になっている。従って、CFX-9850GC PLUS 特有の修正を行えば、ロジックや数値を変更せずに移植が可能となる。

さて、このプログラムや上のモグラ叩きゲームで、アルファベットの小文字が表示されていることにお気づきだろうか?

CFX-9850GC PLUS
 本体では、プログラム編集画面で小文字アルファベットを入力する方法が見つからない。ところが、小文字を使ったプログラムを fx-9860Gシリーズから転送したら小文字が表示されているのだ。

システムには既に小文字フォントが準備されていて、コードさえ入力されればプログラムで使えるようになっている。fx-5800P も同じ事情で、CcEditor / CcLinker を使えば 小文字アルファベットやその他フォントが使える。

温度換算プログラム
以前作った温度換算プログラムを転送し、エラーが出なくなるように必要な修正を行った。
ここで、転送・修正したプログラムファイルは、TEMPCONV と IN の2つだ。
プログラムのダウンロード - ダウンロードした TempConv.cat には TEMPCONV と IN が含まれる
TempConv 

プログラムの構造、ロジックは全く変更せず、プログラムが正常に動作する。

和暦-西暦換算・年齢推定プログラム - あの人の歳は今いくつ?
以前作った 和暦-西暦換算・年齢推定プログラムを転送して、エラーを解消する変更を実施した。長押し判定のカウンタの初期値Lを実機の処理速度に合わせて30に変更した (プログラム冒頭に 30→L と変更)。
転送・修正したプログラムファイルは、YEARCONV、YRC、YRD、INPI の4つだ。
プログラムのダウンロード - ダウンロードした YearConv.cat には YEARCONV, YRC, YRD, INPI の4つが含まれる。
YearConv 

ある程度複雑な構造でも、CFX-9850CG PLUS 搭載言語の制限や欠点を理解すれば、移植できることが分かった。



CFX-9850GC PLUS でのプログラミング

プログラミング上の制限と注意点 - fx-9860Gシリーズ / fx-CGシリーズとの比較

空行 (改行のみの行) はSyn ERROR になる
 ※対策空行を削除する
 対策を実施すると、ソースコードが非常に見づらくなる。特にブロック構造を意識した分かりやすいプログラミングには困った仕様だ。幸いコメントアウト ' が使えるので、空行の代わりに
'== 
などと書けば良いが、ソースレベルでブロック構造を分かりやすく見るには空行はとても便利だ。それが出来ないのは発展途上の欠点だと敢えて申し上げたい。これは、昔の1行プログラミングの時代の影響を引きすっていると感じられる。

Then / Else の直後を改行すると Syn ERROR になる
 ※対策Then / Else 直後の改行を削除する
 対策を実施すると、ソースコードが見づらくなる。上の空行禁止を組み合わさると、If ステートメントが非常に分かりにくくなる。ソースレベルで、ブロック構造を意識した見やすいコードを書けないにのは困った仕様だ。
これも、昔の1行プログラミングの影響をまだ引きずっている結果だと感じられる。

ループ (While / Do) の2重構造で、内側のループと If の入れ子構造が共存すると IfEnd のところで Syn ERROR になる
 ※対策:外側のWhile / DoLbl / Goto に置き換える。Break が有れば新たに Goto ジャンプに置き換える
 対策を施すと、スパゲティ化の第一歩となり、分かりやすいブロック構造を意識したプログラミングの大敵だ。個人的には最大の問題と感じている。
このエラーは、上記の 温度換算プログラムと和暦・西暦換算・年齢推定プログラムをfx-9860GII から転送して発見した。
While / DoIf の構造制御のスタック管理に失敗しているバグと考えている。昔は Goto / Lbl しか無かったところに構造制御ステートメントを追加している過渡期に潜り込んだバグがまだ解消していないのだろう。
取扱説明書の第22章ライブラリー編に掲載されているサンプルプログラムでは、構造制御に While / Do を使ったものが無く、全て Lbl / Goto が使われていることから、この時点で While / Do の機能が不完全だったと考えている。 

出力 "" で内部カーソルが改行されない
 ※対策"" で内部カーソルの改行機能を当てにせず Locate で表示位置を明示的に指定する
"" はNOP (何もしない) 処理になっているかも知れない。
"" で内部カーソル行を制御しているプログラム (fx-5800Pfx-9860G 以降のグラフ関数電卓で正常動作しているもの) を転送した場合、CFX-9850GC PLUS では画面配置が崩れる。

行末に区切り文字 : があると Syn ERROR になる
 ※対策:行末の区切り文字 : を削除する
 対策を実施しても大きな問題はない。
区切り文字は改行と同じ内部実装になっていれば、空行でエラーになるのと同じ原因なのだろう。

カラーコマンドは " " 出力には有効だが、Locate 出力には無効 [2019/05/25 追記]
 ※対策:有効な対策はない。"" で内部カーソルが改行されないので Locate を " "出力に変更できないことが多いためだ。
 カラーコマンドには、Orange と Green がある。Orange "String" と書けば String がオレンジ色で表示される。
一方、Locate コマンドで出力する場合は、カラーコマンドを追加すると Syn ERRORになる。 

出力文字列に : を含む行を ' でコメントアウトすると Syn ERRORになる
 ※対策:機切り文字 : の直後に ' を付加する
この問題は、fx-9860Gシリーズや fx-CGシリーズにも残っており、カシオは操作マニュアルを修正して対応している。
詳しくは 楽屋裏 - Casio Basic コメントアウト '  のバグ を参照

出力文字列に : を含んでも Syn ERRORにならない
これは、後継機種の fx-9860Gの OS2.1 かそれ以前のバージョンではエラーになっており、OS2.04 以降で修正されており、この修正は fx-9860GIIfx-CG20、そして最新の fx-CG50 まで維持されている。それなのに fx-9860G よりも古い CFX-9850GC PLUS で同じエラーが発生するかと思えば、エラーにならないのは、面白い。
改行のみの空行や区切り文字が行末にあることを許すように変更した際に、新たにバグが入り込んだと推測される。細かいようではあるが、このような開発の苦労や経緯が透けてくるのは面白い。 

出力命令 " " では1文字ごとに出力する
"Strings" を実行するとタイプライターのように1左から1文字づつ出力される。一方 Locate 1,1,"Strings" を実行すると、文字列が一度に出力される。

fx-9860Gシリーズ以降の機種らの移植では、実装されていない関数やコマンドで Syn ERROR
 ※対策:使えるコマンドを使って別表現に変更する (当たり前ですね)
今回移植を試みたプログラムには一例として、RanInt#( があったので、それぞれ以下のように別表現にした。 
- RanInt#(1,9)Int(90Ran#÷10)+1 に変更
- RanInt#(1,3)Int(30Ran#÷10)+1 に変更
- RanInt#(0,9)Int(10Ran#) に変更

Do / While / For ループからの脱出に Dsz / Isz を使うと Syn ERROR になる [2019/06/30 追記]
 ※対策:ループを Lbl / Goto に置き換えるか、ループ脱出に Break を使う
この現象は、fx-5800Pfx-9860G 以降のグラフ関数電卓でも存在することが確認されている。
⇒ 楽屋裏 - Dsz にとるループ脱出 参照
カシオとのやりとりの結果、ループの後 (必ずしも直後でなくても良い) に Goto 0:Lbl 0 と記述することでこのエラーを回避できることが分かっている (詳細は上記記事参照)。ところが、CFX-9850GC PLUS では、この対処方法が効かない。



処理速度の比較

四則演算および関数計算

加算プログラム
加算 

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

CFX-9850GC PLUS のプログラム
fx7000G_source_adding_up_Isz2 AddTest_For 
繰り返しに Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。


数値積分プログラム
関数 

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

プログラム起動し、分割数として 1000 を入力して、時効時間を計る。

CFX-9850GC PLUS のプログラム
FuncTest_Goto_9850 FuncTest_For_985 
クリア絵師に Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。

以前調べた結果と併せて、上記の計算速度のを比較結果を示す [2019/07/31 修正]
加算プログラム数値積分プログラム
機種実行時間比較実行時間 (秒)比較
FX-502P123.1 秒---1261.8 秒---
FX-602P111.2 秒1.1 倍716.5 秒1.8 倍
FX-603P37.8 秒3.3 倍166.2 秒7.6 倍
fx-4000P61.7 秒2.0 倍349.1秒3.6 倍
fx-4500P195.0 秒0.6 倍798.1 秒1.6 倍
fx-4800PA=A+126.3 秒4.7 倍114.3 秒11.0 倍
Isz A21.2. 秒5.8 倍109.4 秒11.5 秒 
fx-7000GA=A+120.7 秒5.9 倍146.1 秒8.6 倍
Isz A19.3 秒6.4 倍143.2 秒8.8 倍
CFX-9850GGoto20.9 秒5.9 倍98.3 秒12.8  倍
For9.2 秒13.4 倍84.3 秒15.0 倍
CFX-9850GC PLUS
Goto22.0 秒5.6 倍100 秒12.6 倍
For9.2 秒13.4 倍85.4秒14.8 倍
記念すべき FX-502P を基準に、速度が何倍になっているかも併せて示している。

Basicコマンドとして追加された For 文は効率化、高速化している。Basicコマンドは可読性向上だけでは無いことが分かる。併せて関数処理も高速化していることが分かる。但し、CFXシリーズ初号機である CFX-9850G よりは少し遅くなっている。インタープリター言語なので、コマンドが追加されたことが原因だと思われる。


グラフィックス描画
▶ ドット描画プログラム

fx-7000G のグラフィック画面が 95 x 63 ドットなので、それに合わせて CFX-9850GC PLUS でも 95 x 63 ドットを塗りつぶして処理速度を比較する。

fx-7000G のプログラム
fx7000G_Dot DOT_fx7000G  

CFX-9850GC PLUS のプログラム
Dot_Plot Dot_Pxl fx9850GC_Plus_Dot 
Plot を使うケース(左)と PxlOn を使うケースの2通りで処理速度を調べる。

PlotPxlOn
fx-7000G213 秒
CFX-9850G926.5 秒0.23 倍496.0 秒0.43 倍
CFX-9850GC PLUS901.1 秒0.24 倍929.1 秒0.23 倍

CFX-9860G と全く同じコードであるにも関わらず、CFX-9850GC PLUS では遅くなっている。
PxlOn によるドット描画は、CFX-9850G の2倍の時間がかかった。
fx-7000G と比べると、処理が4倍以上遅くなった。


画面更新プログラム
上で、画面へのデータ転送が処理速度のボトルネックになることが分かったので、頻繁に画面更新するプログラムを実行して、その処理速度を調べて比較することにする。

ところで Getkey コマンドの追加によりテンキーと[EXE]キーだけでなく、[AC]を除く全てのキー入力が検知可能になり、Locate コマンドの追加により任意の位置への出力が可能になったので、プログラムの自由度が大きく向上し、画面がスクロールしないプログラムを書けるようになった。画面がスクロールしないプログラムでは、画面更新速度は重要な評価ポイントになる。

出力画面は、テキスト画面とグラフィックス画面 (グラフ画面) の2つがあり、これらは同時に表示できない。そこでテキスト画面の高速更新プログラムとグラフィックス画面の高速更新プログラムを作成して評価に利用することにする。

CFX-9850GC PLUS で調べる。
以下は CFX-9850G の結果で、CFX-9850GC PLUS のデータを後日追加する。

グラフィックス画面更新プログラム - モンテカルロ法にょる円周率計算
fx9850GCplus_Montekar 
プログラムのダウンロード - Montecar.cat を電卓に転送する
プログラムの詳細はこちら
ランダムに500回点を打って出力するまでの時間を調べると、165.6 秒であった。

テキスト画面更新プログラム - ピタゴラス数の計算
CFX9860GCplus_Pytha 
プログラムのダウンロード - Pytha.cat を電卓に転送する
プログラムの詳細はこちら
ピタゴラス数500個を計算して結果を出力するまでの時間を調べると、294.3 秒であった。



プログラム電卓の系譜 [2019/08/15 追記修正]

CFXシリーズの最終機種である CFX-9850GC PLUS は、CFX-シリーズの初号機 CFX-9850G と同じ仕様の言語を搭載しているが、処理速度が遅くなっている。CFX-9850G よりも関数や機能が増強されているので多少処理が遅くなるだろうと思う。しかしグラフィックスのドット描画については、特に PxlOn の処理が倍程度遅くなっているのは意外であった、

さて、CFX-9850GC PLUS に搭載されたプログラミング言語は、CFX-9850G と同様に Baiscコマンドとして IfFor / While / Do / Getkey / Locate などが追加されているが、編集画面で考えながらコーディングするのは難しいと思う。

後継機種である fx-9860G では、搭載言語と編集画面の大幅な修正が行われた。この改良は、fx-9860G と同年に発売された fx-5800P にも反映されている。

編集画面については、FX-502P / FX-602P / FX-603P では、デフォルトで挿入モードになっており、必要に応じて 上書きモードに切り替える仕様になっている。ところが、その後の fx-3650Pfx-4000P シリーズ、fx-7000G シリーズ そして CFXシリーズの最終モデル CFX-9850GC PLUS に至るまで、デフォルトで上書きモードになっていた。

当時、欧米市場での競合であった TI の電卓でも84シリーズのような古くからある機種では上書きモードが主流であった (sentaro様による情報、コメント欄参照)。

ところが、2005年に発売された機種、fx-71Ffx-5800Pfx-9860G では、一斉に挿入モードに切り替わっている。プログラミングのできない関数電卓においても、fx-991MS まではデフォルトで上書きモードで、2005年発売の次機種 fx-991ES から挿入モードに切り替わっている (2005年1月の電卓総合カタログ参照。

[2019/07/01 追記]
コメント欄に情報をお寄せいただいたsentaro様によれば、SHARP製の関数電卓も以前は上書きモードだったが、2004年以降のモデルは挿入モードに変わっているとのこと。Casioとほぼ同時期に変更されているようだ。

sentaro様の考察によれば(コメント欄参照)、欧米、特に北米での学校販売ビジネスでしのぎを削っていた TI 機と使い勝手の異なる挿入モード機を一斉に投入するには、ビジネス上のリスクを伴う大きな判断があったに違いないとのことだ。私もそれに賛同する。その上で、一斉に挿入モードに切り替えたのは、グラフ関数電卓やプログラム関数電卓の将来の目標 / ビジョンがあったのではないかと私は想像している。それは計算補助のマクロ機能を超えて、より柔軟な一般的なプログラミングが可能な言語仕様を目指すことであった、と想像している。

LocateGetley コマンドの存在は、スクロールしないプログラムを可能にするが、これらのコマンドは CFXシリーズの初代 CFX-9860G に初めて追加された。CFXシリーズは、プログラム関数電卓、ポケコン、グラフ関数電卓それぞれで個別に開発が進んでいた搭載言語が、ようやく1つの方向性に収束し、Locate / Getkey コマンドを追加することで柔軟なプログラミングが可能になり、大きく進化した。3色限定とは言えカラー表示を可能にしたのも CFXシリーズの特徴であり、各種コマンドや関数を増強した最終機種 CFX-9850GC PLUS は、カシオ機搭載のプログラミング言語の歴史の重要な転換点を示しており、次世代Casio  Basic 登場前夜の記念すべきモデルと言える。

Casio Baisc は fx-9860G シリーズでさらに進化してゆく。



温故知新 - FX-502P / FX-602P / FX-603P
温故知新 - fx-4000P / fx-4500P / fx-4800P
温故知新 - fx-7000G
温故知新 - CFX-9850G
温故知新 - CFX-9850GC PLUS

温故知新 - fx-9860G
温故知新 - fx-5800P
温故知新 - fx-CP400
温故知新:番外編 - 関数電卓としての使い勝手



応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 


keywords: プログラム関数電卓、プログラミング、Casio Basic、CFX-9850GC PLUS

リンク集 | ブログ内マップ













関連記事

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

コメントの投稿

非公開コメント

Re:Re: Re:fx-5800Pの後継機がいよいよ登場か?

管理人様、こんにちは!

>2019年6月(先月)更新されたダウンロードカタログやカシオの国内サイトでは、まだ製造中止とはなっていません。
>ここ数ヶ月程度、しっかりチェックしたいと思います。

はい、国内はまだまだ大丈夫だと思いますが、最終の生産がいつになるのかというところですね。


>国内は、fx-72F で十分なんてのは、チョット悲しいですね。このカテゴリ唯一の製品は国内でも残して欲しいものです。

海外のサイトでもプログラム電卓はfx-5800Pだけというところがあるので、最後に残るとしたらfx-5800Pかもしれません。


>イギリスのカシオサイトでは、fx-5800P が見当たらず、プログラム電卓は、ハイエンドの CG50、ミドルレベルの 9860GII、そしてエントリーモデルの fx-7500GII の構成。日本でも同じ商品展開があるかも知れませんね。

各国のCASIOサイトをチェックしてきました。

fx-5800Pが載ってないところは
アメリカ
イギリス
フィンランド
フランス
ノルウェー
ポルトガル
ロシア
でした。

今では日本以外で現役製品の数が多いのは独自モデルのあるフランスか中国くらいですね。

ところで、中国のサイトでこんなお知らせを発見しました。(^^)
https://www.casio.com.cn/info/caution/24.html


>そうですね、私も未開封品として4台目を確保しようかなぁ。。。。

おおっ!4台目!!
さすが管理人様です!(^^)
今年中はまだ安泰だと予想しますが、年内に何かアナウンスがあるかどうかですね。(^^;

Re: Re:fx-5800Pの後継機がいよいよ登場か?

sentaro様

> JP900が出たときに、その流れで後継機種が出るで思われた頃からすでに数年経ってますから、
> いつ製造中止になってもおかしくない状況でここまで来てますね。
>
> 修理対応が2025年までということは、部品の保有期間を考えるとすでに製造中止となっている可能性もありますね。

2019年6月(先月)更新されたダウンロードカタログやカシオの国内サイトでは、まだ製造中止とはなっていません。
ここ数ヶ月程度、しっかりチェックしたいと思います。

国内は、fx-72F で十分なんてのは、チョット悲しいですね。このカテゴリ唯一の製品は国内でも残して欲しいものです。

イギリスのカシオサイトでは、fx-5800P が見当たらず、プログラム電卓は、ハイエンドの CG50、ミドルレベルの 9860GII、そしてエントリーモデルの fx-7500GII の構成。日本でも同じ商品展開があるかも知れませんね。


> 後継機種が出るならそれはすごく嬉しいニュースですが、
> 後継機>fx-5800Pとは限らないのは「温故知新」で明らかなので
> fx-5800Pが無くなってしまう前には3台目を確保しておきたいと思います。(^^)

そうですね、私も未開封品として4台目を確保しようかなぁ。。。。

Re:fx-5800Pの後継機がいよいよ登場か?

管理人様、こんにちは!

>チョット以下のコメントをご覧下さい。
https://egadget.blog.fc2.com/blog-entry-656.html#comment4313
>fx-5800P の修理対応が 2025年までとのことなので、保守部品保有期間を考えると、そろそろ製造中止か?
>ちょっと気になる情報でしたが、お読みになっていない可能性があるので、ここで紹介します。

しっかり拝見しております。(^^)

JP900が出たときに、その流れで後継機種が出るで思われた頃からすでに数年経ってますから、
いつ製造中止になってもおかしくない状況でここまで来てますね。

修理対応が2025年までということは、部品の保有期間を考えるとすでに製造中止となっている可能性もありますね。

後継機種が出るならそれはすごく嬉しいニュースですが、
後継機>fx-5800Pとは限らないのは「温故知新」で明らかなので
fx-5800Pが無くなってしまう前には3台目を確保しておきたいと思います。(^^)

fx-5800Pの後継機がいよいよ登場か?

sentaro様

チョット以下のコメントをご覧下さい。

https://egadget.blog.fc2.com/blog-entry-656.html#comment4313

fx-5800P の修理対応が 2025年までとのことなので、保守部品保有期間を考えると、そろそろ製造中止か?

ちょっと気になる情報でしたが、お読みになっていない可能性があるので、ここで紹介します。

Re:^7 fx-9860G の謎 + Re:関数電卓の挿入モード

管理人様、こんにちは!

>貴重な情報なので、本文に追記致しました。
>合わせて。他の文章も修正致しました。

毎度恐縮です。
おそらく間違ってはいないと思いますが、すべての実機が手元にあるわけではないので、
より確実で詳しい情報があれば、というところですね。(^^)


>それほど自信があったということなのでしょうね!

そういえば、素因数分解プログラムの実行時間はFX-502P/602P/603Pにも載ってますよね。
当時から処理速度には自信があったのかもしれません。(^^)

ちなみにfx-4000Pのマニュアルにも素因数分解プログラムは載ってますが、実行時間は書いてありません。
おそらく速度的な自信が無かったのか…ということで、実際に測ってみたらfx-7000Gの時間の3倍ほどかかります。(^^:

と思ったら、さらに遅い4500Pでは素因数分解プログラムの実行時間が載っています。
これは、前機種から2倍以上遅くなったことで載せざるを得なかったのではないかと想像しますが、
その後の4800Pではfx-7000G並みに速度が高速化したのにもかかわらず実行時間が載っていないのでこのあたりは謎です。(^^:
当時まだ現役機だったFX-603Pもfx-7000G並みの高速機だったので、fx-4800Pではそこのあたりは控えめにしていたのかもしれません。
その後のfx-5800Pではプログラムライブラリが無くなったので、速度云々では無くなってしまいました。(^^:
fx-5800Pではもはやソフトは自作するのではなくプリインストールソフトを使うためのプロ電という意味合いが強くなってたかもしれません。


>レジスタを直接参照する言語仕様の利点は、アセンブラと同様に高速であることですが、ソースの視認性がどうにも悪いですよね!

おっしゃるとおり、
CPUに都合が良い言語は可読性が悪くなって、可読性を上げると、CPUの負担が増えるというところですよね。

CPU的に一番負荷の軽い言語はRPN系言語だと思いますが、FX-502P/602P/603Pの言語もその次に軽そうですよね。
fx-4800Pの言語はBASIC系とはいえ複雑な構造化処理はしないので、fx-5800PのCasioBasicから比較すればかなり軽い言語と推測できますね。

まぁ、今どきの高速CPUならちっとやそっとの負担はものともせずというところですが、
fx-5800Pでは従来よりもCPUが高速化してCasioBasicをそのまま載せることが出来たというところでしょう。(^^)

Re: Re:Re: Re:Re: Re:fx-9860G の謎 + Re:関数電卓の挿入モード

sentaro様

管理人のやすです。

SHARP電卓の入力モードの情報、そして CFX-9850G の情報、大変ありがとうございます。

貴重な情報なので、本文に追記致しました。
合わせて。他の文章も修正致しました。


> CASIOのプログラム電卓のライブラリの最初に必ず載っていた素因数分解プログラムですが、
> fx-7000Gシリーズの素因数分解のプログラムには実機での実行時間が書いてありますね。

それほど自信があったということなのでしょうね!

> その実行時間を見ると、fx-7000Gは当時の最速クラスのプログラム電卓だと思われます。
> fx-5800Pにとっては現行仕様のCasioBasicは若干重いかもしれないので、
> fx-7000Gの比較的シンプルな言語仕様は速度的には有利かもですね。

レジスタを直接参照する言語仕様の利点は、アセンブラと同様に高速であることですが、ソースの視認性がどうにも悪いですよね!

Re:Re: Re:Re: Re:fx-9860G の謎 + Re:関数電卓の挿入モード

管理人様、こんにちは!

>コメント欄で情報交換いただいた興味深い内容について、まとめて追記修正致しました。
https://egadget.blog.fc2.com/blog-entry-695.html
>fx-991ES の1つ前は fx-991MS です。で、それは上書きモードなので、2005年が境目で決まりです!

ってことで、挿入モード/上書きモードの変更時期が確定しましたね。(^^)

他のメーカーではどうだったのかちょっと調べてみると、
SHARPは40周年モデルが2004年に発売になってますが、
これらの機種は挿入モードがデフォルトです。
https://www.itmedia.co.jp/lifestyle/articles/0407/02/news081.html
80年代からSHARPの電卓/ポケコンも上書きモードがデフォだったので、
CASIOと同時期に挿入モードに変更されたようですね。
電卓の大きなモデルチェンジは10年程度ですし、
40周年モデル以前のは上書きモードの機種しか知らないので、
たぶん合っていると思います。(^^)

HPに関しては、RPN電卓はFX-502P/602Pみたいなものなのでずっと挿入モードで変わってないと思います。
TIは89シリーズやNpsireのようにCASモデルは最初から挿入モードですが、
84シリーズのように古くから継続しているモデルは未だに上書きモードを引きずっていると思われます。


>第1号機である CFX-9850G に Locate や Getley が搭載されていたかどうかは、現在のところ不明。情報をお持ちなら、ご一報頂きたい。

実機が無いので確実な情報ではありませんが、
CFX-9850Gシリーズ用としてアップされているプログラムが無印とPLUSを区別していないので、
おそらく100%同じ言語仕様だと思われます。(^^)



>Do / While / For ループからの脱出に Dsz / Isz を使うとエラーになる件ですが、CFX-9850GC PLUS では、sentaro様の回避方法、そして私の回避広報いずれも効果無いことも発見しました。それについても追記致しました。
>fx-9860G での大幅仕様変更したものが、カシオのコメントの対象範囲だということですね。

CFX-9850G世代で初めて今の言語仕様になってるので、そこであぶり出されたバグが9860Gで修正されたという感じですね。


>現在、温故知新対象として、FX-502P / 602P / 603P を準備中です!

お!これはなかなかに温故知新です。(^^)


>実は、FX-502Pから fx-CG50 までいくつかのベンチマークをやってみました。

機種が揃えばまずはベンチマーク!定番ですね!(^^)


>fx-9860G シリーズでは、OS1.03が最速、OS1.04 よりも速いという結果もでています。9860GII (SH3) の OS2.00 でさらに遅くなり、OS2.09 が最悪 (Ftune / Ftune2 なし) というのも、ベンチマークで出ました。

OSのバージョンアップに伴い遅くなっていくのは世の常ですね。(^^;


>fx-7000G も結構健闘しています。プログラム関数電卓としてみれば fx-5800P よりも速いです。

CASIOのプログラム電卓のライブラリの最初に必ず載っていた素因数分解プログラムですが、
fx-7000Gシリーズの素因数分解のプログラムには実機での実行時間が書いてありますね。
その実行時間を見ると、fx-7000Gは当時の最速クラスのプログラム電卓だと思われます。
fx-5800Pにとっては現行仕様のCasioBasicは若干重いかもしれないので、
fx-7000Gの比較的シンプルな言語仕様は速度的には有利かもですね。


>...などなど、注目点に合わせて、新たなベンチマークを準備したり、と頭が煮詰まりつつも、楽しんでいます。sentaro様がご興味を持ちそうなネタもあるかも知れません。

興味津々です。(^^)

Re: Re:Re: Re:fx-9860G の謎 + Re:関数電卓の挿入モード

sentaro様、

コメント欄で情報交換いただいた興味深い内容について、まとめて追記修正致しました。
https://egadget.blog.fc2.com/blog-entry-695.html



Do / While / For ループからの脱出に Dsz / Isz を使うとエラーになる件ですが、CFX-9850GC PLUS では、sentaro様の回避方法、そして私の回避広報いずれも効果無いことも発見しました。それについても追記致しました。

fx-9860G での大幅仕様変更したものが、カシオのコメントの対象範囲だということですね。


現在、温故知新対象として、FX-502P / 602P / 603P を準備中です!


実は、FX-502Pから fx-CG50 までいくつかのベンチマークをやってみました。

- FX-502P
- FX-602P
- FX-603P
- fx-4500P
- fx-5800P

- fx-7000G
- fx-9600G (OS1.03)
- fx-9860G (OS1.04)
- fx-9860G Slim (OS1.10)

- fx-9860GII SD (SH3, OS2.00)
- fx-9860GII (SH4, OS2.04)
- fx-9860GII SD (SH4, OS2.09)

とりあえず、これらを一斉にベンチマーク。
あとで、OS載せ替えでやってみます。


見ようによっては面白い結果が出ています。

fx-9860G シリーズでは、OS1.03が最速、OS1.04 よりも速いという結果もでています。9860GII (SH3) の OS2.00 でさらに遅くなり、OS2.09 が最悪 (Ftune / Ftune2 なし) というのも、ベンチマークで出ました。

fx-7000G も結構健闘しています。プログラム関数電卓としてみれば fx-5800P よりも速いです。

...などなど、注目点に合わせて、新たなベンチマークを準備したり、と頭が煮詰まりつつも、楽しんでいます。sentaro様がご興味を持ちそうなネタもあるかも知れません。


Re: Re:Re: Re:fx-9860G の謎 + Re:関数電卓の挿入モード

sentaro様

管理人のやすです。


> おわ、マニュアルもAmazonから、ってそれ売られてるんですか?
> って今見たらありますね。(^^)

はい、記念に紙のマニュアルも、ってわけです。



> 手持ちのfx-7000GBのマニュアルと、
> こちらにアップされているfx-6500Gの日本語マニュアルと見比べると、
> http://oasis.halfmoon.jp/mw/index.php?title=OldManual-Archive#CASIO_Programmable_Scientific_Calculator_fx-6500G_.2F_.E3.82.AB.E3.82.B7.E3.82.AA_.E3.83.97.E3.83.AD.E3.82.B0.E3.83.A9.E3.83.A0.E9.96.A2.E6.95.B0.E9.9B.BB.E5.8D.93_fx-6500G
> 4行表示と8行表示での操作性の違いとサンプルプログラムくらいしか差がありませんでした。
> 7000Gの日本語マニュアルはおそらくこの6500Gのマニュアルとほぼ変わらないのではと思います。(^^)

ありがとうございます。なんせ日本語なのは助かります。


> 塗装の剥げはかなり使い込まれた様子ですね。
> 開いて使う時は外装は気にならないと思いますが、閉じた時の外装が気になるようでしたら再塗装という手もありますね。(^^)

はい、プラモ店で調査していました。なかなか良さそうなのが無いです。調査続行中!



> こちらのサイトでCasioBasicの変遷が書いてあるのを見つけましたが、
> http://basic.hopto.org/basic/casiobasic.php
> 9850GからLocat/Getkeyが導入されたとありますね。

わ、参考に致します。

> さらに、こちらのトークンテーブル一覧を見ると、
> http://martin.poupe.org/casio/tokens/tokens.html
> Locate/Getkey導入は、0xF7で始まるコマンド(If~IfEnd等)が一気に追加された時期と一致しそうです。
> この一覧表ではCFX-9850G無印かPLUSの差は無い感じですが、どうなんでしょう?

CFX-9850G 無印は、もう少し調べてみます。



> >>fx-991ES以降が挿入モードになっているのですが、新機種登場ですぐに購入した記憶があり、それは2005年なので、2005年発売だと思います。海外では 2005年に fx-9860G が発売されたので、まさにこの時期にデフォルトで挿入モードに切り替えたと推測しても良いかも知れませんね!
>
> 991ESが2005年新登場で挿入モードだとしたら、その前の機種990ES?が上書きモードだったら、
> 2005年が境目ということで、決まりですね。(^^)

fx-991ES の1つ前は fx-991MS です。で、それは上書きモードなので、2005年が境目で決まりです!


Re:Re: Re:fx-9860G の謎 + Re:関数電卓の挿入モード

管理人様、こんにちは!

>この表現、気に入りました。

恐縮です。(^^)


>実は、もう一つ待っているものがあります。fx-7000G の Owner's Manual です。ネットで探したものがいい加減にスキャンしたもので(多分sentaro様も同じものをお持ちかと思います)、とてに読みにくいので、記念すべき機種であることもあり Amazon USAでポチッとしています。さしずめ fx-7000G様の秘書って感じでしょうか?

おわ、マニュアルもAmazonから、ってそれ売られてるんですか?
って今見たらありますね。(^^)

手持ちのfx-7000GBのマニュアルと、
こちらにアップされているfx-6500Gの日本語マニュアルと見比べると、
http://oasis.halfmoon.jp/mw/index.php?title=OldManual-Archive#CASIO_Programmable_Scientific_Calculator_fx-6500G_.2F_.E3.82.AB.E3.82.B7.E3.82.AA_.E3.83.97.E3.83.AD.E3.82.B0.E3.83.A9.E3.83.A0.E9.96.A2.E6.95.B0.E9.9B.BB.E5.8D.93_fx-6500G
4行表示と8行表示での操作性の違いとサンプルプログラムくらいしか差がありませんでした。
7000Gの日本語マニュアルはおそらくこの6500Gのマニュアルとほぼ変わらないのではと思います。(^^)


>fx-7000G は電池の到着待ちですが、それ以外は、特に fx-9860G AU (めちゃ使い込まれた感じ) のキーや液晶は全く問題ありません。落として傷が付いた跡もありませんので、動作は全く問題なさそうです。

元祖fx-9860Gはしっかりした造りなのでかなり耐久性はありそうですよね。(^^)


>外装は、落として潰れた跡やら、銀色塗装の剥げやらあって、アクティブに使用されていた感じです。
>おっしゃるように内側はとても綺麗で、キーも影響も問題なさそうです。

塗装の剥げはかなり使い込まれた様子ですね。
開いて使う時は外装は気にならないと思いますが、閉じた時の外装が気になるようでしたら再塗装という手もありますね。(^^)


>先ずは、先日教えて頂いた情報から、800KB制限を外す技を試すことにします。

最近はOS別に個体があるのでOS書換からはご無沙汰していたりしますが、(^^;
この前にSlimのOS書き換えで何度か使用しました。


>なるほど、そうですか。
>それなら、電池ボックスの比較写真を撮って、fx-9860G 温故知新 でアップしようと思います。

9860Gの進化の過程が一目瞭然になりますね。(^^)


>これから、eBay とか Amazon USA の欲しいものリストに Slim を入れておいて、開封未使用品みたいなものがあればポチッとしようかと思います。CFX-9850GC PLUS がそうだったので、二匹目のドジョウです(^_^;


お!いいですね!
温故知新電卓の未使用品は年々少なくなるので貴重です。
とくにSlimの場合は外装ダメージが無い新品だととっても貴重ですね。(^^)


>Locate / Getkey が導入されていて最も古いのは、1996年台の CFX-9860G PLUS です。
>CFX-9850G は対象外で、マニュアルを見ると自動計測を意識した製品だったのではないかと推測しています。 、
>私の手持ちのカタログ (日本版とアメリカ/カナダ版) では、日本版では fx-9850G (対象外)の新発売が 1995年6月で、CFX-9850GB PLUS は、1997年12月までには登場しておらず、1998年12月に掲載されています。
なので、Locate / Getkey を最初に導入されたと考えられる CFX-9850G PLUS は、国内で発売されていたとすれば 1998年1月以降 2998年11月まで、ということになります。
>Casio Basic の歴史では、CFX-9850G PLUS も記念すべき機種と言えそうですね!

CFX-9850Gのマニュアルを検索してみましたが、あれは9850Gではなくて、計測用オプションのマニュアルっぽいですね。
計算例も何も無いので、どう考えても電卓のマニュアルではありません。(^^;

こちらのサイトでCasioBasicの変遷が書いてあるのを見つけましたが、
http://basic.hopto.org/basic/casiobasic.php
9850GからLocat/Getkeyが導入されたとありますね。

さらに、こちらのトークンテーブル一覧を見ると、
http://martin.poupe.org/casio/tokens/tokens.html
Locate/Getkey導入は、0xF7で始まるコマンド(If~IfEnd等)が一気に追加された時期と一致しそうです。
この一覧表ではCFX-9850G無印かPLUSの差は無い感じですが、どうなんでしょう?


>欲しいものリストのアイテムが1つ増えそうです(^_^;

CFX9850G無印のマニュアルが見つからないので、実機で確認するしか無さそうでしょうか?(^^;


>そうそう、fx-9860G の初期型を触っていて気がついたのですが、これに搭載されている Casio Basic は、CFX-9850GC PLUS の言語を主に改行まわりで改善しただけの仕様だと思います。命令やコマンド類だけでなく、使える関数も特に追加されていないようです。

>おそらくですが、OS1.X から OS2.X にアップデートした時に、文字列処理コマンドと関数が増強されたとみています。

元祖9860Gはそれで間違いないと思います。(^^)
GIIの発売に合わせてOS2.00となって文字列コマンドが追加されました。



>>fx-991ES以降が挿入モードになっているのですが、新機種登場ですぐに購入した記憶があり、それは2005年なので、2005年発売だと思います。海外では 2005年に fx-9860G が発売されたので、まさにこの時期にデフォルトで挿入モードに切り替えたと推測しても良いかも知れませんね!

991ESが2005年新登場で挿入モードだとしたら、その前の機種990ES?が上書きモードだったら、
2005年が境目ということで、決まりですね。(^^)

関数電卓の挿入モード

sentaro様

管理人のやすです。

エディタのデフォルトが挿入モードか上書きモードかの話で、関数電卓はどうなっているのだろうか?

手持ちで調べてみました。

設計の古い順;
- fx-991W:上書き
- fx-991MS:上書き
- fx-290:上書き
- fx-260 Sollar II:上書き

- fx-991ES:挿入
- fx-993ES:挿入
- fx-995ES:挿入

fx-991ES以降が挿入モードになっているのですが、新機種登場ですぐに購入した記憶があり、それは2005年なので、2005年発売だと思います。海外では 2005年に fx-9860G が発売されたので、まさにこの時期にデフォルトで挿入モードに切り替えたと推測しても良いかも知れませんね!


Re: Re:fx-9860G の謎

sentaro様

管理人のやすです。


> お!温故知新電卓御一行様の無事の到着おめでとうございます!(^^)

この表現、気に入りました。

実は、もう一つ待っているものがあります。fx-7000G の Owner's Manual です。ネットで探したものがいい加減にスキャンしたもので(多分sentaro様も同じものをお持ちかと思います)、とてに読みにくいので、記念すべき機種であることもあり Amazon USAでポチッとしています。さしずめ fx-7000G様の秘書って感じでしょうか?


> 使い込まれてるとなるとキーの押し具合/反応とか気になってきますがどうでしょうか?

fx-7000G は電池の到着待ちですが、それ以外は、特に fx-9860G AU (めちゃ使い込まれた感じ) のキーや液晶は全く問題ありません。落として傷が付いた跡もありませんので、動作は全く問題なさそうです。


> >- fx-9860G Slim (かなり使い込んで外装は傷が多い)
> たぶん私のと同じ程度かなと感じます。
> 外装はすぐにすり傷とか付きやすそうなのでカバーとか無いと仕方ないところですね。(^^;

外装は、落として潰れた跡やら、銀色塗装の剥げやらあって、アクティブに使用されていた感じです。
おっしゃるように内側はとても綺麗で、キーも影響も問題なさそうです。


> >- fx-9860GII SD (SH3) (新品同様)
> >  2000年7月製造 (493AW07IA63391)
>
> なんと、私の持っているのと最後の4桁のうち数字が2つしか違っていません。(最後が65333)
> つまり左から9桁(493AW07IA6)は全く同じです。(^^;
> 同じ年の同じ月の同じ時期の製造で一緒ですね。

状態も綺麗なので、ある意味レアものをうまくゲットできたようです。


> >実は、CFX-9850GC PLUS と同じくらい重要なマイルストーンとなる機種が fx-9860G だと思うので、程度の良いものを探して板だ、Amazon Japan で見つけたので、調達しました。新品同様はチョット言い過ぎですが、電池蓋のある面のみ、軽くこすれた跡があるだけで、ハードカバーは細く浅い傷が1本入っているだけ、キーや液晶の面は新品同様。良いものを入手しました。
>
> これは上記のAU版ではない9860Gのことですよね。(^^)
> 国内版で程度が良いのは貴重なので良かったですね。

はい、AU版でない 9860G で、アマゾンジャパンのからの発送でアマゾンの箱に入って届いたものなので、国内盤の可能性が高いです。おそらく国内の業者がアマゾンに在庫委託しているものなのでしょう。


> こうなると使い込まれたAU版はOSをいろいろと入れ替えて実験機にしてしまいましょう。(^^;

それは良い考えですね!

先ずは、先日教えて頂いた情報から、800KB制限を外す技を試すことにします。



> >で、上記2つのfx-9860Gですが、謎仕様が見つかりました。
> うちにあるのも日本版だと思われるので、日本版も最初は電池付きだったと考えれば、
> ある時期から、予告なく変更された9860G rev.2という感じですね。(^^;

なるほど、そうですか。
それなら、電池ボックスの比較写真を撮って、fx-9860G 温故知新 でアップしようと思います。


> >傷が多いとはいえ、Slim は本当に良いですね。
>
> でしょでしょ!
> 最初に実機を眼の前にしたら、2台買っておけば良かったかなと思ったくらいでした。(^^;

これから、eBay とか Amazon USA の欲しいものリストに Slim を入れておいて、開封未使用品みたいなものがあればポチッとしようかと思います。CFX-9850GC PLUS がそうだったので、二匹目のドジョウです(^_^;


> >Casio Basic が単なる計算マクロ以上になる要素として、Locate と Getkey が重要だと考えています。
> >マニュアルを探してチョットだけ調べて見た範囲では、Getkey と Locate が導入されている古い機種に fx-9770G がありました。
> fx-9770GとはCFX-9970Gでしょうか?
> このあたりの機種の変遷は興味深いもののカタログが揃って無いとなかなか分かりづらですね。(^^;

ええっと、CFX-9770G の間違いでした。


> TI-Planetで電卓年表が作成されているので紹介しておきます。(^^)
> https://tiplanet.org/forum/viewtopic.php?f=61&t=22201
> この年表で見ると、CFX-9850GからLocate/Getkeyは導入されたという感じでしょうか。

わぁ、凄いデータですね!

で、上の年表とネットで見られるマニュアルから分かったことは、

Locate / Getkey が導入されていて最も古いのは、1996年台の CFX-9860G PLUS です。
CFX-9850G は対象外で、マニュアルを見ると自動計測を意識した製品だったのではないかと推測しています。 、

私の手持ちのカタログ (日本版とアメリカ/カナダ版) では、日本版では fx-9850G (対象外)の新発売が 1995年6月で、CFX-9850GB PLUS は、1997年12月までには登場しておらず、1998年12月に掲載されています。
なので、Locate / Getkey を最初に導入されたと考えられる CFX-9850G PLUS は、国内で発売されていたとすれば 1998年1月以降 2998年11月まで、ということになります。

Casio Basic の歴史では、CFX-9850G PLUS も記念すべき機種と言えそうですね!

欲しいものリストのアイテムが1つ増えそうです(^_^;


そうそう、fx-9860G の初期型を触っていて気がついたのですが、これに搭載されている Casio Basic は、CFX-9850GC PLUS の言語を主に改行まわりで改善しただけの仕様だと思います。命令やコマンド類だけでなく、使える関数も特に追加されていないようです。

おそらくですが、OS1.X から OS2.X にアップデートした時に、文字列処理コマンドと関数が増強されたとみています。

Re:fx-9860G の謎

管理人様、こんにちは!

>今日は早めに帰宅したところ、注文していた残りの全てが一気に届いていました。

お!温故知新電卓御一行様の無事の到着おめでとうございます!(^^)


>-fx-7000G (それなりに使い込んだ感じ)
>  ボタン電池を調達してから電源を入れます。

元祖なので程度の良いものとなるとなかなか無さそうですね。
電池はCR2032が3つ必要なので結構大食らいです。(^^;


>- fx-9860G AU (それなりに使い込んだ感じ)
> ※OS1.03
>  アドインのゲームが沢山入っていた!
>  あと、ヘルプのアドインもありました。fx-9860G Slim のヘルプと同じ表示になっています。
>  ストレージは800KB制限がかかっています。

使い込まれてるとなるとキーの押し具合/反応とか気になってきますがどうでしょうか?


>- fx-9860G (傷が少なく程度が良い)
> ※OS1.04

お!いいですね!


>- fx-9860G Slim (かなり使い込んで外装は傷が多い)
> ※OS1.10
>  内側は綺麗

たぶん私のと同じ程度かなと感じます。
外装はすぐにすり傷とか付きやすそうなのでカバーとか無いと仕方ないところですね。(^^;


>- fx-9860GII SD (SH3) (新品同様)
> ※OS2.00
>  2000年7月製造 (493AW07IA63391)

なんと、私の持っているのと最後の4桁のうち数字が2つしか違っていません。(最後が65333)
つまり左から9桁(493AW07IA6)は全く同じです。(^^;
同じ年の同じ月の同じ時期の製造で一緒ですね。


>実は、CFX-9850GC PLUS と同じくらい重要なマイルストーンとなる機種が fx-9860G だと思うので、程度の良いものを探して板だ、Amazon Japan で見つけたので、調達しました。新品同様はチョット言い過ぎですが、電池蓋のある面のみ、軽くこすれた跡があるだけで、ハードカバーは細く浅い傷が1本入っているだけ、キーや液晶の面は新品同様。良いものを入手しました。

これは上記のAU版ではない9860Gのことですよね。(^^)
国内版で程度が良いのは貴重なので良かったですね。
こうなると使い込まれたAU版はOSをいろいろと入れ替えて実験機にしてしまいましょう。(^^;


>で、上記2つのfx-9860Gですが、謎仕様が見つかりました。
>謎1)fx-9860G AU [OS1.03] にはメモリバックアップ用リチウム電池が使われています。

これはうちにある9860Gと同じです。

>謎2)fx-9860G [OS1.04] にはボタン電池が無く、ボタン電池が収まる部分は樹脂成形型が変区されており、完全に覆われています。あとで型変更したな!と分かるような境目が明らかに見えています。

このタイプはうちにはありません。(^^;
うちにあるのも日本版だと思われるので、日本版も最初は電池付きだったと考えれば、
ある時期から、予告なく変更された9860G rev.2という感じですね。(^^;


>或いは AU 品は、特殊事情からストレージが半分以下の800KBに制限されているだけでなく、SRAMも使っていないとか...

SRAMは256KBで共通のはずです。というかこれが無いと動作不能です。(^^;


>傷が多いとはいえ、Slim は本当に良いですね。

でしょでしょ!
最初に実機を眼の前にしたら、2台買っておけば良かったかなと思ったくらいでした。(^^;


>Casio Basic が単なる計算マクロ以上になる要素として、Locate と Getkey が重要だと考えています。
>マニュアルを探してチョットだけ調べて見た範囲では、Getkey と Locate が導入されている古い機種に fx-9770G がありました。
>fx-7400G シリーズの中では、fx-7400G と fx-7400G PUS はこれらが導入されておらず、fx-7400GII には導入されています。
>但し、fx-7400GII と fx-9770G だと fx-9770G の方が古いと思います。
>なので、今のところ fx-9970G 以降となりますが、それより古いものがあるかどうかは、まだ見つかっていません。

fx-9770GとはCFX-9970Gでしょうか?
このあたりの機種の変遷は興味深いもののカタログが揃って無いとなかなか分かりづらですね。(^^;

TI-Planetで電卓年表が作成されているので紹介しておきます。(^^)
https://tiplanet.org/forum/viewtopic.php?f=61&t=22201
この年表で見ると、CFX-9850GからLocate/Getkeyは導入されたという感じでしょうか。


>えと、15万円と19万円の2つが出品されていて、まだ19万円は残っていますが、とねさんでも躊躇なさっているようです。

電卓1台が19万となると…とね様といえども、さすがに清水の舞台から飛び下りる覚悟が必要かもですね。(^^;


>わっ、見事にバッタもんに、引っかかっていたわけですね...

あ゛、いえ、引っかかる前にフランス方面よりG2実機をゲットしてました。(^^;


>私には、RPN は別世界なので...
>それにしても、これだけ精度が高いと、特定用途や特定業界では結構役立つかも知れませんね!

PCのアクセサリの電卓と同じ精度をコンパクトに持ち運べるという感じですが、
実際のところ、それが何に役立つかと言われると…微妙ではありますね。(^^;
RPN自体は簡単な計算であればこなせますが、数式通りにどっぷり慣れた身にはちょっと厳しいかもです。
fx-502P/603Pでプログラムを組むのよりも数段階上の頭の体操的な電卓ではあります。(^^;
DM42の液晶はCASIOのグラフ電卓にも採用して欲しかったくらいの綺麗さです。(^^)

fx-9860G の謎

sentaro様

今日は早めに帰宅したところ、注文していた残りの全てが一気に届いていました。

えっと、発売の古い順に;

-fx-7000G (それなりに使い込んだ感じ)
  ボタン電池を調達してから電源を入れます。

- fx-9860G AU (それなりに使い込んだ感じ)
 ※OS1.03
  アドインのゲームが沢山入っていた!
  あと、ヘルプのアドインもありました。fx-9860G Slim のヘルプと同じ表示になっています。
  ストレージは800KB制限がかかっています。

- fx-9860G (傷が少なく程度が良い)
 ※OS1.04

- fx-9860G Slim (かなり使い込んで外装は傷が多い)
 ※OS1.10
  内側は綺麗

- fx-9860GII SD (SH3) (新品同様)
 ※OS2.00
  2000年7月製造 (493AW07IA63391)


実は、CFX-9850GC PLUS と同じくらい重要なマイルストーンとなる機種が fx-9860G だと思うので、程度の良いものを探して板だ、Amazon Japan で見つけたので、調達しました。新品同様はチョット言い過ぎですが、電池蓋のある面のみ、軽くこすれた跡があるだけで、ハードカバーは細く浅い傷が1本入っているだけ、キーや液晶の面は新品同様。良いものを入手しました。


> インストールされているOSが古ければ古いほど実際には使われていない証だと思われるので、
> 最初はOSの確認からですね。(^^)

ということで、先ずはOSの確認をしました。

で、上記2つのfx-9860Gですが、謎仕様が見つかりました。

謎1)fx-9860G AU [OS1.03] にはメモリバックアップ用リチウム電池が使われています。

謎2)fx-9860G [OS1.04] にはボタン電池が無く、ボタン電池が収まる部分は樹脂成形型が変区されており、完全に覆われています。あとで型変更したな!と分かるような境目が明らかに見えています。

このハードウェアの違いに対応して、OS 1.03 と OS 1.04 が境目なのかも知れません。

ちなみに、fx-9860G は国内で調達した中古なので、ひょっとして国内正規販売品の最初はOS1.04 で、fx-9860G AU など海外品は OS 1.03 もあった、もっと古いのもあったのか? といった可能性はありそうですね。

或いは AU 品は、特殊事情からストレージが半分以下の800KBに制限されているだけでなく、SRAMも使っていないとか...

謎です。


これから、Ftune のインストールをやってみます。


ところで既にご存じだとは思いますが、OS 1.03、OS 1.04、そして Slim のOS 1.10 までは、文字列処理コマンドが実装されていませんでした。


傷が多いとはいえ、Slim は本当に良いですね。



> ネタに困らないというのがなかなかいいですね!(^^)

はい、どうまとめるのか、考え中です。


> あ゛…(^^;
> fx-4000Pは7000Gと言語的には同一で、9860Gに対する5800Pにような存在なので7000Gがあれば無くても構わないかなと思います。
> それと4000Pは出品数自体が少ないのでなかなか良い個体には当たらないかもしれません。

貴重な情報をありがとうございます。
それなら fx-4000P シリーズの増殖は、優先度を下げられます。


> Blue,Red,Green等の前置カラーコマンドを無視するくらいなので、
> Plot/Line-Color等を使っているプログラムはエラーになります。(^^;
> CFX-9850Gシリーズのカラープログラムがエラー無しで動く程度ですね。

なるほど、了解です。


> LocateはCFXシリーズ世代から初めて導入されたコマンドだと思われますが、
> カラー対応してなかったのはかなりもったいないです。(^^;

あ、そうなんですか?
良いことを聞きました。

Casio Basic が単なる計算マクロ以上になる要素として、Locate と Getkey が重要だと考えています。
マニュアルを探してチョットだけ調べて見た範囲では、Getkey と Locate が導入されている古い機種に fx-9770G がありました。
fx-7400G シリーズの中では、fx-7400G と fx-7400G PUS はこれらが導入されておらず、fx-7400GII には導入されています。

但し、fx-7400GII と fx-9770G だと fx-9770G の方が古いと思います。

なので、今のところ fx-9970G 以降となりますが、それより古いものがあるかどうかは、まだ見つかっていません。


> >これは、国内初の卓上電子計算機 Casio f-1 です。
> >http://teamcoil.sp.u-tokai.ac.jp/calculators/museum/fx-1.html
>
> これが中古で15万の電卓ですか…
> 当時価格で32.5万というととんでも高価な代物ですよね。
> ニキシー管ですし電気もかなり食いそうですが、計算途中経過?が見えてるのが面白いです。

えと、15万円と19万円の2つが出品されていて、まだ19万円は残っていますが、とねさんでも躊躇なさっているようです。


> あ゛…6万はしてないです。(^^;
> 6万というと、HP Prime G2のボッタクリな輸入品かもですが、

わっ、見事にバッタもんに、引っかかっていたわけですね...

> DM42はメーカー直送の2.5万+送料なので、高いといえば高いですが、
> https://www.amazon.co.jp/s?me=A34FJTCX4MFF0J&marketplaceID=A1VC38T7YXB528
> 34桁精度のプログラム電卓でもありますし、
> いつでも入手できるものではない製品だと思えばついポチっていました。(^^;

私には、RPN は別世界なので...
それにしても、これだけ精度が高いと、特定用途や特定業界では結構役立つかも知れませんね!


そうそう、
「楽屋裏 - プログラム電卓メモワール2007-12」は追記修正し、
「楽屋裏 - プログラム電卓メモワール2009-10」をアップしています。


Re:Re: Re:Re: なかなかに濃いです!

管理人様、こんにちは!

>ってことで、この件については色々と相談に乗って頂くことがあるかも知れません。
>よろしくお願い致します。

了解です。(^^)


>成田で通関が済んで、配達中です。
>これについては、ジックリと遊んでみようと思います。プログラムだけでなく、単純に関数の制度とか、基本的なところも調べたいと思います。
>あと、fx-9860G Slim の通関終わって配達中だったりします。

どちらも今日には届いてそうですね。(^^)


>これが届けば、コレまで作ったプログラムをどさっと転送して、遊ぶのみです!
>Ftune もインストールして、2.5倍(でしたっけ?)程度の増速でも、楽しみです。
>で、最後にOSのバージョンごとに、Casio Basicのバグやら、処理速度を調べたいですね!

インストールされているOSが古ければ古いほど実際には使われていない証だと思われるので、
最初はOSの確認からですね。(^^)

Slimは電池が半分なのでオーバークロックにはきつそうですが、2.5倍はいけると思います。


>やることがてんこ盛りなので、しばらくは遊べそうだし、記事ネタにも困らないです。

ネタに困らないというのがなかなかいいですね!(^^)


>う~ん、fx-3650P も欲しくなってきました。fx-72F はヨドバシで¥3,400 程度だったとうな...ヤバイッ(^_^;

3650Pにfx-72Fもですか?(^^;
3650Pは検索すると…中古で千円ぐらいでしょうか。
http://nanzocamera1.cocolog-nifty.com/blog/2016/12/post-3d79.html
https://note.mu/shunsuketodo/n/n80b13cdf5541
藤堂様のサイトもヒットしました。(^^)


>わっ、このあたりはご協力頂ければ....と

はい、できる限り調べてみたいと思います!


>欲しくなるではないですか..

あ゛…(^^;
fx-4000Pは7000Gと言語的には同一で、9860Gに対する5800Pにような存在なので7000Gがあれば無くても構わないかなと思います。
それと4000Pは出品数自体が少ないのでなかなか良い個体には当たらないかもしれません。


>ををっ! fx-CG50のカラーコード付きのプログラムを転送するだけで、使えるってことでしょうか?
>面白いです!

Blue,Red,Green等の前置カラーコマンドを無視するくらいなので、
Plot/Line-Color等を使っているプログラムはエラーになります。(^^;
CFX-9850Gシリーズのカラープログラムがエラー無しで動く程度ですね。


>実は、この問題が移植時に対処できないケースのある、ある意味最大の問題だと思います。

LocateはCFXシリーズ世代から初めて導入されたコマンドだと思われますが、
カラー対応してなかったのはかなりもったいないです。(^^;


>これは、国内初の卓上電子計算機 Casio f-1 です。
http://teamcoil.sp.u-tokai.ac.jp/calculators/museum/fx-1.html

これが中古で15万の電卓ですか…
当時価格で32.5万というととんでも高価な代物ですよね。
ニキシー管ですし電気もかなり食いそうですが、計算途中経過?が見えてるのが面白いです。


>sentaro様もdm42、でしたっけ? これに6万円ですから...なかなかのものだと思いますよ!

あ゛…6万はしてないです。(^^;
6万というと、HP Prime G2のボッタクリな輸入品かもですが、
DM42はメーカー直送の2.5万+送料なので、高いといえば高いですが、
https://www.amazon.co.jp/s?me=A34FJTCX4MFF0J&marketplaceID=A1VC38T7YXB528
34桁精度のプログラム電卓でもありますし、
いつでも入手できるものではない製品だと思えばついポチっていました。(^^;

Re: Re:Re: なかなかに濃いです!

sentaro様

管理人のやすです。



> >実は、プログラム電卓メモワール、そしてプログラム電卓温故知新では、Casio Basic という単語を極力使わないように意識しています。古くからの搭載言語の変遷を踏まえた上で、現行機種の搭載言語こそ Casio Basicという名称がふさわしいという感じでまとめてみようと考えているからです。
> >チョットしたこだわりですけど、電卓上でブロック構造を用いた構造化プログラミングを意識したソースがかけるものこそ、Casio Basicと言いたいのです。当ブログでは、新世代Casio Basic と言ってるのですけど...
> >ローカル変数が使えない、関数が使えない、だから構造化Basicでないという方もいらっしゃるので、これへのアンチテーゼってわけです。
>
> あ、なるほど、そういうことだったんですね。了解です!(^^)

ってことで、この件については色々と相談に乗って頂くことがあるかも知れません。
よろしくお願い致します。


> いよいよ元祖fx-7000Gが到着なんですね。
> 液晶のコントラスト等は時代を感じさせますが、グラフ電卓としては小型で薄く、ちょっと大きめの関数電卓と思えばそう違和感が無いと思います。(^^)

成田で通関が済んで、配達中です。
これについては、ジックリと遊んでみようと思います。プログラムだけでなく、単純に関数の制度とか、基本的なところも調べたいと思います。


あと、fx-9860G Slim の通関終わって配達中だったりします。
これが届けば、コレまで作ったプログラムをどさっと転送して、遊ぶのみです!
Ftune もインストールして、2.5倍(でしたっけ?)程度の増速でも、楽しみです。
で、最後にOSのバージョンごとに、Casio Basicのバグやら、処理速度を調べたいですね!

やることがてんこ盛りなので、しばらくは遊べそうだし、記事ネタにも困らないです。


> fx-71Fがfx-5800Pと同時期なら納得です。
> 3650PはCASIOからダウンロードできるマニュアルを見る限りでは上書きモードのようです。4500Pも上書きですね。
> となると、fx-5800Pの世代からCASIOの関数電卓は一斉に挿入モードがデフォになったという感じでしょうか。

う~ん、fx-3650P も欲しくなってきました。fx-72F はヨドバシで¥3,400 程度だったとうな...ヤバイッ(^_^;



> この挿入モードと上書きモードの変遷は、
> CASIOだけでなく各社調べてみると面白そうですね。(^^)

わっ、このあたりはご協力頂ければ....と


> >特に、fx-4000Pシリーズは、代入命令が = だったり → だったりと混乱しているので、編集モードがどう変遷(混乱?)しているのかも興味があります。
>
> 4000Pシリーズは最初のfx-4000P、中間として4500P、最終4850Pで一揃いかと思われますが、
> 4000Pは発売時期が7000Gと同じなので→で統一されてますね。
> 編集モードはすべて上書きモードっぽいです。

> 新品同様を狙うと高価になりがちですが、
> 4000シリーズは603Pのようなプレミアは無いので割と格安でありそうな気がします。(^^)

欲しくなるではないですか...



> >あ、これは試してしません。面白そうですね!
>
> この仕様に気がついた時にFX版C.Basicもカラーコマンド(でエラーにならない)対応しました。(^^)

ををっ! fx-CG50のカラーコード付きのプログラムを転送するだけで、使えるってことでしょうか?
面白いです!



> >先ほど本文に追記したのですが、カラーコマンドは " " 命令には有効ですが、Locate には無効でエラーになります。
> >カラーコマンドの主な利用価値は、おそらくグラフ描画ではないかと思うので、グラフィックス関係を調べるときに取り上げようと思っています。
>
> あ゛…これは気がついてませんでした。(^^;
> たしかにカラーが活きるのはグラフ描画の方だとは思うのですが、
> Locateに対応していないのは、せっかくのカラーが中途半端でもったいない仕様ですね。(^^;

実は、この問題が移植時に対処できないケースのある、ある意味最大の問題だと思います。



> >コマンドを見ているだけだと、線幅の指定コマンド以外は、fx-9860Gシリーズと変わらないです。細かい仕様もおそらく変わらない可能性大ですが、一応確認してみようかなと思っています。ここまできたら、キッチリ評価したくなっています。
>
> さすが管理人様!
> 温故知新モード炸裂ですね。(^^)

なにしろ、Casio Basic入門 グラフィックス編があるので、片っ端からサンプルプログラムを試せば良い、って状況なんです。



> TIの実機は84SE以降、HPに関しては50G以降と世代的には新しい機種しか持ってないので、
> それ以前の古い機種になると古いマニュアルが見れるかどうかにかかってきますが、
> 昔のマニュアルがPDF化されていたりするので、そこのあたりはなんとか調べられそうです。

なるほど、マニュアルで確認できるのですね...ってそれが大変かも知れませんが...


> おおっ!!
> ついに売れてしまったと思ってたのですが、管理人様だったのですね!(^^)

はいっ (o^^o)

これも出荷済みの連絡がきたので、今日明日に届くと思います。

今週は中古機が一機に到着です!


> >とね日記のとねさんが、15万円だかの中古のプログラム電卓をオークションで狙っていたら、先に落札されたと、おっしゃっていたので、私などまだ可愛いものではあります。
>
> うわ、15万円!ってなんですか?それ電卓ですか?(^^;
> 大昔の製品が新品で残っていたりすればそれくらいの値段になるのでしょうか。(^^;

これは、国内初の卓上電子計算機 Casio f-1 です。
http://teamcoil.sp.u-tokai.ac.jp/calculators/museum/fx-1.html


sentaro様もdm42、でしたっけ? これに6万円ですから...なかなかのものだと思いますよ!

Re:Re: なかなかに濃いです!

管理人様、こんにちは!

>私としては、現在 CFX-9850GC PLUS を普段使いしていて、癖や特徴を洗い出そうとしています。

お!普段使いとは、さすが管理人様ですね。


>この写真は、黄色味の強いランプ(白熱球)の照明(たまたま)の時のものです。白い蛍光灯下だと、色のコントラストが悪くなります。液晶の背景が黄色味が買っていることと関係ありそうです。

白熱球だったとは…3色液晶が映える写り方でばっちりです。(^^)


>実は、プログラム電卓メモワール、そしてプログラム電卓温故知新では、Casio Basic という単語を極力使わないように意識しています。古くからの搭載言語の変遷を踏まえた上で、現行機種の搭載言語こそ Casio Basicという名称がふさわしいという感じでまとめてみようと考えているからです。
>チョットしたこだわりですけど、電卓上でブロック構造を用いた構造化プログラミングを意識したソースがかけるものこそ、Casio Basicと言いたいのです。当ブログでは、新世代Casio Basic と言ってるのですけど...
>ローカル変数が使えない、関数が使えない、だから構造化Basicでないという方もいらっしゃるので、これへのアンチテーゼってわけです。

あ、なるほど、そういうことだったんですね。了解です!(^^)


>これは、「挿入モードと上書きモードの歴史」という面白い視点をありがとうございます。もうすぐ fx-7000Gが到着しそうなので、実際に触ってみようと思います。

いよいよ元祖fx-7000Gが到着なんですね。
液晶のコントラスト等は時代を感じさせますが、グラフ電卓としては小型で薄く、ちょっと大きめの関数電卓と思えばそう違和感が無いと思います。(^^)


>ちなみに国内では、fx-71F は fx-5800P と同時発売開始なんです。だから挿入モードというのは説得力あります。そうなると fx-3650P が気になります。あと、fx-4500P はどうだったかのか調べたいところです。

fx-71Fがfx-5800Pと同時期なら納得です。
3650PはCASIOからダウンロードできるマニュアルを見る限りでは上書きモードのようです。4500Pも上書きですね。
となると、fx-5800Pの世代からCASIOの関数電卓は一斉に挿入モードがデフォになったという感じでしょうか。

この挿入モードと上書きモードの変遷は、
CASIOだけでなく各社調べてみると面白そうですね。(^^)


>特に、fx-4000Pシリーズは、代入命令が = だったり → だったりと混乱しているので、編集モードがどう変遷(混乱?)しているのかも興味があります。

4000Pシリーズは最初のfx-4000P、中間として4500P、最終4850Pで一揃いかと思われますが、
4000Pは発売時期が7000Gと同じなので→で統一されてますね。
編集モードはすべて上書きモードっぽいです。


>あぁ、中古電卓で破産しそうです....

新品同様を狙うと高価になりがちですが、
4000シリーズは603Pのようなプレミアは無いので割と格安でありそうな気がします。(^^)


>あ、これは試してしません。面白そうですね!

この仕様に気がついた時にFX版C.Basicもカラーコマンド(でエラーにならない)対応しました。(^^)


>先ほど本文に追記したのですが、カラーコマンドは " " 命令には有効ですが、Locate には無効でエラーになります。
>カラーコマンドの主な利用価値は、おそらくグラフ描画ではないかと思うので、グラフィックス関係を調べるときに取り上げようと思っています。

あ゛…これは気がついてませんでした。(^^;
たしかにカラーが活きるのはグラフ描画の方だとは思うのですが、
Locateに対応していないのは、せっかくのカラーが中途半端でもったいない仕様ですね。(^^;


>コマンドを見ているだけだと、線幅の指定コマンド以外は、fx-9860Gシリーズと変わらないです。細かい仕様もおそらく変わらない可能性大ですが、一応確認してみようかなと思っています。ここまできたら、キッチリ評価したくなっています。

さすが管理人様!
温故知新モード炸裂ですね。(^^)


>上の編集モードのお話もそうですが、TIやHPのプログラム電卓の情報があると、さらに深く掘り下げられます。ありがとうございます。

TIの実機は84SE以降、HPに関しては50G以降と世代的には新しい機種しか持ってないので、
それ以前の古い機種になると古いマニュアルが見れるかどうかにかかってきますが、
昔のマニュアルがPDF化されていたりするので、そこのあたりはなんとか調べられそうです。


>ところで、メルカリにあると教えて頂いた fx-9860GII SD (SH3) ですが、ゲットしてしまいました。到着待ちです。
>中古電卓破産の道をまっしぐらです(^_^;

おおっ!!
ついに売れてしまったと思ってたのですが、管理人様だったのですね!(^^)


>とね日記のとねさんが、15万円だかの中古のプログラム電卓をオークションで狙っていたら、先に落札されたと、おっしゃっていたので、私などまだ可愛いものではあります。

うわ、15万円!ってなんですか?それ電卓ですか?(^^;
大昔の製品が新品で残っていたりすればそれくらいの値段になるのでしょうか。(^^;

Re: なかなかに濃いです!

sentaro様、

管理人のやすです。


> 今、CFX-9850GCを新たに使ってみようと思う人もあまりいないでしょうが、(^^;
> CFX-9850GCの細かな仕様にここまで言及しているのはすごく貴重だと思います。(^^)

ありがとうございます。確かに今更この機種を入週して使おうという人は居ないと思います。
私としては、現在 CFX-9850GC PLUS を普段使いしていて、癖や特徴を洗い出そうとしています。

fx-9860GII を購入して初めて使った時と同じノリで記事を書いた感じなので、今更って感じもすると思います。

先ほど追記したのですが、関数電卓として複素指数関数は使えませんでした。このあたりも fx-9860G でアップグレードしたポイントです。


> 3色液晶ですが、管理人様が撮影された写真で見ると割とはっきり見えてますね。
> 写真では緑と青の差が若干微妙ですが、ちょっと角度が変わると見え方が変わるので難しいですよね。(^^;

この写真は、黄色味の強いランプ(白熱球)の照明(たまたま)の時のものです。白い蛍光灯下だと、色のコントラストが悪くなります。液晶の背景が黄色味が買っていることと関係ありそうです。

毎日使うには、日常使いのプログラムを全部移植してのことですが、おっしゃるように fx-9860Gシリーズで動くプログラムは、一手間かければ、ほぼ使えます。現行 Casio Basic の源流ならでは、だと思います。

実は、プログラム電卓メモワール、そしてプログラム電卓温故知新では、Casio Basic という単語を極力使わないように意識しています。古くからの搭載言語の変遷を踏まえた上で、現行機種の搭載言語こそ Casio Basicという名称がふさわしいという感じでまとめてみようと考えているからです。

チョットしたこだわりですけど、電卓上でブロック構造を用いた構造化プログラミングを意識したソースがかけるものこそ、Casio Basicと言いたいのです。当ブログでは、新世代Casio Basic と言ってるのですけど...

ローカル変数が使えない、関数が使えない、だから構造化Basicでないという方もいらっしゃるので、これへのアンチテーゼってわけです。


ところで、

> >プログラムの編集
>
> 上書きモードに関してですが、fx-7000Gがデフォルト上書きモード仕様なので
> というか当時のライン編集可能な電卓/ポケコンは上書き仕様がほとんどではなかったかと思います。
> FX-502P/602Pが挿入モードがデフォルトだったのになぜにBASIC系言語搭載機ではそうなった?という感じですが、
> この上書きモードは従来機からの継続性を考えると仕方ない部分がありますよね。
> TIもNspireから挿入モードがデフォになっているものの、
> 84CEでは未だにCFX-9850GCと同じ上書きモード仕様ですし、ある程度普及してしまうと変更することも大変かもしれません。
> ということで、最初のfx-7000Gが上書きモードだったことがずっと影響を及ぼしてますね。(^^;
> こういう状況の中、2005年以降、fx-9860G/5800Pで挿入モードをデフォルトに変更したのは大英断だと思います。
> ところで、スタンダード関数電卓のJP900は挿入モードがデフォですが、以前の関数電卓ではどうだったんでしょうか?
> どこから挿入モードに切り替わったのかちょっと興味が出てきました。(^^;
> ちなみにfx-700AZ(=fx-71F)も挿入モードがデフォですね。

これは、「挿入モードと上書きモードの歴史」という面白い視点をありがとうございます。もうすぐ fx-7000Gが到着しそうなので、実際に触ってみようと思います。

ちなみに国内では、fx-71F は fx-5800P と同時発売開始なんです。だから挿入モードというのは説得力あります。そうなると fx-3650P が気になります。あと、fx-4500P はどうだったかのか調べたいところです。

特に、fx-4000Pシリーズは、代入命令が = だったり → だったりと混乱しているので、編集モードがどう変遷(混乱?)しているのかも興味があります。

あぁ、中古電卓で破産しそうです....


> 逆にCFX-9850GCのプログラムはカラーコマンドがあっても後継機種でそのまま動作しますね。
> 9860GシリーズではCFX-9850GCからの転送後に@表示になるのにエラーにならないのにはびっくりでした。(^^;

あ、これは試してしません。面白そうですね!



> 管理人様謹製CasioBasicプログラムが小文字表示で3色カラーで動いてるのはなかなかに貴重な写真です。(^^)

先ほど本文に追記したのですが、カラーコマンドは " " 命令には有効ですが、Locate には無効でエラーになります。
カラーコマンドの主な利用価値は、おそらくグラフ描画ではないかと思うので、グラフィックス関係を調べるときに取り上げようと思っています。

コマンドを見ているだけだと、線幅の指定コマンド以外は、fx-9860Gシリーズと変わらないです。細かい仕様もおそらく変わらない可能性大ですが、一応確認してみようかなと思っています。ここまできたら、キッチリ評価したくなっています。



> 本体で入力できても良さそうですが、TI84シリーズも入力できないので、そういう縛りがあったのでしょう。(^^;

上の編集モードのお話もそうですが、TIやHPのプログラム電卓の情報があると、さらに深く掘り下げられます。ありがとうございます。



> >fx-9860Gシリーズで作成したグラフィックスベース・プログラムを3pinケーブル (SB-62) を使って直接 CFX-9850GC PLUS に転送すると、F-Line、Horizontal、Vertical が正しくコマンドとして認識されないことが分かった。オペレーションコードが変化しているのだろうか?
>
> あり?
> と思って転送してみたら、無事転送されてるようです。

わっ、転送ミスってことですね?
何故だろうか?
もう一度確認してみます....ってことで、この部分は本文からは削除しておきました。


> 開業を削除する=閉店?
> ちょっとウケてしまいました。(^^;

わっ、
元々関西人なので、うけてなんぼのところがあります。
お楽しみ頂けたようで....

本文を修正しました。ありがとうございます。


ところで、メルカリにあると教えて頂いた fx-9860GII SD (SH3) ですが、ゲットしてしまいました。到着待ちです。
中古電卓破産の道をまっしぐらです(^_^;


とね日記のとねさんが、15万円だかの中古のプログラム電卓をオークションで狙っていたら、先に落札されたと、おっしゃっていたので、私などまだ可愛いものではあります。


なかなかに濃いです!

管理人様、こんにちは!

「プログラム電卓 温故知新」第一弾、拝見させていただきました。
今、CFX-9850GCを新たに使ってみようと思う人もあまりいないでしょうが、(^^;
CFX-9850GCの細かな仕様にここまで言及しているのはすごく貴重だと思います。(^^)

3色液晶ですが、管理人様が撮影された写真で見ると割とはっきり見えてますね。
写真では緑と青の差が若干微妙ですが、ちょっと角度が変わると見え方が変わるので難しいですよね。(^^;


>プログラムの編集

上書きモードに関してですが、fx-7000Gがデフォルト上書きモード仕様なので
というか当時のライン編集可能な電卓/ポケコンは上書き仕様がほとんどではなかったかと思います。
FX-502P/602Pが挿入モードがデフォルトだったのになぜにBASIC系言語搭載機ではそうなった?という感じですが、
この上書きモードは従来機からの継続性を考えると仕方ない部分がありますよね。
TIもNspireから挿入モードがデフォになっているものの、
84CEでは未だにCFX-9850GCと同じ上書きモード仕様ですし、ある程度普及してしまうと変更することも大変かもしれません。
ということで、最初のfx-7000Gが上書きモードだったことがずっと影響を及ぼしてますね。(^^;
こういう状況の中、2005年以降、fx-9860G/5800Pで挿入モードをデフォルトに変更したのは大英断だと思います。
ところで、スタンダード関数電卓のJP900は挿入モードがデフォですが、以前の関数電卓ではどうだったんでしょうか?
どこから挿入モードに切り替わったのかちょっと興味が出てきました。(^^;
ちなみにfx-700AZ(=fx-71F)も挿入モードがデフォですね。


>fx-9860Gシリーズからのプログラムの移植

CasioBasicのプログラムは過去互換性となると若干の手直しが面倒ですが、
fx-9860Gシリーズで動作していたプログラムがほぼそのまま使えるのはポイント高いですね。

逆にCFX-9850GCのプログラムはカラーコマンドがあっても後継機種でそのまま動作しますね。
9860GシリーズではCFX-9850GCからの転送後に@表示になるのにエラーにならないのにはびっくりでした。(^^;

管理人様謹製CasioBasicプログラムが小文字表示で3色カラーで動いてるのはなかなかに貴重な写真です。(^^)


>アルファベットの小文字

本体で入力できても良さそうですが、TI84シリーズも入力できないので、そういう縛りがあったのでしょう。(^^;


>fx-9860Gシリーズで作成したグラフィックスベース・プログラムを3pinケーブル (SB-62) を使って直接 CFX-9850GC PLUS に転送すると、F-Line、Horizontal、Vertical が正しくコマンドとして認識されないことが分かった。オペレーションコードが変化しているのだろうか?

あり?
と思って転送してみたら、無事転送されてるようです。


>▶Then / Else の直後を改行すると Syn ERROR になる
> ※対策:Then / Else 直後の開業を削除する

開業を削除する=閉店?
ちょっとウケてしまいました。(^^;
最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR