楽屋裏 - プログラム電卓メモワール2006-9

2019/06/13
追記 2019/06/15
更新 2019/12/27
 

今回はカシオ電卓のカタログ2006年9月版を紹介する。前回紹介のカタログから一気に16年後のものだ。

全16ページのうち関数電卓が4ページ。特筆すべきなのは、ポケットコンピュータのカテゴリが消え去っていることだ。

2006年9月版カタログの関数電卓のページ

今回のカタログでは、fx-5800P が NEW として初めて掲載され、一方で FX-603P がカタログから消えた。


FX-603P 掲載カテゴリの謎
前回紹介した1990年12月のカタログの後から今回紹介するカタログの直前まで、実際に確認できる範囲では1994年1月のカタログ以降、2005年1月のカタログ までは、FX-603P はプログラム関数電卓のカテゴリには掲載されておらず、ポケットコンピュータと同じカテゴリの中で "プログラム関数電卓" として掲載されていた。これは、どういうことなのだろうか?
[2019/06/15 追記]
sentaro様から以下を教えて頂いた。
FX-603Pと同じCPUを持つポケコンには FX-840P、FX-860P、FX-860Pvc があり、これらは共通してRS232Cシリアルインターフェスを持っており、共通のインターフェース機器 FA-6s が使えることからポケコンとして共通のハードウェアを持っている。このことから FX-603P がポケコンと同じカテゴリに入れる理由は十分にある、とのこと。 

さらに、今回のカタログから FX-603P を含めてポケットコンピュータのカテゴリが消えた。1981年7月のカタログでポケットコンピュータが新発売になってから25年後に、カシオはポケットコンピュータを FX-603P と共に終焉させたことになる。

長い間、業務用としても使われ続けていたのが FX-603Pやポケットコンピュータであり、ユーザーに支えられ市場の要求に応え続けてきた。そして fx-5800P の登場で FX-603P は製品寿命を終え、安価なノートPCの登場でポケコンは製品寿命を終えたのだと思う。

16年販売が続いた FX-603P の真の後継機と考えられる fx-5800P がついに発売されたタイミングで発行された今回のカタログは、新旧交代の瞬間を捉えた貴重なもので、感慨深い。

 
fx5800P_2006_9

NEW
とあるのでちょうど発売開始のタイミングでのカタログだ。

fx-4850P、fx-4800Pは生産中止となり (★印が生産中止を意味する)、しばらく販売は並行していた。
fx4500PA

fx-4500PA の謎
何故か fx-4500PA が生産継続になっていた。fx-4500PA は2行出力1行入力で、プログラム処理速度は極めて遅い。一方、fx-4800P や fx-4850P は4行出力4行入力で、さらに処理速度が遙かに速い。これら3機種の言語仕様は殆ど同じだ。それにもかかわらず高性能で使いやすい fx-4800P や fx-4850P を生産中止にし fx-4500PA を生産継続する理由がよく分からない。
fx-4500PA取扱説明書   fx-4800P取扱説明書

4行表示の fx-5800P を新たに投入し、販売促進のために、同様に4行表示の fx-4850P と fx-4800P を強制的に退場させたかったのだろうか? それにしても2行表示の fx-4500PA を残す理由はどこにあるのだろうか? 謎である。
[2019/06/15 追記]
sentaro様から以下のコメントを頂いた。
fx-4500PAが fx-4850P や fx-4800P に勝っているのは、おそらく電池の持ちが良い点のみだが、これは電卓として重要なポイント。また、今でも残っている2ライン出力1ライン出力のシンプルで小型の電卓と言える。逆に言えば、これくらいしか fx-4500PAが残る理由が考えにくい、とのこと。

[2019/12/27 更新]
新たに発売開始された fx-5800P は、ハードウェア設計やメニューからコマンドを選択する方式に着目すれば、fx-4800P / 4850P からの世代交代機である。一方でプログラミング言語自体は fx-4000P の直系であり、その後 CFX-9850G  シリーズ、そして fx-9860G に引き継がれ、さらに改良が進んたものが fx-5800P に搭載されている。往年の名機 FX-603P を引き継ぐただ1つの製品という位置づけにあることは、カタログが物語っている。そして fx-9860G よりも  fx-5800P がいくつかの点で進化している。例えば 入力命令 ? の追加、また [FILE]キーでプログラムリストを呼び出して実行したり、プログラムのお気に入り登録ができるようになった。関数電卓としては、多くの公式がプレインストールされ、新たに数式を公式として登録でき、一般によく使う関数キーが残っているなど、グラフ関数電卓と、スタンダード関数電卓の良いとこ取りのバランスの良い設計になっている。

私自身は 2007年5月に fx-5800Pを購入し FX-603P を引退させ、現在まで fx-5800P をほぼ毎日利用している。
=== 更新ここまで ===


さてこの時期のグラフ関数電卓は CFX-9850GC PLUS だ。

CFX-9850GC PLUS

CFX-9850G は3色カラー表示のグラフ関数電卓で、ここに掲載されているのは CFXシリーズの最終型だ。★印が付いているので既に生産中止品だ(2005年1月のカタログではNEWが付いていて新発売なので、1年8ヶ月で生産中止)。しかし次機種の掲載がないので、次機種の販売開始が近いことを示している。後継機種である fx-9860G は、2006年9月にはまだカタログに掲載されておらず、まだ国内販売されていない。海外では、このカタログ発行の前年 2005年に発売されている。

ところで、右のTVインターフェース付きの機種は驚くほど高価で、アナログRGB出力というのも時代を伺わせる。今であればUSBでPC接続や Type C HDMI 出力ではなかろうか。


Casio Basicの系譜 [2019/06/14 修正] 
プログラム言語に着目すれば、CFX-9850GC PLUS 搭載のプログラム言語を進化させた fx-9860G が海外で2005年に登場し、そこからグラフ描画機能とI/Oコマンドを無くし、旧来の命令 (" "、) を改善し、新たに ? (入力)命令を追加したものが fx-5800P に搭載された 。製品の市場投入の時系列に加えて、実際に両者でプログラミングをしてコマンドを詳細に調べた結果から、このように結論づけて良いと思う。(参考:fx-9860GII への移植 - 厄介な旧来の命令

fx-9860G のアップデート機 fx-9860GII には文字列処理機能が追加され、さらに高精細カラー液晶搭載の fx-CG10 / CG20ではカラーコマンドが追加された。

CFX-9850GC PLUSの構造制御コマンドには、例えば IF ~ Then ~ Else ステートメントで Then や Else の直後で改行できない、改行だけの空行はエラーになる、While / Do ループ内に複雑な制御構造があるとスタック処理に失敗してエラーになるなどの惜しい欠陥があったが、次機種の fx-9860G では解決された。fx-5800P でもこの問題は解決されている。fx-4500P 以降の シリーズ最後の fx-48500P までは代入に = を使うが、グラフ関数電卓や fx-5800P では → を使う。fx-5800P 搭載言語は、fx-4000Pシリーズの系統ではなく、グラフ関数電卓の系譜だと言える。


ウィキペディアの間違い [2019/06/14 追記]
ウィキペディアで "プログラム電卓" のエントリには、プログラミング言語の項でキーストローク方式を採用している機種に "カシオのfx-5800Pなど" と記載があるが、これは明らかな誤りだ。"カシオのFX502P, FX602P, FX-603P, fx-4000P シリーズなど" と書き換えるべきだ。或いは単に fx-4800P と書くべきところを 誤って fx-5800P としたのかも知れない。

ちなみに英語版 Wiki Pedia の Programable calculator のエントリーでは、この誤りは見られない。



楽屋裏 - プログラム電卓メモワール1981-2
楽屋裏 - プログラム電卓メモワール1981-7
楽屋裏 - プログラム電卓メモワール1990-12
・楽屋裏 - プログラム電卓メモワール2006-9
楽屋裏 - プログラム電卓メモワール2007-12
楽屋裏 - プログラム電卓メモワール2009-10
・楽屋裏 - プログラム電卓メモワール2012-03
・楽屋裏 - プログラム電卓メモワール2013-8
・楽屋裏 - プログラム電卓メモワール2012-12
・楽屋裏 - プログラム電卓メモワール2018-01



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


 


keywords: プログラム関数電卓、プログラミング

リンク集 | ブログ内マップ
関連記事

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

e-Gadget 開設6周年

2019年12月24日
更新 2019年12月25日

2019年10月29日で、e-Gadget は6年経ちました!

もうメリークリスマスの時期になって、今更ながらこれを書いています。

Access201910 

2013年秋に開設して、満6年たったところで、アクセスカウントは11万人を超え、ページビューは37万人になりました。グラフを見ますと、リピーターの方が確実に増えているのが分かります。とても有り難いことです。

1. 最近のトピック - C.Basic
最近の傾向の1つに、C.Basic をキーワードで来られる方が増えていることが挙げられます。fx-5800P に次いで2位の検索キーワードです。C.Basic は確実に市民権を得てきていると感じます。(ココ参照)


2. 最近のトピック - Casio Basic の系譜
当ブログのオリジナルネタとしては、プログラム電卓メモワールプログラム電卓温故知新 があります。いずれも、連載はまだ終わっていません。特に ”プログラム電卓温故知新" は、プログラミング言語を中心にして、Casio Basicがどこから来て、どのように進展してきたのかを明らかにする企画です。

実機でプログラミング言語を実際に触り、プログラムを走らせることで、Casio Basicの系譜が明らかになってきました。実機を入手するために、チョット散財してしまいましたが、記念すべきモデルが入手できたので、それはそれで嬉しいものです。

新世代 Casio Basicを搭載している fx-5800Pfx-CG50 の直系のご先祖様を1つだけ挙げろといわれれば、fx-4000P だと断言できます。

手帳型の超小型軽量のプログラム電卓の元祖は、FX-502P。そして現在の Casio Basic に直接繋がるのが fx-4000P、これにグラフ機能を追加した fx-7000G 、以上3機種が初期の記念すべきマイルストーンとなるモデルと言えます。(ココココ参照)。
N-FX502P_fx4000P_fx7000G 
左から、FX-502Pfx-4000Pfx-7000G

fx-4000P は小型軽量で高速な関数電卓で550ステップのプログラムを組めます。fx-4000P に触れたブログやホームページが多く見つかります。エンジニアや学生に愛用されたモデルの証でしょう。今でも使いやすい関数電卓です。(ココ参照)


3. 最近のトピック - fx-5800Pの後継機
最近の検索ワードとして、「fx-5800P後継機」が10位以内にランクインしています。
クエリ20191224

皆さん気になってきている証拠ですね。私もとても気になります。本当に後継機が登場するのでしょうか?

後継機が登場しないこともあり得そうな感じがしており、その場合は fx-5800Pの新品を買って使わずに保管しておこうか、とも思っています。コレに対して、個人的にかなり偏ったソリューションですが、fx-9860G Slim を入手して使い始めています (ココ参照)。



最後になりますが、これまでの皆様のご支援に感謝するとともに、今後も変わらずご支援を頂きたく、よろしくお願い申し上げます。


関連記事

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

C:Basic - Top Page

C:Basic - Add-In Casio Basic

Update and correction may be made at any time without notice.

1st: 18th Dec. 2015
Updated: 16th Dec. 2019

C.Basic, a part of C:Basic Project

If you feel your Casio Basic programs are not running fast enough, C.Basic can free you of that frustration.

Get Started with genuine Casio Basic program, then extended commands that C.Basic alone perform.

Currently C.Basic (Basic interpreter) is released and updating for fx-9860G Series (SH3) and later Graphing calculaters. C.Basic (single dot) will evolve into Casio basic Compiler "C:Basic" (double dots), which will run programs much faster than C.Basic (10 times from the looks of it).

C.Basic is provided as an Add-In Basic language which is upper comatible Casio Basic

Why C.Basic / C:Basic?

Genuine Casio Basic by Casio is a simple language containing minimal functionality in limited hardware power, but it's a practical language allowing us to enjoy 'Structured Programming like' coding. Old fans of Programmable calcs and poket computers who used to enjoy Basic programming well know that the old Basic requires line number. Unlike such old Basic, current Casio Basic can be categorized as a new Generration, so we define current Casio Basic is Caso Basic New Generation. The Casio Basic is very easy-to-use language and you can create programs on your calc only, no PC is required.

You can also create Add-In programs which can be built on your PC with C language SDK and the Add-In runs much faster than genuine Casio Basic. Comparing with Add-In, the Casio Basic is very slow, especially drawing dots on LCD screen is extremely slow. In order to improve speed of genuine Casio Basic, we started development of C.Basic (interpreter version at first) which is compatible with Casio Basic. Currently it gives you much faster computing speed in factor of 10 or 20 than genuine Casio Basic. Now we know C:Basic (compiler version in future) is capable to run x10 or more fasterr than C.Basic (interpreter version).
The C:Basic Project is driven by sentaro21 (author of this Add-In), Krtyski (owner of this blog, testing, making sample programs, suporting development) and some enthusiasts of C.Basic.




▋ Latest Version of C.Basic

There are two editions of C.Basic, C.Basic for FX and C.Baisc for CG;

C.Basic for FX (beta version)
This edition supports supports fx-9860G Series (SH3), fx-9860GII Series (SH4A) and Graph 35+USB/35+EII/75/85/95 (SD).
    ▶ Get Latest Verion

C.Basic for CG (beta version)
This edition supports PRIZM fx-CG10, fx-CG20, fx-CG50 and Graph90+E.
    ▶ Get Latest Version

NOTE: They are still beta version, so it may includes bugs and there is a possibility to destroy data in your calc (in this case you may need to restart or reset your calc). So it's highly recommneded to make backup of your data before trying C.Basic.



Installation of C.Basic
  1. Transfer Add-In file to storage memory of your Graphing Calc.
    Transfer CBasic.g1a file to storage memory of your fx-9860G Series using PC link software FA-124A. See below.
    Transfer CBCGxxx.g3a file (xxx stands for version number) to storage memory of your fx-CG Series by simply using explorer. fx-CG series is recognized as an external drive. See below.
  2. To start up C.Basic, press [MENU] key and select C.Basic icon.
  3. To check version of C.Basic, press [SHIFT] [MENU] [F6](Ver.), then version is shown.
  4. When the version is same as what you want to install, the installation has been done correctly.
  5. To return back to File List, press [EXIT] and [EXIT] again.
  6. CBasic.g1a and CBCGxxx.g3a are rather large file, so Optimization of memory is recommended to do. Press [MENU], select MEMORY icon, press [EXE] and press [F5] (Optimization).

Using the PC link software (FA-124) for fx-9860G / fx-9860GII Series

FA-124 is a PC link software which is included in the package of fx-9860G or fx-9860GII Series. For detailed operation please refer its manual. Recently CD is not included in a distribution package, so download FA-124 from Casio Worldwide Education Website.

Copy CBASIC.g1a to Storage Memory in right pane of FA-124. Also copy ~~HELP1.g1m file in Help folder to Storarage Memory in right pane of FA-124. Connect fx-9860G or fx-9860GII Series to PC using USB cable. Left pane shows files in your calc. Transfer CBASIC.g1a in storage memory in right pane to left pane in storage memory.

Font folder and FontEdit folder should also be transfered to the Storage Memory if you want to use extended fonts.

FA124A_Moved

When available storage memory comes low and you want to update C.Basic, it's recommended to delete CBASIC.g1m at first, perform Optimization of storage memory, then transfer latest version of CBASIC.g1m.

For detailed instructions, please refer to instruction manual of FA-124.

Note: FA-124 bug info. - files may be destroyed when multiple files are copied at once in right pane. Do not copy multiple files at once to right pane from left pane or outside of FA-124A. When get backup files into right pane of FA-124, you should trasfer the files back to calc and check their functionality for sure. If they are OK, then your backup files are OK.


Using Explorer for fx-CG10, fx-CG20 and fx-CG50

Connecting fx-CG Series to your PC with USB cable and open Exporler, then fx-CG is shown as an external drive.

fx-CG_Explorer

Root of the external drive is storage memory of fx-CG Series calc. Transfer CBCGxxx.g3a (xxx stans for version number of C.Basic for CG) to Storage Memory shown as root of the extrenal drive.

Also transfer HELP3.g3m and HELP1.g1m in Help folder to program source folder, which is Storage Memory as default or any folder you can create, eg. "@CBASIC". 

@Font folder and FontEdit folder should also be transfered to the Storage Memory if you want to use extended fonts.



How to Use & Command Reference

   C.Basic for FX

   C.Basic for CGAll those above information are in text files included in downloaded zip file.



Overclock Add-In: Ftune2

To enjoy fast operation, an over-clock Add-In,
Ftuen2 is recommended to use with C.Basic.
Review following pages for reputation of this program;
-
@ Unversal Casio Forum
-
@ CEMETECH
-
@ TI-Planet

I have used this Add-In over 1 year, there is no problem found so far. Ftuen2 has well considerred safwty features, so it unlikely damages your calc. But please make backup of data of your calc for sure.

Please download Ftune2 for Casio fx-9860GII POWER GRAPHIC 2 (SH4A model), not other editions.



Potential of C.Basic & C:Basic

Let me show you capability of C.Basic and C:Basic with sample program(s).

Conway's Game of Life

C.Basic is upper compatible with original Casio Basic, and has some extended commands and language functions.

If you want to make a fast bitmap graphics program with original Casio Basic, I can say it's reckless try. But with C.Basic you can enjoy programming of Conway's Game of Life as a good example.



- Download:
Game of Life Ver 0.74

In this video, clock is tuned up to 236MHz by Ftune2.

- Download:
Ftune2
   Please be careful to download an edition for Casio fx-9860GII USB POWER GRAPHIC 2 (SH4 model).

=====

To evalaute capability of C:Basic (compiler version), most frequently porcessd codes of Game of Live Ver 0.74 is replaced by a special command "DotLife" to make the codest run at native code speed. 



Download: Game of Life Ver 0.84

As you see, it's much faster in factor of 10 until getting to generation 517. Now we believe fully native code by C:Basic (compiler version) should acheive a bit faster computing speed than this case.


3D Maze

3D_Maze 

Go from top-left as strat point to bottom-right as goal viewing 3D display in right pane. This rungs on genuine Casio Basic but this is very slow. You should run on C.Basic.

- [↑] / [8] : Go forward
- [→] / [6] : Go right
- [←] / [4] : Go left
- [↓] / [2] : Go back

Download: 3D Maze



Action Game - DRAGON



To switch Upward and Downward of flying Dragon, press any key besides [AC], [EXIT] and [0] keys. There are flying mines, do not touch the mines also do not hit mountains.

Pressing [0] key, dragon can "roar" 3 times, which destroy everything, mines and even mountains. Press [EXIT] or [AC] key to quit the program.

Sorry the video has no English subtitle. This program runs on C.Basic with C.Basic original commands. This is a good sample how to use Bitmap handling and drawing functions.

Download: Dragon.zip



Shooting Game - AlienCG

AlianCG1.png AlianCG3.png 

Download: AlienCG



▲Back to Top



関連記事

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

温故知新 - fx-7000G

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

 
追記修正 2019/12/03


過去から現在に至る性能や仕様の変化を調べ、プログラミング言語を中心にカシオ製プログラム電卓の系譜を明らかにする。

3. グラフ機能の追加 

今回は、世界初グラフ関数電卓 fx-7000G を取り上げる。

このシリーズには、発売順で下記の機種がある;
- fx-7000G
- fx-7200G
- fx-7500G
- fx-7000GA
- fx-7000GB
- fx-7300G

1985年に fx-7000G が発売された。
搭載言語仕様については、グラフィックコマンド (グラフィック画面消去の Cls コマンド含む) を除けば fx-7000G 搭載言語およびコマンド類は同年発売された fx-4000P と全く同じである。一方プログラム処理速度は fx-7000G の方が fx-4000P よりも2~3倍速い。fx-7000G で保存出来るプログラムステップは最大 422ステップで、fx-4000P の最大 550ステップより少ない。

fx7000G_Key fx4000P_Key 
左がfx-7000G、右が fx-4000P のキーボード
 
fx-7000G の上から2行目のキーはグラフィックス関係 (写真左側)。この行を除けば、テンキーを含む他のキーの種類と配置が fx-4000P (写真右側) と全く同じ。さらに [SHIFT] や [Alpha] キーと共に使う機能の割り当ても全く同じだ。同時期に発売されたことから、開発が同時に進められた可能性が高く、興味深い。

翌年 1986年には fx-7200G が発売された。fx-7000G と同じ機能を持っているとの情報 (Kyoro's Room Blog - Casio グラフ関数電卓 fx-7200G) があるが、ネットではマニュアルやその他情報が殆ど得られない。あまり出回らなかった機種かも知れない。カシオの関数電卓 のサイトによれば、fx-7200Gfx-7000G よりも処理速度が僅かに速い (四則演算は 1.1倍、グラフィックス描画はほぼ同じ)。

1988年には fx-7500G が発売された。これは 折りたたみ式だが、マニュアルを見る限り言語仕様は fx-7000G と変わりが無い。但し保存できるプログラムステップが最大 4009 と大幅に増量された。カシオの関数電卓 のサイトによれば、fx-7000Gシリーズの中で fx-7500G の処理速度が最も速い (四則演算は 1.2倍、グラフィックス描画は 1.35倍)。

1990年には fx-7000GA が、1991年には fx-7000GB が発売された。これらの言語仕様もマニュアルを見る限り fx-7000G と変わりが無く、保存できるプログラムも最大422ステップと同じだ。カシオの関数電卓 のサイトによれは、GAは省電力の代わりに処理速度が遅くなり、GB で多少速くなったが初代の fx-7000G よりも遅いとある。



Casio fx-7000G

casio-fx7000g   fx-7000G 

fx-7000G のマニュアルはネットで見つからないが、機能上(消費電力以外)は、ほぼ同じと思われる fx-7000GA のマニュアルは以下からダウンロードできる。
fx-7000GA のマニュアル

関数電卓としては、内部演算精度が13桁で、よく使う関数キーが[SHIFT]キー無しで押せる(表に出ている)ので、例えば fx-5800P よりも使いやすい。

ドットマトリックス液晶ディスプレイは、テキスト表示が16桁8行である点は、使い勝手を大幅に改善してくれる。液晶自体は 96ドットx64ドットだが、グラフィック表示の範囲はの95ドットx63ドットになっていて、上端1ラインと左端1ラインはグラフ (グラフィック) の描画コマンド (Sketchコマンド)である PlotLine の描画領域に含まれない。このコンセプトは最新の fx-CG50 まで引き継がれている。

ちなみに、カシオの関数電卓 のサイトではベンチマークで 96dot x 64dot の塗りつぶしを行っているが、ドット表示されない無用な塗りつぶし動作が含まれる結果になっているので、その分余計な時間がかかっている。95dot x 63dot の塗りつぶしで良いと思う。但し、このサイトでは他の機種についても同一条件 (描画範囲を超えた範囲での描画をベンチマーク) で行っているので、問題は無いことは申し添えておきたい。

さて、プログラミング環境については、先ず保存容量が 422 ステップとかなり少ない。 プログラム編集画面は、デフォルトで上書きモードなので、PCや最近の電卓の挿入モードに慣れていると、とても使いにくい。
なお、カシオの電卓は、スタンダード関数電卓を含めて 2005年発売の機種から一斉にデフォルトで挿入モードに切り替わって使いやすくなっている。


数値演算
fx-7000G 搭載言語のグラフィックス以外の主なコマンドは、
・キー入力: ?→A
・出力:" ",
・代入:
・無条件ジャンプ:Goto/Lbl
・条件ジャンプ:
・カウントジャンプ: Isz, Dsz
・比較演算:=, ≠, <, >, ≦, ≧
・サブルーチンコール: Prog
・配列変数 A[ ] が使える。
これらは全てキーに割り振られている。

なお、条件ジャンプ () は、[条件式]⇒[文1]:[文2] という書式で、1行に書かないとエラーになる。

この条件分岐は、
If [条件式]
Then
 [文1]
Else
 [文2]
IfEnd

と同じだ。但し、文1 と 文2 は1つの文しか使えず、句切り文字 : を使ってマルチ文を書くことは許されない仕様だ。

これらの仕様は、同時期の 1985年に発売されたプログラム関数電卓 fx-4000P に極めて似ており、fx-7000G にある Cls コマンドが唯一違うくらいだ。但し、Cls コマンドはグラフィック画面の消去でありテキスト画面を消去するコマンドは備わっていない。また、文字列出力コマンド " " は内部カーソルの改行を伴う。

上記の fx-7000G 搭載言語の仕様は、時を経て現在のグラフ関数電卓に引き継がれている点は興味深い。私が調べている限り、fx-7000G や fx-4000P の搭載言語は現在のグラフ関数電卓やプログラム関数電卓に引き継がれている。一例として以下に示す4つのプログラムは、CFX-9850G シリーズ、fx-9860G シリーズ、fx-CGシリーズ、fx-5800P でもそのまま動作する。


数値演算プログラム例
上で比較した「加算プログラム」と「数値積分プログラム」を fx-4800P と fx-5800P も加えて、実行速度比較を比較する。

加算プログラム
加算 

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

fx-7000G のプログラム
fx7000G_source_adding_up2 fx7000G_source_adding_up_Isz2 
変数 I のカウントアップに I+1→IIsz I の2通りで処理速度を調べることにする。


数値積分プログラム
関数 

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

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

fx-7000G のプログラム
fx7000P_souce_func3 fx7000P_souce_func_Isz3 
変数 B のカウントアップに B+1→BIsz B の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 倍
fx-7000G の A=A+1 と Isz A の結果が逆になっていたので修正した [2019/07/31] 

記念すべき FX-502P を基準に、速度が何倍になっているかも併せて示している。

同じ年(1985年)に発売された fx-4000P よりも処理がかなり速い。11年後 (1996年) 発売の fx-4800P は関数処理が速くなり、上表の関数計算が最速になっているが、発売当時の製品としては fx-7000G はかなり速い機種と言える。


グラフィック描画

fx-7000G 搭載言語のブラフィックコマンドは以下の通り;
Cls (グラフィック画面消去)
Graph (数式からグラフを描画する)
Range (描画範囲を座標で定義する)
Plot (点を描画する / ポインタを描画する)
Line (線を描画する)
Factor (描画グラフの倍率を設定する)

これらは、全てキーに割り振られている。

数式をグラフ化する機能としては、必要最小限のコマンドしかない。これをグラフィック描画コマンドというのは、明らかに間違いだ。その後の機能増強の結果グラフィック描画ができるようになってきているので、ここでは敢えてグラフィックと言うことにする。


グラフィックプログラム例

グラフィック画面で全てのドットを塗りつぶしてみる。
fx7000G_Dot DOT_fx7000G  

描画には 213秒 (3分33秒) 要した。
fx-7000G 以降のグラフ関数電卓でも上記のコードがそのまま走る。ところで2001年以降に発売されたグラフ関数電卓の中では fx-9860G が最もグラフィックス描画が速いのだが、同じコードの実行に 260秒程度かかり、fx-7000G よりも遅い。fx-7000G のグラフィック描画が意外に速いことが分かる。



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

FX-502P で手帳型のプログラム電卓の市場が形成され、カシオが世界で認知されるブランドになった。fx-4000PFX-502P よりも小さく軽く、処理速度も速いことから、多くのエンジニアに支持されたようだ。

fx-4000P とほぼ同時発売された fx-7000G は世界初のグラフ関数電卓だが、グラフ描画コマンドは至ってシンプルだ。グラフ機能以外のコマンドは プログラム関数電卓 fx-4000P と同一で、配列が使え、構造制御を行うための必要なものは揃っている。足りないのはプログラム保存容量 (422ステップ)と言えよう。ところでプログラム編集画面は、デフォルトで上書きモードなので使いづらい。ちなみに FX-502P / FX-602P / FX-603P は挿入モードで使いやすかった。

カシオのプログラム電卓の系譜において、その黎明期のマイルストーンといえる機種を並べてみた。
N-FX502P_fx4000P_fx7000G 
左から、FX-502P、fx-4000P、fx-7000G

fx-4000P にグラフ機能を付加してまとめたのが fx-7000G と考えて差し支えないだろう。これら2機種の搭載言語仕様は、その後のプログラム電卓の系譜の原点に位置づけられる。fx-7000G 搭載のコマンドは、現在最新のグラフ関数電卓 fx-CG50 にほぼそのまま採用されており、fx-7000G から fx-CG50 に繋がる系譜が現在の主流になっている。 

なお、詳しくは "温故知新" の fx-5800P 編で触れる予定だが、fx-4000P から fx-5800P への進化は直接繋がっておらず、途中に幾つかのグラフ関数電卓を経由した進化がある。fx-4000P と fx-7000G はグラフ機能を除けば残りは全く同じ。fx-4500P から fx-4850P までの機種の言語仕様は fx-4000P とは別系統である。これは言語仕様を見れば明白で、この系統は今は途絶えている。

一方、言語仕様以外のハードウェアデザインやソフトウェアメニューの共通性と変化に着目すると、fx-5800Pfx-4800Pfx-4850P  の後継機と言って良い。fx-4800P/4850P の言語仕様の系統は途絶えていても、それ以外は fx-5800P に無駄なく引き継がれている。

現在主流のグラフ関数電卓に搭載されている言語は、fx-7000G から直接繋がっており、その後ハードウェアの進化やOSの進化を経て、一旦 CFX-9850G で大きな進化を見せる。



温故知新 - 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

温故知新:番外編 - 関数電卓としての使い勝手
温故知新:番外編 - 電卓評価用の積分を解いてみた
温故知新:番外編 - 電卓評価用の複素数を解いてみた


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


 


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

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

関連記事

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

温故知新 - FX-502P / FX-602P / FX-603P

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


 
2019/06/30
追記修正 2019/12/03

過去から現在に至る性能や仕様の変化を調べ、プログラミング言語を中心にカシオ製プログラム電卓の系譜を明らかにする。

1. キーストローク式言語 - 携帯型プログラム電卓の普及

最初に取り上げるのは、1978年発売の世界初の手帳サイズのプログラム関数電卓 FX-502P。これは、手帳サイズの薄型、軽量でボタン電池駆動の省電力設計といった、プログラミング環境をだれでも手軽に持ち歩ける画期的な製品だった。

そして僅か3年後の 1981年にはメモリ容量が256ステップから512ステップに倍増した  FX-602P が発売された。カシオ初(国内初か?)のアルファベット出力機能が付き、関数演算がほぼ倍速化された。使い勝手(特にプログラミング)が改善され、FX-502P と同じサイズで大幅に機能向上したせいか、海外でも広く普及し国際的なカシオファンを生み出した記念すべき製品だ。

さらに 1990年に FX-603P が発売された。ポケコンに使われていた CPU (日立 HD62002) を搭載し、PCリンクが可能になり、大幅に高速化された。この製品は 2006年に fx-5800P が発売されるまでの16年の間、継続販売された。

1981年2月発行のカシオ電卓総合カタログ - FX-502P
1981年6月発行のカシオ電卓総合カタログ - FX-602P
1990年12月発行のカシオ電卓総合カタログ - FX-603P


Casio FX-502P

FX-502P_3  FX-502P&Manual_2  

厚い本「プログラムライブラリ」も付属していたが、紛失してしまったので写真には写っていない。定数早見表なるカードも付属していた。

私が購入したのが 1979年で、今年で40年になるが、問題無く動作するのには驚かされる。駆動部分が無いとは言え、スイッチや電池ホルダ内のバネ状の電極も劣化していない。2~3年ごとに動作確認と電池交換をしていたのが良かったのだと思う。さらに付属品の手帳型カバーは経年劣化で多少硬化しているが、割れもなく、殆ど変色もしていない。付属品であっても、きちんとした製造品質だったと今になって分かる。

取扱説明書の中にある [GOTO]キーの説明部分を見ると、思わず時代を感じさせてくれる。
FX502P_Desc 
今時、"ゴーツー"  という人は見かけない(^_^;

FX-502P 搭載のプログラミング言語の特徴
さて、このモデルでは、マニュアル計算を行う時に押すキーの順序通りに記録することでプログラミングする、いわゆるキーストローク式の言語で、言い換えれば表示レジスタの内容に対して演算を施すようにコーディングする方式だ。このモデルは古い関数電卓共通の関数後置式が採用されていて、[3] [0] [cos] と入力すると cos 30 を計算するので、これをそのまま記録してプログラミングする。加えて GOTO / LBL による無条件ジャンプ機能、表示レジスタや特定レジスタの値を利用した条件ジャンプ機能、特定レジスタを利用したカウントジャンプ機能、さらには間接ジャンプ機能など用いて、プログラムの構造制御を行う。

このモデルの言語の優れている点の1つとして、間接ジャンプ機能を挙げたい。特定メモリにジャンプ先の番号 (LBL N の N)が格納されていると、LBL N にジャンプする機能だ。現在のプログラミング言語で普通に使われている switchSelect ステートメントと同じ動作を間接ジャンプで実現できる。

もう一つ特徴的なのは、ISZDSZ コマンドによるカウントジャンプ機能だ。このモデルの場合は、0番メモリに格納されている数値を、1づつ増やす (ISZ) か減らして (DSZ) ゆき、0になったら、次のコマンドを飛ばして2つ先のコマンドを実行する機能だ。興味深いのは、カシオの最新のプログラム電卓 fx-5800Pfx-CG50 でもこのカウントジャンプコマンドが搭載されていることだ。現在の仕様では、特定メモリではなくて任意の変数を指定できるが、基本は同じだ。IszDsz はカシオ独自のコマンドであり Basic コマンドとしては異質であるが、非力なCPUで効率良く処理をするには不可欠だ。ジャンプ機能としてでなく、単にインクリメント、ディクリメントするだけでも効率よく高速に行えるのも有用な点といえる。

実際のプログラム例
整数1からNまで順に加える「加算プログラム」を例にあげる。
加算 

FX-502P のプログラムは以下のようになる (19ステップ)。
FX502P_source_adding_up 

入力には HLT コマンドで入力待ち、入力後、表示レジスタの値をメモリ1番に取り込む (HLT Min1)。

x≧0 は条件ジャンプコマンドで、表示レジスタの値が ≧0 (0以上) なら、次のコマンドを実行、そうれなければ2つ先のコマンドを実行する。

FX-502P の液晶は7セグメント表示であるため、コマンドをそのまま表示できない。そこで7セグで表示可能なキャラクタを使ったコードでの表示になる。コード判読のために、各キーのコードが記入されたシートをキーボードの上に被せて使う。慣れればコードも覚えてしまうが、コード表示が FX-502P でのコーディングの欠点といえる。



Casio FX-602P

FX-602P FX-602P&Manual_s

FX-602P はドットマトリックス液晶を搭載し、アルファベット表示が可能になった。これにより、コマンドがコード表示しかできなかった FX-502P の欠点が解消された。使えるメモリが増えたため、メモリ指定は2桁になった。

ところで、[GOTO]キーの説明は、依然笑える(^_^;
FX602_Desc 

さて、FX-602P は、FX-502P のプログラムが使える互換性が確保されている。

実際のプログラム例と処理速度の比較
シンプソン法で数値積分を実行する「数値積分プログラム」を例に挙げる。
関数 

この数値積分は、とね日記 - 世界初の手帳型プログラム関数電卓 CASIO fx-502P (1979)、fx-602P (1981) で取り上げられているので、そのまま利用させていただく。

FX-602P のプログラムは以下のようになる (39ステップ)。とね日記で紹介されているものから余計なステップを省略した。
FX602P_souce_function 


さて、「加算プログラム」と「数値積分プログラム」の実行速度を比較してみた。

加算プログラム
加算 
FX602P_source_adding_up 
プログラムを実行すると N の入力が求められるので、1000 を入力する。

数値積分プログラム
関数 
FX602P_souce_function 
プログラムを実行するとシンプソン法で必要な分割数の入力を求めるので、1000を入力する。

実行結果を示す;
加算プログラム数値積分プログラム
機種実行時間比較実行時間 (秒)比較
FX-502P123.1 秒---1261.8 秒---
FX-602P111.2 秒1.1 倍716.5 秒1.8 倍

両機種で共通しているのは、四則演算(加算プログラム)よりも関数(数値積分プログラム)の方が処理に時間がかかること。

2機種を比較してみると、2機種の間で四則演算の処理能力には大きな違いは無い。この結果から1000回の無条件ジャンプの処理速度は FX-602P が若干速いが、ほぼ同じと言える。一方、三角関数の処理能力には 1.8 倍の明らかな差が見られたので、FX-602P では関数処理の能力を向上させたことが分かる。



Casio FX-603P

FX-603P_1 FX-603O&Manual_s 

FX-603P は、ドットマトリックスの2行表示になり、プログラム保存のメモリ容量は 6144ステップと FX-602P の12倍に増え、RS-232Cでのシリアルポートが追加内蔵され、PCリンクも可能になった。処理速度も大幅に向上した。ハードウェアの進化に伴い消費電力が増え、連続使用時間は FX-602P の600時間から160時間へと大幅に低下した。またサイズが少し大きくなり、重量は FX-602P の100gから136gへと大幅に増えた。実際に手に取るとズッシリと重く感じる。
502P_602P_603P 

ところで、[GOTO]キーの説明だが、
FX603P_Desc 
1990年で改善、とはいってもカタカナ表記が依然気になる!
今時の説明書なら、"GOTO / SAVE / POKE キー" といった感じが普通では?

さて、FX-603P は、FX-502P / FX-602P の上位互換機であり、プログラムは共通して使える。

今回は FX-602P のソースをそのまま使用して上記の2つのプログラムを実行し、比較してみた。
加算プログラム数値積分プログラム
機種実行時間比較実行時間 (秒)比較
FX-502P123.1 秒---1261.8 秒---
FX-602P111.2 秒1.1 倍716.5 秒1.8 倍
FX-603P37.8 秒3.3 倍166.2 秒7.6 倍

FX-603P では、四則演算だけでなく、関数処理能力がさらに向上した。



プログラム電卓の系譜 - FX-502シリーズ [2019/08/09 追記修正]

FX-502P
 に搭載されたプログラミング言語は、レジスタやメモリの値を直接処理するので、アセンプラのように効率が良い。しかしプログラムコードの可読性は悪く、デバッグは楽ではない。その後メモリが増強され、CPUが高速化され、通信機能が搭載され FX-603P でこの系統の完成形となる。

このようなキーストローク式のプログラミング言語ではあるが、1978年の FX-502P の登場から、2006年に FX-603P が生産中止されるまでの28年間もの長期間、広く世界市場で支持された。

FX-502P シリーズは、ポケットに収まる手帳型でありながら、関数電卓としての性能と効率の良いプログラミング性能を提供したことで、プログラム電卓が市場で広く認知される役割を果たしたと言える。

この系統と並行して、カシオ電卓のプログラミング言語は可読性の向上を指向することになる。そして、fx-3000P シリーズを経て、プログラミング言語の系譜におけるマイルストーンというべき fx-4000P が登場する。



温故知新 - 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

温故知新:番外編 - 関数電卓としての使い勝手
温故知新:番外編 - 電卓評価用の積分を解いてみた
温故知新:番外編 - 電卓評価用の複素数を解いてみた


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


 


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

リンク集 | ブログ内マップ
関連記事

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

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

プログラム電卓を実際に使って気づいたこと、自作プログラム、電卓での Casio Basic, C.Basic そして Casio Python プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではありません。いつでもどこでもプログラミングができるプログラム電卓が好きな1ユーザーです。


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR