楽屋裏 - fx-CG50 のチューンアップ - Ptune3

楽 屋 裏
e-Gadget


2017/07/20
更新 2020/01/04

Ptune3 が Ver 0.23 にアップデート [2020/01/04]



fx-CG50 を入手したので、早速チューンアップに挑戦!

これまで、fx-CG20 で愛用してきた Ptune2 (sentaro様の作品) の fx-CG50 対応版 Ptune3 を導入しました。Ptune2 はかなりの安全設計なので、引き続き fx-CG50 専用の Ptune3 を試しています。

fx-CG20 はRAMにSRAMを使っていますが、fx-CG50 は SDRAM に変わっています。従って新たに Ptune3 が登場したわけです。


使用例
  • Ptune3 を起動
  • メモリチェック: [OPTN] - [F5] (RAM) と [OPTN] - [F6] (ROM) 実行
  • SDRAM: と Write: の数値 (SDRAM最大クロック と Write 最大クロック) をメモ
  • 最大値設定画面:[SHIFT] - [MENU] でBus CLK をメモしておいたSDRAM最大 か Write が最大付近に設定
  • 最大値設定画面を抜けて設定を保存:[EXIT] でメイン画面に戻り、[SHIFT] - [F1] (SAVE) で設定を保存
  • 設定をストレージメモリにバックアップ保存:[SHIFT] - [AC] (OFF) で一旦電源オフ
  • 電源オン [AC] して、Ptune3 起動
  • PLL を保護された範囲内で最大値に設定
  • [F5] のプリセットを選び、上で設定した値以下で、BFC と PFC を大きめに設定
  • [SHIFT] - [▲] で FLL を変更すると、各クロックを小刻みに調整できる
  • PLL や CPU クロックだけでなく、BFC (メモリバスクロック) や SFC (I/Oクロック) を安全圏内で最大化した方が、全体の動作が最速化できる。場合によっては、PLL を1段落とし、BFC / SFC を大きめに設定し、さらに FLL を上げて BFC / SFC を安全圏内で小刻みに最大化する方法も有効
※ メモリチェックを行った直後は SDRAMアクセスが不安定になる傾向があるので、一旦リスタート (背面ボタン) すると良い。
  • 最大値設定画面は、できるだけ安全を確保する Ptune3 の最大の特徴。値は安全サイドに慎重に設定する必要がある。
  •  [F4] のプリセットはCPUクロックを優先して大きめに設定する。CPUが早くても必ずしも全体の動作が速くならない。全体の動作の高速化には、メモリバスクロック (BFC) や I/O クロック (PFC) の寄与が極めて大きい。これらを大きめに設定する方が良い反面、メモリアクセスの異常は、特にROMアクセスの異常はファームウェアの修復不能なダメージに繋がるので、"メモリチェック" と "最大値設定" を活用して、慎重に設定するのが良い。


Ver 0.23 ベータ版 [2020/01/04 更新]

ファンクションメニューを見やすく変更。機能に変更はない。

Ptune3 Ver 0.23 ダウンロード
マニュアル


Ver 0.22 ベータ版 [2019/08/31 更新]

同じ電池を使った時に fx-9860G シリーズや fx-CG20 と同じ値を示すように、電圧表示値が実際よりも小さめであったのを修正。sその後 電池電圧表示値について C.Basicでの値との誤差を最小にする修正を行い、差替えアップデート。

Ptune3 Ver 0.22 ダウンロード



Ver 0.21 ベータ版 [2019/02/20 更新]

実際のクロックが表示よりも微妙に遅くなっていたが、スペクトラム拡散に原因があることが判明。デフォルトでスペクトラム拡散がONになっているが、これをOFFに切り替えられるようになった。OFFにすると1.6%程度速くなる。
スペクトラム拡散ONで、FLLを1.6%上げても同じ効果なので、顕著なスピードアップにはならなそう。

Prune3 Ver 0.21 ダウンロード

[X2] または [^] キーでスペクトラム拡散を On/Off できます。



Ver 0.20 ベータ版 [2018/08/19 更新]

実際の周波数とのズレを考慮して表示するように修正(セットアップで設定できる)
(暫定補正値 = PLLより算出される内部周波数 * 900 / 914)
Ptune3  Ver 0.20 ダウンロード

sentaro様によるコメント
CG50だけお持ちの場合はさして問題になることも無いのですが、
SH4AのFX機やCG10/20をお持ちの場合は
Ftune2/Ptune2とPtune3で同じクロックにした場合、
CPUベンチマーク結果が違うことに気が付かれた方もいるかもしれません。
(参考リンク)
http://www.casiopeia.net/forum/viewtopic.php?f=25&t=7327

これはCG50のCPUが何かしらの内部仕様の変更があったか、SDRAMアクセスでの何かで、
実際の動作周波数が計算で求められる周波数よりも低い周波数で動作していると思われます。

CG50デフォルトの計算上の動作周波数は
117.96MHz
ですが、
実際にはC
-1.6%ほど低いところの、
116.15MHz(正確ではありません)
くらいで動作しています。

これはFtune2/Ptune2とPtune3でCPUベンチ値を比較すると
FX機/CG20よりも-1.6%ほど低くなるのが分かるかと思います。

今回のアップデートはその周波数誤差を補正して表示できるようにするものです。





Ver 0.10 ベータ版 [2017/09/30 更新]
sentaro様によるコメント

fx-CG50国内発売前に一応、ってことで、0.10にバージョンアップしました。
アイコンをCG50スタイルに変更したのとSDRAMチェックの仕様を少し変更したのみで機能的には0.05と変わるところはありません。(^^;

ということで、現状Ptune3では2倍以上の大幅なオーバークロックは出来ないですが、CG50は基本ベースで高速化されているのであまりPtune3の必要性はないかもしれませんね。

Ptune3 Ver 0.10 ダウンロード


バグや疑問点、何かお気づきの点がありましたらよろしくお願いします。


=== コメントここまで ===

なお管理人の私が所有している個体で、[F5] で設定される CPU コアクロック 210.11Mhz で 2ヶ月使っている限りでは問題ありません。Ver 0.10 も機能面で変わりないので [F5] で問題ないと思います。



Ver 0.05 アルファ版 [2017/07/20 公開]
sentaro様によるコメント

αテスト版ですが、Ptune3 ver0.05です。(^^;
Ptune3 Ver 0.05 ダウンロード


一番の注意点としては、SDRAMのメモリチェックはチェック後にシステムエラーを起こすことが少々あるので、SDRAMのメモリチェックをした後はリセット推奨です。
それ以外は以前のPtune2と同様にUSB接続で使用しないこと、ぐらいでしょうか。

現状ではCG20のようにメモリクロックがどんどん上げられないので、デフォルトからPLL倍率を上げていくクロックアップが全体の速度向上には効果的です。
この場合はSDRAMのメモリ動作限界で全体の動作限界が決まってしまうのでCG20よりCPUクロックを高くすることが出来ません。
CPUクロックだけを上げるには[F4]を押してPLLをx32にして[SHIFT]+[UP]を押して最上段のFLLで上げていくことになります。(PLLは32倍で制限されているため)
この場合はメモリ限界よりもCPUクロック限界が先にくるので、これでCPUの動作限界が分かります。
私の個体では280MHz前後までいきましたが、速度的にはメモリクロックがあまり上がらないためにPLLを上げていく方が全体パフォーマンス的にはかなり有利になります。
現バージョンの0.05ではデフォルトからPLLを28倍くらいまで上げて1.8倍速ぐらいが安定限界というところです。

fx-CG20はPtune3で約3倍速まで引き上げられますが、fx-CG50はデフォルトで1.5倍~2倍、それがさらに1.8倍まで上がるとすればCG20の最高速度並にはなりそうです。
そしてその状態でも消費電力がCG20比で約半分というところなのでなかなか良いですね。(^^)

=====





αバージョンなので、なんと言っても完全に自分の責任で使うもので、今はこわごわ触っています。Ptune3 に関する話題をこのエントリーにまとめるため、楽屋裏ネタとしてこの記事を投稿しています。

早速、作者のsentaro様への質問をコメント欄にアップしました。

[2019/01/31 追記] 
fx-CG50 を2台持っていますが、いずれも 300MHz までチューンアップできました。単に CPUクロックが 300MHzといっても、他の設定に応じて実際のプログラム処理速度は大きく変わりますので、CPUクロックのみで話をするのはあまり意味はありません。
以下のコメント欄にあるように sentaro様のアドバイスを頂きながら、2018年8月末に 自分なりの安全かつ最速設定を見つけ、その後ほぼ5ヶ月使用使って問題ないので、運が良ければここまでチューンアップできます。ちなみにsentaro様所有のfx-CG50では300MHzには至らないようです。無理はしないでください。






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


 


keywords: プログラム関数電卓、fx-CG50、クロックアップ、Ptune3

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

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

楽屋裏 - 構造化プログラミング

楽 屋 裏
e-Gadget

2014年09月28日 追記
2017年08月27日 追記
2019年08月21日 追記修正


CasioBasic入門」シリーズは、改めてキチンと勉強する良い機会になっています。CasioBasic入門12 で、構造化プログラミングについて、チラッと触れたのですが、改めて整理をしてみます。


50年くらい前、COBOLPL/IFORTRANPascal などの高級言語が使われるようになって、ソフトウェアの生産性と品質が向上してきました。時期を同じくして、ソフトウェアの需要が増加したため、生産性や品質の向上が追いつかなくなりました。それを「ソフトウェア危機」と呼び、なんとかしなければヤバイという時代がありました(当然私はリアルタイムでは知りませんが、プログラミング雑誌「C Magazine」 などを通して知っていました。

この当時は、アセンブリ言語がプログラミングの主流でした。この言語はプロセッサの動作に近い命令を記述するものなので、ジャンプ命令が非常に多く(gotoの嵐と言っても良い)、プログラムコードからプログラム動作を理解し解析することが簡単ではありません。プログラミングは工芸であり、匠の技の世界でした。作ってみて動かして、不具合が見つかったらそれを直すと言う方法では、生産性や品質の向上は容易に進みません。こういう背景の中、構造化プログラミングStructured Programmingと言う概念が出てきました。

プログラミングの匠が活躍していた時代に、生産性と品質の向上を目指した新しい考え方構造化プログラミングは簡単には受け入れられませんでした。パラダイムシフトの前には必ず旧来の考え方との激しい争いがあるのは、いつの時代でも同じですが、当時も大論争が勃発しました。それでも、世の中はより良いプログラムをより多く必要としていたわけで、それに応えてゆく必要はあり、それが新勢力と旧来勢力の共通目標ではあったのでしょう。ついに両者が歩み寄ることが出来ました。

私が調べる範囲では、その落としどころのきっかけを作ったのが、1974年に発表された Donald Knuth の論文 "Structured programming with goto statement" のようです。この説が最も説得力があり、現実的なように思われます。

ここに落ち着くまえには、2つの重要なポイントがあるとの指摘があります。

1966年にCorrad Boehmら から提案された「構造化定理」

これは、どのようなプログラムでも、下図に示すような、連結(Concatenation)、選択(Selection)、反復(Iteration)の3つで表現できると言う数学理論です(引用)。

構造化定理 

要するに、goto がなくてもプログラムを作れると言うことを言っています。それ以上でもそれ以下でもない、単なる数学理論です。この理論が出された時は「構造化定理」とは呼ばれておらず、goto使用禁止を唱える人たちによる命名と言う話もあります。さらに細かいことですが、ここでは「連結」を使っていますが、「順」、「順次」、「順接」と言う和訳も見られます。



1968年にEdsger Dijkstraが書いた書簡"Goto statement considered harmful"

これは、Association of Computing Machinery (ACM) に送られた書簡で、書簡のタイトルgoto文は有害である」通りに、極めてストレートにgoto文の使用禁止を主張するものです。goto文を使うと、プログラムは簡単にスパゲティ構造になり、これには異論の余地はありません。

これが大論争に油をそそいだようです。もうこうなると、どこまで行っても平行線、宗教論争の様相であったに違いないと私は思います。Boehmの構造化定理がいくら数学的に正しくても、それまで goto文を使ってプログラムを作っていたプログラマが、いきなり使うなと言われても、そう簡単に受け入れられるものではないことは想像に難くありません。

ネットで検索すると、今でもgoto論争を見ることができ、そこではダイクストラ (Dijkstra)の名前が必ずでてきます。それくらい根源に迫る劇薬のようなものなのだと思います。



このような歴史的背景があって、10年近くたってから出された Knuth の論文 "Structured programming with goto statement"「goto文を使った構造化プログラミングは、goto使用是非論争を一旦横に置き、大目標である生産性と品質の向上を達成する構造化プログラミングとは「読んで分かりやすいソースコードを書くこと」であり、非常時には goto もやむなし、と言う大人の議論だと思います。

私の主張: Gotoは用法・用量を守って使いましょう! を支持するものでもあります。

実際問題、2000~3000行の中規模のプログラムを作った経験(個人の趣味で1万行超えの大規模プログラムを作ることは滅多に無いでしょう)では、絶対に必要な時以外に goto文を使うと、あとで絶対に自分の首が絞まります。

私は、エラー処理や例外処理には goto を使っても良いと自分で決めています。この使い方は、goto のジャンプ先が、必ずエラー処理や例外処理になるので、むしろプログラムの流れが明確になる利点があります。

落としどころとして Knuthの論文が受け入れられた歴史的事実を知ることは、考え方に幅を与えるものと思います。今では、構造化プログラミングは空気を吸うくらい当たり前になっているのでしょう。普通にC言語を使えば、自然にこの手法になります。と言うのも、最近の高級言語 (最近のBasic を含む) は構造化プログラミング言語として作られているので当然なわけです。これらには例外処理専用のステートメントが準備されているものがありますが、内部的には goto を使っていて、外から見えないだけだと言えます

生業としてのプログラミング経験の無い私の目には、goto是非論争は子細なことのように映るのです。



Casio Basicは構造化プログラミング風言語

構造化プログラミングは、「読んで分かりやすいプログラムを書こう」という目標で、以下の方針でプログラムを作ることです。

1. 構造化定理に出てくる 1)連結、2)分岐、3)反復 に加えて 4)呼び出し のみで構成されるブロックを作る。

2. このブロックは出口と入り口が1つだけでなければならず、ブロックの連結でプログラムを構成する。

3.Goto はなるべく使わない。使う場合は、先へ進むGoto のみを使い、後戻りするGoto は使わない。


CasioBasicは、これらの感覚でコーディング可能です。

1) 連絡: 要するにプログラムが上から下へ動作する、実はこれは大切なこと

2) 分岐: If文や⇒命令があります。

3) 反復: Doループ、Whileループがあります。

4) 呼び出し: サブルーチンや関数の呼び出し。プログラム呼び出しの Prog コマンドがあり、関数電卓の機能を呼び出す多くの関数がある。

そして、プログラム記法として、処理内容別に「連結」で繋がるブロックを作ることが最も大切です。ブロックとは、複数の処理をまとめて区切り、出口と入り口が1つだけになるようにした機能のかたまりです、。

[2019年08月20日 修正] 
構造化プログラミングを行う手続き型言語の要件として、ユーザー定義の関数/ プロシージャがありますが、Casio Basic では仕様上これができません。つまり、サブルーチンに引数を渡したりサブルーチンから戻り値を返せません。これに付随してローカル変数(局所的変数)が使えず、変数は全てグローバル変数(大域変数)として扱われます。
言い換えると、大域変数を利用してサブルーチンとの間での値のやりとりが可能です。そこで、コーディングの工夫で関数やプロシージャのようなサブルーチンを作れます。この手法の一例としては、入力ボックス3桁区切り出力 を紹介しています。そこで Casio Basic は構造化Basic ではありませんが、Casio Basic は構造化プログラミング風のコーディングが可能です。

現在の "新世代Casio Basic" は、機能別ブロック構造が上から下へ流れる構造をコーディング可能で、このような構造化プログラミングを意識したコーディングは、実際に分かりやすく効率的なコーディングに繋がります。現在連載している CasioBasic入門でも、意識的に構造化Basic風プログラミングをしていて、機能別ブロックが連結で繋がるコーディングを体験してもらいながら、処理の変更や追加を楽に行えることを紹介しています。

ちなみに 海外のみで販売されている fx-CP400 や fx-CG500 に搭載されている Casio Basicは、構造化Basicと言えます。定義上は構造化Basic になっていますが、これが極めて使いにくいだけでなく、処理速度がかなり遅いものになっおり、実用プログラムを作って使おうという気にとてもなれない、中途半端なものです。さらなる進化が望まれます。極めて使い勝手の悪い構造化Basicであり、現在のところ、構造化Basicを目指して試行錯誤の段階と言えます。

実用上は 構造化プログラミング風言語バージョンの Casio Basic の方が遙かに使いやすく、処理速度もグラフィックスプログラムを除けば十分速い仕様に、とてもうまくまとまっています。プログラミングが楽しめる言語と言えます。

なお、"新世代 Casio Basic では、使いやすくするために、Basicコマンドを導入する前の 各種ジャンプ命令をそのまま残していますが、それゆえに Goto コマンドの内部動作が複雑になっています。具体的には、多重ループとカウントジャンプの組み合わせで発生する異常動作対策のために Goto 0:Lbl 0 という記述を使います。詳しくは、
ここを参照 ください。
================


ちょっと脱線...

オブジェクト指向プログラミング

構造化プログラミングは30年以上も前に生まれたもので、今ではその問題点がハッキリしていて、それを解決するために考えられた「オブジェクト指向プログラミング」が主流になっています。

プログラムは、手続きとデータから成り立っています。

構造化プログラミングは、プログラムの流れの制御を構造化するもの、つまり手続きを管理するものです。しかし、データについては何も言っていません。プログラムの中の色々な局面で、データに自由にアクセスすると、データの管理が出来なくなります。goto文を野放しにすることで制御構造がグチャグチャになるのと同じことが、データ管理で起きます。これを何とかしよう、と言うのがオブジェクト指向なのです。

私自身は、Visual C++ を使ってきており、最近 C# を使い始め、オブジェクト指向プログラミングの経験だけはありますが、オブジェクト指向プログラミングについて正しくまとめられるかどうか自身がありません。ただその有効性と重要性は肌感覚として認識しているので、少し触れておこうと思います。

プログラムの中から自由にデータアクセスすると、問題が有ったときにプログラム内のどこで誤ったデータ操作をしたのかを見つけるのがかなり面倒になります。そこで、データへのアクセスを大幅に制限してしまおう、と言うのがオブジェクト指向プログラミングの根本にあります。

読み書きできるデータは変数なわけですが、その変数には大域変数(グローバル変数)と局所変数(ローカル変数)があります。大域変数とは、プログラム内のどこからでも自由にアクセスできるので、これが問題になります。

オブジェクト指向プログラミングは、大域変数を無くそうと言うものです。



話を戻して...

CasioBasicはオブジェクト指向ではない

CasioBasicにオブジェクト指向は関係ありません。変数は大域変数のみ、同じ変数に異なるプログラムからアクセスが自由に行える仕様です。CasioBasicには局所変数はありません。

GotoLbl で使うラベルの及ぶ範囲は、1つのプログラム内に制限されるのですが、まぁラベルは変数でないし、使えるラベルは英数字1文字に限られるので妥当な仕様です。

使える変数も極めて限られ、A~Z、そして配列変数Z[ ]のみです。頑張って管理するしかありませんし、管理しきれる範囲内と言えましょう。



ですから、CasioBasicを使う場合は、構造化プログラミングを行うのが最良の道と言うわけです。

見方を変えると、30年前の最新技術が、今や単4電池1本で何ヶ月も動作する電卓の中に詰まっているわけで、これは素晴らしいことだと思うのです。




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


 


keywords: fx-5800PCasioBasic構造化プログラミングプログラミング入門プログラム関数電卓

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

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

2018年、プログラミング機能追加の最新動向

楽 屋 裏
e-Gadget


2018/03/21
追記修正 2019/06/21



2018秋、フランス版 fx-JP500 にプログラム機能が追加される

sentaro様からの情報で、カシオのフランス版関数電卓やグラフ関数電卓に、新たにプログラミング機能が追加されるとのことです。2018年秋リリース予定。カシオフランスのニュースリリースページ

fx-92 Plusfx-92+ (フランス版)は国内の fx-JP900 に相当しますが、学校でのプログラミング授業のための簡易的なプログラミング機能が追加されるそうです。

16のコマンドがあるとの記述から、Casio Basic ではなく fx-72F 搭載のBasic風簡易言語に近いものだと思われます。

これがそのまま国内販売機種に反映されるとは思えないものの、同じハードウェアで fx-72F か fx-JP900の後継機種として国内リリースはあるかも知れません。この場合、高精細液晶+日本語表示の fx-JP900 をベースとするのでしょうから、fx-5800P 後継機種の Casio Basic の出力仕様変更の良い準備となるとも言えそうです。

高精細液晶搭載の fx-5800P 後継機種への期待が高まります。





2018年秋、フランス版 fx-CG50  に Python 搭載

GRAPH90E 最近、プログラミング言語 Python が注目されていますが、フランス版では Pyton アドインが登場します。

おそらく 純正 Casio Basic と同様に、インタプリタであり、関数機能やグラフ機能を使いこなすためのマクロ言語的なものだと推察しますが、標準ライブラリがどの程度の機能を持つのか、大変興味のあるところです。

[2019/06/21 追記]
fx-CG50 のOSアップデートで OS3.20 が発表され、国内カシオのサイトでは 2018年12月にアップデートインストーラが公開され、ダウンロード可能になりました。




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


 


keywords: プログラム関数電卓、fx-CG50

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

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

楽屋裏 - 頼むからプログラミングを学ばないでくれ

このブログでは、とても限定的な開発環境である "電卓" でのプログラミングをメインテーマにしています。

そして "いつでもどこでもプログラミング (Anywhere anytime programming)" をスローガンに、実際にやってみると楽しいよ! という気持ちで記事を書いています。

但し、職業プログラマは大変な仕事なのはよく知っています。家族の2人がその世界に居るからです。ハードワークの業界です。体や心を壊してしまう人が普通に居る業界です。内心「そんな大変な仕事止めて、転職するのも良いだろう」などと何度も思ってしまうくらい大変な仕事です。世の中がソフトウェアを求めているのに、その需要に供給が追いついていない感じがしています。

ところで、2020年からは小学校でプログラミングの授業が導入されます。好意的に捉えれば、IT技術者を増やすための人材の底上げを目的とした施策なんだろうと思います。実際のところはよく分かりませんけど...現在のような大変な仕事に人材供給することをどう考えているのでしょうね?

人が増えれば一人の負担が軽くなるという単純な算数ではないと思えて仕方ありません。人が増えれば給料は安くなるし、人材の使い捨てが今以上に横行しそうだし、海外にアウトソーシングすれば日本の経済にお金が落ちなくなるだろうし...

数学が嫌いな人は、本当に数学的考え方に合わないのかも知れないし、教え方が酷いだけかも知れません。とても個人的な事だけれど、数学とか理科で学校の授業が面白いと思ったことは一度もありません。個人的に好きだから自分で面白いところを見つけて、勝手に勉強していたわけです。歴史も好きですが、中学の先生の授業がとても面白かったから好きになり、まだに好きです。同じ事は義務教育でのプログラミングにも当てはまるでしょう。

つまり、プログラミングが好きかどうかは、授業が役立つけれど、興味が持てるような授業をして頂きたいものです。興味を持てば子供は勝手に勉強するでしょう。

間違っても受験にプログラミングは出題しないで欲しいものです、というか受験問題にはそぐわないと思います。プログラミング塾とか学習塾でのプログラミング授業なんて、ゾッとします。プログラミングは好きな人がその素養を持てば良いし、適性のある人が職業ITエンジニアになれば良い。義務教育でITエンジニア養成を目指すなど止めて欲しい。

だから、

頼むからプログラミングを学ばないでくれ

と思ってしまいます。

但し、ITリテラシーを持たせる一環でのプログラミング教育は良いことだし、プログラミングがどういうものかを理解した非プログラマは人材として有用だし必要だろうとも思います(私自身がまさにそれ)。

などと思っている今日この頃ですが、まさに私の思いがそのままタイトルになった記事を見つけました。

Please don't learn to code

和訳:頼むからプログラミングを学ばないでくれ


皆がみんな、ITエンジニアになる必要は絶対に無いし、プログラミングが出来なくてもビジネスで何の問題は無いことは断言できます。但し、プログラミングの素養を身につけることは大切だとは思います。




皆さんはどう思われるでしょうか?




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


 


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

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

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

楽屋裏 - 最近の e-Gadget の状況

楽 屋 裏
e-Gadget


2019/02/19

当ブログのメインテーマであるCasio Basic使いこなしに関する記事、それらは過去の記事になりますが、これらをご覧頂く方が圧倒的多数です。そしてこれら記事を閲覧なさる読者の方々は、毎月ほぼ一定ペースで増えています。

e-Gadget アクセス解析

Casio Basicにご興味をお持ちの方が、一定数で増えており、リピータも60%以上いらっしゃいます。これはうれしいことです。

また、当ブログに来られる際の検査キーワードは、一位が "fx-5800P"、二位が "fx-CG50"  というのが顕著な傾向です。日本国内での発売機種が、これら2機種に限られるので当然ではあります。さらに、カシオプログラム電卓の価格動向によれば、これら2機種を安く入手する場合は、あまり価格差が無くなってきている現状があります。

最近アクセスが増えてきているのは、下記の2テーマです。

1) アドイン版Casio Basic - C.Basicこちら
2) fx-5800P をPCリンクする CcLinkerこちら

C.Basic は fx-CG50 や fx-9860GII で使うプログラミング環境なので、fx-CG50 をより魅力的にする必須アイテムと言え、カラー高精細液晶を搭載する fx-CG50 でより高速でより柔軟にプログラミングができます。

一方、CcLinker は fx-5800P をより魅力的に使いこなすための必須アイテムで、当ブログに掲載しているプログラムを、ダウンロードしてPCからfx-5800Pに転送して使えるので、いちいち手でプログラムを入力する必要がありません。

e-Gadgetではこれら2つの魅力的なアイテムを引き続き応援してゆきます。


さて当ブログでは、新しい記事を公開するよりも、過去の記事の修正を頻繁に行っています。最も更新が頻繁なのは、アドイン型Casio Basic - C.Basic の記事ですが、実は過去の記事の書き間違いや分かりにくい表現、そして現在の状況に対応できていない部分の修正を続けています。大きな修正の際には更新日を最新にしますが、そうでない場合は以前の日付のままにしています。

もし記述がおかしい、記述が分かりにくいということがあれば、お知らせ頂ければとてもありがたいと思います。



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


 


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

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

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

楽屋裏 - Casio Basic プログラミング

楽 屋 裏
e-Gadget

2015/01/09
追記 2015/01/10
追記 2019/02/07



[2019/02/07 追記]
久しぶりに読み直してみると、自分でも結構面白いというか、自分の中の混沌がそのまま表現できていて、それは今も同じと気づき、追記ついでにこの記事を底から表面まで浮き上がらせます。(追記終わり)


出来の悪い入力ボックスを、なんとかしたいと思ってから結構時間がかかってしまいました。まともに使えるものが出来て、それをほぼ公開するところまできて、実はホッとしています。

fx-5800P プログラムライブラリ - 入力ボックス [2019/02/07 追記] 

日頃から、いろいろと触って気がついたこと、チョット深掘りしてみたいことは結構あるのですが、いざ深く調べて見ると、色々なことが分かって、結構面白いものです。

Casio のプログラム電卓のプログラミングについて書かれているブログやホームページを拝見していると、Casio Basic 特有の出力命令や出力命令、そして Goto 文を多用したものが多いように感じるのは私だけでしょうか?

せっかく Casio Basic が進化しているのに、それにふさわしい使い方をしてあげて欲しいと思うわけです。昔から電卓でプログラミングをなさってきた方は、その時の流儀があって、そのまま適用してプログラムをかけてしまうのも、Casio Basic の素晴らしいところだと思います。是非とも、本格的な構造化Basicとして Casio Basic ならではの構造化プログラミングを採用して頂きたいと思います。

Casio Basicならでは、と言うのは、例外処理では Goto 文が有効だからです。

最近、fx-9860GII で色々とプログラムを作ってみていますが、グラフ機能は何か特定の用途でよほどグラフを書かせたいと言う目的がない限り、使う機会が無いなぁ、と感じています。学習用途なのでしょうが、私には縁がないし...文字列処理については、面白い使い勝手がありそうだと思っています。

ただ、文字列処理を除けば、Casio Basic を使う限りは、fx-5800P とそれほど大きな違いが無いように、最近思い始めています。
一応、Casio Basic コマンドリファレンスも、fx-9860GII 対応を始めていて、その作業中に上のようなことを思ったのです。fx-5800P を使い倒す意義を再発見したと言うことろでしょうか?


最後に、2つの話題を提供させて頂きます。

A: Facebook元役員「プログラミングを学ぶなら生涯仕事に困らないことを私が保証しよう。」
~これからの世の中ではプログラミングが必須のリテラシーだ、と言う論.

B: 60%の人はプログラミングの素質がない
~有名大学のコンピュータサイエンスを専攻してもプログラマとして使えない人が多いという経験の論証.


ちょっと考えさせられてしまいます。

