年末恒例、電卓すす払い

2014年12月20日

年末も押し迫ってきました。この時期は年賀状の準備に併せて、所有電卓のすす払いを行っています。


恒例の電卓すす払い

日常使い以外の電卓は、動態保存を目指しています。乾燥剤入りの箱から出してきて、清掃、動作確認、必要に応じて電池交換を行います。

My Calcs 

これらは、実際に新品として購入して、一度は日常使いをしたものばかりです。右下に写っている fx-995ES だけが例外で、カシオのスタンダード関数電卓の第三世代の最終型としての記念に購入したものです。2015年2月には 高精細液晶を搭載した fx-JP900 が発売予定で、これは第四世代のスタンダード関数電卓と言えます。
・第一世代: 最初の関数電卓
・第二世代: 数式通り入力タイプ
・第三世代: 数学自然表示タイプ
・第四世代: 高精細液晶タイプ
        ⇒ Casio fx-JP900


過去の名機レビュー

プログラム電卓は、今も昔も高価な製品なので、調べて納得してから購入すると言うのが通常です。2回だけ衝動買いをし、結果的に、最初は大ハズレ(fx-4500P)、2回目は大当たり(fx-5800P)でした。

今回は、ちょっと懐かしさもあって、記事にしてみようと思います。

FX-502P
FX-502P & Manual

これは、FX-502P 、一世を風靡した手帳サイズのプログラム関数電卓です。保証書には 1979年4月とあります。35年経った今でもきちんと動作します。生まれて初めて個人で所有した電卓が、いきなりこの機種でした。親に買って貰ったもので、当時は搭載されている関数全部が理解できませんでした(/_;)
昨年まであったプログラムライブラリがなぜだか見つからず、年末の大掃除での捜索対象です。人生で初めて作ったプログラム(反射ゲーム)はこの電卓で作ったものです。

 ⇒ FX-502P / 602P / 603P のプログラム

アセンブラのような言語で、最初は分かりにくいものでしたが、最近の Casio Basic には無い、間接ジャンプ、間接参照ジャンプといったまさにアセンブラのような命令があって、限られたプログラム領域やメモリで効率良く動作させる仕様です。まさに神のようなプログラムが多く発表されたものです。

FX-602P
FX-602P & Manuals 

FX-502P ではプログラムが保存しきれなくなったのでFX-602P を入手し、日常使いしていました。1984年6月19日の日付の保証書も残っていて、30年経った今でもきちんと動作します。プログラム言語は FX-502P とほぼ互換です。今でも FX-602P Page と言うサイトが残っていて、当時の "神プログラム" に熱狂した雰囲気を味わうことができます。

FX-502P や FX-602P は30年以上経てもなお健在、その品質の高さには驚きます。

FX-603P
FX-603P & Manuals 

FX-502P の系統の互換機種の最終バージョンである FX-603Pで、これもきちんと動作します。これは21世紀に入ってもまだ販売されていた超ロングセラーの製品です。私自身、2007年まで使っていたので、そんなに古いと言う感覚がないのですが、残っている保証書には 1992年4月 とあるので、22年も前に購入したことになります。液晶がドットマトリックスになり、2行表示となり、さらにアルファベットの表示ができるようになったのでプログラムの幅が広がりました。当時は2行表示でも凄い便利だと思ったものです。

カシオのプログラム関数電卓第一世代の最終形と言うべき記念のモデルです。

実は、その後カシオのプログラム関数電卓搭載のプログラミング言語は、迷走の時代を迎えます。

fx-4500P
fx-4500P 
迷走の時代の代表選手 fx-4500P です。fx-4500PA は多く売られたのですが、末尾が PA でなくて P のモノはそれほど多く市場に出回らなかったようで、ある意味希少価値があるようです。海外のコレクタが 比較的高値で購入したがっているようです。fx-4500PA はボタン電池を3個使うのですが、fx-4500P はボタン電池2個使いなので、省電力で経済的なのかも知れません。

残っている保証書には、1990年2月27日とあるので、24年選手です。

私の fx-4500P は残念なことに 電池を入れ替えても LOW BATTERY と表示され、液晶が濃く表示できない状態です。計算はできるので、かろうじて動態保存しています。普通に考えれば24年で故障するのは不思議でもなんでも無いのですが、他が凄すぎです。

このモデルの特長として、1つのキーに割り当てられる機能が多すぎで、操作性が悪い点がありました。それだけなら慣れれば済むのですが、プログラミング言語が、中途半端でとても使いにくいのは致命的でした。

右下に [EXE] キーがあるのが、この機種の特長の1つです。当時のカシオは FX-603P 系統の [=] を持つシリーズと、[EXE] を持つシリーズの2つが存在しており、言語仕様が互いに大きく異なっていました。

結果的には、[EXE] キーの系統が、現在のプログラム関数電卓やグラフ関数電卓に繋がっているわけですが、FX-603P でできたことが、どうやっもできないと言うことが多く、せっかく期待して購入したのですが、結局 FX-603P の購入に至ります。

従って、、それほど使っていないのですが、所有品の中でこれだけが電源回りに故障が発生していることから、品質面も試行錯誤していたのかも知れません。私が購入した電卓の中で、唯一のハズレ品でした。


fx-911s / fx-991S / fx-991W / fx-991MS / fx-991ES / fx-993ES
仕事の環境が大きく変わったため、技術計算やプログラムを利用することが激減し、スタンダード関数電卓を愛用していた時期があります。上の写真には写っていない、fx-911s が初めて買った スタンダード関数電卓でした。FX-603P と同様の手帳タイプで、満員電車の押しくらまんじゅうで壊れてしまい、fx-991S を購入。これも同じく手帳タイプで同様に満員電車で壊れました。

次に買ったのが、写真に写っている fx-991W で、ハードケースに変わったおかげで、満員電車で生き残ることができました。fx-991W を最も長く愛用しました。その後、fx-991MS 以降でガッカリしたのは、3桁区切りの記号が表示されなくなったことです。さらに fx-991ES以降では、3桁区切り記号が無いだけでなく、視認性の劣る青液晶になってしまいました。安い青液晶に切り替えたのは、バブル崩壊とデフレ突入による不景気の象徴だと思っています。

幸いなことに2015年2月発売予定の fx-JP900 は、黒液晶に戻り、3桁区切りが復活します。さらに高精細液晶の搭載です。カシオの本気度がうかがえます。


fx-5800P
fx-5800P-3
fx-5800P を店頭で見て、その場で衝動購入したのですが、購入当時はスタンダード関数電卓の高級機と言う感覚で使っていました。プログラムは作らず、使いもしませんでした。

ふと、プログラムを作ってみようと思って触ると、FX-603P とは別世界、スラスラとプログラムが書けて、Casio Basic の使いやすさに驚きました。そして、触っているうちに Casio Basic の能力の高さに惚れ込みました。但し、fx-5800P の取扱説明書は、FX-603P の時代と異なって、プログラミングについては、ほとんどヤッツケ仕事としか思えないお粗末な記述しかありません。カシオは、分かる人だけ使えば良いと本気で思っているのでしょうか? 優れた Casio Basic なのにもったいない話です。

近年の Casio Basic は構造化プログラミング言語なので、実用的で使いやすいプログラムをかけます。その魅力にハマッて色々と調べた結果をまとめておきたい、知らない人に知って欲しいと言う趣旨で e-Gadget  を始め、究極のワンテーマブログが続いています。


fx-9860GII
今年は年末になって、fx-9860GII を入手しました。fx-5800P よりも処理能力は圧倒的に高いのですが、使い勝手の面でみると fx-5800P の方が圧倒的に良いと感じています。従って、今でも日常使いは fx-5800P のままです。チョットした憧れのあった fx-9860GII ですが、どちらか1つを選べ、と今言われると fx-5800P を選ぶと思います。今のところ...

ところで、 fx-5800P 用の Casio Basic のプログラムをいくつか fx-9860GII に移植してみています。

 ⇒ fx-5800P プログラムライブラリ - キーコード取得
 ⇒ fx-9860GII への移植 - ピタゴラス数
 ⇒ fx-9860GII への移植 - 素因数分解

ここで、分かったことは、ほんのチョットしたことだけ気をつければ移植性が極めて高いと言うことです。処理能力の低い fx-5800P でまともに動くように作れば、fx-9860GII では問題なく動作します。搭載されている Casio Basic は、fx-5800P よりも fx-9860GII がバージョンが上のようで、fx-5800P に無いコマンドが多くあるので、fx-5800P でどうしてもできないことが、fx-9860GII で実現します。理屈の上では...です。

実際に、fx-9860GII の特長を活かし、fx-9860GII で是非とも使いたいプログラムが、いつか出来ると思います。fx-5800P になく、fx-9860GII にある面白い点の1つに、C言語で書いたプログラムを走らせられることがあり、ホビー機としては楽しませてくれそうです。Windowsプログラミングが染みこんでしまった体には、以前の MS-DOS で C のプログラムを作っていた頃を思い出させてくれて、懐かしい感じがします。


Basic は時代遅れなのか?

ネットを見ていますと、Basic 言語は教育用の初心者向きで、実用向きではないと言う言説を未だに見聞きしますが、PC用のプログラムでも Visual Basic で書かれたものが立派に業務用として使われています。C言語系(敢えて、C++、C# や Javaなどを含めますが...)が優れていると一言でいえるものでは無いと思うのです。適材適所で 複数の言語を使い分けるのが最良でしょう。プログラミングは宗教ではなく、実用ツールなのですから...

Basicでプログラムを書くのは確かに楽です。電卓プログラミングで言えば、FX-603P 系のアセンプラのような言語に比べると、Casio Basic は圧倒的に実用的です。プログラムの種類や目的によっては、Casio Basic ではできないことがあり、その時は Casio Basic 以外を使いたいと思います。その意味でfx-9860GII により、プログラム電卓活用の幅が広がるのではないかと、楽しみです。


そして、Casio Basic の勧めCasio Basic入門 に繋がります。


長々とここまでお付き合い頂き、ありがとうございます。





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

人気ブログランキングへ





カシオプログラム関数電卓 FX-5800P-N カシオプログラム関数電卓 FX-5800P-N
(2006/09/22)
CASIO(カシオ)

商品詳細を見る



keywords: fx-5800P、fx-9860GIICasioBasicプログラム関数電卓

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


関連記事

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

コメントの投稿

非公開コメント

No title

管理人様、こんにちは!

電卓4世代!勢ぞろいすると壮観ですね(^^)
こうして並んでるのを見るとFX-4500PまではFX-502Pサイズを継承していたんですね。
大きさでいうとfx-9860GIIはもはや電卓の範疇ではないですね(^^;

それにしても35年前のFX-502や30年前のFX602Pが動態保存されてるのはすごいです。
うちのFX-602Pはすでに手元にないですし、SHARPの30年前のポケコンはすでに液晶真っ黒で使えなくなってますし。。
手持ちの最古のCASIO電卓はFX-603Pが手元にあるだけですけど電卓としては非常によく出来た傑作シリーズでしたね。
現在のfx-5800Pと比べると電卓としての操作感が違うので同列には比較できないですけど、初期の電卓では最強のプロ電ですね。

fx-5800Pは管理人様のこのブログの影響もあって以前より出番が増えてて、プログラムも追加するばかりなのでちょっと容量的に厳しくなってきたというのがあって、今週ついに二台目のfx-5800Pをゲットしまして、やっとこ2台体制となりましたv(^^)v

いざ2台になってみると1台のときと比べてやはり便利ですね。
同じプログラムを微妙に変えて試したいと思った時にfx-9860GIIではコピペが普通に出来るのでたいした問題ではないのですが、fx-5800Pでは再度全部打ちこまないといけないのが結構面倒だったところが、もう一台へコピーしてファイル名ちょっと変えてからまた戻せばコピペに近いことが実現できて使い勝手というか効率がすごくあがりますね。
CASIOのQ&Aでもさりげなく2台目を勧めているあたり、ケーブル込み2台セットでも販売すればいいのにとも思いますね。
http://support.casio.jp/answer.php?cid=004002003002&qid=32166&num=3

ところで、2台目に全転送してから完全リセットしてまた全転送で戻すと、なんと同じプログラムの実行速度が微妙に違ってました。
同じ個体での速度差なので、なにやらメモリ配置かなんかで動作速度に影響出たような感じです。

sentaro様

ついに fx-5800P、2台になったのですね! コピペ楽ですよね。

私のところでは、そろそろ、もう一台必要になってきています(>_<)

同じ機械で、同じプログラムの動作速度が微妙に違うとすれば、ひょっとして配列変数や行列、リストを使ってないでしょうか?これらはアクセスするだけで時間がかかります。

私が経験したのは、残りメモリの依存性です。少なければ遅いと一概に言えず、まだ謎のままです。



最近の傾向

sentaro様

書ききれなかったコメントを...

> 大きさでいうとfx-9860GIIはもはや電卓の範疇ではないですね(^^;

あはは、確かにデカイです。
昔は、ACアダプタを繋いで使う卓上タイプの「電子式卓上計算機」であったわけですから、「電卓」と言う名称は時代遅れと言えなくもないですね。

確かに卓上で使うのでしょうが、今のは手のひら計算機というべきでしょうね。fx-9860GII も立派な手のひら計算機ではあります...


>それにしても35年前のFX-502や30年前のFX602Pが動態保存されてるのはすごいです。

そうなんです、これは私も驚くばかりです。湿気対策だって実験室のようにキチンと行っていないのですから...

毎年年末は、まだ動いてくれるかな?とちょっとドキドキしながら電源を入れています。

>現在のfx-5800Pと比べると電卓としての操作感が違うので同列には比較できないですけど、初期の電卓では最強のプロ電ですね。

スタンダード関数電卓やプログラム電卓全般で感じることなのですが、キーが大きくなり、キー回りの印字も大きく見やすくなっています。

fx-4500P などは、本当に細かい文字で、フォントや色合いも見づらいものです。

昔は、電卓は若者が使うもので、今はオッチャンが使うものなのでしょうか? オッチャンには優しくなっております。

No title

管理人様、こんにちは!

>ついに fx-5800P、2台になったのですね! コピペ楽ですよね。

はい!
ずっと2台目と思いつつ、やっと2台目です(^^)

fx-5800P同士でしか通信出来ない仕様は惜しい限りですけど、2台あることでやっと本領発揮というか、使い勝手がかなりアップしますね。


>私のところでは、そろそろ、もう一台必要になってきています(>_<)

もしかしてまたまたヒンジ問題でしょうか?


>同じ機械で、同じプログラムの動作速度が微妙に違うとすれば、ひょっとして配列変数や行列、リストを使ってないでしょうか?これらはアクセスするだけで時間がかかります。

ビンゴ!です。たしかに配列使ってるプログラムでした。

プログラムを最初に入力した時に測ってた時間と今回リセットして全転送してから測ると1割くらい違ってたのであれれと思った次第です。
気温差とかでは説明できない差ですし、配列変数のアクセス速度の可能性が高そうですね。

そういえば、先代のfx-4800Pでは変数のAが速くてZになるにつれて遅くなり、そして配列を確保するほどにまた遅くなるという傾向がありましたけど、fx-5800Pにもなにかしら変数アクセス速度のカラクリが存在してるような感じですね。

そして、

>私が経験したのは、残りメモリの依存性です。少なければ遅いと一概に言えず、まだ謎のままです。

残りメモリの依存性もかなりありそうですね。

それから、メモリ内部のプログラムの状態が順序良く格納されてるか、飛び飛びになっているかとか、ハードディスクのデフラグありなしみたいな感じというかそういうのもある感じしています。

まだまだ謎多きfx-5800Pですね。


>昔は、ACアダプタを繋いで使う卓上タイプの「電子式卓上計算機」であったわけですから、「電卓」と言う名称は時代遅れと言えなくもないですね。

たしかにその通りです。もはや卓上ではないですよね。

今の電卓は大きさの面では管理人様がおっしゃるとおり、見易さ優先の大きさになっていると感じますね。
たまにFX-603Pを使うと印字の見にくさを感じることが多々あるのでいまどきの大きさに完全に慣れてしまってます(^^;


>昔は、電卓は若者が使うもので、今はオッチャンが使うものなのでしょうか? オッチャンには優しくなっております。

ここすごくツボです(笑)

今は電卓よりもスマホなんでしょうね。

従来からの電卓世代に合わせて電卓も見やすく進化してきたというところでしょうか。

今後のハイレゾ電卓への進化が楽しみです。

フラグメンテーション

sentaro様

もう一台必要になりそう、と言うのは単に1台のfx-5800P にバックアップしきれなきなっているからなんです。なんだかんだと作っていると、1台分の容量はあっという間です(/_;)

来月あたり、もう1台増えるかも知れません....


そういえば、ヒンジ破損については、破損したfx-5800P を明日あたり修理してみようかと思っています。


>それから、メモリ内部のプログラムの状態が順序良く格納されてるか、飛び飛びになっているかとか、ハードディスクのデフラグありなしみたいな感じというかそういうのもある感じしています。

一気に転送するのではなくて、プログラムを1つづつ転送してみると、フラグメンテーションの影響かどうか、分かるかも知れませんね。

フラグメンテーションは、単純にインタープリタ動作するプログラムのジャンプ系で影響が出るだけでなく、配列変数のアクセス速度に差が出る可能性もありそうです。


No title

管理人様、こんにちは!

>もう一台必要になりそう、と言うのは単に1台のfx-5800P にバックアップしきれなきなっているからなんです。なんだかんだと作っていると、1台分の容量はあっという間です(/_;)

あ、なるほどです。私の2台目の理由と同じですね(^^;
PCへの保存が出来れば1台運用でなんとかなるところですけど、保存先が同機種しかないというのは、手抜きなんだか販売戦略なんだか、どっちにしても後継機ではなんとかして欲しいところですよね。

ヒンジは私の一台目のfx-5800Pは幸運にも開いた時に蓋と本体の4つの足との隙間がほぼぴったりだったので壊れることも無く無事だったのですが、2台目はぴったりにならずに隙間があるのでちょっと微妙な感じです。
とりあえず2台目はバックアップ用途なのでいいとしても、fx-5800Pの構造的な弱点は否めないですね。
そういう意味でいうと、昔のアルミ筐体&手帳型ケースでというのは理にかなった構造かなと感じます。


>フラグメンテーションは、単純にインタープリタ動作するプログラムのジャンプ系で影響が出るだけでなく、配列変数のアクセス速度に差が出る可能性もありそうです。

かなりありそうですよね。

ところで、完全リセットで転送後には1割遅いという状況が再現しなくなってしまいました(^^;
通常でも1~2%の速度差は普通に起きるので気にもしてなかったのですけど、1割近く違うとさすがにこれはなんだということになりますね。
その状況にしたくてもなかなか再現できないので、何が原因で遅くなってしまってたのか、どこまでも謎多きfx-5800Pです。

初期ロットの fx-5800P

sentaro様

> ヒンジは私の一台目のfx-5800Pは幸運にも開いた時に蓋と本体の4つの足との隙間がほぼぴったりだったので壊れることも無く無事だったのですが、2台目はぴったりにならずに隙間があるのでちょっと微妙な感じです。

そうですか、私も初期ロットはそうではないかと思っていました。以前のエントリーにも書きましたが、成型不良品を流用している可能性を想像していました。

盗難にあったのが 2007年に購入したものなので、それは4つの足で隙間がなかった可能性もあります。


Amazonのレビューを見ますと、足の部分に小さなパッドを貼り付けたと言う人がいます。意外に私のエントリ-を見てくださったのかも知れませんが、注意深く観察すると誰でも分かりますよね。

昨日は修理するつもりが、いざ始めると結構細かいので、会社の照明付きルーペが使いたくなって、ペンディングです。年末年始の休暇中に会社で作業しようかと思っています。

細かいものが見えにくいオッチャン世代なので、昔のようにはゆきません。
昔はノートパソコン(リブレット)のカードスロットのハンダ不良(600ミクロンピッチ)を裸眼で直せたのですが...


> とりあえず2台目はバックアップ用途なのでいいとしても、fx-5800Pの構造的な弱点は否めないですね。
> そういう意味でいうと、昔のアルミ筐体&手帳型ケースでというのは理にかなった構造かなと感じます。

アルミ筐体は、まなじ靭性があるだけに容易にに曲がってしまうのが、私は問題だと思っていました。
手帳ケースは、今ですとコスト高で使えない可能性あります。


> ところで、完全リセットで転送後には1割遅いという状況が再現しなくなってしまいました(^^;
> 通常でも1~2%の速度差は普通に起きるので気にもしてなかったのですけど、1割近く違うとさすがにこれはなんだということになりますね。
> その状況にしたくてもなかなか再現できないので、何が原因で遅くなってしまってたのか、どこまでも謎多きfx-5800Pです。

ブラックボックス fx-5800P ならではですね。ハード仕様が分かれば sentaro様にかかれば、すぐに丸裸になりそうです。

Casio Basicは、インタプリタの本質がそのまま見えてくるので、面倒ですが、それが面白いですよね。


ところで、以前Casio Basic入門で取り上げた「入力ボックス」ですが、Casio Basic でとても悪いロジックを公開してしまっています。とにかく動作が遅くなることのてんこ盛りでした。

そこで、これの高速化ネタを次に取り上げようと、今色々と触って遊んでいます。

少し前に、各コマンドや変数の読み書きの処理時間を測定したのは、入門講座の布石と言うか、リアルタイムで色々と検討している実況中継なんです。

悪いロジックのプログラムを公開して、その高速化などお恥ずかしい限り。穴があったら入りたい。マッチポンプのようでもあります。しかし恥を忍んで、ごめんなさいと言いつつ、高速化の方法を紹介するのも、悪くないだろうと、開き直るつもりです。

手元では、以前公開したものを正負小数に拡張した入力ボックスが、サクサク動いてくれていますが、少しでも速くしたいと、まだ粘っています。

ついでに fx-9860GII にも移植してみたのですが、こっちは速すぎるので対策が必要だったりします。

いつまでたっても興味の尽きない fx-5800P です。

No title

管理人様、こんにちは!

>盗難にあったのが 2007年に購入したものなので、それは4つの足で隙間がなかった可能性もあります。

初期の製品はしっかり作られていて後期になるほど寸法精度が落ちてきたというかコスト面の絡みで微妙なレベルでもOkになってきたという感じでしょうかね。


>昔はノートパソコン(リブレット)のカードスロットのハンダ不良(600ミクロンピッチ)を裸眼で直せたのですが...

私も以前は0.5mmピッチのICの張替えとか普通にやっていたものですけど、最近はルーペ無しではきついです(^^;


>アルミ筐体は、まなじ靭性があるだけに容易にに曲がってしまうのが、私は問題だと思っていました。
>手帳ケースは、今ですとコスト高で使えない可能性あります。

なるほどです。
私の場合はアルミ筐体の電卓やポケコン本体が曲がったってことはなかったのですけど電池交換で裏ぶた外した時の柔さにはこれでだいじょぶかといつも思ったものですね。
でも、本体にネジでぴったりはまると全体としてはしっかりしていたので上手いことできてるなと感心したものでした。
手帳型ケースは液晶電卓の基本形みたいなところありましたから、電卓=手帳型みたいな刷り込みがあるかもしれません(^^;


>ブラックボックス fx-5800P ならではですね。ハード仕様が分かれば sentaro様にかかれば、すぐに丸裸になりそうです。
>Casio Basicは、インタプリタの本質がそのまま見えてくるので、面倒ですが、それが面白いですよね。

fx-5800Pには1メガバイトのフラッシュROMが載ってるのですが、ここにシステムも入っているとすれば結構な大きさなのでいざ解析と思ってもかなり大変そうです(^^;
今時の電卓は機能がてんこ盛りなので、バグ無しで動いているのが奇跡っていえるくらいの巨大なシステムですけど、fx-5800Pも予告なき改良が何度か行われてる感じありますね。

それがBasicの速度差であったり、微妙な仕様変更だったり、ブラックボックスな分いじりがいがありますね(^^)


>悪いロジックのプログラムを公開して、その高速化などお恥ずかしい限り。穴があったら入りたい。マッチポンプのようでもあります。しかし恥を忍んで、ごめんなさいと言いつつ、高速化の方法を紹介するのも、悪くないだろうと、開き直るつもりです。

入門講座なのでプログラムの試行錯誤の過程はすごく貴重だと思います(^^)
fx-5800Pでちょっと凝ったことをしようと思ったら誰もが一度は通るであろう道を先に手探り状態で探検してる感じですから、学校の授業だとしてもいい題材になりますよね。
今は高速でメモリたっぷりなマシンが当たり前なので高速化とか最適化とか気にすることがない場合が多いですけど、fx-5800Pという限られたパワーの中でその可能性を最大限引き出すというのはすごく価値ある試行錯誤だと思います(^^)


>ついでに fx-9860GII にも移植してみたのですが、こっちは速すぎるので対策が必要だったりします。

そのまま移植だとカーソル突っ走っちゃいますよね(^^;

1MBのフラッシュ

sentaro様

> fx-5800Pには1メガバイトのフラッシュROMが載ってるのですが、ここにシステムも入っているとすれば結構な大きさなのでいざ解析と思ってもかなり大変そうです(^^;

1MBのフラッシュとは、よくお調べになりましたね。どうやって分かったのですか?
バラして基板のメモリをご覧になったとか....



> 今時の電卓は機能がてんこ盛りなので、バグ無しで動いているのが奇跡っていえるくらいの巨大なシステムですけど、fx-5800Pも予告なき改良が何度か行われてる感じありますね。

fx-5800P は、普通の関数電卓と同じようにロット番号などがどこにもありませんよね。なのでファームが変わっているとしても、それを判別するのが難しそうです。

何か隠しコマンドがあるに違いないとは思っていまして、キーの同時押しなんて結構怪しいのですが、まだパターンが見つかっていません。


>ブラックボックスな分いじりがいがありますね(^^)

はい、おっしゃるとおり。


> 入門講座なのでプログラムの試行錯誤の過程はすごく貴重だと思います(^^)

私が先ず最初にハマってそれを紹介する、ってことですね。

> fx-5800Pでちょっと凝ったことをしようと思ったら誰もが一度は通るであろう道を先に手探り状態で探検してる感じですから、学校の授業だとしてもいい題材になりますよね。

まさに、手探りをそのまま実況中継ですから、恥も外聞もあったものではありません(/_;)


> 今は高速でメモリたっぷりなマシンが当たり前なので高速化とか最適化とか気にすることがない場合が多いですけど、fx-5800Pという限られたパワーの中でその可能性を最大限引き出すというのはすごく価値ある試行錯誤だと思います(^^)

If文を Goto に置き換えたりしてみていますが、Ifはうまく内部実装されているようで、Goto で画期的な速度差が出そうにありません。Goto はプログラムの先頭から一方向に検索しているだけのようです。

以前、ループ脱出でのバグの件の時 sentaro様が ジャンプ命令は内部スタックを共用していると言われていまっすが、これは正しいように思っています、すると、If と Goto ではさほど変わらないとしても、驚きません。


> >ついでに fx-9860GII にも移植してみたのですが、こっちは速すぎるので対策が必要だったりします。
>
> そのまま移植だとカーソル突っ走っちゃいますよね(^^;

テンキーを一回押しただけで、複数桁が入力されてしまいます。

No title

管理人様、こんにちは!

>1MBのフラッシュとは、よくお調べになりましたね。どうやって分かったのですか?
>バラして基板のメモリをご覧になったとか....

はい、この前に電池交換のついでに開けた時にも確認してたのですけど、今回もとりあえず確認ってことで開けてみて(^^;
チップの品番からSPANSIONのS29AL008Jという1メガバイトのNOR型フラッシュROMが採用されてました。
あとはCPUと思われるカスタムチップと32キロバイトのSRAMチップがひとつだけというシンプルなハードですね。
ROMが別チップに分かれているのでその気になれば解析も可能でしょうけど、CPUの仕様が公開されてないので難しいですよね。


>fx-5800P は、普通の関数電卓と同じようにロット番号などがどこにもありませんよね。なのでファームが変わっているとしても、それを判別するのが難しそうです。

ですよね。
このレベルの製品でロット番号がないのはちょっとびっくりです。


>If文を Goto に置き換えたりしてみていますが、Ifはうまく内部実装されているようで、Goto で画期的な速度差が出そうにありません。Goto はプログラムの先頭から一方向に検索しているだけのようです。

Gotoはプログラムが長くなるとラベル検索が先頭からなので一気に速度落ちますね。
プログラムが長くなってくるとループはForとかWhileとかを使った方が速くなりますよね。


>以前、ループ脱出でのバグの件の時 sentaro様が ジャンプ命令は内部スタックを共用していると言われていまっすが、これは正しいように思っています、すると、If と Goto ではさほど変わらないとしても、驚きません。

あれはかなりびっくりな実装だったと思うのですが、ループ脱出での整合性を保つための仕組みと考えればいたしかたないところなのでしょうね。

これらの仕様はCasioBasicとして統一されてるみたいなので、fx-5800Pで発掘発見した高速技はどの機種でも有効利用できるのがよいですね(^^)


>テンキーを一回押しただけで、複数桁が入力されてしまいます。

Cで使えるところのキーが押されるまで待つGetkeyと同じようなBasic命令も欲しかったところですよね。

新たなバグかも?

sentaro様

> はい、この前に電池交換のついでに開けた時にも確認してたのですけど、今回もとりあえず確認ってことで開けてみて(^^;

おお、お約束の解剖ですね(^^;)


> チップの品番からSPANSIONのS29AL008Jという1メガバイトのNOR型フラッシュROMが採用されてました。
> あとはCPUと思われるカスタムチップと32キロバイトのSRAMチップがひとつだけというシンプルなハードですね。
> ROMが別チップに分かれているのでその気になれば解析も可能でしょうけど、CPUの仕様が公開されてないので難しいですよね。

隠しコマンドなど見つからない限り、解析結果を活かす道はなさそうですし、やってみようと言う人は居ないのでしょうね。


> >fx-5800P は、普通の関数電卓と同じようにロット番号などがどこにもありませんよね。なのでファームが変わっているとしても、それを判別するのが難しそうです。
>
> ですよね。
> このレベルの製品でロット番号がないのはちょっとびっくりです。

fx-5800Pをどう考えるかでしょうが、処理速度と通信機能(がない)に目をつぶれば、非常によく考えられているバランスの良い製品だと思っています。カシオの製品種別でいえば、プログラム関数電卓は、グラフ関数電卓でもスタンダード関数電卓でもない位置づけですが、スタンダード関数電卓に近い管理方法なのかも知れません。

使ってみて初めて分かる製品の良さ、特にfx-5800P のそれは、カシオ内でどのように考えているのか、とても興味があります。きちんと狙って作り込んでいるのだとすれば大したものです。なにせプログラム関数電卓で新しい Casio Basicを搭載している唯一の製品、他に選択肢が無いので、放っておいても売れる。バカ売れしなくても確実に売れる...それを最初から狙っているのなら、大したものだと思います。


> Gotoはプログラムが長くなるとラベル検索が先頭からなので一気に速度落ちますね。
> プログラムが長くなってくるとループはForとかWhileとかを使った方が速くなりますよね。

そうなんです、劇的に速くなります(ネタバレですが...)。


> あれはかなりびっくりな実装だったと思うのですが、ループ脱出での整合性を保つための仕組みと考えればいたしかたないところなのでしょうね。

で、今新たなバグ?を見つけて、色々調べているところです。
プログラム実行上のエラーとして表面に見えてこないのですが、プログラムエディタが [SHIFT]-[▼] で最下行へ飛ぶ筈がフリーズすると言う現象。

一例を挙げますと、

500→A:0→B
"START"◢
Do
A-1→A
LpWhile A

で発生します。ちなみにメモリは 4208バイト残っています。

但し、{SHIFT}-[▲]で行頭へ飛ばせば、フリーズは解除されます。

他のソースでは発生したことがなく、今も他のソースでは発生しません。
より詳細の条件が見つからず、あれこれ触っています。

[SHIFT]-[▼]には、異常に長い時間がかかるので、構文解析をしているのではないかと疑っているのですが、そうだとすれば、Casio Basicの中身を垣間見えるかも知れず、ちょっと気になっています。

こうしたら、再現性よくフリーズすることが分かれば、新エントリーにアップしようかと思いますが、まだそこに至りません。


> Cで使えるところのキーが押されるまで待つGetkeyと同じようなBasic命令も欲しかったところですよね。

はい、あれば便利。余計なコードも書かずに済みますね。
確かシャープのプログラム電卓にある Getkey は、このような仕様だったと(取説を見る限り)思います。シャープの Getkeyは、テンキーと矢印キーしか値を返しません。テンキーは、そのキーの番号を返す仕様だったと思います。これしか無いとあまり嬉しくないですね。

今の Getkey、さっさと戻り値を返して次へ進むと言う仕様は、Linear-structured Programming の基本だと思うし、だからこそ色々と使えるので、Casio Basicの良さの根幹を成していると思います。これにプラスして、例えば GetkeyWait みたいなコマンドがあると、幅が広がって良いですよね。


そうそう、Linear-Structured Programming で思い出したのですが、プログラムは上から下へ流れると言う概念、そして代入と言う概念について、初めて聞いた時に、分からない、あるいは分かりづらいと思う人が、結構多いそうです。Casio Basic入門でも、最初に「「上から下へ」を強調したのですが、代入も分かりづらいとは、迂闊、想定外でした。

「ふたこぶラクダ」というイギリスの論文で、60%の人がプログラミングの素養が無いと言っているのだそうです。

http://cpplover.blogspot.jp/2012/05/60.html

これは驚きです。業界では常識なのかも知れませんが、私はつい最近まで知りませんでした。


No title

管理人様、こんにちは!

>おお、お約束の解剖ですね(^^;)

はい、お約束の解剖です(^^;
fx-9860GIIとかも解剖してみたんですけど、今時の電卓はもはやハードを直にいじれるような代物ではないですね。


>fx-5800Pをどう考えるかでしょうが、処理速度と通信機能(がない)に目をつぶれば、非常によく考えられているバランスの良い製品だと思っています。

おっしゃるとおりです。
速度と通信はこの価格帯の製品としてはいたしかたないとしても、電池が単4が1本でOk、バックアップに気を使わなくても自動保存されてレジュームも効くというようなところは最初すごく評価したところでした。


>使ってみて初めて分かる製品の良さ、特にfx-5800P のそれは、カシオ内でどのように考えているのか、とても興味があります。きちんと狙って作り込んでいるのだとすれば大したものです。なにせプログラム関数電卓で新しい Casio Basicを搭載している唯一の製品、他に選択肢が無いので、放っておいても売れる。バカ売れしなくても確実に売れる...それを最初から狙っているのなら、大したものだと思います。

8年もモデルチェンジしないで現役機種で続いてるのはやはり最初の設計バランスがすごくよかったということですね。
それから、FX-603Pの頃より今のfx-FD10Proに繋がる測量現場でのニーズもありますし、ちょっと高機能な関数電卓という選択以外にもプログラム関数電卓というジャンルが生き残れる場所が存在していたのも大きかったでしょうか。



>プログラム実行上のエラーとして表面に見えてこないのですが、プログラムエディタが [SHIFT]-[▼] で最下行へ飛ぶ筈がフリーズすると言う現象。

これは以前に経験したことがあるような気がします…、
ってことで早速試してみたら長いプログラムでは少し時間かかるもののフリーズまではしないような、で、またまた再現しないという状況です。
うちのは一台目を完全リセットしてるのでそれでフリーズが解消されたのかなんだかわからないですけど、前にフリーズっぽいのを経験してるだけにちょっと不思議です。
今のところプログラムは必要ないものを整理して残量10キロバイトぐらいは空いてるのですけど、管理人様の例プロを新たに打ち込んでもすんなり最下行に飛ぶので再現せず???です。


>確かシャープのプログラム電卓にある Getkey は、このような仕様だったと(取説を見る限り)思います。シャープの Getkeyは、テンキーと矢印キーしか値を返しません。テンキーは、そのキーの番号を返す仕様だったと思います。これしか無いとあまり嬉しくないですね。

たしかに、それしかないとあまり意味がないというか、嬉しくないですね(^^;


>今の Getkey、さっさと戻り値を返して次へ進むと言う仕様は、Linear-structured Programming の基本だと思うし、だからこそ色々と使えるので、Casio Basicの良さの根幹を成していると思います。これにプラスして、例えば GetkeyWait みたいなコマンドがあると、幅が広がって良いですよね。

おっしゃるとおりです。
CasioBasicのGetkeyはSHARP仕様と比べると自由度の高さが雲泥の差ですね。

あと、Getkeyに加えてGetkeyWaitがあるといいなと思う点としてキー待ちで消費電力が上がらないという利点があると思うのでBasicでも実装して欲しかったなというところです。


>「ふたこぶラクダ」というイギリスの論文で、60%の人がプログラミングの素養が無いと言っているのだそうです。

リンク先、見ました。
これは私も全然知りませんでした。

私はずっとプログラム言語の代入文とかに疑問を持ったことが一度も無いので、言われてみればそういうものなのかと思うところもありますけど、それにしても6割もというと、にわかには信じがたいような感じですけど、そういうことなんですね。

ループ構造とか制御構造に関してはある程度の難度はわかるとしても、代入文に関してはCasioBasicの左から右に矢印でっていうのはこれ以上分かりやすい表現はないですよね。

再現しませんね

sentaro様

今回のエディタでのフリーズ現象は、私のもう1つの fx-5800P では発生しませんでした。
しかし、sentaro様もご経験なさっていることを聞き、私の電卓個体の問題でないことがわかり、それはそれで一安心です。

今のところ、動作への影響は無さそうですし、そんなものと思っておくことにします。


> fx-9860GIIとかも解剖してみたんですけど、今時の電卓はもはやハードを直にいじれるような代物ではないですね。

抵抗を換えるといっても、チップ抵抗だと大変ですし、IC化されてはどうにもならないですよね。


> おっしゃるとおりです。
> 速度と通信はこの価格帯の製品としてはいたしかたないとしても、電池が単4が1本でOk、バックアップに気を使わなくても自動保存されてレジュームも効くというようなところは最初すごく評価したところでした。


> 8年もモデルチェンジしないで現役機種で続いてるのはやはり最初の設計バランスがすごくよかったということですね。
> それから、FX-603Pの頃より今のfx-FD10Proに繋がる測量現場でのニーズもありますし、ちょっと高機能な関数電卓という選択以外にもプログラム関数電卓というジャンルが生き残れる場所が存在していたのも大きかったでしょうか。

そうですね、需要は確実にあるので、良いものを作って長く販売するというのは、確実な戦略だと思います。
ただ、fx-72F のような製品が何故あるのか?私には不思議です。fx-9860GII をスペック比較表から落としているくせに、fx-72F は載せている。まぁ、実際に触ったわけではなく、マニュアルを見ただけなので、分からないこともあるとは思うし、この製品でも仕える場面が有るから販売しているのだろうとは思いますが....それにしても中途半端な製品のように思えてなりません。

ひょっとして、高精細液晶搭載のプログラム関数電卓の1号機が、fx-9860GII の後継になるのでしょうか?
個人的には、fx-5800P の後継であって欲しいとは思うのですが...


> 私はずっとプログラム言語の代入文とかに疑問を持ったことが一度も無いので、言われてみればそういうものなのかと思うところもありますけど、それにしても6割もというと、にわかには信じがたいような感じですけど、そういうことなんですね。

俄には信じられなかったのですが、ソフトウェア会社では文系からもSE候補に採用活動を行っていることは、以前から知っていました。学校で勉強しても実戦部隊で使うには、一から教育し直す必要があって、情報系卒でも結構使えないような教育しか学校ではしていないのだろう...なんて勝手に想像していました。

この話題を読んだ時、なるほど!と妙に納得しました。

最近は、ソフトウェアエンジニアは、50歳近くでも転職できるくらい人手不足のようで、ソフトウェアの世界はチョット特殊なんでしょう。


> ループ構造とか制御構造に関してはある程度の難度はわかるとしても、代入文に関してはCasioBasicの左から右に矢印でっていうのはこれ以上分かりやすい表現はないですよね。

なるほど、そうですね。これも、意外に Casio Basicの大きな特長と言えるのかも知れませんね。

No title

管理人様、こんにちは!

エディタでのフリーズ現象ですが、管理人様の新しい記事のINPI10とINPI12を2台でコピーして入力してちょこっといじっていたらフリーズ現象が発生したので、これは確実に再現できるかと思って再度同じ操作(のはず)をしてみても再現せずで、また謎が深まってます(^^;

フリーズ状態は、最期まで飛ばずに最後から4行目のIfendのところでカーソル点滅状態になって受け付けるキーが{SHIFT}-[▲]だけという状況になってたのですが、いじくっていた内容が高速化のネタばれかもなLbl~GotoをWhileにしたりという感じだったのですけど、この現象は管理人様が予想された構文解析をしてそうというのも可能性高い感じしますね。


>ただ、fx-72F のような製品が何故あるのか?私には不思議です。

マニュアル斜め読みしてみただけですけど、実用性を考えるとちょっと微妙な立ち居地の電卓ですよね。

と思ってたら、CASIOのサイトを見渡すとスクール電卓のカテゴリにそっくりさんがあるようです。
http://casio.jp/dentaku/products/general/school/
関数電卓でさらにひとつふたつの自由なプログラムが体験できればという教育用途入門機という感じでしょうかね。

SHARPにもEL-566Eというプログラムできる学校教育用関数電卓があって一応持ってたりするんですけど、たぶんこの学校教育用の需要も少なからずあるということではないかと思われます。


>ひょっとして、高精細液晶搭載のプログラム関数電卓の1号機が、fx-9860GII の後継になるのでしょうか?
>個人的には、fx-5800P の後継であって欲しいとは思うのですが...

fx-9860GIIの後継機種はとりあえずCG10/20がそのポジションにあると思われるのですが、fx-9860GIIの高精細版の新型も密かに期待したいです。

fx-5800Pの後継機ももうそろそろだろうと期待するところですが、用途的にfx-FD10Proが後継機とされているとするならば、高精細版にfx-72Fのような感じの簡易プログラム機能を追加した機種が先に出てくるのかもしれないですね。

再現せずですか...

sentaro様


> フリーズ状態は、最期まで飛ばずに最後から4行目のIfendのところでカーソル点滅状態になって受け付けるキーが{SHIFT}-[▲]だけという状況になってたのですが、いじくっていた内容が高速化のネタばれかもなLbl~GotoをWhileにしたりという感じだったのですけど、この現象は管理人様が予想された構文解析をしてそうというのも可能性高い感じしますね。


やはり再現しないのですね。

実は、私も lbl / Goto ループとプログラム長や条件分岐数(内部的なジャンプ命令の数?)の関係を探ろうと、色々と弄っていた時に、このフリーズ現象に出会ったので、構文解析を疑ったのです。

今のところ、何らかの優位性のある実験結果が出てはいないのですが...


> 関数電卓でさらにひとつふたつの自由なプログラムが体験できればという教育用途入門機という感じでしょうかね。

なるほどです。

そういえば、色々な方のプログを見ておりますと、関数電卓はシャープ機、プログラム電卓はカシオ機が良いという意見が多いですね。

私シャープ機を買ったことが無いのですが、カシオとしてはシャープ機への対抗上 fx-72F を準備していると考えれば、この機種の意味が分かるような気がします。


> fx-9860GIIの後継機種はとりあえずCG10/20がそのポジションにあると思われるのですが、fx-9860GIIの高精細版の新型も密かに期待したいです。

う~む、やはりそうですか...


> fx-5800Pの後継機ももうそろそろだろうと期待するところですが、用途的にfx-FD10Proが後継機とされているとするならば、高精細版にfx-72Fのような感じの簡易プログラム機能を追加した機種が先に出てくるのかもしれないですね。

今の私の正直なところは、sentaro様のオーバークロックで、最速になるグラフ関数電卓がベストなので、fx-9860GII がボビー機のベストというわけです。今では、コスパも良いですしね(^_-)

それに、fx-5800P は実用上、多くのプログラムが使いやすく小型軽量なので、日常使いのベスト機になっています。

結局は、ハードウェア性能ではなくて、ソフトと使い勝手が善し悪しの基準になっていると、自分でも最近気がつきました。


使い込んでナンボですね!


そうそう、今度の土曜あたりにアップする予定の Casio Basic入門では、INPI Ver 2.0 が登場します。主に、ロジックを換えることで高速化しています。

今のところ、最初の INPI Ver 1.0 の2倍の処理速度です。まだ色々と触っていますが、多分これで最終版になりそう。かなり速くキー入力してもキーの取りこぼしが起こらない程度に高速化できています。

で、INPI 2.0 ですと、Lbl / Goto を Do / LpWhile に置き換えても10桁入力の時間測定では差が出ません。

同じロジックで、正負小数対応した IN Ver 2.0 もかなり追い込んで、INPI Ver 2.0 に近い速度になっていますが、これだと Do / LpWhile の効果満点なんです。

なので、単にプログラムの長さだけでなく、複雑さ、言い換えればジャンプ命令の数かなにかが、その差に寄与しているのではないかと想像しており、それをもう少し調べて見たいと思っているところです。

いずれにせよ、入力ボックスがやっとまともに使えるレベルになりそうです。私の手持ちのプログラムの多くが入力ボックスを使っているので、ようやくサクサクと使えるようになっています。

No title

管理人様、こんにちは!

>実は、私も lbl / Goto ループとプログラム長や条件分岐数(内部的なジャンプ命令の数?)の関係を探ろうと、色々と弄っていた時に、このフリーズ現象に出会ったので、構文解析を疑ったのです。

エディタの動作的に最下行に飛ぶだけでフリーズするのはあり得ないですし、長めのプログラムだとちょっと不自然なくらい時間がかかるので、何か特別な構文解析っぽい動作をしているのかもと考えるのが自然ですよね。
GotoかProgの飛び先検索ルーチンを使い回しているのかもしれませんね。


>そういえば、色々な方のプログを見ておりますと、関数電卓はシャープ機、プログラム電卓はカシオ機が良いという意見が多いですね。

SHARPのプログラム機といえばやっぱりBasicなポケコンなので、電卓言語を上手く実装できたかどうかというのが分かれ道だったのでしょうか。


>今の私の正直なところは、sentaro様のオーバークロックで、最速になるグラフ関数電卓がベストなので、fx-9860GII がボビー機のベストというわけです。今では、コスパも良いですしね(^_-)

最速になるというフレーズ、ちょっとしびれます(笑)
アプリ作成の自由度とかも考えると今の並行輸入版のコスパはびっくりものですよね(^^)

fx-9860GIIとCG10を実際に使って比べてみて思うことは、機能的には微妙な進歩はありますけど基本的に出来ることに違いは無いですし、カラーになったことで動作的に若干重さを感じるのが電卓としてはいまいちかもしれません。
常にオーバークロックしていれば重さは解消しますけど、消費電力的にかなり不利になりますね。
あと、使い勝手の面では公式SDKが存在しないのもかなり大きなマイナスポイントですね。
fx-9860Gが出てきた当初はTIのマシン語自在のグラフ電卓に対抗するためにSDKを整備したと思うのですけど、今ではTIもNspire以降は自由にハードをいじらせなくなりましたし、HPもPrime以降は然りなのでCASIOもSH4A採用機種以降は公式SDKを出さなくなりましたね。
fx-9860GIIとCG10/20はユーザーが自在に操れる最後の高機能電卓になるなのかもしれません。


>それに、fx-5800P は実用上、多くのプログラムが使いやすく小型軽量なので、日常使いのベスト機になっています。

日常使いとしての使いやすさはやっぱりよく考えられてますよね。


>結局は、ハードウェア性能ではなくて、ソフトと使い勝手が善し悪しの基準になっていると、自分でも最近気がつきました。

いつも思うのがfx-9860Gシリーズではファンクションキーに機能割り当てが出来ないので無駄に遊んでいる気がしますし、F6あたりにFile機能を割り当ててfx-5800Pのような使い勝手になぜしなかったのだろうとちょっと残念に思うところです。


>使い込んでナンボですね!

はい!そこが一番重要なところですね(^^)



>今のところ、最初の INPI Ver 1.0 の2倍の処理速度です。まだ色々と触っていますが、多分これで最終版になりそう。かなり速くキー入力してもキーの取りこぼしが起こらない程度に高速化できています。
>で、INPI 2.0 ですと、Lbl / Goto を Do / LpWhile に置き換えても10桁入力の時間測定では差が出ません。

おお!2倍はちょっとすごいです!
ロジック変更がかなり効いたみたいですね。


>なので、単にプログラムの長さだけでなく、複雑さ、言い換えればジャンプ命令の数かなにかが、その差に寄与しているのではないかと想像しており、それをもう少し調べて見たいと思っているところです。

Casio Basicは使えば使うほどに謎な部分が出てきますけど、それがやっぱり面白さの部分に繋がるのですよね(^^)


>いずれにせよ、入力ボックスがやっとまともに使えるレベルになりそうです。私の手持ちのプログラムの多くが入力ボックスを使っているので、ようやくサクサクと使えるようになっています。

少数可能な入力ボックスがfx-5800Pでサクサク実用になるとあらゆる面で便利に使えますね(^^)

Casio Basic のバージョン

sentaro様

こんばんは、


> GotoかProgの飛び先検索ルーチンを使い回しているのかもしれませんね。

あるいは、ファイルの整合性チェックでもしているのでしょうか?
OSでどのようなファイル管理をしているのか、まだよく分からないのですが、SHシリーズではデフォルトでファイル管理機能が付いているのでしょうか?(調べもせずに言ってます(-_-;)


> SHARPのプログラム機といえばやっぱりBasicなポケコンなので、電卓言語を上手く実装できたかどうかというのが分かれ道だったのでしょうか。

家の片付けをしていたら、カシオ電卓の古いカタログが出てきました。2005年版の総合電卓カタログを見ると、Basicが使える横長のポケコンが載っていました。隣には FX-603P もしっかり載ってます。



> >今の私の正直なところは、sentaro様のオーバークロックで、最速になるグラフ関数電卓がベストなので、fx-9860GII がボビー機のベストというわけです。今では、コスパも良いですしね(^_-)
>
> 最速になるというフレーズ、ちょっとしびれます(笑)
> アプリ作成の自由度とかも考えると今の並行輸入版のコスパはびっくりものですよね(^^)

コスパもさることながら、Ftune2 に出会っていなければ fx-9860GII を買ったかどうか怪しいです。



> fx-9860Gが出てきた当初はTIのマシン語自在のグラフ電卓に対抗するためにSDKを整備したと思うのですけど、今ではTIもNspire以降は自由にハードをいじらせなくなりましたし、HPもPrime以降は然りなのでCASIOもSH4A採用機種以降は公式SDKを出さなくなりましたね。

私の fx-9860GII のブリスタパックには、「電卓は TI でなくて CASIO」といったステッカーが貼ってあります。CASIO はTIを意識していることの現れですね。


なので、

> fx-9860GIIとCG10/20はユーザーが自在に操れる最後の高機能電卓になるなのかもしれません。

という想定は、納得するものがあります。

ところで、fx-9860G (SH3バージョン)搭載の Casio Basic は fx-5800P と同世代と、以前伺っていますが、その機能は、fx-5800P と同様なのでしょうか?例えば 文字列関数が無いなど...
Casio Basic のバージョン変遷に、チョット興味がでてきています。


> いつも思うのがfx-9860Gシリーズではファンクションキーに機能割り当てが出来ないので無駄に遊んでいる気がしますし、F6あたりにFile機能を割り当ててfx-5800Pのような使い勝手になぜしなかったのだろうとちょっと残念に思うところです。

OSのファイル管理が分かれば、ひょっとしてこのような機能を関数電卓モードから呼び出せないものか、などと考えてしまいます。

関数電卓モードで Prog "hogehoge" と入力すれば、プログラムが起動しますよね。なのでこのモードで簡単にプログラムを呼び出せたら、メニューの一丁あがり、にならないか? などと夢想しています。

以前、MS-DOSで、

_menu soft 1 /soft1.exe/ soft 2 /soft2.com/ soft 3 /soft3.bat/ .......

などと、好きなだけ引数をつければ、メニュー画面が起動して、テンキーや矢印キーでプログラムを選択・起動できるプログムを作って、愛用していたことがあります。

当時は、ソフトによって使える日本入力環境(FEP)が異なったり、autoexec.bat や config.sys を切り替えてソフトを起動する必要があったり、なにかと不便だったので、それも含めて簡単に使えるメニューソフトを作った次第。当時ハードディスクを買うと、おまけで似たようなソフトが付いてきたものですが、やたらとメモリは喰うし、動作が遅いし、使いにくいものばかりで、サクサク動いて自在に使えるものが欲しかったと言うのもあります。

なので、ついついメニュープログラムのことを考えてしまいます。

MS-DOSの時代は、ひょっとしてご存じ無いかも...


> おお!2倍はちょっとすごいです!
> ロジック変更がかなり効いたみたいですね。

はい、狙い通りです。今日も、チョットだけ高速化を試みましたが、小さな積み重ねですね。


> 少数可能な入力ボックスがfx-5800Pでサクサク実用になるとあらゆる面で便利に使えますね(^^)

はい、やっと人様に公開できるようになりそうです。自分では、入力ボックスは割と画期的だと思っています。単位換算とか、ちょっとしたプログラムには便利と言えば便利。但し、?命令の手軽さには敵いませんけど...

No title

管理人様、こんにちは!

>あるいは、ファイルの整合性チェックでもしているのでしょうか?

そんな感じがしますね。
フリーズした時のカーソル点滅が途中なので、整合性チェックか何かでそこから先に進めなくなって詰まったという動作に感じます。
エディト時に何か変なコードが入ってしまって整合性がおかしくなったような感じで、結局はバグなんでしょうけど、リセットするまでの暴走にはなってないというところがなにやら怪しいです。


>OSでどのようなファイル管理をしているのか、まだよく分からないのですが、SHシリーズではデフォルトでファイル管理機能が付いているのでしょうか?(調べもせずに言ってます(-_-;)

OSのファイル管理機能はありますが、CasioBasicからは扱うコマンドがないので本格的に使えるのはアドインという形になりますね。


>家の片付けをしていたら、カシオ電卓の古いカタログが出てきました。2005年版の総合電卓カタログを見ると、Basicが使える横長のポケコンが載っていました。隣には FX-603P もしっかり載ってます。

FX-603Pが2005年まで現役というのがすごいですね。
2005年まで現役なCASIOポケコンというとFX-890Pとかでしょうか。

昔のCASIOのカタログといえばこちらのサイトにPDFでアップされているのを発見しました。
http://www.casio-calculator.com/
左の[download]から[Catalogues]に行くとカタログがダウンロードできます。

この中にいくつか日本版のカタログがあるのですけど、2006-9の日本版カタログを見るとfx-5800Pが新製品として載ってますね。
fx-9860Gは載ってないので、fx-5800Pが先に出てたということになりますね。


>コスパもさることながら、Ftune2 に出会っていなければ fx-9860GII を買ったかどうか怪しいです。

ソフトあってのハードっていう感じですね(^^)
Ftune2は新型機の遅さがきっかけという偶然の産物みたいな感じだったのですけど、管理人様のブログがより深いCASIO電卓の世界への興味に繋がったのは間違いないところです(^^)


>私の fx-9860GII のブリスタパックには、「電卓は TI でなくて CASIO」といったステッカーが貼ってあります。CASIO はTIを意識していることの現れですね。

気がついてなかったのですけど、パックを見てみたら液晶のところに貼ってあるステッカーがTIにライバル意識満々ですね(^^;
機能的に直接の対抗馬はTI-84シリーズでしょうか。
CASIOがCG10/20を出した後にTI-84シリーズもカラー版を出してるのでこういうの見ると面白いです。


>ところで、fx-9860G (SH3バージョン)搭載の Casio Basic は fx-5800P と同世代と、以前伺っていますが、その機能は、fx-5800P と同様なのでしょうか?例えば 文字列関数が無いなど...

はい、初期バージョンでは文字列関数は無いですし、?命令や配列変数とグラフ電卓固有の命令の違いがある他は同じ仕様だと思います。
ひとつ前の世代のCFX-9850GCというグラフ電卓でも言語仕様は同じなのですが、空行がNGだったりThenの後にコマンド必須みたいなのと、あと例のGoto問題が発生しない代わりに多重ループにバグありなど制御構造の動作がちょっと違うようなので、いろいろな問題を解決した後のバージョンが今のfx-5800P以降のCasioBasicみたいです。


>関数電卓モードで Prog "hogehoge" と入力すれば、プログラムが起動しますよね。なのでこのモードで簡単にプログラムを呼び出せたら、メニューの一丁あがり、にならないか? などと夢想しています。

関数電卓モードでプログラムを呼び出せるのはMathモードは出来なくてLinearモードだけなのがちょっと謎なのですが、グラフ電卓の設計思想的に電卓モードでプログラムを使うということをあまり考えてない感じしますよね。
fx-5800Pで普通に出来てることが出来ないのは上位互換機とすればちょっとおかしいところですが、管理人様のおっしゃるようなメニュープログラムが簡単に呼び出すことが出来れば使い勝手は大きく変わりますね。


>などと、好きなだけ引数をつければ、メニュー画面が起動して、テンキーや矢印キーでプログラムを選択・起動できるプログムを作って、愛用していたことがあります。

お!便利そうですね。
私はSHARPのX1からX68K、そして98のWindows3.1に移行したので98やDOS/VのMS-DOS時代にはどっぷり浸かってないところなのですが、DOSに降りた時はフリーのメニューソフト使ってました。
linuxを使ったときでもメニューソフトを真っ先にインストールしたくらいですから、コマンドぱちぱち打ち込む派ではなかったですね(^^;


>はい、やっと人様に公開できるようになりそうです。自分では、入力ボックスは割と画期的だと思っています。単位換算とか、ちょっとしたプログラムには便利と言えば便利。但し、?命令の手軽さには敵いませんけど...

CASIO的には?命令で十分と思ったのでしょうけど、画面が壊れないで入力できる入力ボックスはスマートでよいですね(^^)

Casio Basicの世代

sentaro様



> >あるいは、ファイルの整合性チェックでもしているのでしょうか?
>
> そんな感じがしますね。
> フリーズした時のカーソル点滅が途中なので、整合性チェックか何かでそこから先に進めなくなって詰まったという動作に感じます。
> エディト時に何か変なコードが入ってしまって整合性がおかしくなったような感じで、結局はバグなんでしょうけど、リセットするまでの暴走にはなってないというところがなにやら怪しいです。

整合性チェックにバグがあると考えると、有り得そうですね。再現性が分かれば面白そうです。


> >OSでどのようなファイル管理をしているのか、まだよく分からないのですが、SHシリーズではデフォルトでファイル管理機能が付いているのでしょうか?(調べもせずに言ってます(-_-;)
>
> OSのファイル管理機能はありますが、CasioBasicからは扱うコマンドがないので本格的に使えるのはアドインという形になりますね。

そうなると、プログラムモードでアドインを呼び出せれば、あとはアドインを作るだけなので、色々遊べそうですね。


> >家の片付けをしていたら、カシオ電卓の古いカタログが出てきました。2005年版の総合電卓カタログを見ると、Basicが使える横長のポケコンが載っていました。隣には FX-603P もしっかり載ってます。
>
> FX-603Pが2005年まで現役というのがすごいですね。
> 2005年まで現役なCASIOポケコンというとFX-890Pとかでしょうか。

はい、FX-890P です。
以前販売店で触った記憶があって、しっかりした作りになっていましたので、学校教育用だったのではないかと思います。

その少し前ですが、FX-703P と言う折りたたみタイプの FX-602P の派生バージョンがありました。当時会社の先輩が持っていて、少し遊ばせて貰ったのですが、FX-602P とほぼ互換でした。横長の本体に手帳タイプのカバーがついていて、カバーの部分がメンブレンスイッチになっていて、そこにも多くのキーが割り当てられていたように記憶しています。


> この中にいくつか日本版のカタログがあるのですけど、2006-9の日本版カタログを見るとfx-5800Pが新製品として載ってますね。
> fx-9860Gは載ってないので、fx-5800Pが先に出てたということになりますね。

そのサイトに無いカタログに、昨日お知らせした 2005-1 版のカタログ(私の手持ち)があって、そこでは CFX-9859GC PLUS が新製品として載っていました。

実は、この機種が、Getkey と Locate があって使えるCasio Basic の最初ではないかと思います。
このカタログには、fx-4850P も載っていますが、これに搭載されている Casio Basic は古いバージョンで、GetkeyやLocateは無いので、古い世代の Casio Basic です。

> ひとつ前の世代のCFX-9850GCというグラフ電卓でも言語仕様は同じなのですが、空行がNGだったりThenの後にコマンド必須みたいなのと、あと例のGoto問題が発生しない代わりに多重ループにバグありなど制御構造の動作がちょっと違うようなので、いろいろな問題を解決した後のバージョンが今のfx-5800P以降のCasioBasicみたいです。

CFX-9850GC は、上の CFX-9850GC PLUS の1つ前なので、改良した Casio Basic を初めて搭載したものと思われます。

このあたりが、Casio Basic の節目の時代と言えそうです、偶然とはいえエポックメイキングな製品がまとめて乗っている貴重なカタログのようです。今日、それに気がついたので、さっそくジスイしときました。


> >コスパもさることながら、Ftune2 に出会っていなければ fx-9860GII を買ったかどうか怪しいです。
>
> ソフトあってのハードっていう感じですね(^^)
> Ftune2は新型機の遅さがきっかけという偶然の産物みたいな感じだったのですけど、管理人様のブログがより深いCASIO電卓の世界への興味に繋がったのは間違いないところです(^^)

ありがとうございます。私も sentaro様には多くの刺激を頂いていて、e-Gadget の推進力の1つになっております。改めてお礼を申し上げたいです。お互いチョット方向性は違いますが、だからこそ刺激を受けられるのでしょうね。


> 気がついてなかったのですけど、パックを見てみたら液晶のところに貼ってあるステッカーがTIにライバル意識満々ですね(^^;
> 機能的に直接の対抗馬はTI-84シリーズでしょうか。
> CASIOがCG10/20を出した後にTI-84シリーズもカラー版を出してるのでこういうの見ると面白いです。

カシオコレクターや電卓コレクターーは多くいらっしゃいますが、搭載言語に着目したコレクターはまだお目にかかったことがありません。私にお金と時間の余裕があれば、その方向に走りたいと、ふと思ったりして...

ま、老後の楽しみにとっておこうと思います...まだ稼働する FX-502P / 602P を持っているので...


> はい、初期バージョンでは文字列関数は無いですし、?命令や配列変数とグラフ電卓固有の命令の違いがある他は同じ仕様だと思います。

おお、そうですか。上述の CFX-9850GC PLUS にはグラフィック描画命令はありますが、文字列関連はありません。おもしろいことに、マニュアルを密限り、?A と言う使い方は出来ないようです。fx-9860GII でもできません。

fx-5800P では、敢えて ?A を使えるようにしたのかもしれず、その位置づけが面白いですね。

おそらく、Casio Basicの進化は、グラフ関数電卓で進んできていて、一方で fx-4000 番台のプログラム関数電卓搭載の言語は、FX-603P までの言語に構造化の要素を追加しようとした形跡があって、しかしうまく行かずにこれの進化を諦めたのではないかと、私にはおもわれます。

そして、プログラム関数電卓の開発を止めている間にグラフ関数電卓の搭載言語を進化させ、fx-5800P に世代 Casio Basic を搭載した。そこでは、プログラム関数電卓の1つの方向性として、その場での簡単なプログラミング(ある意味HP電卓を意識したのかも知れません)をサポートする意味で、?A と ?→A の両方をサポートした?命令を追加した....

これが、理解できる流れのように思われます。

こう考えると、カシオは fx-5800P でプログラム関数電卓(グラフ関数電卓でなくて...)の可能性を確認できたので、fx-FD10 Pro を出した...すると次の プログラム関数電卓は、どの方向へゆくのか?

おそらく fx-FD 10 Pro の価格設定ではプロ向け専用機の位置づけでしかないので、それで止めておくのか、汎用プログラム関数電卓を進化させるつもりがあるのか? そうだとすれば、とても楽しみです。

一方、FX-603P のようにまだしばらく 継続販売する可能性も十分に考えられます。東京オリンピック開催の頃にも fx-5800P が残っているかも知れません。もいそうなら、fx-5800P を使い倒す情報は、今後その意味を増してくると思うので、e-Gadget の存在意味も増してきそうですね。


> お!便利そうですね。
> 私はSHARPのX1からX68K、そして98のWindows3.1に移行したので98やDOS/VのMS-DOS時代にはどっぷり浸かってないところなのですが、DOSに降りた時はフリーのメニューソフト使ってました。
> linuxを使ったときでもメニューソフトを真っ先にインストールしたくらいですから、コマンドぱちぱち打ち込む派ではなかったですね(^^;

DOS にはバッチファイルがあったので、自作の _menu は、バッチファイルで利用することで、いちいち記述する必要もなく、一応フリーソフトとして出していました。Cで作ったのですごくコンパクトで、所望のプログラムを呼び出せば、自分はメモリから居なくなり、必要ならバッチファイルからまた呼び出せば良いので、究極の省メモリプログラムでした。


Windows の登場は、私にとっては趣味のプログラミングの危機でして、Windowsが最初わっぱり分からず、もう止めようかと思ったものです。アメリカ出張の折りに、Windowsの良い本に巡り会えて、目から鱗で、Windowsプログラミングの世界にようやく入れたのを思い出します。Cで遊んでいなくて、この本に出会わなければ、Windows登場とともにプログラミングの世界にはお別れしていたと思います。

アメリカには良いプログラミング本が多くありますよね。これを日本語にするだけで結構売れたのに、などと思ったものです。

最近は、プログラミング雑誌も次々に休刊しており、プログラミング人口が減っているわけでもないのに、不思議ですね。プログラミングをたしなむ人は、おそらく最も速く紙媒体を不要とする人種だからなのか? などと想像しています。

Cマガジンなどは、すばらしい雑誌だと思うだけに、残念です。いつかはCマガに投稿できるくらいにスキルアップできたらいいな、と妄想したものです。


No title

管理人様、こんにちは!

>その少し前ですが、FX-703P と言う折りたたみタイプの FX-602P の派生バージョンがありました。

なんと!FX-602Pの折りたたみタイプがあったのですね。
ちょっと興味が沸いてきたので調べてみると、海外のCASIO電卓サイトで折りたたみタイプが載っているのを見つけました。
http://casio.ledudu.com/pockets.asp?type=125&lg=eng
カバーにキーがあるので耐久性はちょっと微妙な感じありますけど、コンパクトさがよいですね。


>そのサイトに無いカタログに、昨日お知らせした 2005-1 版のカタログ(私の手持ち)があって、そこでは CFX-9859GC PLUS が新製品として載っていました。

うちにあるのがおそらくそのCFX-9850GC PLUSだと思うのですけど(今年になってから中古で入手しました(^^;
このWikiで見るとCFX-9850Gシリーズ最終版みたいですね。
http://en.wikipedia.org/wiki/Casio_graphic_calculators


>実は、この機種が、Getkey と Locate があって使えるCasio Basic の最初ではないかと思います。

1996年にCFX-9850Gシリーズの最初のバージョンが出てるようなのですが最終の2005年のCFX-9850GC PLUSまでの10年の間にCasioBasicが熟成&完成されたという感じなのでしょうね。


>ありがとうございます。私も sentaro様には多くの刺激を頂いていて、e-Gadget の推進力の1つになっております。改めてお礼を申し上げたいです。お互いチョット方向性は違いますが、だからこそ刺激を受けられるのでしょうね。

恐縮です。
私も管理人様のブログに出会ってから新たに調べて発見することも多くてそのたびにCASIO電卓の魅力再発見というところなのですごく良い刺激になってますね。
こちらこそ、管理人様には感謝することばかりです。


>カシオコレクターや電卓コレクターーは多くいらっしゃいますが、搭載言語に着目したコレクターはまだお目にかかったことがありません。私にお金と時間の余裕があれば、その方向に走りたいと、ふと思ったりして...

いいですね~(^^)
電卓の搭載言語に着目されるあたりがさすが管理人様です。
搭載言語に関しては私的にも非常に興味があるところなので応援しています(^^)


>?A と言う使い方は出来ないようです。fx-9860GII でもできません。

はい、グラフ電卓ではなぜかいまだにその使い方が出来ないのですよね。


>fx-5800P では、敢えて ?A を使えるようにしたのかもしれず、その位置づけが面白いですね。

はい、fx-FDPro10が出るまでは唯一?Aが使えた機種になりました。
fx-FDPro10は現場電卓用途としての伝統というか、fx-5800Pの前に現場電卓として使われたfx-4800Pが?A同様の入力しかできないので、操作の手数を減らすためにも毎回変数値を入力し直さないでよい?Aという使い方が求められたというところもありそうです。


>おそらく、Casio Basicの進化は、グラフ関数電卓で進んできていて、一方で fx-4000 番台のプログラム関数電卓搭載の言語は、FX-603P までの言語に構造化の要素を追加しようとした形跡があって、しかしうまく行かずにこれの進化を諦めたのではないかと、私にはおもわれます。

なかなかに鋭い考察です。
FX-603Pまでの言語は液晶に表示されてる値=Xレジスタに命令を作用させていくという電卓の操作をそのまま記憶するキーストローク記録型の電卓言語でしたよね。
そこからパソコンのBASICと同じ高級言語系の言語を電卓やポケコンに載せるようになってきたと。
これが電卓の仕様的に180度変わるような変革となって、数式通り入力や数学自然表示の流れがこの恩恵だと思うのですが、限りあるリソースの中で電卓としての操作とプログラム仕様の両立に苦労してきたのでしょうね。

ここのNqueenベンチマークサイトに載っているプログラムリストを見ると、
http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=700
CASIOの一番最初のグラフ電卓のFX-7000Gの搭載言語は今のCasioBasicの原型とも言えるような感じですけど、fx-4500P、fx-4800Pあたりの言語はちょっと方向が違いますね。

例えば代入の記述はFX-7000Gでは
A+1→A
という表記で今と同じなのですが、fx-4500Pとfx-4800Pでは
A=A+1
というパソコンBASIC同様の表記で、FX-603Pの言語ともグラフ電卓の言語とも違う仕様でこの時期、CASIO電卓には3つの言語が存在していたことになります。

結果として、FX-603Pシリーズは終了して、fx-5800Pではグラフ電卓と同じCasioBasicとなり、TIも同じような文法構造ですから、今のCasioBasicは電卓には最適解というところなのでしょう。


>おそらく fx-FD 10 Pro の価格設定ではプロ向け専用機の位置づけでしかないので、それで止めておくのか、汎用プログラム関数電卓を進化させるつもりがあるのか? そうだとすれば、とても楽しみです。

fx-4800Pからfx-5800Pが出るまで10年ということを考えるとそろそろ次の進化があって当然と考えるところですけど、高精細版電卓が出てきたことはプログラム電卓にも追い風と思いたいところです。


>一方、FX-603P のようにまだしばらく 継続販売する可能性も十分に考えられます。東京オリンピック開催の頃にも fx-5800P が残っているかも知れません。もいそうなら、fx-5800P を使い倒す情報は、今後その意味を増してくると思うので、e-Gadget の存在意味も増してきそうですね。

はい、fx-5800PのCasioBasicは今でも最新バージョンの基本といえるものなので、今後CasioBasicが大きく変革することがない限り、fx-5800Pで培ったプログラム技の数々は今後もずっと貴重な情報源となるのは間違いないところですね(^^)
最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

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


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

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

この人とブロともになる

QRコード
QR