A も B も極論に見えますが、あながち噓でもなさそう....う~む


Casio Basic 入門が、いきなり Getkey と Locate から始まっているのですが、それで良いのか?
むしろ、多くのブログやホームページで取り上げられているような、入力命令 ?" " と 出力命令 、そしてGoto を多用したプログラムこそが、誰でも電卓プログラミングが出来るようになるためのアプローチなのか?

...と、こんなことも考えてしまいます。


[2015/01/10 追記]
決めつけは良くない。あれから帰りの電車で半分眠りながら、ツラツラと考えたのですが、グラフ機能は結構遊べそうだと思い直しました。

ライフゲーム、フラクタル、カオスといった式だけでは分からない、やってみて分かる造形美と言うものがあります。俄然興味が沸いてきた次第。自分の浅はかさを恥じるばかりです。




[2019/02/07 追記]
アドイン版 Casio Basic -  C.Basic がフラフィックスプログラムを高速化し自由に遊べるようになりました。
fx-9860Gシリーズ向け (C.Basic for FX) と fx-CGシリーズ向け (C.Basic for CG) の2つがあります。

C.Basic トップページ




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


 


keywords: fx-5800PCasioBasic換算プログラムプログラミング入門プログラム関数電卓

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

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

昔懐かしゲーム電卓が復活 - Casio SL-880

楽 屋 裏
e-Gadget


2018/03/15
更新 2018/03/25



1980年代に一世を風靡したゲーム電卓が復活

sl880.png2018/03/15付けのニュースリリースにこのようなものがありました。

MG-880 という昔のゲーム電卓のリニューアルバージョンで、ゲームそのものはほぼ同じだそうです。

3月23日の発売とのことなので、家電量販店でチョット触ってみたいと思います。

寸法は、fx-JP900/700/500 の液晶から上を取り去ったくらいの小型電卓です。

当ブログで、プログラミング機能のないスタンダート関数電卓のネタまでは扱ったことがありますが、普通の電卓のネタは初めてです。同じようなゲームを Casio Basic で作ったら面白いかな?と思って、取り上げました。

fx-5800P の純正Casio Basic で再現できるかどうかは、撃つ弾の指導速度に依ると思います。以前、fx-5800P でシューティングゲームもどきを作った時、テキストベースでの弾の移動速度はそれほど速く無かったので、気になります(^^;


何か分かれば、追記するかも知れません。

[2018/03/15 追記]
アマゾンでポチッとしてしまいました(ビッグカメラ販売で ¥2,138)。


[2018/03/24 追記]
発売日の 3/23 に届きました。
翌日 (3/24) にカシオメンバーズ で SL-880 がまだ選択できず、製品登録ができません。

同梱品
Delivery.png Case_Calc.png 

 電卓本体と、手帳型ケースが同梱されています。
 本体を両面テープで貼り付けるようになっています。
 復刻版だけに、手帳ケースは昔の色合いのままです。


電卓本体の取り付け
Case.png  両面テープの貼り付けには、チョット注意が必要です。

 Two Way Power の電池のフタに重ならないようにしましょう。
 買ってスグは張り直しが可能ですが、電池交換するくらい年数が
 経つと張り直しが出来ないので、以下の写真ののように電池の
 フタが見える方向で、確認しながら貼り付けるのが良いと思います。





デジタルインベーター
Game3.png デジタルインベーダゲームは、思いのほか難しいです。
 さっそく次の動画が見つかりました (3/24現在)。

 電卓についているミニゲームがむずすぎて発狂www【ゲーム電卓SL-880】

 ゲーム電卓「SL-880」でデジタルインβベーダプレイ
 









 SL-880 でネット検索したら、早速詳しい紹介記事がありました。
 engadget 日本版 - カシオのゲーム電卓SL-880を旧MG-880と比較 ゲームは忠実、メロディーモードが残念

現在の入手性 (2018/03/24現在)
なお、これから入手したい場合、アマゾンなどで転売により法外な価格 (例えば ¥9,200 @ Amazon) で転売屋が売っているのには手を出さず、少し待った方が良いと思います。

ちなみに、ヨドバシ.com では注文受け付け中で"8月下旬お届け"(¥2,130)、ビックカメラ.com では注文受け付け中で"お取り寄せ"(¥1,980)となっています (2018/03/24 12:20 現在)。ヤフオクでは比較的まともな価格で出始めています。

Casio Basic への移植
ところで、しばらくするとゲーム実演の動画をアップする人が現れると思います。コンプリートまでの動画を見るのが楽しみです。自分でコンプリートするのは時間がかかりそうなので、動画を参考に Casio Basic へ移植してみようと思います。

イースターエッグ
従来からの標準電卓と同様に、[1] [3] [7] [9] を同時押ししながら [AC] を押すと CASIO と表示されます。

[2018/03/24 追記2] おまけ!
fx-CGシリーズで楽しむアーケード版インベーダゲーム
インベーダといえば昔懐かしアーケード版ゲームですね。
fx-CGシリーズ用に移植したものを紹介します ⇒ Alien

※ これは、ケンケン様が開発されたBASIC搭載テレビゲームシステム向けに
BASICで開発された Space Aliens (ケンケンのホームページ - Machikania type Z) を sentaro様が C.Basic for CG 用に移植されたものです。

ゲーム開始前の説明画面 - [SHIFT]で弾を撃って、[←] [→] で移動...
AlianCG1.png 

ゲーム中、グラフィックスで十分速く動作するのが C.Basic
AlianCG2.png 

UFO登場!
AlianCG3.png 

C.Basic for CG については、こちら



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


 


keywords: プログラム関数電卓、fx-CG50

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

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

投票 : あなたのプログラム電卓

楽屋裏 - プログラム電卓投票
e-Gadget


 更新 2016/12/04
更新 2017/11/19

[2017/11/19] fx-CG50 と fx-9860GII SD を選択肢に追加


少し前に、あなたの Best One カシオ電卓 で取り上げた「カシオ電卓発売50周年記念」で、好きな電卓の投票をやっていました。その投票結果で、プログラム関数電卓 fx-5800P が総合3位に入っていました。

そこで、プログラム電卓を使っている人たちの中で、実際にお気に入りのプログラム電卓や、欲しい機種は何だろう?と興味があるので、皆様にお聞きしたくなりました。当ブログはページビュー累計が10万を超え、訪問される方の累計が3万人を超えている程度です。少ないながらもプログラム電卓に興味をお持ちの方の母集団がここにあります。

投票期限は設けておりませんので、じっくり時間をかけて投票結果を見てゆけば、皆様のプログラム電卓の傾向が見えてくるかも知れません。
皆様の投票結果やコメントは、どなたでも見られます。

この投票は、営利目的ではありません。結果の利用は自由です。



投票01
プログラム電卓の中から、お気に入りの機種や欲しい機種を教えてください。
[2017/11/19] fx-CG50 と fx-9860GII SD を追加

投票02
プログラム電卓でのプログラム作成と利用について教えてください。なお機種名をコメント欄に記入してください(必須)。

投票03
プログラミング経験について教えてください。なおその時に使用した言語名をコメント欄に記入してください (必須)。

毎週1回投票できるので、お気に入りは何度でも投票できます。
下の投票ボックスの下にある 投票結果 をクリックすると結果が見られるので、参考にしてください。

投票01

 
投票02
電卓機種をコメント欄に記入(必須)
 
投票03
使用言語をコメント欄に記入 (必須)

.


各機種の価格については、Casio プログラム電卓の価格動向 をご参考に...

投票の項目にあるカシオの機種について...
fx-5800P は、構造化プログラミング可能な新世代Casio Basic搭載機のなかでは、一番低コストで入手可能な機種。

但し、プロセッサは最も遅く、Casio Basicの機能も他の機種よりも制限されている。

高速動作や多くのメモリが必要な本格ゲームを作るのでなければ、構造化プログラミングができるだけの実力があり、実用プログラムやゲームも作れる(当ブログで紹介している)。

関数電卓としては、現行プログラム電卓では最も使いやすい(と思う)。小型軽量な点も良い。

PCリンク機能はない。






fx-9860GII には、マイナーバージョンが2つある;
・初期型が SH3プロセッサを搭載
・後期型が SH4Aプロセッサを搭載

投票項目は、これらを区別している;
・初期型: fx-9860GII
・後期型: fx-9860GII 2

これらの違いは、液晶画面下の表記でわかる;
・初期型 (fx-9860GII)  : USB GRAPHIC
・後期型 (fx-9860GII 2) : USB GRAPHIC 2

現行プログラム電卓の中では、Ftune2 でオーバークロックすると最も高速になる隠れた高性能機。

Casio Basic 以外にアドインプログラムを走らせることができる。アドインは自分で作ることも可能。

PCリンク機能を備える。

fx-CG20 / CG10 (北米専用)は、高精細カラー液晶を搭載しているので、表現力の高いプログラムを作れる。

チューンアップツール Ptune2 (Ptune についても簡単に触れている)により高速化できるが、残念ながら fx-9860GII ほどに高速化できない。

プログラムを超高速化できる C.Basic for CG が上梓された。これを使えば 鈍足 CG10 / CG20 が超高速プログラミング環境に変貌する。

Casio Basic以外にもアドインプログラムを走らせることができる。自分でアドインを作ることも可能。

PCリンク機能を備える。




fx-FD10 Pro のハードウェア内部は fx-9860GII に近い。但し Casio Basic専用機で、fx-5800P の高機能機種の位置づけと言える。

アドインプログラムを走らせることはできない。

関数電卓として使う場合は、関数キーが少ないので2ステップやメニューからの選択と手数が増える。

一方、プログラム電卓としては、fx-5800P に近い使いやすさが考慮されている。

PCリンク機能を備えるだけでなくSDカードも使える。





fx-CG50 は処理速度が向上したことで、ようやく fx-9860GII の後継機種といえる。fx-CG10 / CG20 を購入する意味が無くなったと言える。

アドインプログラムも使えるが、Casio 純正のSDKは準備されていないので、個人が作成した fx-CG10 / CG20 用のSDK を工夫して使う必要がある。

機能面では fx-CG10 / CG20 とほぼ同じで、カタログ機能の改善やQRコード表示機能が追加された。

PCリンク機能を備える。







SDカードが使える以外は、fx-9860GII と完全互換。プログラムやデータの保管が容易にできるので、使ってみると非常に便利。

PCリンク機能を備える。














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


 



keywords: プログラム関数電卓
リンク集 | ブログ内マップ

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

楽屋裏 - カシオ グラフ関数電卓 fx-CG50 が2017年春登場

楽 屋 裏
e-Gadget


2017/01/16
続報 (1) 2017/01/21
続報 (2) 2017/07/02
続報 (3) 2017/07/03
追記 2017/08/08
追記 2017/09/26
追記 2017/10/20


[2017/08/08 追記]:fx-CG50 を入手して調べました ⇒ fx-CG50 の概要

[2017/09/26 追記]:2017年10月20日、fx-CG50 が国内発売 ⇒ 楽屋裏 - fx-CG50 ついに国内発売 


2017年春に、カシオから北米向けにグラフ関数電卓 PRIZM fx-CG50 が発売予定とのアナウンスがあったと、sentaro様 から情報を頂きました

カシオアメリカの発表

・学生の数学教育向けを強調
・3Dグラフ機能の強化
・カタログ機能の進化
・教科書スタイルのディスプレイ
・より直線的 (tapered) な筐体デザイン
・メーカー希望小売価格 99.99 ドル (実売はもっと安いだろう)

なんだか詳細はさっぱり分からない表現が多いですね。

これを受けて、カシオフリーク達はアドイン機能が無くなるのではないかと、おおいに心配しています。
そして、Casio Basic は相変わらず遅いまま、との推測もあります。

CHEMETECH の記事
 Universal Casio Forum の記事
 cordwalr US の記事

但し、アドインが無くなるとは公式には発表されていません。カタログ機能との言及がありますが、fx-9860GII や fx-CG10/20 では、Casio Basic のコマンドを一覧する機能なので、Casio Basic は搭載されるでしょうが、アドインが無くなるという話では無いかも知れません...

海外のコミュニティーで、アドイン無くすな!とこれだけ声が大きいのを、カシオ殿は是非冷静にくみ取って頂きたいと思います。アドインがあるから、これだけ普及したという考えもあります。

一方で、今後の携帯プログラミングは、ニンテンドー3DS  の一人勝ちとなるのでしょうか?
強力で高速な BASIC (プチコン) が使えるので、プログラム電卓でのプログラミング が出来なくなれば、これからは 3DS へ民族の大移動があるかも知れませんね。

いずれにせよ、しばらくは注目です!



=== 続報 (1) [2017/01/21] ===

その後、CHEMETECH で外観や画面の画像が出てきました。

CHEMETECH の記事

元ネタは CASIO の学校向け計算機のページ のようです。
fx-JP900 と似た外装で、角の丸い長方形です。これが Tapered (直線的) と言われたものなんですね。

画面のサンプルもありました

残念ながら、メニュー画面がありません。Add-In があるかどうかすぐ分かるんですけど...

但し、上の画面のサンプル のコメントに以下の記述がありました。
Those new main menu icons tell me (real) add-in support is most likely gone.
(それらの新しいアイコンメニューアイコンから、(本当の)アドインサポートは、ほぼ無くなったようだ。)

う~む、そうなんだろうか?


=== 続報 (2) [2017/07/02] ===

fx-CG50 はアドインプログラムを扱えることが判明しました (sentaro様からの情報)
TI Planet の情報

国内発売の情報はまだないが、欧米での発売が始まり品薄状態です。
このような中、ブログ友達の とね様 がアメリカ在住のご友人経由で早速 fx-CG50 を入手されたとのことです。

とね日記 - 最新のグラフ電卓 fx-CG50 (2017)

私も海外の知人経由での入手を検討中。sentaro様は セカイモン (eBay) で注文されたとのこと。今のところ並行輸入で入手するしかありません。


=== 続報 (3) [2017/07/03] ===

eBay の日本語サイトでは fx-CG50 が無く、英語のサイト (eBay.com) で送料込みで割合安い新品の fx-CG50 が有ったので注文しました。以前から利用していた PayPal を支払いに使うと安全なので 今回も PayPal を利用しました。届いたら、Casio Basic プログラミングの視点から評価記事を書こうと思います。

評価記事はこちら ⇒ Casio fx-CG50 の概要 [2017/1020 追記]


=== 続報 (4) [2017/07/03] ===

日本のカシオのサイトを見ると fx-CG20 が生産終了 となっています。fx-CG50 の国内投入がいつになるかの問題のようです。

カシオの fx-CG20 のサイト

[2017/10/20 追記]
fx-CG50 は、欧米発売から約6ヶ月半後の 2017/10/20 に国内発売となったわけです。以前 fx-CG10 の北米発売から fx-CG20 の国内発売まで1年近く時間差があったのに比べて早い投入になりました。
なお、fx-CG20 はしばらく流通在庫があるでしょうが、fx-CG20 は余程安くなければ、購入するメリットは無いと言えます。


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


 




keywords: プログラム関数電卓、fx-CG50

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

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

楽屋裏 - fx-CG50 ついに国内発売

楽 屋 裏
e-Gadget


2017/09/26
追記 2017/09/29


fx-CG50 が 2017年10月20日に国内発売!!

fx-CG50fx-CG50 (カシオ国内サイト)

カラーグラフ関数電卓 fx-CG50

ニュースリリース - 立体図形を簡単に描画・解析できるカラーグラフ関数電卓 [2017/09/29 追記]


 PRIZM fx-CG10 がアメリカで発売されてから 国内で fx-CG20 が発売されるまで1年近くかかったのに対して、fx-CG50 は約半年で国内発売になりました。

fx-CG50 の概要 で触れているように、fx-9860GII の真の後継機種と言えるだけの性能になっており(特に画面表示速度向上)、新しいカシオのデザイン (fx-JP900 とほぼ同じ) です。


OS は Ver 3.10

国内発売は、OS 3.10 にバージョンアップしたものになると思われます。

なお、既に fx-CG50 の日本語版取扱説明書がカシオ日本語サイトの取扱説明書ダウンロードサイトからダウンロードできるようになっています。ハードウェアマニュアルとソフトウェアマニュアルの両方の日本語マニュアルです。ソフトウェアマニュアルが OS Ver 3.10 用になっています。現行は Ver 3.00 です。

なお、ソフトウェアマニュアルを見ると fx-CG20 も Ver 3.10 にアップデートされることが分かります。


付属品
  • 単四形アルカリ電池4本
  • ハードケース
  • USBケーブル
  • 3ピンケーブル (SB-62)
  • クイックスタートガイド
海外のパッケージには含まれていない 3ピンケーブルが、国内販売パッケージには含まれるようで、既にグラフ関数電卓を持っている人には、違う機種同士のデータリンクもできるので、ポイント高いと思います。fx-5800P 同士のデータリンクにも使えるので fx-5800P を2台以上持ってバックアップするのにも役立ちます。


実売価格

実売価格がどの程度になるのか気になります。


カタログ

fx-CG50 国内投入に併せて、fx-CG50 のリーフレットが追加されました。

PDFカタログ | 電卓 | CASIO


fx-CG50 OS 3.10 へのアップデートファイル公開

既に個人輸入や海外で調達して fx-CG50 (OS 3.00) を持っている場合は、Casio World Education Website からOS 3.1 へのアップデートファイル が公開されているので、スグに アップデートできます。


fx-CG50 の概要

その後のOSアップデートや新機能追加を含めて、ハードウェアやソフトウェアを調べた結果を Casio fx-CG50の概要 にまとめています。





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


 


keywords: プログラム関数電卓、fx-CG50、クロックアップ、Ptune3

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

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

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

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR